Salesforce管理者の日常業務をClaude Codeで効率化する|ユーザー管理・権限セット・SOQLクエリの自動化実践
はじめに
「権限セットの作成、また溜まってる...」
「50人分のユーザー登録、今日中に終わるかな」。
そんな風に思いながら設定画面を開いたこと、ありませんか。
Salesforce管理者の仕事って、実はユーザー管理・権限セット・SOQLでのデータ抽出みたいな、地味だけど絶対に外せない定型業務がかなりの割合を占めています。
海外の調査記事によると、平均的な管理者は400人以上のユーザーを3つ以上のクラウドで管理していて、67%が「定型的な設定作業だけで週の半分以上」を使っているそうです。
数字の出どころが海外の一次情報までは追い切れていないので参考程度ですが、体感として近い方も多いんじゃないでしょうか。
私も以前、50人分のオンボーディング作業を1人で抱えたことがあって、正直「これ、何時間かかるんだろう...」と画面の前で固まった経験があります。
今回は、そんなSalesforce管理者の日常業務を、Claude Codeという外部のAIツールを使ってどう楽にできるかを、実際に使えるコマンドつきで紹介します。
Salesforce CLI・SOQL・権限セットあたりのキーワードで検索してここに来た方には、特に読んでほしい内容です。
Claude Codeって結局何なの?
まず前提から。Claude CodeはSalesforceの中に組み込まれた機能ではありません。Agentforceやコパイロットのような「Salesforceの中で動くAI」とは別物で、ターミナル(コマンドを打つ黒い画面)の中で動く、Anthropic社が提供する外部のAIエージェントツールです。
要するに、Salesforceの外側にいる優秀なアシスタントに、日本語や英語で「こういう権限セットを作って」「こういうSOQLを書いて」とお願いすると、それに応じたファイルやコードを作ってくれる、というイメージです。Excelでいうなら、マクロを自分で書く代わりに「こういう集計をしたい」と伝えるだけで数式を組んでもらえる、そんな感覚に近いかもしれません。
正直、最初に「AIにSalesforceの管理業務を任せる」と聞いたときは、「本番環境を触られたら怖いな」と身構えました。でも実際に触ってみると、Claude Code自身が本番に直接デプロイすることはできず、あくまで「ファイルを作るところまで」がAIの仕事で、確認してデプロイするのは管理者自身、という役割分担になっていて、意外と安心して使える設計だとわかりました。
つまり、Claude Codeは「叩き台を高速に作ってくれる相棒」であって、最終判断はいつも人間側にある、という理解でOKです。
ユーザー管理・権限セットの自動化で使う実践パターン
ここからは実際に手を動かす部分です。管理者の日常業務のうち、特に時間を取られがちな2つのパターンを見ていきます。
パターン1:大量ユーザーのオンボーディングCSVを作ってもらう
新入社員が何人もまとめて入ってくるとき、1人ずつ手作業でユーザーを登録するのは正直つらい作業です。こういうときは、Claude Codeに次のようにお願いします。
「SDRを8人オンボーディングしたい。名前とメールは添付CSVの通り。全員にSales Userプロファイル、SDR標準の権限セット、Northeast地域のロールを割り当てて。Data Loaderで投入できる形式のCSVを作って」
こう伝えると、Username・LastName・FirstName・Email・Alias・ProfileId・UserRoleIdなど、Data Loaderの一括投入(Insert)に必要な列がそろったCSVが返ってきます。あとは中身を確認して、Data LoaderやBulk APIから投入するだけです。
ここで1つ注意点があります。Salesforce CLIにはsf org create userというユーザー作成コマンドもあるのですが、これはScratch Org(開発用の使い捨て環境)専用のコマンドで、本番環境やSandboxの新規ユーザー作成には使えません。本番・Sandboxでの一括ユーザー登録は、これまで通りData LoaderやBulk APIへのCSV投入が現実的な方法になります。この切り分けを知らずにCLIコマンドを探し回ると、思わぬところで時間を溶かすので気をつけてください。

パターン2:既存ユーザーへの権限セット割り当てをCLIでサクッと済ませる
一方、「すでにいるユーザーに権限セットを追加したい」という場面では、Salesforce CLIのsf org assign permsetコマンドがそのまま使えます。これはScratch Org限定ではなく、本番やSandboxでも動くコマンドです。
sf org assign permset --name "Finance_ReadOnly" --on-behalf-of yamada@example.com --target-org myProdOrg
このように打つと、myProdOrgという組織のyamada@example.comさんに、Finance_ReadOnlyという権限セットが割り当てられます。--nameを複数指定すれば、一度に複数の権限セットをまとめて割り当てることも可能です。
権限セット自体をゼロから作る場合は、Claude Codeに「Opportunity・Account・Contractへの参照権限のみを持つ、Finance Read Onlyという権限セットを作って。作成・編集・削除権限は一切なし」のように伝えると、権限セットの定義ファイル(.permissionset-meta.xml)を生成してもらえます。これをSandboxにデプロイして動作確認したうえで本番に反映する、という流れです。

SOQLクエリの自動生成で「ちょっとしたデータ抽出依頼」を捌く
管理者あるあるの1つが、営業マネージャーやCFOからの「このデータちょっと見せて」という依頼です。1件あたり15〜30分かかるとして、週に5〜10件来たら、それだけで1日分の仕事になってしまいます。
こういうときは、欲しいデータの条件をそのまま日本語で伝えれば、Claude CodeがSOQL(Salesforceのデータを検索するための専用のクエリ言語)を書いてくれます。実行はSalesforce CLIのsf data queryコマンドを使うのが手軽です。
sf data query --query "SELECT Id, Name, Owner.Name FROM Account WHERE AnnualRevenue > 1000000" --target-org myOrg --result-format csv --output-file result.csv
--result-format csvと--output-fileを組み合わせれば、結果をそのままCSVファイルに書き出せるので、依頼してきた相手にそのまま渡せる形になります。ちなみにこのコマンド、内部的にはforce:data:soql:queryという旧コマンドのエイリアスになっていて、以前からSalesforceを触っている方にはこちらの名前の方が馴染みがあるかもしれません。
実務でこのパターンを使うなら、抽出条件だけはきちんと自分の言葉で明確に伝えることを意識してください。「売上が大きいところ」のような曖昧な指示だと、AIが想定と違う条件でSOQLを組んでしまうことがあります。

ここは注意!つまずきポイント
一番大事な注意点は、Claude Codeが生成したものをそのまま本番環境に流し込まないことです。あくまでAIは権限セットのXMLやCSV、SOQL文といった「叩き台」を作るところまでで、本番へのデプロイや反映は必ず管理者自身の手と判断で行う、という役割分担を崩さないようにしてください。
特に権限セットやユーザーの一括更新は、一度反映するとアクセス権限やデータに直接影響するので、必ずSandboxで動作確認してから本番に進むのがおすすめです。
もう1つ、さきほども触れましたが、sf org create userはScratch Org専用というのは覚えておいて損はありません。「CLIでユーザー作成できるはず」と思い込んで検索すると、このコマンドに行き着いてしまい、本番環境で使えずに戸惑うケースがありそうです。
あと、Claude Codeはあなたの組織固有のカスタムオブジェクトや独自の業務ルールまでは知りません。プロンプトの中で「うちの組織ではこのカスタム項目がこう使われている」といった背景情報をきちんと伝えないと、見当違いの提案が返ってくることもあります。ここは新人に仕事を教えるときと同じで、前提知識をこちらから渡してあげる意識が必要です。
まとめ
- Claude CodeはSalesforce内蔵の機能ではなく、外部のAIツールとして権限セットXML・SOQL・Data Loader用CSVなどの叩き台を生成してくれる
- 既存ユーザーへの権限セット割り当ては
sf org assign permsetが本番・Sandboxどちらでも使える - SOQLの実行は
sf data queryが手軽で、CSV出力もオプション一発でできる -
sf org create userはScratch Org専用なので、本番の新規ユーザー一括登録には使えない - 生成された内容は必ずSandboxで検証してから本番へ、という役割分担を崩さないことが安全に使うコツ
権限セットもSOQLも、最初は難しく見えても、AIに叩き台を作ってもらいながら少しずつ慣れていけば大丈夫です。一緒に少しずつ楽をしていきましょう!
noteもやってます。
→ note
Discussion