Salesforce商談分析をClaudeに任せる方法
SalesforceのOpportunity(商談)データをClaudeに自然言語で問い合わせ、パイプラインの停滞や着地見込みを把握する分析パターンと、つながらないときの切り分けを解説します。
Salesforceの商談分析をClaudeに任せると何ができるか
SalesforceとClaudeをカスタムコネクタで接続すると、商談(Opportunity)データを自然言語で問い合わせられます。レポート画面をいくつも開いて条件を絞り込む代わりに、「今月クローズ予定の商談で、確度50%未満のものだけ教えて」のような一文で切り口を変えられます。
接続の詳しい手順は営業系SaaSとClaudeの連携にあります。ここでは、Salesforce側で詰まりやすい設定と、接続後の指示文の書き方を扱います。既存顧客への提案候補を探す使い方はClaudeでアップセル・クロスセル候補を洗い出す手順に分けています。
つながらないときに確認する4つの設定
接続前にSalesforce側で必要な設定は、次の4点です。
接続前に済ませておく設定
- 1
管理者がMCPサーバーを有効にする
MCPサーバーは組織の既定で無効で、有効にするまでは認証が正しくてもクライアントは接続できません。Salesforceの設定画面でクイック検索に「MCP Servers」と入力し、API Catalogの下にある一覧から必要なサーバーをオンにします。有効になるまで最大2分かかります。
- 2
External Client Appを作る
接続に使えるのはExternal Client Appです。Connected Appはサポート対象外とされています。コールバックURLは
https://claude.ai/api/mcp/auth_callbackです。「Enable OAuth」にチェックを入れ、OAuthスコープはmcp_apiとrefresh_tokenを選びます。セキュリティでは、名前付きユーザー向けにJWTベースのアクセストークンを発行する項目を選びます。スクラッチ組織では、設定画面からExternal Client Appを直接作れません。試すときは、Dev Hub組織でExternal Client Appを作ってパッケージに入れ、対象のスクラッチ組織にそのパッケージをインストールします。作成後、使えるようになるまで最大30分かかります。 - 3
Claudeにカスタムコネクタを追加する
Customize > ConnectorsからAdd custom connectorを選びます。本番組織のURLは
https://api.salesforce.com/platform/mcp/v1/platform/sobject-readsです。Sandboxやスクラッチ組織では途中にsandbox/が入ります。OAuthは「Use your own OAuth client」を選び、External Client Appのコンシューマーキーを貼ります。ダイアログの構成は組織によって異なります。名前・URL・Advanced settingsが1画面に並ぶ場合は、Advanced settingsにOAuthクライアントIDを入力します。 - 4
各メンバーが自分のアカウントでConnectする
TeamやEnterpriseでは、OwnerがOrganization settings > Connectorsで追加します。メンバーはCustomize > Connectorsから、自分のSalesforceアカウントで認証します。Enterpriseでは、組織のライブラリ管理を含むカスタムロールのメンバーも追加できます。ProやMaxは自分のアカウントに追加します。Freeプランに追加できるカスタムコネクタは1つです。
Salesforceのトラブルシューティングには、接続できないときの切り分けが載っています。まず sobject-all のようなほかの標準サーバーで試し、そちらも失敗するなら、組織エディションがAPIアクセスに対応しているかを確認します。sobject-all で成功するなら、元のサーバー名か設定が誤っている可能性が高くなります。Postmanなどで成功するなら、Claude側のコネクタ設定に原因がある可能性が高くなります。
Salesforce Hosted MCP Serversは、Flex Creditsを持つ顧客向けで、利用量に応じて課金される場合があるとSalesforce側は明記しています。分析を始める前に、自社の契約を確認しておくと手戻りがありません。
分析用途ではSObject Readsで十分
商談データを見るだけなら、読み取り専用のSObject Readsを有効化すれば足ります。Salesforceは、質問への回答・データの要約・レポート生成・打ち合わせ前の材料づくりには読み取りだけで足りるとして、SObject Readsを入口に勧めています。ステータス更新や新規作成まで任せたい場合に、書き込み系のサーバーを追加します。
サーバーの一覧は次のとおりです。
| サーバー | できること |
|---|---|
| SObject Reads | できること読み取りとクエリのみ |
| SObject Mutations | できること作成と更新(削除なし) |
| SObject Deletes | できること削除のみ |
| SObject All | できること作成・読み取り・更新・削除のすべて |
サーバー一覧のページでは、SObject Readsの説明が「Read and query only」になっています。個別ページには、複数オブジェクトを横断するテキスト検索(SOSL)のツールも載っているので、検索まで含めて読み取り専用と考えて差し支えありません。
権限の扱いも読み取り専用に限った話ではありません。MCPのツール呼び出しは、承認したユーザー本人と同じ権限で動きます。オブジェクト権限・フィールドレベルセキュリティ・共有ルールが毎回効くので、返ってくる商談は接続したユーザーがSalesforce上で見られる範囲です。共有設定で見えないレコード(他部署の商談など)は返りません。
管理者はこの利用をAPIログで追えます。API_CLIENT_CATEGORY = SALESFORCE_HOSTED_MCP で絞ると、MCP経由の呼び出しだけを抜き出せます。操作は承認したユーザー名に紐づいて記録されます。
指示文の裏でどのツールが動くか
読み取り専用サーバーが持つツールは次の6つです。指示文を書くときは、「どのツールで答えられる質問か」を意識すると外れにくくなります。
| ツール | 指示文で効く場面 |
|---|---|
| getObjectSchema | 指示文で効く場面項目名や選択リストの値を調べる。クエリを書く前に呼ぶ想定 |
| soqlQuery | 指示文で効く場面条件で絞った商談の取得。主力のツール |
| 検索ツール(SOSL) | 指示文で効く場面「Acme」のような語を複数のオブジェクトから探す |
| getUserInfo | 指示文で効く場面「自分の商談」や「今月」の解釈。ユーザーID・役割・タイムゾーンを返す |
| listRecentSobjectRecords | 指示文で効く場面「さっき見ていた商談」のように、IDを示さない指定 |
| getRelatedRecords | 指示文で効く場面商談に紐づく明細や、取引先に紐づく担当者を取り出す |
soqlQueryのツール説明は、WHERE句とLIMIT句を必ず付けるよう求めています。大きなオブジェクトでは、インデックスのある項目で絞らないとタイムアウトするとも書かれています。
分析パターン別の指示文
商談分析でよく使う切り口を、指示文の型にしました。
| 分析したいこと | 指示文の型 | 見るデータ |
|---|---|---|
| パイプライン全体の把握 | 指示文の型「オープン中の商談をステージ別に件数と金額で集計して」 | 見るデータステージ・金額 |
| 停滞商談の発見 | 指示文の型「3週間以上更新がない商談を一覧にして」 | 見るデータ最終更新日 |
| 今月の着地見込み | 指示文の型「今月クローズ予定の商談を確度別に分けて」 | 見るデータクローズ予定日・確度 |
| 担当者別の状況 | 指示文の型「担当者ごとの商談件数と合計金額を比較して」 | 見るデータ担当者・金額 |
| 大型商談の優先確認 | 指示文の型「金額が上位10件の商談の現在のステージを教えて」 | 見るデータ金額・ステージ |
どれも、商談オブジェクトが標準で持つ項目の組み合わせです。
「オープン中」の読み方には注意が要ります。SalesforceがSOQLの例として挙げているのは、次の文です。
SELECT Id, Name, StageName, Amount, CloseDate
FROM Opportunity
WHERE StageName != 'Closed Lost'
ORDER BY Amount DESC
LIMIT 10この条件は失注(Closed Lost)だけを除くので、受注済み(Closed Won)の商談も入ります。受注済みを外したいなら、「受注済みと失注を除く」と指示文に書きます。「更新がない」も同様で、レコードの最終更新日なのか最後に活動を記録した日なのかで、停滞商談の一覧は変わります。
同じ対話分析の考え方は、商談化する前のリード管理にも使えます。国内のマーケティングオートメーションSATORIのリード分析はSATORIのリード分析をClaudeで進める方法にあります。
標準レポート・ダッシュボードとの使い分け
Claudeの対話分析は、Salesforceのレポートやダッシュボードを置き換えるものではありません。作り込みが要らない一時的な切り口を補う役割です。
どちらで答えるか
標準レポート・ダッシュボード
毎週決まった指標を関係者に共有する用途に向きます。一度作れば自動更新され、共有も簡単です。
Claudeとの対話分析
思いついた条件での絞り込みや、複数条件を重ねた例外探しに向きます。結果を見て条件を足していけます。
掘り下げの会話例
最初の集計を見てから条件を足していく流れが、対話分析の使いどころです。
- 「オープン中の商談をステージ別に件数と金額で集計して」→ ステージごとの一覧が返る
- 「その中で、金額が500万円を超えるものだけ教えて」→ 集計結果を条件で絞り込む
- 「それぞれ最終更新日も添えて」→ 同じ商談群に情報を追加する
レポート機能なら、この3段階それぞれでフィルタや列を設定し直します。
指示文を具体的にするほど精度が上がる
「商談状況を教えて」では、Claudeが対象範囲と期間を決められません。期間・ステージ・金額の下限のうち1つでも添えると、WHERE句で絞り込む条件が定まり、対象が意図からずれにくくなります。
- 弱い指示: 「商談を教えて」
- 強い指示: 「今四半期にクローズ予定で、金額が100万円以上の商談を、確度が高い順に並べて」
「今月」「今四半期」のような相対表現は、getUserInfoがタイムゾーンと現在時刻を返すので、解釈に使う想定のツールです。月末や期末の境目では、具体的な日付範囲を指示文に書くと結果がぶれません。結果が意図と違うときは、対象期間と対象ステージを明示し直すのが早道です。
取引先と組み合わせた分析
SObject Readsは、標準・カスタムを問わず、ユーザーが閲覧権限を持つオブジェクトを読めます。商談だけでなく、取引先(Account)や担当者(Contact)とも組み合わせられます。SObject Readsの紹介ページにも「Acme Corpに関する担当者・商談・オープン中のケースをすべて探す」という質問例が載っています。
- 「A社に関連する商談を、ステージと金額つきで一覧にして」(取引先軸での横断確認)
- 「新規取引先と既存取引先で、商談の平均金額を比較して」(新規開拓と既存深耕の比較)
- 「同じ取引先で過去にクローズした商談の実績も一緒に見せて」(過去実績を踏まえた見立て)
取引先という文脈が加わると、「この顧客はこれまでも大型商談が多い」といった背景が一緒に見えます。固定レポートで毎回作り込むには手間がかかる切り口です。
データ品質が分析結果を左右する
Claudeが返す数値は、Salesforceに入力されているデータの集計です。入力側の運用がばらつくと、分析結果もずれます。
数字がずれる4つの入力パターン
クローズ予定日が過去のまま
動いていない古い商談が、今月の着地見込みに混ざります。最終更新日を併記する指示文にすると気づけます。
ステージの使い方が担当者ごとに違う
同じ進捗でも選ぶステージが違うと、ステージ別の比較がそのまま担当者の実力差になりません。
確度が更新されていない
ステージが進んでも確度だけ古いままだと、確度を根拠にした絞り込みが実態とずれます。
概算金額が確定欄に入ったまま
見積もり段階の概算が残っていると、パイプライン全体の合計が実態より大きく出ます。
結果に違和感があるときは、Salesforce側の入力状況から先に疑います。
商談データを扱ううえでの注意点
商談データには金額や取引先名など、社外に出せない情報が含まれます。分析結果をチャットの外へ共有する前に、宛先が適切かを確認します。週次サマリーの自動送信のような定期運用は、単発の分析とはリスクが異なるので、別に検討します。
書き込み系のサーバーも使う場合は、Claudeの画面で個別のツールを止められます。Customize > Connectorsでコネクタを選び、使わないツールの権限を「Blocked」にします。削除のツールを止めておけば、更新だけを任せる構成にできます。
よくあるつまずき
接続の途中でエラーになるときは、コールバックURLが、External Client Appの設定と一字一句同じかを確認します。Salesforceはこの一致を認証エラーの確認項目に挙げています
まとめ
書き込み系のサーバーを足すときは、Blockedにするツールの設定とAPIログの確認をセットにすると、Claudeに任せる範囲を管理者が把握し続けられます。