service-concierge-portal-generate

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

service-concierge-portal-generate: Agentforce Concierge portal deploy

service-concierge-portal-generate:Agentforce Concierge门户部署

Deploys an Agentforce Concierge experience on an LWR Experience Cloud site — an agent-first landing page with a welcome greeting, prompt bar, suggestion chiclets, and full chat surface. This is a channel-setup skill: it wires an existing agent to a new or existing portal site; it does not author the agent.
在LWR Experience Cloud站点上部署Agentforce Concierge体验——这是一个以代理为核心的登录页面,包含欢迎语、提示栏、建议选项卡和完整聊天界面。这是一项渠道设置技能:它将现有代理连接到新的或现有的门户站点,但不负责创建代理。

Why this skill exists

此技能的存在意义

The Concierge portal setup is a 20-step workflow with precise sequencing requirements (bundle shape, routing wiring, guest access flags, CORS/CSP records). Keeping it as a standalone skill lets it be invoked from
service-helpagent-coordinate
(Checkpoint 3 → Help Portal branch) or called directly when the user already has an agent and only needs the portal.
Concierge门户设置是一个包含20个步骤的工作流,有着严格的顺序要求(包结构、路由配置、访客访问标志、CORS/CSP记录)。将其作为独立技能,可以从
service-helpagent-coordinate
(检查点3 → 帮助门户分支)调用,也可以在用户已有代理仅需门户时直接调用。

Skills inventory pre-flight (MANDATORY before anything else)

技能清单预检(执行任何操作前必须完成)

Before asking the user any questions, verify that every skill this skill delegates to is installed:
bash
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
If any skill is missing, stop immediately and tell the user which skills are absent with their exact directory names. Do not proceed until the missing skills are installed.
在向用户提出任何问题前,请验证此技能委托调用的所有技能均已安装:
bash
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
如果有任何技能缺失,请立即停止操作,并告知用户缺失的技能及其确切目录名称。在缺失技能安装完成前,请勿继续。

Required inputs

必填输入项

InputHow resolved
Target org alias (
$ORG
)
Ask via
AskUserQuestion
if not provided in the current conversation turn
Agent (
$BOT_ID
,
$BOT_DEV_NAME
)
Always query the org — never infer from prior context
MessagingChannel (
$MESSAGING_CHANNEL_DEV_NAME
,
$MESSAGING_CHANNEL_ID
)
Optional — pass from calling skill if already created; otherwise delegate to
service-digital-engagement-channel-configure
in Step E of the runbook
EmbeddedServiceConfig (
$ESC_ID
,
$ESC_DEV_NAME
)
Optional — pass from calling skill if already created; otherwise delegate to
service-digital-engagement-deployment-configure
in Step F.3 of the runbook
If
MESSAGING_CHANNEL_DEV_NAME
and
ESC_ID
are not provided, this skill will delegate their creation to the appropriate skills (see runbook §E and §F.3). The portal site itself — the DEB bundle, branding, components, guest access, CORS/CSP — is always provisioned by this skill.
输入项获取方式
目标组织别名
$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——始终由本技能配置。

Workflow

工作流

Read
references/portal-deploy-runbook.md
and follow it end-to-end. The runbook is the authoritative step-by-step guide; this SKILL.md is the router and context layer only.
阅读
references/portal-deploy-runbook.md
并从头到尾执行。运行手册是权威的分步指南;本SKILL.md仅作为路由和上下文层。

Entry point

入口点

  1. Ask for the org alias:
    yaml
    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)"
  2. Query for active agents (activation lives on
    BotVersion.Status = 'Active'
    , not on
    BotDefinition
    — an unfiltered
    SELECT ... FROM BotDefinition
    returns retired/inactive bots the runbook cannot wire, so filter on active
    BotVersion
    explicitly):
    bash
    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"
    • Zero rows (no bots, or only inactive/retired bots — both count as zero for wiring) → hard-stop in the same turn. Do not load the runbook, do not delegate to
      service-digital-engagement-channel-configure
      or
      service-digital-engagement-deployment-configure
      , do not fabricate a
      BOT_ID
      , and do not present a "Create a new agent first"
      AskUserQuestion
      . Tell the user the portal needs an active agent to wire and point them at
      agentforce-generate
      or
      service-helpagent-coordinate
      to create one first, then re-invoke this skill.
    • One or more active agents → present ALL returned agents as options via
      AskUserQuestion
      , plus a "Create a new agent first" option. Do NOT assume the user wants the only/first agent — always ask explicitly.
    If the user selects "Create a new agent first": stop immediately with this message:
    Creating a new agent is outside the scope of this skill. Please run the
    agentforce-generate
    skill (or
    service-helpagent-coordinate
    for a full Help Agent setup) to create your agent, then re-invoke the Concierge portal skill.
    If the user selects an existing agent: capture
    BOT_ID
    and
    BOT_DEV_NAME
    and continue.
    Long-list rule: if there are more than 6 agents, paginate — show 6 at a time with a "Show more" option rather than presenting all at once.
  3. Load
    references/portal-deploy-runbook.md
    and execute §0 top-to-bottom.
  1. 询问组织别名:
    yaml
    AskUserQuestion:
      question: "我应该将Concierge门户部署到哪个组织?"
      header: "组织别名"
      options:
        - label: "输入别名"
          description: "输入组织别名(例如 help-portal-dev, trailsignup)"
  2. 查询活跃代理(激活状态由
    BotVersion.Status = 'Active'
    标识,而非
    BotDefinition
    ——未过滤的
    SELECT ... FROM BotDefinition
    会返回已停用/退役的机器人,运行手册无法连接这些机器人,因此需显式过滤活跃的
    BotVersion
    ):
    bash
    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"
    • 零结果(无机器人,或仅有已停用/退役的机器人——两种情况均视为无法连接)→ 在当前回合立即终止。请勿加载运行手册,请勿委托给
      service-digital-engagement-channel-configure
      service-digital-engagement-deployment-configure
      ,请勿伪造
      BOT_ID
      ,也请勿显示“先创建新代理”的
      AskUserQuestion
      。告知用户门户需要活跃代理才能连接,并引导他们先运行
      agentforce-generate
      service-helpagent-coordinate
      创建代理,然后重新调用此技能。
    • 一个或多个活跃代理→ 通过
      AskUserQuestion
      展示所有返回的代理选项,同时添加“先创建新代理”选项。请勿假设用户想要唯一/第一个代理——始终明确询问。
    如果用户选择**“先创建新代理”**:立即终止操作并显示以下消息:
    创建新代理超出了本技能的范围。请运行
    agentforce-generate
    技能(或
    service-helpagent-coordinate
    进行完整的帮助代理设置)创建代理,然后重新调用Concierge门户技能。
    如果用户选择现有代理:捕获
    BOT_ID
    BOT_DEV_NAME
    并继续。
    长列表规则:如果代理数量超过6个,请分页——每次显示6个,并提供“查看更多”选项,而非一次性展示全部。
  3. 加载
    references/portal-deploy-runbook.md
    并从上到下执行§0。

Return values (for calling skills)

返回值(供调用技能使用)

On success, surface:
VariableValue
NETWORK_ID
18-char Network Id of the provisioned portal
PUBLISHED_PORTAL_URL
Live customer-facing URL (for Incognito verification)
MESSAGING_CHANNEL_DEV_NAME
The
EmbeddedMessaging
channel wired to the agent
ESC_ID
EmbeddedServiceConfig Id (auth path)
成功完成后,返回:
变量
NETWORK_ID
已配置门户的18位Network Id
PUBLISHED_PORTAL_URL
面向客户的实时URL(用于隐身模式验证)
MESSAGING_CHANNEL_DEV_NAME
已连接到代理的
EmbeddedMessaging
渠道
ESC_ID
EmbeddedServiceConfig Id(认证路径)

Final report format

最终报告格式

On completion, summarize what was deployed and surface the four return values above in a clearly labeled block so the user (or a calling skill) can act on them. If the active-agent query returned zero rows, skip straight to the hard-stop message from step 2 — no return values to report.
完成后,总结已部署的内容,并将上述四个返回值放在清晰标记的区块中,以便用户(或调用技能)使用。如果活跃代理查询返回零结果,直接跳转到步骤2中的终止消息——无需返回任何值。

Rules / constraints

规则/约束

RuleRationale
Run the skills inventory pre-flight before any user interactionDelegation to missing skills fails mid-deploy, leaving the portal in a partial state
Agent must exist and be Active before startingWiring an inactive agent produces a portal that loads but never responds
Read
references/portal-deploy-runbook.md
fully before starting §A questions
The runbook's §0 stage table must be in context when executing each step
Never create MessagingChannel or EmbeddedServiceConfig inline — always delegate
service-digital-engagement-channel-configure
and
service-digital-engagement-deployment-configure
own those objects; inlining them bypasses queue resolution, escalation wiring, and ESD validation
Never skip the guest-access flags in §L.0
OptionsGuestChatterEnabled
+
OptionsGuestMemberVisibility
default to False — portal appears blank in Incognito without them
Republish after every DEB flag change
isRelaxedCSPLevel
,
authenticationType
,
headMarkup
only take effect after a publish
One operator pause only: §F.4 Agentforce Orchestrator toggleEvery other step is headless — never pause for UI unless the headless path returns an unrecoverable error
规则理由
在与用户交互前执行技能清单预检委托调用缺失的技能会导致部署中途失败,使门户处于部分配置状态
代理必须已存在且处于活跃状态才能开始连接已停用的代理会生成加载后无响应的门户
在开始§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——若不设置,隐身模式下门户会显示空白
每次修改DEB标志后重新发布
isRelaxedCSPLevel
authenticationType
headMarkup
仅在发布后生效
仅在§F.4 Agentforce Orchestrator切换时暂停操作:其他所有步骤均为无头操作——除非无头路径返回不可恢复的错误,否则切勿因UI操作暂停

Reference file index

参考文件索引

FileWhen to read
references/portal-deploy-runbook.md
Always — the authoritative 20-step deploy runbook
文件阅读时机
references/portal-deploy-runbook.md
始终阅读——权威的20步部署运行手册