service-omni-base-settings-configure について
Salesforce のこのスキルは、ガード付きの Metadata API デプロイで5つの OmniChannelSettings を有効にします。事前確認と読み取り専用の計画モードに対応し、手動設定が必要なログイン動作も報告します。
主な機能
- 01デプロイ前の設定確認
- 025つの OmniChannelSettings の有効化
- 03読み取り専用の計画モード
- 04書き込み可能な組織の判定
- 05デプロイ後の設定再確認
活用シーン
- 01後続の Omni 設定に向けた組織の準備
- 02変更せずに必要な設定を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill service-omni-base-settings-configureインストール後、Claude Code で/service-omni-base-settings-configureを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/package.xmlsfdx-project.jsonassets/force-app/main/default/settings/OmniChannel.settings-meta.xmlreferences/api-notes.mdscripts/configure-and-report.shdetect-existing.sh詳細
service-omni-base-settings-configure
5 つの OmniChannelSettings ブール値(enableOmniChannel、enableOmniAutoLoginPrompt、enableOmniSecondaryRoutingPriority、enableOmniSkillsRouting、enableOmniStatusCapModel)を、単一の Metadata API デプロイで有効にします。enableOmniChannel=true でなければ、その後のキュー、プレゼンスステータス、ルーティングフローなどは機能しないため、これは Omni のセットアップ手順で最初に行う書き込みである必要があります。このスキルは最初に状態を確認し、いずれかのトグルが false または未設定の場合にのみデプロイします。
入力
bash scripts/configure-and-report.sh run <org-alias> # detect; deploy if needed; re-verify
bash scripts/configure-and-report.sh plan <org-alias> # read-only: detect only, never deploys
org-alias が唯一の入力です。5 つのトグルはすべて常に true に設定されます。このスキルではトグルごとの上書きはできません。一部のみを有効にしたい場合は、独自の OmniChannel.settings-meta.xml を指定して platform-metadata-deploy を使用してください。
前提条件と安全性
- 対象の組織が
sfCLI で認証済みであること(.lightning.force.comではなく My Domain URL を使用)、Service Cloud ライセンスがあること、sfCLI が 2.139.6 以降であること。 - 本番環境の安全策: 書き込み処理は、
IsSandboxが true、またはTrialExpirationDate != null、またはOrganizationTypeが {Developer Edition, Base Edition} のいずれかであればsafe_to_writeを true と判定します。これが false の場合、上書き手段はなく、処理をブロックします。この条件では CDO(IsSandbox=falseかつTrialExpirationDateが null 以外)も許可されます。単純なIsSandboxのチェックに弱めないでください。
実行
configure-and-report.sh が正式なエントリーポイントです。
- run — 状態を確認します。5 つすべてがすでに有効なら
reusedを出力し(デプロイなし)、そうでなければsafe_to_writeガードを実行し、5 つすべてをtrueに設定した明示的なassets/force-app/main/default/settings/OmniChannel.settings-meta.xmlソースファイルをデプロイします(SucceededPartialは失敗として扱います)。その後、再度状態を確認し、5 つすべてが true になっていればconfigured、そうでなければblockedを出力します。明示的なソースパスを指定することで、組織の値が変化している場合に、ソーストラッキングによるデプロイ不要の判定を回避します。 - plan — 状態の確認のみを行います。すべて有効なら
reused、そうでなければaction_neededを出力します。デプロイは行いません。
状態の確認では Settings:OmniChannel を取得します。Metadata の取得には時間がかかるため、1~2 分ほどかかりますが、これは想定どおりです。デプロイは(有効な DX プロジェクトである)assets/ から実行し、--source-dir で設定ファイルを指定します。実行時にテンプレートが変更されることはないため、このスキルの再現性が保たれ、ローカルのソーストラッキングに変更がないという理由だけで「No local changes to deploy」と報告されることもありません。
動作
ドキュメント全体の書き込み。 Settings はドキュメント全体を扱うメタデータ型です。Metadata API は部分更新を受け付けないため、このスキルは個々のトグルを PATCH するのではなく、常にファイル全体をデプロイします。
ログイン動作に関する制約。 Omni のログイン動作ラジオボタン(Setup → Omni-Channel Settings →「エージェントが新しいウィンドウ/タブを開いたときのログイン動作を定義」)には、v66 で公開 API がありません。レポートには、処理不要の reused 実行時も含め、常に操作画面への移動手順が表示されます。そのため、「実行することなし」という結果でも、手動操作が必要な唯一の項目が隠れることはありません。enableOmniAutoLoginPrompt は問題なくデプロイされます(ほかの Omni 機能が内部的に依存している可能性があります)が、このラジオボタンの動作には影響しません。
失敗時は安全側に倒す検証。 デプロイ後、スキルは状態を再確認し、5 つすべてのトグルが true であることを要求します。成功と報告されたデプロイが反映されていない場合(組織レベルの制限によるまれなケース)は、成功を報告せず、処理をブロックします。
出力契約
configure-and-report.sh は、status が configured | reused | action_needed | blocked のいずれかである単一の JSON オブジェクトを出力します。このオブジェクトには、コーディネーターが後続のスキルを実行するかどうかの判定に使うトップレベルの all_enabled ブール値、完全な before/after トグルオブジェクト、deploy_id、safe_to_write、manual_actions、blocking_issue が含まれます。
configured— トグルが false で、デプロイが実行され、再プローブですべて true と確認された場合(実行モード)。reused— 5 つすべてがすでに true で、デプロイは行われない場合。action_needed— プランモードで無効なトグルが見つかり、何もデプロイされなかった場合。blocked—safe_to_write=falseの場合、デプロイが失敗した場合、またはSucceededPartialだった場合、あるいは再プローブで false のトグルが残っていた場合。
ブロックされていないレポートでは、manual_actions に常にログイン動作に関するギャップの項目が含まれます。reused/action_needed の場合、deploy_id は null です。blocking_issue には、status: blocked の場合に限り、失敗の内容が示されます。
制限事項
OmniChannelSettingsのみを設定し、常に 5 つすべてのトグルを true にします。他のSettingsタイプはplatform-metadata-deployの対象です。- ログイン動作のラジオボタンは変更できません(v66 では公開 API がありません)。クリック手順を提示するのみです。
参考資料
| ファイル | 参照するタイミング |
|---|---|
references/api-notes.md | デプロイ前 — 5 つのトグルの意味、依存関係、ログイン動作に関する注意事項 |