mcpField
S
service-de-channel-routing-configure

service-de-channel-routing-configure

github.com/forcedotcomその他1.1k660 回インストール1 日前に更新
リポジトリ

service-de-channel-routing-configure について

既存の Salesforce Enhanced Messaging チャネルのルーティングを設定・検証するスキルです。キュー、Flow、Agentforce Service Agent、Digital Worker、ユーザーに対応し、対象の適格性とフォールバックキューを確認します。

主な機能

  1. 015 種類の SessionHandler ルーティング設定
  2. 02必要に応じたキューとルーティング設定の作成
  3. 03既存ルーティング対象の検証
  4. 04対象別のフォールバックキュー要件確認
  5. 05sf CLI によるチャネルの照会と更新

活用シーン

  1. 01新規メッセージチャネルのルーティング設定
  2. 02既存チャネルのルーティング対象の検証
  3. 03フォールバックキュー不足や無効な対象の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill service-de-channel-routing-configure

インストール後、Claude Code で/service-de-channel-routing-configureを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
asa-routing.md
gotchas.md
queue-creation.md
target-locate.md
worked-examples.md
scripts/tests/
test_skill_contract.py

詳細

チャネルルーティングの設定

このスキルの機能

有効化する前に、MessagingChannel に有効なルーティングが設定されていることを確認します。チャネルの SessionHandler フィールドはポリモーフィック外部キーです(MessagingChannel.entity.xml の domain="Queue, FlowDefinition, User, BotDefinition, AgenticCtxtDecorDefinition" で確認済み)。これは、チャネルが受信セッションを誰にルーティングするかを指定します。ターゲットによっては、プライマリターゲットが処理できないセッションを受け取る Omni-Channel キューである FallbackQueue も必要です。

これらのスキルは Enhanced チャネル(PlatformType=Enhanced、SCRT2)を作成します。Enhanced チャネルでは、5 つすべての SessionHandler ドメインに書き込みできます。(Standard/SCRT1 チャネルで SessionHandler として受け付けられるのは Flow のみです。それ以外のドメインを指定すると、サーバーは「Only flows of type Omni-Channel are supported」というエラーを返します。これらのスキルは Standard チャネルを作成しないため、このケースには対応していません。)

処理の流れ: チャネルは service-de-channel-create(またはタイプ別のリーフスキル)で挿入され、このスキルでルーティングを設定します。次に service-de-channel-settings-configure で同意を設定し、最後に service-de-channel-activate で有効化します。有効化にはルーティングと同意の両方が必要です。オーケストレーターの service-de-headless-channel-configure は、これら 4 つを順番に実行します。

サポートされているルーティングタイプ。すべて SessionHandlerId を設定し、一部では FallbackQueueId も設定します。

タイプSessionHandler ターゲットID プレフィックスFallbackQueue
Omni-Channel QueueGroup(Type=Queue)00Gnull が必須
Omni-FlowFlowDefinition(ProcessType=RoutingFlow)300必須
Agentforce Service Agent (ASA)BotDefinition(Type=ExternalCopilot)0Xx必須
Digital WorkerAgenticCtxtDecorDefinition1iE必須
ユーザーUser(RoutingConfiguration が設定済み)005null が必須

プロビジョニングの動作:

  • キュー — MessagingSession に対応した既存のキューを選択するか、Metadata API で新しいキューと QueueRoutingConfig を作成します。
  • Flow / ASA / Digital Worker / ユーザー — 対象となる既存のターゲットを検索して PATCH します。これらのスキルは Flow、ボット、デジタルワーカー、ユーザーを作成しません。対象となるものがない場合、スキルは前提条件を報告し、ユーザーに Setup を案内します。

リファレンスファイル一覧

リファレンスファイル読み込むタイミング
references/queue-creation.mdユーザーがキューのルーティングで「新しいキューを作成」を選択した場合。Metadata API による完全なスキャフォールド → デプロイ → ID 検索 → 任意のメンバー追加。
references/target-locate.md対象となるターゲット(Queue、Flow、ASA、Digital Worker、User)を検索して検証するためのドメイン別 SOQL と、FallbackQueue の要件マトリクスが必要な場合。
references/asa-routing.mdユーザーが ASA(Agentforce Service Agent)ルーティングを選択した場合。前提条件の確認、有効な ASA の列挙、選択。
references/gotchas.md予期しない結果のトラブルシューティング、またはこのスキルを変更する前。既知の注意点。
references/worked-examples.md既存キューの再利用、新しいキューの作成、Flow、ASA の各パスの実行例を参照する場合。

このスキルを使用しない場合

  • チャネルに SessionHandlerId または FallbackQueueId がすでに設定されている場合。 このスキルは何も変更しない前に、既存のターゲットを再検証します。ASA には引き続き BotUser と Active BotVersion が必要です。これらがない場合は asa-target-inactive を報告し、準備完了とは判断しません。
  • チャネルがまだ存在しない場合。 先に挿入スキルを実行してください。このスキルは実在する MessagingChannel.Id があることを前提とします。
  • 既存のルーティングを置き換えたい場合。 UI で SessionHandlerId を手動でクリアしてから、このスキルを再実行する方が安全です。何も変更しないためのチェックは安全策であり、自動的に回避するほどの制約ではありません。

Inputs(呼び出し元から)

  • {CHANNEL_ID} — 15 文字または 18 文字の MessagingChannel.Id(プレフィックスは 0Mj)。チャネルはすでに存在している必要があります。
  • {ORG_ALIAS} — 任意。sf CLI のターゲット組織のエイリアスです。デフォルト:sf config get target-org が返す値。すべての SOQL、PATCH、Metadata のデプロイは、この組織に対して実行されます。

Output(呼び出し元へ)

次のいずれかです。

成功 — 変更不要:

{"ok": true, "noop": true, "routingType": "queue|flow|asa|digital_worker|user", "sessionHandlerId": "00G...|300...|0Xx...|1iE...|005...", "fallbackQueueId": "00G...|null", "targetName": "...", "message": "Routing already configured"}

成功 — Queue ルーティングを設定しました:

{"ok": true, "routingType": "queue", "sessionHandlerId": "00G...", "fallbackQueueId": null, "queueName": "...", "queueDeveloperName": "...", "created": true|false}

成功 — Flow ルーティングを設定しました:

{"ok": true, "routingType": "flow", "sessionHandlerId": "300...", "fallbackQueueId": "00G...", "flowName": "...", "flowDeveloperName": "...", "created": false}

成功 — ASA ルーティングを設定しました:

{"ok": true, "routingType": "asa", "sessionHandlerId": "0Xx...", "fallbackQueueId": "00G...", "asaName": "...", "asaDeveloperName": "...", "botUserId": "005...", "botVersionId": "0X9...", "created": false}

成功 — Digital Worker ルーティングを設定しました:

{"ok": true, "routingType": "digital_worker", "sessionHandlerId": "1iE...", "fallbackQueueId": "00G...", "workerName": "...", "created": false}

成功 — User ルーティングを設定しました:

{"ok": true, "routingType": "user", "sessionHandlerId": "005...", "fallbackQueueId": null, "userName": "...", "created": false}

前提条件を満たしていません:

{"ok": false, "kind": "no-eligible-target", "routingType": "flow|asa|digital_worker|user", "hint": "no eligible <target> found on this org — <how to create one in Setup>, then re-run this skill"}
{"ok": false, "kind": "no-fallback-queue", "hint": "Flow/ASA/Digital Worker routing requires a FallbackQueue but no MessagingSession-capable queue exists — create one (Queue routing path) first"}
{"ok": false, "kind": "asa-not-supported", "hint": "this org doesn't have BotDefinition (Agentforce not licensed); use Queue routing instead"}
{"ok": false, "kind": "standard-channel", "hint": "this is a Standard (SCRT1) channel — only Flow routing is supported; these skills only create Enhanced channels, so this is unexpected"}

失敗:

{"ok": false, "kind": "metadata-deploy-failed", "message": "..."}
{"ok": false, "kind": "patch-failed", "message": "..."}
{"ok": false, "kind": "verify-failed", "hint": "PATCH returned success but re-read shows SessionHandlerId still null — permission or trigger issue"}

PATCH の失敗時に返される message には、サーバー側の検証エラー(MessagingChannelFunctionsHelper.validateSessionHandler からのもの)がそのまま含まれていることがよくあります。その内容をユーザーに示してください。どのリンクルールに失敗したかを正確に伝えるメッセージです。よくあるものは、MissingFallbackQueueForFlowRouting / ...ForAsaRouting / ...ForDigitalWorkerRouting(FallbackQueue が必須なのに null)、UnsupportedFallbackQueue(Queue/User の経路では FallbackQueue を null にする必要があるのに設定されている)、InvalidSessionHandlerFlowType(Flow が ProcessType=RoutingFlow ではない、またはチャネルが Standard/SCRT1)、NoRoutingConfigDefined(User に RoutingConfiguration がない)です。


Stage 1: 現在のルーティング状態を読み取る

チャネルをクエリします。すでに SessionHandlerId または FallbackQueueId が設定されている場合は、何も変更しません。それ以外の場合は続行します。

sf data query --target-org '{ORG_ALIAS}' \
  --query "SELECT Id, DeveloperName, SessionHandlerId, FallbackQueueId FROM MessagingChannel WHERE Id = '{CHANNEL_ID}'" \
  --json > /tmp/ccr-channel.json

node -e または jq で解析します。レコードが存在しない場合は、Error: Channel {CHANNEL_ID} not found — check the id, or run the insertion skill first. を返して停止します。

SessionHandlerId が null でない場合は、Id のプレフィックスに基づいて既存のルーティング先を特定し、適切なエンベロープを返して何も変更しません。プレフィックスは SessionHandler ドメインに 1 対 1 で対応します(MessagingChannel.entity.xml で確認済み)。既存のルーティングが正常とは限りません。成功として何も変更しないことを報告する前に、対象の検索で適格な行がちょうど 1 件返される必要があります。

プレフィックスドメイン / 対象検索クエリroutingType
00GGroup(Type=Queue)SELECT Id, Name, DeveloperName FROM Group WHERE Id='<sh>' AND Type='Queue'queue
300FlowDefinitionSELECT DurableId, Label, ApiName FROM FlowDefinitionView WHERE DurableId='<sh>'flow
0XxBotDefinition(ASA)SELECT Id, DeveloperName, MasterLabel, AgentType, BotUserId, (SELECT Id, Status FROM BotVersions WHERE Status='Active' LIMIT 1) FROM BotDefinition WHERE Id='<sh>'asa
1iEAgenticCtxtDecorDefinition(Digital Worker)SELECT Id, DeveloperName, MasterLabel FROM AgenticCtxtDecorDefinition WHERE Id='<sh>'digital_worker
005UserSELECT Id, Name FROM User WHERE Id='<sh>'user
SESSION_HANDLER_ID="$(node -e 'console.log(JSON.parse(require("fs").readFileSync("/tmp/ccr-channel.json","utf8")).result.records[0].SessionHandlerId)')"
PREFIX="${SESSION_HANDLER_ID:0:3}"
case "$PREFIX" in
  00G) sf data query --target-org '{ORG_ALIAS}' --query "SELECT Id, Name, DeveloperName FROM Group WHERE Id = '$SESSION_HANDLER_ID' AND Type = 'Queue'" --json > /tmp/ccr-noop-target.json ;;
  300) sf data query --target-org '{ORG_ALIAS}' --query "SELECT DurableId, Label, ApiName FROM FlowDefinitionView WHERE DurableId = '$SESSION_HANDLER_ID'" --json > /tmp/ccr-noop-target.json ;;
  0Xx) sf data query --target-org '{ORG_ALIAS}' --query "SELECT Id, DeveloperName, MasterLabel, AgentType, BotUserId, (SELECT Id, Status FROM BotVersions WHERE Status='Active' LIMIT 1) FROM BotDefinition WHERE Id = '$SESSION_HANDLER_ID'" --json > /tmp/ccr-noop-target.json ;;
  1iE) sf data query --target-org '{ORG_ALIAS}' --query "SELECT Id, DeveloperName, MasterLabel FROM AgenticCtxtDecorDefinition WHERE Id = '$SESSION_HANDLER_ID'" --json > /tmp/ccr-noop-target.json ;;
  005) sf data query --target-org '{ORG_ALIAS}' --query "SELECT Id, Name FROM User WHERE Id = '$SESSION_HANDLER_ID'" --json > /tmp/ccr-noop-target.json ;;
  *)   echo "{\"records\":[{\"Id\":\"$SESSION_HANDLER_ID\"}]}" > /tmp/ccr-noop-target.json ;;
esac

既存の ASA(0Xx)では、BotUserId が null でなく、BotVersions の行が 1 件返され、その Status が Active であることを必須とします。どちらかが欠けている場合は、成功として何も変更しない応答ではなく、次の失敗を返します。チャネルのルーティングを自動でクリアしたり置き換えたりしないでください。

{"ok":false,"kind":"asa-target-inactive","routingType":"asa","sessionHandlerId":"0Xx...","hint":"The configured Agentforce Service Agent has no BotUser or active BotVersion. Activate the agent in Setup, then re-run routing validation."}

その他のプレフィックスでは、対象の検索で行がちょうど 1 件返されることを必須とします。対象固有の適格性チェックに成功した後に限り、成功として何も変更しないエンベロープを返してください(Stage 1 の読み取りで取得した既存の FallbackQueueId を含めます)。

FallbackQueueId が null でなく、SessionHandlerId が null の場合も、何も変更しません。これは Flow/ASA が部分的に設定された状態です。変更は加えず、エンベロープの message に "FallbackQueue set but SessionHandler null — incomplete routing, review in Setup" と記載してください。SessionHandler がないため、アクティベーション時の準備状態チェックは引き続き失敗します。


ステージ 2:チャネルがEnhancedであることを確認し、ルーティングの種類を選択する

まずPlatformTypeを確認します。ステージ1の読み取りには含まれていなかったため、追加するか、再クエリしてください。

sf data query --target-org '{ORG_ALIAS}' \
  --query "SELECT Id, PlatformType FROM MessagingChannel WHERE Id = '{CHANNEL_ID}'" --json > /tmp/ccr-platform.json

PlatformType != 'Enhanced'(つまりStandard/SCRT1)の場合、書き込み可能なのはFlowルーティングのみです。このスキルはEnhancedチャネルのみを作成するため、ここでStandardチャネルが見つかるのは想定外です。推測で進めず、{ok:false, kind:"standard-channel", ...}を出力して停止してください。

次に、ユーザーに(プロンプトを使って)尋ねてください。自動で選択してはいけません。

The MessagingChannel '{developerName}' ({CHANNEL_ID}) has no routing configured.
Which routing type do you want?

  1) queue          — Omni-Channel queue routing
  2) flow           — Omni-Flow (RoutingFlow) + fallback queue
  3) asa            — Agentforce Service Agent (requires Agentforce license) + fallback queue
  4) digital_worker — Digital Worker (Agentic) + fallback queue
  5) user           — Direct to a specific user (requires a RoutingConfiguration on the user)

Pick [1-5]:

ユーザーの選択に応じて分岐します。キュー以外のすべての経路では、references/target-locate.mdを読み込んでください。ドメインごとの検索用SOQL、適格性フィルター、FallbackQueueのルール、正確なPATCH形式が記載されています。

  • 1(queue) — 以下のステージ3-Queueに進みます。
  • 2(flow) — 適格なFlowDefinition(ProcessType=RoutingFlow、アクティブなバージョン)とFallbackQueueを検索し、ステージ5に進みます。
  • 3(asa) — ステージ3-ASAに進みます。ASAにもFallbackQueueが必要です。
  • 4(digital_worker) — 適格なAgenticCtxtDecorDefinitionとFallbackQueueを検索し、ステージ5に進みます。
  • 5(user) — RoutingConfigurationを持つUserを検索し、ステージ5に進みます。

適格なターゲットが見つからない場合は、{ok:false, kind:"no-eligible-target", routingType, hint}を出力して返してください(ドメインごとのSetupへのポインターはreferences/target-locate.mdを参照してください)。IDを捏造してはいけません。


ステージ3-Queue:既存のキューを選択するか、新規作成する

(このステージはQueue経路でのみ実行します。ASA経路については、以下のステージ3-ASAを参照してください。)

適格なキューを列挙します。UIのルーティングドロップダウン(MessagingRoutingMethodDataProviderController.getOmniQueues)には、QueueRoutingConfigId != nullを満たすグループ(Omni-Channel対応のキュー)が表示されます。MessagingChannelではさらに、キューがMessagingSessionを受け入れることも必要です。この両方を満たすものを検索します。まずMessagingSessionに対応するキューを列挙し、その後、QueueRoutingConfigを持つものだけを残してください。

# MessagingSession-capable queues that are also Omni-enabled (QueueRoutingConfigId != null)
sf data query --target-org '{ORG_ALIAS}' \
  --query "SELECT Id, Name, DeveloperName FROM Group WHERE Type = 'Queue' AND QueueRoutingConfigId != null AND Id IN (SELECT QueueId FROM QueueSobject WHERE SobjectType = 'MessagingSession') ORDER BY Name" \
  --json > /tmp/ccr-queues.json

各行のIdは00GのGroup.Idです。これがSessionHandlerIdに書き込まれる値です。(組織でセミジョインのサブクエリがエラーになる場合は、2つのクエリに分けてください。まずQueueSobject WHERE SobjectType='MessagingSession'を取得し、次にGroup.QueueRoutingConfigId != nullを満たすものだけに絞り込みます。)

ユーザーに番号付きリストを提示し、最後に「新規作成」オプションを追加してください。

Omni-enabled MessagingSession queues on {ORG_ALIAS}:

  1) Messaging Queue (Messaging_Queue) — 00GSG0000000LSf2AM
  2) MyQueue (MyQueue) — 00GSG000000144n2AA
  ...
  N) Create a new queue

Pick [1-N]:
  • ユーザーが既存のキューを選択した場合:そのIdを{QUEUE_ID}として記録します(これはGroup.Idです)。ステージ5に進みます。
  • ユーザーが「新規作成」を選択した場合:ステージ4に進みます。

リストが空で、ユーザーが(1)「新しいキューを作成」を暗黙的に選択した場合は、ステージ4に直接進んでください。


ステージ3-Queue、続き:Metadata APIで新しいQueueを作成する

(Queue経路の続きです。上記で既存のキューを選択した場合はスキップしてください。)

最小構成のscratch sfdxプロジェクト(help-agent-acceleratorパターン)を使って、QueueとQueueRoutingConfigのペアをデプロイします。その後、新しいQueueのIdを検索し、必要に応じて現在のユーザーをメンバーに追加します。

Metadata APIで新しいQueueを作成するには(sfdxプロジェクトのスキャフォールド → デプロイ → ID検索 → 必要に応じたメンバー追加)、references/queue-creation.mdを読み込んで手順に従ってください。このフローの完全なガイドです。

このステージの後、ステージ5(PATCH)に進みます。


ステージ3-ASA:既存のASAを選択する

(このステージはASA経路でのみ実行します。Queue経路の場合はステージ5に進んでください。)

ASAルーティングでは、SessionHandlerIdが既存の稼働中のAgentforce Service Agent(BotDefinition)を指します。このスキルは新しいASAを作成しません。組織がASAに対応していること(Agentforceのライセンスがあること)を確認し、稼働中でルーティング可能なものを列挙して、ユーザーに選択してもらいます。

ASAの前提条件チェック、列挙、選択については、references/asa-routing.mdを読み込んでください。 選択後、ステージ5(PATCH)に進みます。


ステージ 5:MessagingChannel.SessionHandlerId を PATCH する(+ FallbackQueueId)

この時点で、{TARGET_ID} にルーティング先 ID があり、その {ROUTING_TYPE} も把握しています。

routingType{TARGET_ID}FallbackQueue の書き込み
queue00G Group.Idなし(null のままにする必要があります)
flow300 FlowDefinition idFallbackQueueId={FALLBACK_QUEUE_ID} を設定
asa0Xx BotDefinition.IdFallbackQueueId={FALLBACK_QUEUE_ID} を設定
digital_worker1iE AgenticCtxtDecorDefinition.IdFallbackQueueId={FALLBACK_QUEUE_ID} を設定
user005 User.Idなし(null のままにする必要があります)

SessionHandler は [Group, FlowDefinition, User, BotDefinition, AgenticCtxtDecorDefinition] にまたがるポリモーフィックな外部キーです(MessagingChannel.entity.xml に基づく。BotDefinition/AgenticCtxtDecorDefinition の対象は、Agentforce ライセンスがある組織でのみ実体化されます)。標準の REST sObject PATCH では、適合する任意の Id 型を受け付けます。FallbackQueue のルールはサーバー側で強制されます(validateSessionHandler):Flow/ASA/Digital Worker では FallbackQueue が null の場合に拒否され、Queue/User では null 以外の場合に拒否されます。

FallbackQueue が必要なパスでは、レコードが無効な中間状態を経由しないよう、両方のフィールドを 1 回の PATCH で書き込みます。

# queue / user — SessionHandler only
sf data update record --target-org '{ORG_ALIAS}' --sobject MessagingChannel \
  --record-id '{CHANNEL_ID}' \
  --values 'SessionHandlerId={TARGET_ID}' --json > /tmp/ccr-patch.json

# flow / asa / digital_worker — SessionHandler + FallbackQueue together
sf data update record --target-org '{ORG_ALIAS}' --sobject MessagingChannel \
  --record-id '{CHANNEL_ID}' \
  --values 'SessionHandlerId={TARGET_ID} FallbackQueueId={FALLBACK_QUEUE_ID}' --json > /tmp/ccr-patch.json

status !== 0 の場合は、{ok:false, kind:"patch-failed", message: ...} を出力して終了します。サーバーメッセージはそのまま表示してください。失敗した連携ルールを正確に示すものです(「Output (to caller)」の失敗エンベロープに関する注記を参照)。


ステージ 6:検証

チャネルを再読み込みします。

sf data query --target-org '{ORG_ALIAS}' \
  --query "SELECT Id, SessionHandlerId, FallbackQueueId FROM MessagingChannel WHERE Id = '{CHANNEL_ID}'" \
  --json

再読み込みした SessionHandlerId が {TARGET_ID} と一致しない場合、または(flow/asa/digital_worker の場合)FallbackQueueId が {FALLBACK_QUEUE_ID} と一致しない場合:

{"ok": false, "kind": "verify-failed", "hint": "PATCH returned success but re-read shows SessionHandlerId/FallbackQueueId not persisted — check user permissions or field-level security on MessagingChannel"}

それ以外の場合は、パスに応じた成功エンベロープを出力します(このファイルの冒頭にある「Output (to caller)」を参照してください。routingType ごとに 1 つの形式があり、それぞれに fallbackQueueId が含まれます)。


ステージ 7:呼び出し元に報告

JSON エンベロープを報告します。このスキルがリーフ(ユーザーが直接呼び出したスキル)の場合は、次のように表示します。

Queue パス:

  • 成功 — ルーティングを設定しました — チャネル {CHANNEL_ID} は Queue '{QUEUE_LABEL}' ({QUEUE_ID}) にルーティングされるようになりました。{'' if created else ' (既存の Queue を再利用)'}
  • 情報:ルーティングはすでに設定されています — Queue '{name}' ({QUEUE_ID})。変更はありません。(変更なしのパス)

Flow パス:

  • 成功 — ルーティングを設定しました — チャネル {CHANNEL_ID} は Omni-Flow '{FLOW_LABEL}' ({TARGET_ID}) にルーティングされるようになりました。フォールバック Queue は {FALLBACK_QUEUE_ID} です。

ASA パス:

  • 成功 — ルーティングを設定しました — チャネル {CHANNEL_ID} は Agentforce Service Agent '{ASA_LABEL}' ({ASA_ID}) にルーティングされるようになりました。フォールバック Queue は {FALLBACK_QUEUE_ID} です。Bot ユーザー:{BOT_USER_ID}。アクティブバージョン:{BOT_VERSION_ID}。
  • 情報:ルーティングはすでに設定されています — ASA '{MasterLabel}' ({ASA_ID})。変更はありません。(変更なしのパス)

Digital Worker パス:

  • 成功 — ルーティングを設定しました — チャネル {CHANNEL_ID} は Digital Worker '{WORKER_LABEL}' ({TARGET_ID}) にルーティングされるようになりました。フォールバック Queue は {FALLBACK_QUEUE_ID} です。

User パス:

  • 成功 — ルーティングを設定しました — チャネル {CHANNEL_ID} は User '{USER_NAME}' ({TARGET_ID}) に直接ルーティングされるようになりました。

失敗/前提条件:

  • 警告:対象の {routingType} が見つかりません。{references/target-locate.md に記載されたドメイン別 Setup 案内}。その後、このスキルを再実行してください。(対象なし)
  • 警告:{routingType} ルーティングにはフォールバック Queue が必要ですが、見つかりません。まず MessagingSession Queue を作成し(Queue パス)、その後このスキルを再実行してください。(フォールバック Queue なし)
  • 警告:この組織には Agentforce のライセンスがありません(BotDefinition エンティティなし)。代わりに Queue ルーティングを使用してください。(ASA 非対応)
  • 警告:これは Standard(SCRT1)チャネルです。Flow ルーティングのみがサポートされています。このスキルでは Enhanced チャネルのみを作成するため、想定外の状態です。チャネルを確認してください。(Standard チャネル)
  • エラー:{kind}:{message}(その他の失敗。メッセージには失敗したサーバー側の検証ルールが示されます)

実行例

既存キューを再利用する高速パス(test1 で検証済み)と、Metadata API 経由で新しいキューを作成するパスの両方の実行例については、references/worked-examples.md を参照してください。


注意点

既知の注意点 — Group.Type によるフィルタリング、DeveloperName の一意性、QueueRoutingConfig の命名、空のキューに関する注意事項、Metadata API のみを使用したキュー作成、ドメインごとの FallbackQueue 要件マトリックス、サーバー側の nullQueueId/準備状態の強制ポイント、Standard と Enhanced における SessionHandler の書き込み制限、そして組織の構成によって異なる SessionHandler のポリモーフィズムです。

予期しない結果のトラブルシューティング時、またはこのスキルを変更する前に、references/gotchas.md を読み込み、その指示に従ってください。注意点がすべて記載されています。

コメント