service-concierge-portal-generate について
新規または既存の LWR Experience Cloud サイトに Agentforce Concierge を展開するスキルです。Agent の作成ではなく、既存の有効な Agent をポータルに接続します。
主な機能
- 01LWR Experience Cloud への展開
- 02既存の有効な Agent との接続
- 03ポータルのブランドとコンポーネント設定
- 04ゲストアクセスと CORS/CSP の設定
- 05メッセージチャネルと埋め込みサービスの委任設定
活用シーン
- 01顧客向け Concierge ポータルの展開
- 02既存 Agent のポータルへの接続
- 03ポータルのメッセージングと埋め込みサービスの構成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill service-concierge-portal-generateインストール後、Claude Code で/service-concierge-portal-generateを入力して読み込まれたか確認します。
同梱ファイルreferences/portal-deploy-runbook.md
詳細
service-concierge-portal-generate:Agentforce Concierge ポータルのデプロイ
LWR Experience Cloud サイトに Agentforce Concierge エクスペリエンスをデプロイします。ウェルカムメッセージ、プロンプトバー、提案チクレット、チャット画面全体を備えた、エージェントを中心とするランディングページです。このスキルはチャネル設定用であり、既存のエージェントを新規または既存のポータルサイトに接続します。エージェントの作成は行いません。
このスキルが必要な理由
Concierge ポータルの設定は、順序に関する厳密な要件(バンドルの構造、ルーティングの接続、ゲストアクセスフラグ、CORS/CSP レコード)を伴う20ステップのワークフローです。独立したスキルにすることで、service-helpagent-coordinate(チェックポイント3 → ヘルプポータル分岐)から呼び出すことも、ユーザーがすでにエージェントを持っており、ポータルだけが必要な場合に直接呼び出すこともできます。
スキル一覧の事前確認(何よりも先に必須)
ユーザーに質問する前に、このスキルが処理を委任するすべてのスキルがインストールされていることを確認してください。
for skill in service-digital-engagement-channel-configure service-digital-engagement-deployment-configure service-agentforce-channel-configure; do
[ -d ".claude/skills/$skill" ] && echo "OK: $skill" || echo "MISSING: $skill"
done
不足しているスキルがある場合は、直ちに停止し、存在しないスキルの正確なディレクトリ名をユーザーに伝えてください。不足しているスキルがインストールされるまで先に進まないでください。
必須の入力
| 入力 | 解決方法 |
|---|---|
対象組織のエイリアス($ORG) | 現在の会話ターンで指定されていない場合は、AskUserQuestion で質問します |
エージェント($BOT_ID、$BOT_DEV_NAME) | 必ず組織に問い合わせます。以前の会話の内容から推測してはいけません |
MessagingChannel($MESSAGING_CHANNEL_DEV_NAME、$MESSAGING_CHANNEL_ID) | 任意 — すでに作成済みの場合は呼び出し元のスキルから受け取ります。そうでない場合は、ランブックのステップ E で service-digital-engagement-channel-configure に処理を委任します |
EmbeddedServiceConfig($ESC_ID、$ESC_DEV_NAME) | 任意 — すでに作成済みの場合は呼び出し元のスキルから受け取ります。そうでない場合は、ランブックのステップ F.3 で service-digital-engagement-deployment-configure に処理を委任します |
MESSAGING_CHANNEL_DEV_NAME と ESC_ID が指定されていない場合、このスキルは適切なスキルに作成を委任します(ランブックの §E と §F.3 を参照)。ポータルサイト自体(DEB バンドル、ブランディング、コンポーネント、ゲストアクセス、CORS/CSP)は、常にこのスキルがプロビジョニングします。
ワークフロー
references/portal-deploy-runbook.md を読み、最初から最後まで手順に従ってください。ランブックは各手順を示す正式なガイドです。この SKILL.md は、ルーティングとコンテキストの提供のみを担います。
エントリーポイント
-
組織のエイリアスを尋ねます:
AskUserQuestion: question: "Which org should I deploy the Concierge portal to?" header: "Org alias" options: - label: "Enter alias" description: "Type the org alias (e.g. help-portal-dev, trailsignup)" -
有効なエージェントを検索します(有効化の状態は
BotDefinitionではなくBotVersion.Status = 'Active'にあります。フィルターなしのSELECT ... FROM BotDefinitionでは、ランブックで接続できない廃止済み/非アクティブなボットが返されるため、必ず有効なBotVersionを明示的にフィルターしてください):sf data query --target-org $ORG --json \ --query "SELECT Id, DeveloperName, MasterLabel FROM BotDefinition WHERE Id IN (SELECT BotDefinitionId FROM BotVersion WHERE Status='Active') ORDER BY MasterLabel"- 行が0件(ボットが存在しない場合も、非アクティブ/廃止済みのボットしかない場合も、接続に関してはどちらも0件として扱います)→ 同じターン内に必ず処理を停止します。ランブックを読み込まず、
service-digital-engagement-channel-configureやservice-digital-engagement-deployment-configureに委任せず、BOT_IDを捏造せず、「まず新しいエージェントを作成してください」というAskUserQuestionも提示しないでください。ポータルの接続には有効なエージェントが必要であることをユーザーに伝え、先にagentforce-generateまたはservice-helpagent-coordinateを使ってエージェントを作成してから、このスキルを再度呼び出すよう案内してください。 - 有効なエージェントが1件以上 → 返されたエージェントをすべて選択肢として提示し、さらに 「まず新しいエージェントを作成」 という選択肢も
AskUserQuestionで提示します。ユーザーが唯一のエージェントまたは最初のエージェントを選ぶとは決めつけず、必ず明示的に尋ねてください。
ユーザーが 「まず新しいエージェントを作成」 を選択した場合は、直ちに次のメッセージを表示して停止します:
新しいエージェントの作成は、このスキルの対象外です。エージェントを作成するには、
agentforce-generateスキル(または Help Agent のセットアップ全体を行う場合はservice-helpagent-coordinate)を実行してから、Concierge ポータルスキルを再度呼び出してください。ユーザーが既存のエージェントを選択した場合は、
BOT_IDとBOT_DEV_NAMEを取得して続行します。長いリストのルール: エージェントが6件を超える場合はページ分けし、一度に6件ずつ表示して、「さらに表示」オプションを提示してください。
- 行が0件(ボットが存在しない場合も、非アクティブ/廃止済みのボットしかない場合も、接続に関してはどちらも0件として扱います)→ 同じターン内に必ず処理を停止します。ランブックを読み込まず、
-
references/portal-deploy-runbook.mdを読み込み、§0を上から順に実行します。
戻り値(呼び出し元のスキル向け)
成功した場合は、次の情報を提示します:
| 変数 | 値 |
|---|---|
NETWORK_ID | プロビジョニングされたポータルの18文字の Network Id |
PUBLISHED_PORTAL_URL | 公開中の顧客向けURL(Incognito での確認用) |
MESSAGING_CHANNEL_DEV_NAME | エージェントに接続された EmbeddedMessaging チャネル |
ESC_ID | EmbeddedServiceConfig Id(認証パス) |
最終報告の形式
完了時に、デプロイした内容を要約し、ユーザー(または呼び出し元のスキル)が対応できるよう、上記4つの戻り値を明確なラベル付きのブロックで提示します。有効なエージェントの検索結果が0件の場合は、ステップ2の処理停止メッセージを直ちに表示し、戻り値の報告は省略します。
ルール/制約
| ルール | 理由 |
|---|---|
| ユーザーとやり取りする前に、スキルの一覧を確認する事前チェックを実行する | 存在しないスキルへの委任はデプロイ途中で失敗し、ポータルが部分的な状態のまま残ります |
| 開始前に、エージェントが存在し、有効な状態でなければなりません | 非アクティブなエージェントを接続すると、ポータルは読み込まれても応答しません |
§Aの質問を開始する前に、references/portal-deploy-runbook.md を最後まで読んでください | 各ステップを実行する際に、ランブックの§0のステージ表を把握している必要があります |
MessagingChannel または EmbeddedServiceConfig をその場で作成してはいけません。必ず委任してください | これらのオブジェクトは service-digital-engagement-channel-configure と service-digital-engagement-deployment-configure が管理しています。その場で作成すると、キューの解決、エスカレーションの接続、ESDの検証が省略されます |
| §L.0のゲストアクセスフラグを省略してはいけません | OptionsGuestChatterEnabled と OptionsGuestMemberVisibility のデフォルト値は False です。これらを設定しないと、Incognito ではポータルが空に見えます |
| DEBフラグを変更するたびに再公開してください | isRelaxedCSPLevel、authenticationType、headMarkup は公開後にのみ反映されます |
| オペレーターが一時停止するのは1回のみです:§F.4のAgentforce Orchestratorトグル | それ以外のすべてのステップはヘッドレスで実行します。ヘッドレスの経路で回復不能なエラーが発生した場合を除き、UI操作のために一時停止してはいけません |
参照ファイル一覧
| ファイル | 読み込むタイミング |
|---|---|
references/portal-deploy-runbook.md | 常に — デプロイ手順を定める正式な20ステップのランブック |