sales-agentforce-pipeline-management-configure
sales-agentforce-pipeline-management-configure について
Salesforce組織でAgentforce Pipeline Managementを設定するスキルです。新規設定から部分的な構成の修復まで、プラットフォーム設定、項目別プロンプト、フロー、権限、エージェント有効化を順序立てて進めます。
主な機能
- 01組織のライセンスとエディションを事前確認
- 02必要なプラットフォーム設定を有効化
- 03選択した商談項目を設定
- 04プロンプトテンプレートの作成と検証
- 05フローのデプロイとエージェント有効化
- 06無人セットアップと修復に対応
活用シーン
- 01新しい組織でPipeline Managementを設定
- 02部分的な構成を完了または修復
- 03商談の提案対象項目を選択
- 04CIや定期実行で無人セットアップ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill sales-agentforce-pipeline-management-configureインストール後、Claude Code で/sales-agentforce-pipeline-management-configureを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/field-completion-template.genAiPromptTemplate-meta.xmlpipeline_management_flow.flow-meta.xmlsales_management_agent.agentsales_management_agent.bundle-meta.xmlsfdx-project.jsonassets/stage-descriptions/bant.txtmeddic.txtspiced.txtexamples/custom-prompt-instructions.mdreferences/admin-communication.mdagent-creation.mdauth-and-cli.mdautomation-matrix.mdautonomous-updates.mdcanonical-agent-path.mddata-sources.mdfield-completion-prompt-template.mdfield-completion-prompts.mdflags.mdflow-clone-from-template.mdmetadata-inventory.mdopportunity-stages.mdrepair-diagnostics.mdsetup-order.mdsoap-api-enablement.mdscripts/add-field-suggestion.shCHANGES.mdcreate-agent.shcreate-flow.shdefine-agent-access.sh詳細
Agentforce Pipeline Management の設定
Salesforce 組織で Agentforce Pipeline Management をエンドツーエンドで設定します。このスキルでは、グリーンフィールドの組織(設定がゼロの状態)と、修復や設定の完了が必要な部分的に設定済みの組織の両方に対応します。
対象範囲
- 対象:Pipeline Management の有効化、Sales Management エージェントの設定、フロー(Process Field Update Suggestions、Get Opportunity Grounding Data、Get AI Recommendations from Call Transcripts)の有効化とカスタマイズ、プロンプトテンプレートの設定、権限セットの割り当て、データソースの設定、商談ステージの説明、自律的な項目更新の設定、部分的に設定済みの組織の修復。
- 対象外:カスタムエージェントをゼロから構築すること(
agentforce-generateを使用)。Einstein Conversation Insights または Einstein Activity Capture の初期プロビジョニング(これらは別製品です)。Slack アプリのインストール。Opportunity Team Member に対するカスタム Apex トリガー。
前提条件
次の項目は必ず確認してください(スクリプトでは確認または変更できません)
- エディション:Enterprise、Performance、Unlimited、または Agentforce for Sales アドオン(または Agentforce 1 Sales Edition)付きの Developer Edition。Setup は最初にこれを プローブ します(ステップ 0)。Pipeline Management を実行できない組織では、何かを尋ねる前にライセンス/エディションに関するメッセージを表示して即座に失敗します。ただし、エディション/ライセンスのプロビジョニング自体は引き続き管理者が行う必要があります。
- ユーザー権限:実行ユーザーには、
View Setupと(Modify All DataまたはCustomize Application)、Manage AI Agentsと(Manage Agentforce Employee AgentsまたはCustomize Application)、およびAssign Permission Setsが必要です。
scripts/setup-all.sh によって自動的に有効化されます
以下の設定は Setup によって自動的に切り替えられます。スクリプトの実行前に手動で有効化しないでください。
- Einstein Generative AI(
EinsteinGptSettings.enableEinsteinGptPlatform)— 必須。Agentforce Agent を有効にする前にオンにする必要があります。 - Agentforce Agent(
EinsteinCopilotSettings.enableEinsteinGptCopilot)— 必須。Einstein Generative AI に依存します。 - Agentforce Studio/Agent Platform(
AgentPlatformSettings.enableAgentPlatform)— 必須。Agentforce Agent に依存し、Deal Agent を有効化します。これがオフの場合、Core はSalesDealAgentSettings.enableDealAgentを拒否し、原因の分かりにくい Deal Agent の有効化失敗として表面化します。 - Enhanced Notes(
EnhancedNotesSettings.enableEnhancedNotes)— 必須。Pipeline Management は ContentNote を主要なデータソースとして使用します。 - Opportunity Team(
OpportunitySettings.enableOpportunityTeam)— 必須。提案フローは OpportunityTeamMember を使用するため、これが有効でないとデプロイに失敗します。 - Pipeline Inspection(
OpportunitySettings.enablePipelineInspection)— 必須。営業担当者が提案を確認し、承認または却下する UI を提供します。これがなくても提案は生成されますが、ユーザーが提案を確認する場所がありません。 - Enhanced Email(
EmailAdministrationSettings.enableEnhancedEmailEnabled)— 任意ですが推奨。Einstein Activity Capture を使用している場合に、メール本文のインデックス作成でのみ必要です。 - Pipeline Management(
SalesDealAgentSettings.enableDealAgent)— 必須。この機能自体を有効にします。
確認事項
これらの質問をする前に、まずライセンスの事前確認を実行してください。 最初に行う操作として(組織のエイリアスを解決した直後に)、
bash scripts/setup-all.sh <org-alias> --check-licenseを実行してください。このコマンドは認証と機能要件の確認のみを行い、質問も変更も行いません。終了コードが 0 以外の場合は、表示されたライセンスまたはエディションのブロッカーをユーザーに伝え、そこで停止してください。確認の質問をしたり、変更を加えたりしてはいけません。終了コードが 0 の場合に限り(組織が対応可能で、新規構築またはプロビジョニング済みの場合)、以下の質問に進んでください。
事前確認に合格したら、以下を確認します。
- 新規構築ですか、それとも修復ですか? Pipeline Management を一度も使用したことがない新しい組織ですか、それとも部分的な設定がある組織ですか?
- データソース:エージェントに参照させるデータソースはどれですか?
- メモ(デフォルトで有効)
- メール(Einstein Activity Capture が必要)
- 音声/ビデオ通話(Einstein Conversation Insights が必要)
- Enhanced Email(メール本文のインデックス作成用。
EmailAdministrationSettings.enableEnhancedEmailEnabledが必要)
- 自律的な更新:エージェントが商談の項目を自律的に更新しますか、それともユーザーの確認用に更新内容を提案するだけにしますか?
- エージェントに管理させる項目はどれですか?(これは最初に、あらかじめ確認してください。セットアップは項目の選択に基づいて行われます。)
setup-all.shは最初から、選択した項目のみを使ってフローを構築します。両方をデプロイしてから不要な項目を削除する手順はありません。次のように尋ねてください。「エージェントに値を提案させる Opportunity 項目はどれですか?標準提供の選択肢は Next Step(NextStep)と Opportunity Stage(StageName)です。Competitor Analysis 項目などのカスタムテキスト項目も追加できます。」- 項目は 1 つ以上必要です。項目が 1 つも選択されていない場合、セットアップは中止され(終了コード 1)、
NextStepがデフォルトになることもありません。 - 上限は合計 5 項目です。標準提供の項目も上限に含まれます。上限を超えて選択すると、変更を加える前に中止されます。
- 非対話型の実行では
--fields "NextStep,StageName,Risk__c"で項目のセットを渡すか、対話型プロンプトで入力してください。
- 項目は 1 つ以上必要です。項目が 1 つも選択されていない場合、セットアップは中止され(終了コード 1)、
- 項目ごとのプロンプトのカスタマイズ(
StageNameを除くすべての項目)。 選択したStageName以外の各項目について、セットアップ時に任意の目標(「考慮すべきこと…」)と指示(抽出のガイダンス)を設定できます。NextStepには、厳選された標準提供の管理対象プロンプトが用意されています。目標または指示を指定した場合にのみ、セットアップによって上書きされます(対話型の場合はカスタマイズするかどうかを尋ねます。非対話型の場合は--field-goal "NextStep:…"/--field-instruction "NextStep:…"を渡します)。カスタマイズを省略すると、標準提供のプロンプトが維持されます。- カスタム項目には必ず目標と指示が設定されます(指定したテキスト、またはスクリプトの適切なデフォルト値)。
StageNameはカスタマイズできません。これは上書きをサポートしない管理対象の選択リストテンプレートであり、セットアップ時にこの項目について尋ねることはありません。
- カスタム項目の条件:Opportunity の標準またはカスタムのテキスト項目のみサポートされます。単純なテキスト(
type=string)または 255 文字以下のテキストエリア(type=textarea、htmlFormatted=false)で、長さは 255 以下である必要があります。長文テキストエリア(長さが 255 超)、リッチテキストエリア(htmlFormatted=true)、選択リスト、数式項目はサポートされません。提案の長さは項目自体の最大文字数に制限されます。質問 4 で選択した項目はsetup-all.shの実行中に接続されます。セットアップ後に追加で項目を追加する場合は、scripts/add-field-suggestion.sh <org-alias> <FieldApiName>を使います(項目ごとに 1 回。Phase 4.3 を参照)。どちらの方法でも合計 5 項目の上限が適用され、add-field-suggestion.shは 6 つ目の項目の接続を拒否します。 - 商談ステージ:商談ステージは選択リスト値であり、商談のレコードタイプによって、使用できるステージが異なる場合があります。標準またはカスタムの商談ステージを使用していますか?その説明を定義または更新する必要がありますか?注:
OpptStageDescriptionはステージ単位でグローバルです。OpportunityStageApiNameのみをキーとし、レコードタイプごとの列はありません。そのため、説明は各アクティブなステージに対して一度だけ書き込まれ、そのステージを使用するすべてのレコードタイプに適用されます。組織に商談のレコードタイプがあるかどうかにかかわらず、セットアップの動作は同じです。
管理者向けコミュニケーションガイドライン
重要:このスキルの対象は開発者ではなく、管理者ユーザーです。次のルールに従ってください。
- すべての bash コマンドをバックグラウンドで実行します(
run_in_background: true)。これには、主要なセットアップコマンドと進行状況の確認用のログ監視も含まれます。 - コマンドを見せずに進行状況を確認します。進行状況を伝えるためにログを末尾から確認してもかまいませんが、tail コマンドもバックグラウンドで実行してください。出力を解析し、「✓ 商談チーム:有効」のようなわかりやすい進捗だけを表示します。tail コマンドや生のログ行は絶対に表示しないでください。
- エラーの調査は表に出さずに行います。問題が起きたら、診断(データの確認、クエリの実行、環境の問題の修正)は、各手順を逐一説明せず、バックグラウンドで実施します。結論と対応だけを伝えます。「まずテスト用の商談を作成する必要があります。作成します……」のように伝え、「
--jsonの出力が壊れているようです……確認します……ANSI カラーコードが原因です……修正します……」とは伝えないでください。 - 平易な言葉で説明します。「プラットフォームをセットアップしています……」と伝え、「
setup-all.shのフェーズ 1.5 を実行しています」とは伝えないでください。 - 技術的な詳細は伏せます。ユーザーからデバッグを求められない限り、SOAP の応答、curl コマンド、jq による解析、フェーズ番号、スクリプトのパスは示さないでください。
- 終了コードを確認します。成功か失敗かを必ず判定し、技術的なエラーは管理者にわかりやすい説明に置き換えてください。
- 所要時間の目安を伝えます。「約 3 分かかります……」と伝えることで、「フリーズしていますか?」という質問を防げます。
- エラーには適切に対処します。一時的な失敗は自動で再試行し、解決を妨げる問題については説明し、選択肢を提示してください。
エラーの説明方法、例、復旧手順の詳細については、references/admin-communication.md を参照してください。
ワークフロー
重要 — 主なエントリーポイント:最初から最後までのセットアップには、scripts/setup-all.sh を実行してください。このスクリプトは、すべての前提条件、機能の有効化、フローのデプロイ、権限の設定、検証を、正しい依存関係の順序で処理します。個別のスクリプトを使うのは、setup-all.sh の実行後に特定のコンポーネントを診断または修復する場合に限ってください。
setup-all.sh は、フェーズが 3 つある、フィールド選択に基づいたセットアップです。(1)プラットフォームの有効化、エージェントユーザーの作成、PSG の割り当て。(2)フィールドの選択 → プロンプトテンプレートの作成と有効化 → ステージの説明(StageName を選択した場合のみ) → プロンプトの検証。(3)フローの構築(選択したフィールドのみ)、フローの有効化、エージェントの有効化、PSG の再計算。このセットアップはデフォルトで安全です。提案のみのモードで動作し、依頼がない限りステージの説明は作成されず、プロンプトが準備できるまではフローが有効になりません。
標準エージェント手順 — 2 回の呼び出しと、その間の対話型調整ループ
2 回の呼び出しからなる手順の全容、コード例、エージェントのルール、説明用テンプレート、内部ステップの対応表については、references/canonical-agent-path.md を参照してください。
概要:セットアップを、呼び出し 1(--through-phase prompts)と呼び出し 2(--from-phase flow)に分け、その間に調整ループを設けて、フィールドごとにプロンプトの承認を進めます。呼び出し 2 は必須です。これを実行しないとフローが作成されず、提案も生成されません。
無人実行/CI の手順(調整ループなしの 1 回の呼び出し)
完全な無人実行(cron/CI)や、ユーザーがプロンプトのレビューを明示的に断った場合:
bash setup-all.sh <org-alias> --fields "NextStep,StageName,Risk__c" \
[--field-goal "NextStep:<text>"] [--field-instruction "NextStep:<text>"] \
[--autonomous] [--create-stage-descriptions] [--skip-prompt-verification] \
--non-interactive [--users "[email protected],[email protected]"]
1 回で完了するモードでも、検証ステップでは各フィールドの提案が情報として表示されます。これらをユーザーに伝えてください。
フラグ
フラグの詳しい説明は、references/flags.md を参照してください。主なフラグは次のとおりです。
--check-license— 事前確認のみ(終了コード 0 = 利用可能、1 = ブロッカー)。最初に実行してください。--through-phase prompts/--from-phase flow— 分割実行の終了ポイント(相互排他)--fields "NextStep,StageName"— 必須のフィールドセット(1 つ以上、最大 5 つ)--autonomous— 自動適用モードを有効化(デフォルトでは無効)--non-interactive/--yes— 無人モード(--fieldsが必要)--users "[email protected],[email protected]"— PSG の割り当て対象ユーザーを明示的に指定(メールアドレスを検証)
以下のフェーズでは、手動での対応や修復を行う場合の判断ロジックを説明します。各手順の詳細については、references/setup-order.md を参照してください。
自動化の概要
各設定手順と、CLI で自動化できるか(およびその方法)または UI のみで行えるかについては、references/automation-matrix.md に記載されています。要約すると、前提条件、有効化、フローの複製/有効化、エージェントの公開/有効化、権限、項目の提案、ステージの説明はすべて CLI で自動化できます(setup-all.sh が依存関係の順に実行します)。Agent Analytics のみ UI での操作が必要です。
フェーズ 0 — 認証と組織の評価
-
認証 —
references/auth-and-cli.mdを参照してください。sf --json | jqでは必ず2>/dev/nullを使用してください。 -
組織の状態を評価 — 分岐判定のシグナル(PSG の存在ではありません。PSG は未設定の組織でもライセンスに含まれています):
- 有効化:SOAP の readMetadata による
SalesDealAgentSettings.enableDealAgent - セットアップ実行済み(次のいずれか):(a) エージェントユーザーが
SalesManagementAgentUserPsgを保持している、(b) フローProcess_Field_Update_Suggestionsが存在する(ラベルではなく ApiName で判定)、(c)AgentTemplate IN ('SalesMgmt__NGASalesAgent','SalesMgmt__SalesAgent')を持つBotDefinition
- 有効化:SOAP の readMetadata による
-
scripts/setup-all.sh <org-alias>を実行 — 分岐を自動的に処理します:- 有効化されておらず、シグナルもない → 新規セットアップ(フェーズ 1)
- 一部のシグナルあり → 修復(フェーズ 3)
- すべて存在 → 検証のみ
フェーズ 1 — 前提条件とパイプライン管理の有効化
スクリプトの全容は references/setup-order.md を参照してください。 依存関係の順に有効化します:Einstein GenAI → Agentforce Agent → Agent Platform → Enhanced Notes → Opportunity Team → Pipeline Management → Pipeline Inspection。次に、フローをデプロイ(scripts/create-flow.sh)し、エージェントのアーキテクチャを確認します(references/agent-creation.md)。
有効化時に自動作成されるもの:エージェントユーザーと PSG(自動割り当て)。作成が必要なもの:BotDefinition:SalesAgent(オーサリングバンドルの公開による)と、スケジュールトリガーフロー(テンプレートのデプロイによる)。
フェーズ 2 — 権限の割り当て
-
エージェントアクセスを定義:
bash scripts/define-agent-access.sh <org-alias>— カスタム権限セットを作成し、両方の PSG に関連付けます。references/agent-creation.md→「Agent Access」を参照してください。 -
対象ユーザーに PSG を割り当て:厳守事項 — 一括割り当ては絶対に行わないでください。
SalesManagementUserPsgを付与するのは、(1) 実行ユーザー、および (2) 明示的に指定した--usersリストのユーザーのみです。ユーザーを列挙して一括付与してはいけません。
フェーズ 3 — 修復モード(一部設定済みの組織)
チェックリストの全容は references/repair-diagnostics.md を参照してください。よくある問題:フローが無効化されている → Tooling API の PATCH、エージェントが有効でない → sf agent activate、プロンプトテンプレートが有効でない → バージョンを一巡させて再デプロイ、エージェントが見つからない → SOAP でオフ/オンを切り替えます。
フェーズ 4 — カスタマイズ(管理者による判断が必要です)
-
商談ステージの説明を定義する —
references/opportunity-stages.mdの「提案して修正する」パターンを使用します。有効なステージを照会し、参照ファイルの既定値を提示して、ユーザーによる修正を反映した後、Tooling API で一括作成します。重要:Pipeline Management を有効にすると、ステージの説明が自動的にプロビジョニングされる場合があります(テスト用組織では、MEDDIC の説明があらかじめ登録されていました)。作成を試みる前に、必ず既存の説明を確認してください。説明がすでに存在する場合は、重複を避けるため、新規作成ではなく更新してください。
-
追加のデータソースを設定する — 選択表については
references/data-sources.mdを参照してください(Einstein Conversation Insights、Einstein Activity Capture、Inbox)。 -
カスタム商談項目の提案を追加する(セットアップ後) — セットアップ時に選択した項目は、
setup-all.sh --fieldsで連携されます。すでに設定済みの組織に新しい項目を追加するには、scripts/add-field-suggestion.sh <org-alias> <FieldApiName>を実行します(例:Risk__c項目)。このスクリプトは項目を検証し、標準テンプレート(assets/field-completion-template.genAiPromptTemplate-meta.xml)に値を入力して、バージョンの往復処理を通じてデプロイおよび有効化し、ライブのProcess_Field_Update_Suggestionsフローにその項目を冪等的に連携します(5 項目の上限を遵守します)。任意のフラグ:--label、--goal、--instruction(項目固有のプロンプト行 2 行)、--verify-with-note(Note を作成し、同期生成を実行)、--opp <Id>、--skip-flow、--force。処理の詳細はreferences/field-completion-prompts.mdを、goal/instruction の行の作成方法はreferences/field-completion-prompt-template.mdを参照してください。命名に関する注意:プロンプトテンプレートの
<type>はeinstein_gpt__fieldCompletionです(すべてのメタデータで使用されます。変更しないでください)。Setup UI(Prompt Builder)では、このカテゴリは 「Field Generation」 と表示されます。同じ機能です。管理者は「Field Completion」ではなく「Field Generation」を探してください。 -
自律更新を設定する — 自律モードは、項目ごとの設定ではなく、組織全体に適用される単一の切り替え設定(
SalesDealAgentSettings.enableDealAgentAutoApproveAllTasks)です。有効にすると、エージェントはすべての項目の提案を確認なしで自動適用します。無効の場合(既定値)、すべての提案で人による承認が必要です。setup-all.sh --autonomousでオプトインできます。切り替え設定と安全上の考慮事項については、references/autonomous-updates.mdを参照してください。 -
Agent Analytics を有効にする — Setup → Einstein Feedback and Monitoring → Agent Analytics(UI のみ)。
フローについて
フローのアーキテクチャ、クローンの方法、技術的な制約については、references/flow-clone-from-template.md を参照してください。
重要な事実:Pipeline Management は、管理対象テンプレートをクローンしたスケジュール起動フロー(Process_Field_Update_Suggestions)を使用します。検出にはラベルではなく ApiName を使用します。このフローは、選択された項目を指定して getOrExecFieldUpdtSuggestion を呼び出します。項目を追加するには、その項目のテンプレートを有効化し、フローのコレクションにも連携する必要があります(この処理は add-field-suggestion.sh によって原子的に実行されます)。このフローが有効でない限り、提案は生成されません。
主な考慮事項
- Pipeline Management には、単独の
BotDefinition:SalesAgentが必須です — BotDefinition がないとセットアップがブロックされます。ほとんどのエディションでは自動プロビジョニングによって作成されますが、作成されない場合は、shared/agent-bundle-publish.sh内のpublish_and_activate_agent()(setup-all.shとcreate-agent.shから呼び出されます)が、assets/sales_management_agent.agentからバンドルを公開して有効化します。EmployeeCopilotPlannerのフォールバックには依存しないでください。ユーザーには対話型チャット画面が必要です。 - フローは、エージェントが有効で、商談に対する 読み取り/書き込み 権限を持つ場合にのみ実行されます。エージェントは商談チームメンバーとして参加するため、OpportunityTeamMember に対する Apex トリガーに注意してください。
- 1 日あたりの上限:LLM リクエスト 8,000 件/商談約 4,000 件。提案は 30 日後に期限切れになります。
- ステージテンプレートは
GetOpportunityStageDetailsInvocableActionを介してOpptStageDescriptionを読み取ります。アクティブなステージに説明がないものがあると、ステージの提案は失敗します。 - DealAgent の有効化に CLI Metadata デプロイを使用しないでください — SOAP API v64.0 のみを使用してください(CLI にはサイレント失敗モードがあります)。
BotSettings/enableBotsを有効にしないでください — これらは従来のメッセージングボット用であり、無関係なうえ、「Legal Terms」エラーが発生します。- Pipeline Management はマネージドパッケージを使用しません — 有効化時にコンポーネントが直接プロビジョニングされます。
- Setup に切り替えが表示されない場合は、Sales Cloud EE+ ライセンスと Agentforce SKU を確認してください。
sf ... --jsonの出力を jq にパイプするときは、JSON を破損させる CLI 警告を除去するため、必ず2>/dev/nullを使用してください。
参考資料
references/setup-order.md— すべてのスクリプトを含む、コピーして実行できる完全なセットアップ手順references/soap-api-enablement.md— すべての前提条件に対応した SOAP API のパターンreferences/flow-clone-from-template.md— ApiName に基づく検出を用いたフローの複製方法references/agent-creation.md— エージェントの作成(自動プロビジョニングとオーサリングバンドルの公開。SOAP の切り替えで再プロビジョニングされるのはエージェントユーザーと PSG のみで、BotDefinition は対象外)references/field-completion-prompts.md— カスタムフィールドの提案をエンドツーエンドで追加する方法(検証済みの v67 パターン、3 つの要件、add-field-suggestion.shの仕組み、検証)references/field-completion-prompt-template.md— スクリプトが使用する、フィールド固有の目標/指示行の記述方法references/opportunity-stages.md— ステージの説明と方法論references/repair-diagnostics.md— 一部のみ設定された組織への対応references/auth-and-cli.md— 認証方法、CLI の互換性references/data-sources.md— EAC/ECI/Notes/Enhanced Email の判断表references/autonomous-updates.md— 自動適用モードの切り替えと安全上の考慮事項references/metadata-inventory.md— プロビジョニングされるメタデータコンポーネントの完全な一覧references/automation-matrix.md— CLI で自動化できるセットアップ手順(およびその方法)と、UI のみで行う手順references/admin-communication.md— 管理者向けの説明パターン:エラー翻訳表、調査内容を明かさない例、セットアップを会話形式で進めるための各手順の説明テンプレート
例
examples/custom-prompt-instructions.md— 方法論との整合性や更新の積極性の制御に使う、カスタムプロンプト指示のパターン
スタンドアロンスクリプト
各セットアップフェーズ用の実行可能スクリプトです(scripts/ ディレクトリから、CWD に sfdx-project.json がある状態で実行します)。
scripts/setup-all.sh— マスターオーケストレーション:フィールド選択に基づく、3 フェーズのエンドツーエンドセットアップです(認証 + 有効化 + エージェントユーザー/PSG → フィールド選択 + プロンプトテンプレート + ステージの説明 + プロンプト検証ゲート → フローの構築/有効化 + エージェントの有効化 + PSG の再計算)。--fieldsが必須です(指定がない場合は中止)。デフォルトでは対話形式です。安全なデフォルト設定(提案のみ、ステージの説明は作成しない)に加え、--field-goal/--field-instruction、--autonomous、--create-stage-descriptions、--skip-prompt-verificationのオプトインフラグと、無人実行用の--non-interactive/--yesを使用できます。scripts/shared/flow-builder.sh—setup-all.shから読み込まれる、フローのフィールド収集用ヘルパーです。build_field_collection(新規構築 — 選択したフィールドのみを接続するフローを書き込みます)と、strip_flow_field/add_flow_field/flow_wired_fields(修復 — デプロイ済みフローのフィールドをその場で調整します)を提供します。scripts/shared/stage-descriptions.sh—setup-all.shから読み込まれるフェーズ 4c.5 のステージ説明作成処理です。run_stage_descriptions()をエクスポートします(STAGENAME_SELECTEDに基づいて実行可否を判定し、フェーズ 8.5 の概要用にSTAGE_DESCRIPTIONS_BLOCKEDを設定します)。scripts/shared/test-opp.sh— 両方の検証スクリプト(flow-debug-and-verify.sh、verify-prompt-generation.sh)から読み込まれる、テスト商談とグラウンディングノートの解決処理を共有します。resolve_test_opportunity([PM-TEST]テスト商談の再利用/作成/フォールバック、CloseDate の更新、グラウンディングノートのシード/更新)とseed_grounding_noteをエクスポートします。scripts/retrieve-settings.sh— 現在の組織設定の状態を監査します。scripts/enable-prerequisites.sh— SOAP 経由で前提条件となる設定のみを有効化します(Einstein GenAI、Agentforce、Enhanced Notes、Opportunity Team)。フィールド/フロー/エージェントは対象外です。setup-all.shは同じ有効化処理をインラインで実行します。このスタンドアロンスクリプトは、前提条件の設定を個別に、かつ非破壊的に切り替える場合のみ使用してください。scripts/enable-deal-agent.sh— SOAP API 経由で Pipeline Management を有効化します(スタンドアロンのヘルパーです。setup-all.shでは PM をインラインで有効化します。このスクリプトは個別の手動切り替えにのみ使用してください)。scripts/create-flow.sh— 提案フローを検出し、テンプレートからデプロイするか、有効化します(代替手段として UI のガイダンスを表示します)。scripts/create-agent.sh— エージェントを検証/作成/有効化します(自動プロビジョニング + 作成バンドルの公開。SOAP による切り替えでは、エージェントユーザー/PSG のみを再プロビジョニングし、BotDefinition は対象外です)。完了時に Agent Access も定義します。scripts/define-agent-access.sh—SalesManagementUserPsgを保持する両方のユーザーと、SalesManagementAgentUserPsgを保持する自律型エージェントユーザーがエージェントを起動/実行できるよう、Agent Access を定義します(カスタム権限セット +SetupEntityAccess+ 両方の PSG へのPermissionSetGroupComponentの追加 + 再計算)。scripts/deploy-settings.sh— SOAP を使用しない設定(Notes、Email、Opportunity)をデプロイします。scripts/add-field-suggestion.sh— 条件を満たす任意の Opportunity テキスト項目に AI による項目入力候補を追加します(検証 → 正規テンプレートへの入力 → バージョンの往復処理によるデプロイと有効化 → フローへの接続。同期生成には--verify-with-noteを使用します)。scripts/verify-all.sh— 包括的な設定状態チェック(読み取り専用)です。
管理者向け検証ツール
セットアップ後に Pipeline Management が正しく動作していることを管理者が確認するためのスクリプトです。これらを使用して、項目の候補が期待どおりに生成されていることを確認してください。
いずれかの検証スクリプトを実行する前に、現実的な根拠メモを作成し、PM_GROUNDING_NOTE 環境変数を介して渡してください。 AI は商談の「メモ」に実際の営業状況が記載されている場合にのみ提案を生成します。一般的なプレースホルダーでは根拠が何も得られず、空の結果が返されるため、正常に動作するセットアップが壊れているように見えてしまいます。設定した --fields と、--field-goal/--field-instruction(例:NextStep には具体的な次のステップと期限、StageName には購入者、予算、課題、時期に関する兆候)を反映した、もっともらしい営業電話や会議について数文で記述してください。固定テンプレートは使わず、設定内容に合わせてください。例:PM_GROUNDING_NOTE="営業担当副社長とのディスカバリーコール:25万ドルの予算と第3四半期の稼働開始を確認。次のステップとして、IT部門との技術的な詳細検討とROI分析を実施することで合意した。" bash scripts/flow-debug-and-verify.sh <org>。環境変数が設定されていない場合、スクリプトは一般的なメモを使用します。
2つのスクリプトはスキルから個別に呼び出されますが、同じテスト商談と同じ根拠メモを使用します。 どちらも、ユーザーが所有する [PM-TEST] Test Pipeline Verification Opp という名前の商談を検索し、なければ作成します([PM-TEST] プレフィックスにより、このツールが作成したすべての商談を Opportunity WHERE Name LIKE '[PM-TEST]%' で検索できます)。既存の商談を再利用する場合は、フローの対象となる状態を維持するために、その商談の CloseDate を30日後に変更します。また、渡された PM_GROUNDING_NOTE の値が保存済みの値と異なる場合にのみ、根拠メモを更新します(同じ場合は既存のメモをそのまま残します)。実行順序にかかわらずメモが一貫するよう、両方の実行に同じ PM_GROUNDING_NOTE の値を渡してください。
scripts/flow-debug-and-verify.sh— スケジュール済み提案フローを、ガイド付きの2段階で検証します。- flow-debug-start (
bash scripts/flow-debug-and-verify.sh <org> [opp-id]) は、まだ条件を満たしている場合、ユーザー所有のテスト商談[PM-TEST] Test Pipeline Verification Oppを再利用します(実行を繰り返しても商談が重複して作成されません)。条件を満たさない場合は商談を作成し、作成に失敗した場合はユーザー所有のオープンな商談を代わりに使用します。確定した商談にグラウンディング用のメモを作成または更新し、フローの Debug URL、選択する商談、その後に実行する正確なverifyコマンドを出力します。コマンドには、実行前の提案数である末尾のベースライン件数も含まれます。ユーザー所有の商談を使用するため、生成された提案は管理者の所有者スコープ付きパイプラインインスペクションに表示されます。利用できる商談がない場合は、次に行う操作を示すメッセージを出力し、検証せずに終了コード 0 で終了します。URL と商談をユーザーに伝え、その商談を対象に Flow Builder で Debug を実行するまで待ってください。スケジュール済みレコードトリガーフローで実際の$Recordをバインドするオンデマンドの方法はこれだけです(DML が永続化されるよう、ロールバックモードはオフのままにしてください)。 - verify (
bash scripts/flow-debug-and-verify.sh <org> <opp-id> verify [baseline]) は、ユーザーがデバッグ実行の完了を確認した後に実行します。フローがアクションに到達したこと(エージェントユーザーが商談チームに追加されたこと)を確認し、生成されたAiGenActionItemの提案を最大約4分間ポーリングします。flow-debug-startが出力したベースラインを渡してください。これはデバッグ実行の前に取得されるため、差分を正確に確認できます。省略した場合は、より精度の低い絶対値による検出に切り替わります。2つのフェーズ間の待機はスクリプト内ではなく、会話の中で行います。
- flow-debug-start (
scripts/verify-prompt-generation.sh— Einstein/generationsAPI を直接呼び出して、フィールドの背後にあるプロンプトテンプレートをテストします。フィールドの API 名を渡します(bash scripts/verify-prompt-generation.sh <org> <field> [opp-id]— 例:NextStep、Risk__c)。フィールドを対応する管理対象または派生テンプレートに解決します(名前空間のない管理対象名だけを指定するとENTITY_IS_DELETEDが返されます)。また、flow-debug-and-verify.shと同じユーザー所有商談の選択方法を使用します(両スクリプトは、共通の[PM-TEST] Test Pipeline Verification Oppを再利用 → 作成 → 所有者スコープ付きフォールバック → 利用できない場合は正常にスキップ、という処理を共通ライブラリから読み込みます)。スキップ時の唯一の違いは、Einstein エンドポイントを呼び出さないことです。実際に生成された提案テキストを表示し、管理者がカスタムプロンプトの指示を検証できるようにします。
エージェントアセット
assets/sales_management_agent.agent— Sales Management Agent の Agent Script 定義(自動プロビジョニングに失敗した場合に使用)assets/sales_management_agent.bundle-meta.xml— AiAuthoringBundle のメタデータ(sf agent publish authoring-bundle --api-name SalesAgentでデプロイ)assets/field-completion-template.genAiPromptTemplate-meta.xml—@@PLACEHOLDERS@@を含む標準のeinstein_gpt__fieldCompletionプロンプトテンプレート。scripts/add-field-suggestion.shが値を設定します(直接デプロイしないでください)