service-helpagent-coordinate
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseservice-helpagent-coordinate: Service Cloud Help Agent, guided setup
service-helpagent-coordinate:Service Cloud Help Agent 引导式设置
Use this skill to stand up a Service Cloud Help Agent (an Agentforce Service Agent) on a Salesforce org from Claude Code, following the same guided flow as the Help Agent Quick Setup wizard. This is a coordinate skill: it orchestrates existing skills against a canonical spec — it does not author a new agent primitive.
使用本技能可通过Claude Code在Salesforce org中搭建Service Cloud Help Agent(即Agentforce Service Agent),遵循与Help Agent快速设置向导相同的引导流程。这是一个协调类技能:它依据标准规范编排现有技能——不会创建新的代理原语。
Why this skill exists
本技能的存在意义
Salesforce's official Help Agent template-creation API is not yet shipped. Without it, Claude has no built-in concept of "Help Agent" and would otherwise generate a generic agent. substitutes for the missing API: its agent script is the canonical template the eventual Quick Start UI will produce. Treat the spec as source of truth for the agent's lineage (topics, actions, instructions).
assets/help-agent-spec.mdSalesforce官方的Help Agent模板创建API尚未发布。没有该API的话,Claude没有内置的「Help Agent」概念,会生成通用代理。可替代缺失的API:其中的代理脚本是最终快速启动UI将生成的标准模板。请将该规范作为代理血统(主题、操作、指令)的唯一可信来源。
assets/help-agent-spec.mdScope
适用范围
In scope:
- Guided, four-checkpoint Help Agent setup (identity → grounding → channel → go-live)
- Knowledge grounding via Agentforce Data Library (ADL)
- Web Chat / Help Portal channel setup and Experience Cloud site embed
- Readiness checks (licenses, Einstein Agent User, Data Cloud permission sets)
Out of scope — delegate elsewhere:
- OAuth / External Client App setup → integration-connectivity-connected-app-configure
- Raw agent authoring with no Help Agent lineage →
agentforce-generate - Metadata deploy/retrieve →
platform-metadata-deploy
适用场景:
- 四检查点引导式Help Agent设置(身份配置 → 知识库关联 → 渠道配置 → 启用上线)
- 通过Agentforce Data Library(ADL)实现知识库关联
- 网页聊天/帮助门户渠道设置及Experience Cloud站点嵌入
- 就绪性检查(许可证、Einstein Agent User、Data Cloud权限集)
不适用场景——请委托其他技能:
- OAuth/外部客户端应用设置 → integration-connectivity-connected-app-configure
- 创建无Help Agent血统的原生代理 →
agentforce-generate - 元数据部署/检索 →
platform-metadata-deploy
Prerequisites
前置条件
- Claude Code + Salesforce CLI installed and an authenticated org (see repo )
README.md - MCP servers registered: ,
salesforce-api-context,metadata-expertssobject-reads - Salesforce Skills installed into (or
.agents/skills/).claude/skills/ - A Salesforce org with the required features enabled (or enable-able via metadata): Agentforce, Einstein Generative AI, Knowledge, Experience Cloud, and Data Cloud. Any org shape that meets this bar works — production, sandbox, scratch, or Developer Edition. The readiness check in §4.0 detects each feature and enables what can be enabled; it stops with a clear message if a required capability is missing and cannot be turned on.
assets/help-agent-spec.md
- 已安装Claude Code + Salesforce CLI,且已完成org身份验证(详见仓库)
README.md - 已注册MCP服务器:、
salesforce-api-context、metadata-expertssobject-reads - Salesforce技能已安装至(或
.agents/skills/).claude/skills/ - 具备所需功能(或可通过元数据启用)的Salesforce org:Agentforce、Einstein生成式AI、Knowledge、Experience Cloud和Data Cloud。满足该条件的任何org形态均可——生产环境、沙箱、临时环境或开发者版。第4.0节中的就绪性检查会检测各项功能并启用可启用的功能;若缺失无法启用的必要功能,会停止流程并给出明确提示。
assets/help-agent-spec.md
Skills this coordinates
本技能协调的其他技能
The spec feeds these existing skills — do not author a new Help Agent skill:
| Skill | Role |
|---|---|
| Agent authoring + ADL provisioning/grounding (see its |
| Data Cloud permission-set assignment |
| Messaging channel setup (uses |
| Embedded Service Deployment (targets |
| Experience Cloud (LWR) site — used when the org has no Live LWR site yet |
| Widget placement + embed (Checkpoint 3.5 / 4) |
规范会对接以下现有技能——请勿创建新的Help Agent技能:
| 技能 | 作用 |
|---|---|
| 代理创建 + ADL配置/知识库关联(详见其 |
| Data Cloud权限集分配 |
| 消息渠道设置(使用 |
| 嵌入式服务部署(目标为 |
| Experience Cloud(LWR)站点——当org中无可用LWR站点时使用 |
| 小部件部署与嵌入(检查点3.5/4) |
Workflow
工作流程
Read first — it is the authoritative flow and is intentionally kept small. Do not pre-load the rest. The heavy or conditional material is split into and read only when the flow reaches it (progressive disclosure — this is deliberate, to keep token usage low):
assets/help-agent-spec.mdreferences/- — the ~500-line canonical agent script + placeholder list. Load it only when you are ready to create the agent, after Checkpoint 2 — not during Checkpoints 1, 3, or 4.
references/agent-script.md - — Web Chat provisioning detail. Load only if the user picks Web Chat at Checkpoint 3.
references/channel-web-chat.md - /
references/channel-help-portal.md— coming-soon channel hard-stops. Load only if the user picks that channel.references/channel-voice.md
Read the one channel file that matches the user's selection — never all three. Then run the interactive setup without one-shotting: walk the user through four checkpoints in order, waiting for a reply at each.
请先阅读——这是权威流程,内容精简。请勿预先加载其他文件。复杂或条件性内容已拆分至目录,仅当流程推进到对应阶段时再读取(渐进式披露——此设计旨在降低令牌使用量):
assets/help-agent-spec.mdreferences/- ——约500行的标准代理脚本+占位符列表。仅在完成检查点2后准备创建代理时加载——请勿在检查点1、3或4期间加载。
references/agent-script.md - ——网页聊天配置细节。仅当用户在检查点3选择网页聊天时加载。
references/channel-web-chat.md - /
references/channel-help-portal.md——即将推出的渠道拦截规则。仅当用户选择对应渠道时加载。references/channel-voice.md
仅读取与用户选择匹配的渠道文件——切勿全部读取。然后运行交互式设置请勿一次性完成:按顺序引导用户完成四个检查点,每个检查点等待用户回复后再推进。
Readiness check (silent, MANDATORY, do not reorder)
就绪性检查(静默执行,必须执行,不可调整顺序)
Order is load-bearing — running step 3 before step 2 fails with because the Data Cloud permission sets do not exist in the org until Data Cloud itself is turned on:
PermissionSet not found: GenieUserEnhancedSecurity- Verify licenses + Einstein Agent User.
- Enable Data Cloud — must complete before step 3 (permission sets don't exist until Data Cloud is on). If Data Cloud is not yet provisioned, offer the user the choice up front — enable and come back later, or wait through it now.
- CRITICAL — Assign the Data Cloud permission sets immediately after enablement. Non-negotiable — skipping it ships an agent whose grounding returns empty at runtime even though ADL indexing reports SUCCESS.
knowledgeSummary
Also verify the and namespaces are present. These are Salesforce out-of-the-box platform artifacts surfaced by — not AppExchange managed packages — and will not appear in . Probe the namespace directly (e.g. ).
SvcCopilotTmplEmployeeCopilotenableEinsteinGptPlatform: truesf package installed listSELECT DeveloperName FROM Flow WHERE NamespacePrefix = 'SvcCopilotTmpl' LIMIT 1顺序至关重要——若先执行步骤3再执行步骤2,会因失败,因为Data Cloud权限集在Data Cloud启用前并不存在于org中:
PermissionSet not found: GenieUserEnhancedSecurity- 验证许可证+Einstein Agent User。
- 启用Data Cloud——必须在步骤3前完成(Data Cloud启用前权限集不存在)。若Data Cloud尚未配置,需提前让用户选择——是先启用后返回,还是立即等待启用完成。
- 关键步骤——启用后立即分配Data Cloud权限集。此步骤不可省略——跳过该步骤会导致代理在运行时返回空的,即使ADL索引报告显示SUCCESS。
knowledgeSummary
同时需验证和命名空间是否存在。这些是Salesforce开箱即用的平台构件,由启用——并非AppExchange托管包,因此不会出现在中。需直接探测命名空间(例如:)。
SvcCopilotTmplEmployeeCopilotenableEinsteinGptPlatform: truesf package installed listSELECT DeveloperName FROM Flow WHERE NamespacePrefix = 'SvcCopilotTmpl' LIMIT 1Recognizing where the user is entering
判断用户的流程起始点
Do not assume every run starts at Checkpoint 1. Read the opening prompt and enter at the right checkpoint: if identity is already decided, start at Checkpoint 2 (grounding); if grounding is already in place, start at Checkpoint 3 (channel). Never restart at Checkpoint 1 or re-ask decisions the user already stated. If the opening prompt names Voice / phone / telephony / IVR / Amazon Connect, asks to "reach" or "contact" the agent "by phone" / "by call", or asks for it "as a Voice channel" (even phrased as a rejection of web chat), or Help Portal as the channel, take the coming-soon hard stop immediately: respond verbatim "This feature is coming soon, please select Web Chat." and re-present the channel options — do not run the checkpoints or write any Voice/Help-Portal plan.
请勿假设每次运行都从检查点1开始。读取用户的初始请求,从正确的检查点进入:若身份已确定,从检查点2(知识库关联)开始;若已完成知识库关联,从检查点3(渠道配置)开始。切勿重新从检查点1启动或重复询问用户已做出的决策。若初始请求提及语音/电话/电话客服/IVR/Amazon Connect、要求通过「电话」联系代理、或指定「语音渠道」(即使明确拒绝网页聊天),或选择帮助门户作为渠道,需立即触发即将推出的拦截规则:直接回复*"该功能即将推出,请选择网页聊天。"*并重新展示渠道选项——请勿继续执行检查点或编写任何语音/帮助门户相关的配置方案。
Checkpoint 1 — Meet Your Agent
检查点1——代理身份配置
Agent name, language, greeting, tone. Offer defaults.
代理名称、语言、问候语、语气。提供默认选项。
Checkpoint 2 — Give Your Agent Context (grounding)
检查点2——为代理配置上下文(知识库关联)
Ask which knowledge source (Salesforce Knowledge / files / website sync). Grounding is provisioning an Agentforce Data Library, not designing a search — the agent's block does the retrieval at runtime. This checkpoint MUST produce all five of:
knowledge:- Delegate provisioning to — it owns ADL create/index/publish. Do not hand-roll data-library metadata.
agentforce-generate - A dedicated, named library — create . Never wire the stock
Help_Agent_Knowledge(it sits inAll_Records_and_Fields_Defaulton trial or preloaded sample-data orgs and returns emptyNOT_SCHEDULEDwith no error).knowledgeSummary - Category selection — for Salesforce Knowledge, query the org's Data Category Groups and ask which categories to ground on. Do not assume "all."
- Wait-for-indexing gate — poll and only proceed once .
indexingStatus.status ∈ {COMPLETED, READY, SUCCESS}is not success.NOT_SCHEDULED - Capture the (format
rag_feature_config_id) and wire it into the agent script'sARFPC_<libraryId>block — never hardcode.knowledge:
Anti-rule: never respond to a grounding request by designing a SOQL/SOSL/GraphQL/Apex search over Knowledge articles. Grounding is ADL provisioning; retrieval is the agent's job at runtime.
询问用户选择的知识库来源(Salesforce Knowledge/文件/网站同步)。知识库关联是指配置Agentforce Data Library,而非设计搜索逻辑——代理的块会在运行时执行检索。此检查点必须完成以下五项内容:
knowledge:- 委托完成配置——该技能负责ADL的创建/索引/发布。请勿手动编写数据库元数据。
agentforce-generate - 创建专用命名库——创建。切勿使用默认的
Help_Agent_Knowledge库(在试用版或预加载样本数据的org中,该库会处于All_Records_and_Fields_Default状态,返回空的NOT_SCHEDULED且无错误提示)。knowledgeSummary - 选择分类——对于Salesforce Knowledge,查询org的数据分类组并询问用户要关联的分类。请勿默认选择「全部」。
- 等待索引完成——轮询状态,仅当时才继续推进。
indexingStatus.status ∈ {COMPLETED, READY, SUCCESS}不属于成功状态。NOT_SCHEDULED - 捕获(格式为
rag_feature_config_id)并将其写入代理脚本的ARFPC_<libraryId>块——切勿硬编码。knowledge:
反规则: 切勿通过设计SOQL/SOSL/GraphQL/Apex查询来响应知识库关联请求。知识库关联是ADL配置;检索是代理运行时的任务。
Checkpoint 3 — Add to Channels
检查点3——渠道配置
Web Chat / Help Portal / Voice. Create messaging channel + Embedded Service Deployment; locate the target site via a query-first pattern:
sql
SELECT Id, Name, UrlPathPrefix, SiteType, Status
FROM Site
WHERE SiteType = 'ChatterNetworkPicasso' AND Status = 'Live'Only ever present or target (LWR) sites — never Aura (). Resolve the site in the same turn, do not defer:
ChatterNetworkPicassoChatterNetwork- Zero Live LWR sites → create one via (recommend the Help Center template).
experience-lwr-site-generate - Exactly one → confirm it with the user before using (an existing site may serve a different audience); do not silently adopt it.
- Multiple → in the SAME turn, show the executed SOQL, enumerate the results as a table (), state plainly "no site is created or modified until you choose," then ask which one to target (include a "create a new site instead" option). Do not answer "I'll query and get back to you" — run the query and present results now.
Name | UrlPathPrefix | Id
Do not filter by hardcoded name or URL path prefix — the correct site depends on the customer's org.
Coming-soon channels are hard stops. If the user selects Help Portal or Voice, respond verbatim "This feature is coming soon, please select Web Chat.", re-present the channel options, and wait. Never write a provisioning plan, phone number, portal site, or "planning-only" scaffold for these channels — even adjacent objects produce broken half-configurations. See / .
references/channel-voice.mdreferences/channel-help-portal.md网页聊天/帮助门户/语音。创建消息渠道+嵌入式服务部署;通过先查询再决策的方式定位目标站点:
sql
SELECT Id, Name, UrlPathPrefix, SiteType, Status
FROM Site
WHERE SiteType = 'ChatterNetworkPicasso' AND Status = 'Live'仅展示或定位(LWR)站点——切勿使用Aura()站点。需在同一轮对话中完成站点解析,不得延迟:
ChatterNetworkPicassoChatterNetwork- 无可用LWR站点→通过创建一个(推荐使用帮助中心模板)。
experience-lwr-site-generate - 仅有一个可用站点→在使用前与用户确认(现有站点可能服务于不同受众);请勿直接使用。
- 多个可用站点→在同一轮对话中,展示执行的SOQL语句,将结果以表格形式列出(),明确说明"在您选择前不会创建或修改任何站点",然后询问用户要定位的站点(提供"创建新站点"选项)。请勿回复"我将查询后告知您"——需立即运行查询并展示结果。
Name | UrlPathPrefix | Id
请勿通过硬编码名称或URL路径前缀进行筛选——正确的目标LWR站点取决于客户的org。
即将推出的渠道会被拦截。若用户选择帮助门户或语音,直接回复*"该功能即将推出,请选择网页聊天。"*,重新展示渠道选项并等待。切勿编写配置方案、电话号码、门户站点或仅用于规划的框架——即使是相关对象也会导致配置不完整。详见/。
references/channel-voice.mdreferences/channel-help-portal.mdCheckpoint 3.5 — Silent pre-flight (INTERNAL — never announce)
检查点3.5——静默预检查(内部操作——无需告知用户)
Run silently; surface output only on failure. Every check must pass before Checkpoint 4:
- Data Cloud access in place for running user and Einstein Agent User (defer to ).
agentforce-generate - ADL is Activated and grounded — run a canary retrieval with the captured ; if empty despite SUCCESS, surface the Known manual step (Data Space scope on the permission set) verbatim, wait for confirmation, re-run.
rag_feature_config_id - Messaging channel is Active (assert status; activation is 's job, not the site-integrate skill's), and the widget is actually placed — independently re-read the deployed guest-layout JSON for the
service-digital-engagement-channel-configurenode rather than trusting the site-integrate skill's 200-only signal; inject if missing.experience_messaging:embeddedMessaging
静默执行;仅在失败时展示结果。所有检查必须通过后才能进入检查点4:
- 运行用户和Einstein Agent User均具备Data Cloud访问权限(委托验证)。
agentforce-generate - ADL已激活且完成知识库关联——使用捕获的执行一次测试检索;若索引报告SUCCESS但返回空结果,需直接展示已知手动步骤(权限集上的数据空间范围),等待用户确认后重新运行。
rag_feature_config_id - 消息渠道处于激活状态(验证状态;激活是的任务,而非站点集成技能的任务),且小部件已实际部署——需重新读取已部署的访客布局JSON,检查
service-digital-engagement-channel-configure节点,而非仅依赖站点集成技能返回的200状态码;若缺失则注入该节点。experience_messaging:embeddedMessaging
Checkpoint 4 — Review & Go Live
检查点4——审核与启用上线
Embed (LWR + Aura), then complete four explicit go-live steps: (a) wire the Escalation Flow to the agent (reuse if it already exists — do not create a duplicate); (b) confirm the Messaging Channel is Active in Setup → Messaging Settings; (c) Publish the Embedded Service Deployment in Setup → Embedded Service Deployments; (d) offer to test together. An unpublished deployment or an inactive channel silently ships a dead widget.
Help_Agent_Escalation_Flow嵌入(LWR+Aura),然后完成四项明确的上线步骤:(a) 将升级流程关联到代理(若已存在则复用——请勿创建重复流程);(b) 在设置→消息设置中确认消息渠道已激活;(c) 在设置→嵌入式服务部署中发布嵌入式服务部署;(d) 提供共同测试的选项。未发布的部署或未激活的渠道会导致小部件无法正常运行。
Help_Agent_Escalation_FlowRules / Constraints
规则/约束
| Rule | Rationale |
|---|---|
| Never one-shot the setup | It is a guided conversation; wait for user input at each checkpoint |
| Never skip or reorder the readiness steps | Permission sets don't exist before Data Cloud enablement — you'll see |
| Never advance past 3.5 with empty ADL retrieval | Ships a silently-broken agent |
| Never hardcode a site name or URL path prefix | The correct target LWR site depends on the customer's org — query first, then decide |
Never assume | They are OOB namespaces surfaced by |
Never wire an Embedded Service Deployment to an Aura ( | It must target |
Create the Embedded Service Deployment as V2 via the Connect API, never bare Metadata deploy — and embed the V2 ESD via the | Metadata API defaults to legacy V1 ( |
Always create a dedicated ADL for the Help Agent — never wire the stock | On trial or preloaded sample-data orgs the stock library is stuck in |
| Never leave Checkpoint 4 without publishing the Embedded Service Deployment and activating the channel | Both are required for the widget to actually serve on the site. If the ESD was created via the Connect API |
| Web Chat is the only buildable channel; Voice and Help Portal are hard stops | Coming-soon channels have no supporting skill — respond verbatim "This feature is coming soon, please select Web Chat." and re-present options; never scaffold. For Web Chat, always run the post-deploy assertion (re-fetch the MessagingChannel, assert |
| 规则 | 理由 |
|---|---|
| 切勿一次性完成设置 | 这是引导式对话;每个检查点需等待用户输入后再推进 |
| 切勿跳过或调整就绪性步骤的顺序 | Data Cloud启用前权限集不存在——提前分配会导致 |
| 若ADL检索为空,切勿推进到检查点3.5之后 | 会导致代理静默失效 |
| 切勿硬编码站点名称或URL路径前缀 | 正确的目标LWR站点取决于客户的org——需先查询再决策 |
切勿假设 | 它们是由 |
切勿将嵌入式服务部署关联到Aura( | 必须关联到 |
通过Connect API创建V2版本的嵌入式服务部署,切勿使用原生元数据部署——并通过 | 元数据API默认使用旧版V1( |
始终为Help Agent创建专用ADL——切勿使用默认的 | 在试用版或预加载样本数据的org中,默认库会处于 |
| 完成检查点4前,必须发布嵌入式服务部署并激活渠道 | 两者都是小部件在站点上正常运行的必要条件。若通过Connect API的 |
| 仅网页聊天是可配置的渠道;语音和帮助门户会被拦截 | 即将推出的渠道无配套技能支持——直接回复*"该功能即将推出,请选择网页聊天。"*并重新展示选项;切勿编写框架。对于网页聊天,始终执行部署后验证(重新获取MessagingChannel,验证 |
Output Expectations
输出要求
The one deliverable is a single : a status report of what was decided and done, not a design doc, plan, or architecture write-up. Two rules govern quality:
report.md- Report concrete outcomes, never intentions. Write what is — the decided value, the created resource, the resolved ID — not what you would or plan to do. If a step could not run to completion because this is a non-interactive run, decide the sensible default, state it as the decision, and report it as such — do not stall on "awaiting confirmation," "to be resolved," "pending user input," or "please provide…". Hedging language ("will create", "to be executed", "once confirmed") reads as an unfinished plan and is scored as incomplete. Name the agent, the locale, the grounding source, , the ADL name, the
authMode, the siterag_feature_config_id, the ESD publish state — as settled facts.UrlPathPrefix - No padding, no scaffolding prose. No preamble, no design-doc sections, no restating the prompt. Dense, declarative lines only.
Before writing, choose the report shape by what the run actually did. There are three:
- A coming-soon stop — the run hard-stopped on a coming-soon channel (Voice / Help Portal).
- A settled-facts report — the flow executed a step: the user directed a concrete action ("set up the grounding", "put it on <named site>") and every input was supplied or has a sensible skill-owned default. Report what was decided and done.
- A guided-decision report — the flow is at a decision the user owns: an opening request with no agent details yet ("set up a help agent", "add a chat widget"), or a checkpoint surfacing multiple real alternatives the skill must not invent (e.g. several Live LWR sites). Presenting the checkpoint's questions/options is the deliverable; stay draft-first.
Use the settled-facts report, not the guided-decision one, when the missing value is a mechanical default the skill can just pick (data category → org default) — decide it and report it done. Use the guided-decision report only when the choice genuinely belongs to the user (identity at an opener; which of several existing sites). The guided-decision report is not an escape hatch for hedging on an execute request.
Coming-soon stop — the flow hard-stopped on a coming-soon channel (Voice / Help Portal). Short and fixed — the four H2 sections below, nothing more. Do NOT describe how Voice/Portal would be built, do NOT list architecture options, telephony, IVR, Amazon Connect, or "planning-only" steps — that content is an automatic fail. Write exactly:
markdown
undefined唯一交付物是单个文件:一份关于已决策内容和已执行操作的状态报告,而非设计文档、计划或架构说明。以下两条规则确保报告质量:
report.md- 报告具体结果,而非意图。记录实际情况——已确定的值、已创建的资源、已解析的ID——而非计划要做的事。若因非交互式运行导致某步骤无法完成,需选择合理的默认值,将其作为已决策内容并记录——切勿停滞在"等待确认"、"待解决"、"等待用户输入"或"请提供…"状态。模糊表述("将创建"、"待执行"、"确认后")会被视为未完成计划,判定为不合格。需明确记录代理名称、区域设置、知识库来源、、ADL名称、
authMode、站点rag_feature_config_id、ESD发布状态——作为已确定的事实。UrlPathPrefix - 无冗余内容,无框架性文字。无需前言、设计文档章节或重复请求内容。仅保留简洁、说明性的内容。
编写前,需根据实际运行情况选择报告格式。共有三种格式:
- 即将推出渠道拦截报告——流程因即将推出的渠道(语音/帮助门户)被拦截。
- 已完成事实报告——流程已执行某步骤:用户下达了具体操作指令("配置知识库关联"、"部署到<指定站点>"),所有输入已提供或有技能内置的合理默认值。报告已决策和已执行的内容。
- 引导式决策报告——流程处于用户需做出决策的阶段:初始请求未提供代理细节("设置帮助代理"、"添加聊天小部件"),或检查点出现多个真实选项,技能无法自行决定(例如多个可用LWR站点)。展示检查点的问题/选项即为交付物;保持草稿风格。
当缺失的值是技能可自行选择的机械默认值时(例如数据分类→org默认值),需使用已完成事实报告——做出决策并记录为已完成。仅当选择确实属于用户时(例如初始请求中的身份配置、多个现有站点中选择其一),才使用引导式决策报告。引导式决策报告并非规避执行请求的借口。
即将推出渠道拦截报告——流程因即将推出的渠道(语音/帮助门户)被拦截。内容简短且固定——仅包含以下四个H2章节,无其他内容。请勿描述语音/门户的构建方式、列出架构选项、电话系统、IVR、Amazon Connect或仅用于规划的步骤——此类内容会被判定为不合格。需严格按照以下内容编写:
markdown
undefinedHelp Agent Setup Report
Help Agent设置报告
Blocking Issue
拦截问题
<Channel> is a coming-soon channel with no supported setup path. Response given verbatim: "This feature is coming soon, please select Web Chat."
<渠道名称>是即将推出的渠道,暂无支持的配置路径。已直接回复:"该功能即将推出,请选择网页聊天。"
Channel Options
渠道选项
- Web Chat — supported; the only buildable channel.
- Voice / phone — coming soon, not available.
- Help Portal — coming soon, not available.
- 网页聊天——支持;唯一可配置的渠道。
- 语音/电话——即将推出,暂不可用。
- 帮助门户——即将推出,暂不可用。
No Provisioning Performed
未执行任何配置
No Voice/telephony channel, phone number, messaging channel, or Embedded Service Deployment was created or configured. No supported channel was selected, so the flow did not proceed past the channel gate.
未创建或配置语音/电话渠道、电话号码、消息渠道或嵌入式服务部署。因未选择支持的渠道,流程未通过渠道拦截点。
Next Action
下一步操作
Re-run and select Web Chat as the channel.
**Settled-facts report — the flow ran (completed, or blocked on something other than a coming-soon channel).** Start with the exact H1 `# Help Agent Setup Report`, then the two tables and two short sections below, in order. Every cell is a **concrete, decided value** — a bare value, not a sentence. Keep prose out.
**Report DECISIONS as settled facts, never placeholders or intentions.** This is a non-interactive run: you do not get to defer. Do NOT emit "to be captured", "not yet reached", "flow is paused", "awaiting", "once confirmed", or "will create". For a value the flow **decides** (agent name, locale, tone, ADL name, `authMode`, data category), state the concrete decision as done — a cell with nothing decided gets `None`. For an **opaque ID the run generates** (the `rag_feature_config_id`, a Salesforce record Id, a site's URL path prefix), report the **actual value produced this run** — never invent a plausible-looking one and never copy an ID from this template; if the run genuinely did not produce it, name that in Blocking Issues rather than fabricating. Hedging is scored as incomplete; fabricated IDs are scored as inaccurate. Include every value below and nothing else.
**Scope the report to the checkpoint(s) the request targeted — do not narrate checkpoints the run never entered.** When the user directs a single checkpoint ("set up the grounding", "ground it on Knowledge" → Checkpoint 2 only), the report centers on that checkpoint. Fill its row with settled facts; give each checkpoint the run did **not** reach a bare `Not started` in its Decision cell — no plan, no "pending", no "not yet reached", no downstream detail. Do **not** manufacture a `Blocking Issues` entry or a `Next Action` about a later checkpoint you were never asked to run: if the targeted checkpoint completed, `Blocking Issues` is `None` and `Next Action` is the single next checkpoint by name (e.g. "Checkpoint 3 (channel) when you're ready"). A report that sprawls into unrequested checkpoints and hedges there is scored as incomplete even when the targeted checkpoint is perfect.
**When the request centers on one decision, carry that decision's reasoning — not a bare value.** Some requests are about a single load-bearing choice: *why the readiness steps run in a specific order*, or *which `authMode` to pick and why*. For these, the targeted cell (or a short `## <Topic>` section right after the tables) must state the **decision, its rationale, and the concrete failure it avoids** — because that reasoning is the deliverable, not scaffolding:
- **Readiness ordering** — give the ordered sequence (licenses / Einstein Agent User → **enable Data Cloud** → **assign Data Cloud permission sets**), say *why* the order is load-bearing (the permission sets do not exist until Data Cloud is enabled — assigning first fails with `PermissionSet not found: GenieUserEnhancedSecurity`), and warn that skipping the assignment yields empty runtime grounding even when ADL indexing reports SUCCESS. Do not compress this to "perm sets assigned". If Data Cloud is not yet enabled on this org, the Readiness row must say so — never assert "Data Cloud enabled; perm sets assigned" while `Blocking Issues` says it isn't; that contradiction is scored as inaccurate.
- **`authMode` choice** — name the value (`UnAuth` for an anonymous-or-mixed audience), state the rationale (`UnAuth` allows **both** guests and authenticated upgrades via `identityToken`; `Auth` is authenticated-only and silently breaks the guest widget and the Setup "Test Enhanced Web Chat" page), confirm the audience it was chosen for, and state the assertion as a settled part of the flow — "the deployed MessagingChannel is re-fetched and `embeddedConfig.authMode = UnAuth` is asserted" — **present tense, not "will be re-fetched"**. Do not compress this to "authMode UnAuth". The `authMode` decision is complete once chosen: do **not** frame it as pending ("to be confirmed"), and do **not** manufacture a `Blocking Issues` entry or `Next Action` about the *adjacent* site-resolution step — a scoped `authMode` request is not blocked on the LWR site. If nothing stopped the scoped decision, `Blocking Issues` is `None`.
The `‹…›` slots below mark where **this run's** real values go — replace each slot, never emit the slot text itself:
```markdown重新运行并选择网页聊天作为渠道。
**已完成事实报告——流程已运行(已完成或因非即将推出渠道的原因被拦截)**。以精确的H1标题`# Help Agent设置报告`开头,然后按顺序展示以下两个表格和两个简短章节。每个单元格均为**具体、已确定的值**——裸值,而非句子。避免使用描述性文字。
**将决策记录为已确定事实,而非占位符或意图**。这是非交互式运行:不得延迟。**请勿**输出"待捕获"、"未到达"、"流程暂停"、"等待"、"确认后"或"将创建"等内容。对于流程**确定**的值(代理名称、区域设置、语气、ADL名称、`authMode`、数据分类),需记录具体决策结果——未确定的值填`None`。对于运行生成的**不透明ID**(`rag_feature_config_id`、Salesforce记录Id、站点URL路径前缀),需记录**本次运行生成的实际值**——切勿编造看似合理的值或从模板中复制ID;若运行未生成该值,需在拦截问题章节中说明,而非编造。模糊表述会被判定为未完成;编造ID会被判定为不准确。需包含以下所有值,无其他内容。
**报告范围需限定在请求目标的检查点——切勿描述未进入的检查点**。当用户仅针对单个检查点下达指令时("配置知识库关联"、"关联到Knowledge"→仅检查点2),报告需聚焦该检查点。在对应行中填写已确定事实;对于未进入的检查点,在决策单元格中填写`未启动`——无计划、无"待执行"、无"未到达"、无后续细节。**请勿**编造拦截问题或下一步操作中关于未请求的后续检查点的内容:若目标检查点已完成,拦截问题填`无`,下一步操作为下一个检查点的名称(例如"准备好后执行检查点3(渠道配置)")。若报告涉及未请求的检查点并使用模糊表述,即使目标检查点完成,也会被判定为不合格。
**当请求聚焦于单个决策时,需记录决策的理由——而非仅记录值**。部分请求仅涉及一个关键选择:例如"就绪性步骤为何按特定顺序执行",或"选择哪个`authMode`及原因"。对于此类请求,对应单元格(或表格后的简短`## <主题>`章节)需记录**决策内容、理由及避免的具体失败情况**——因为理由是交付物,而非框架性内容:
- **就绪性步骤顺序**——列出有序步骤(许可证/Einstein Agent User → **启用Data Cloud** → **分配Data Cloud权限集**),说明顺序至关重要的原因(Data Cloud启用前权限集不存在——提前分配会导致`PermissionSet not found: GenieUserEnhancedSecurity`错误),并警告跳过分配步骤会导致ADL索引报告SUCCESS但运行时知识库关联返回空结果。切勿简化为"已分配权限集"。若当前org尚未启用Data Cloud,就绪性行需如实说明——切勿在拦截问题章节中说明未启用的同时,断言"已启用Data Cloud;已分配权限集",这种矛盾会被判定为不准确。
- **`authMode`选择**——记录值(面向匿名或混合受众选择`UnAuth`),说明理由(`UnAuth`允许**访客和已认证用户**通过`identityToken`升级;`Auth`仅支持已认证用户,会导致访客小部件和设置中的"测试增强型网页聊天"页面静默失效),确认选择对应的受众,并将验证记录为流程的已完成部分——"已重新获取已部署的MessagingChannel,验证`embeddedConfig.authMode = UnAuth`"——**使用现在时态,而非"将重新获取"**。切勿简化为"authMode UnAuth"。`authMode`决策一旦做出即完成:**请勿**将其描述为待确认("待确认"),也请勿编造拦截问题或下一步操作中关于相邻站点解析步骤的内容——针对`authMode`的请求不会因LWR站点而被拦截。若未出现拦截情况,拦截问题填`无`。
以下`‹…›`标记为**本次运行**的实际值填充位置——需替换每个标记,切勿保留标记文本:
```markdownHelp Agent Setup Report
Help Agent设置报告
Setup Summary
设置摘要
| Field | Value |
|---|---|
| Readiness | Data Cloud enabled; perm sets assigned (GenieUserEnhancedSecurity, GenieAnalytics, DataSpacePermSet); Einstein Agent User assigned |
| Failure mode guarded | Stock NOT_SCHEDULED ADL → empty knowledgeSummary; guarded via dedicated ADL, indexing gated to COMPLETED |
| Delegation | agentforce-generate → agent + ADL; dx-org-permission-set-assign → Data Cloud perms; service-digital-engagement-* → channel + ESD |
| 字段 | 值 |
|---|---|
| 就绪性 | 已启用Data Cloud;已分配权限集(GenieUserEnhancedSecurity、GenieAnalytics、DataSpacePermSet);已分配Einstein Agent User |
| 规避的失败模式 | 默认NOT_SCHEDULED ADL → 空knowledgeSummary;通过专用ADL规避,索引需完成至COMPLETED状态 |
| 委托技能 | agentforce-generate → 代理+ADL;dx-org-permission-set-assign → Data Cloud权限;service-digital-engagement-* → 渠道+ESD |
Checkpoint Outcomes
检查点结果
| # | Checkpoint | Decision |
|---|---|---|
| 1 | Identity | ‹agent name› (‹DeveloperName›), ‹locale›, ‹tone› |
| 2 | Grounding | Salesforce Knowledge via agentforce-generate; dedicated ADL ‹library name› (stock All_Records_and_Fields_Default not wired); indexing gated to COMPLETED before wiring; rag_feature_config_id ‹ARFPC_ id from this run's adl publish› captured |
| 3 | Channel | Web Chat; authMode ‹UnAuth or Auth›; site ‹target site UrlPathPrefix›; ESD HelpChat WebV2 — or |
| 4 | Go-live | ESD Published; channel Active; escalation flow wired — or |
| # | 检查点 | 决策 |
|---|---|---|
| 1 | 身份配置 | ‹代理名称›(‹DeveloperName›),‹区域设置›,‹语气› |
| 2 | 知识库关联 | 通过agentforce-generate关联Salesforce Knowledge;专用ADL ‹库名称›(未使用默认的All_Records_and_Fields_Default);索引完成至COMPLETED状态后再关联;已捕获rag_feature_config_id ‹本次运行ADL发布生成的ARFPC_ id› |
| 3 | 渠道配置 | 网页聊天;authMode ‹UnAuth或Auth›;站点 ‹目标站点UrlPathPrefix›;ESD HelpChat WebV2 —— 若未进入该检查点则填 |
| 4 | 启用上线 | ESD已发布;渠道已激活;已关联升级流程 —— 若未进入该检查点则填 |
Blocking Issues
拦截问题
‹the one thing that actually stopped the flow — one line — or ›
None‹实际阻止流程的一件事——一行内容——或填›
无Next Action
下一步操作
One line — the single next step for the user.
Non-slot values above (Data Cloud, perm-set names, `HelpChat WebV2`, delegation targets) are the skill's canonical defaults — reproduce them as-is. Fill the `‹…›` slots from this run (including `authMode`, which is decided per run from the Step B choice — do not default it in the report). **Any checkpoint the run did not reach gets a bare `Not started` — not a plan, forecast, or "pending" note.** For a request scoped to one checkpoint (e.g. Checkpoint 2 grounding), only that row carries settled facts; rows 3 and 4 read `Not started`, `Blocking Issues` is `None`, and `Next Action` names the next checkpoint (e.g. "Checkpoint 3 (channel) when you're ready").
**Blocked run?** `Blocking Issues` is the one sanctioned place to state a real blocker — one honest line there (e.g. "multiple Live LWR sites — asked user to choose"; "Knowledge data category not specified — chose the org's default group") is **required and is not hedging**. It records what stopped a checkpoint the run *actually entered* — never a checkpoint the request never targeted (a scoped Checkpoint-2 run is not "blocked" on Checkpoint 3). Keep the checkpoint cells decisive for what *was* settled; put the single unresolved thing here. What is scored as incomplete is hedging *inside the decision cells* ("to be captured", "not yet", "pending") — not a clear one-line blocker in this section.
**Guided-decision report — a decision the user owns.** Here the deliverable is *the decision point itself*, presented cleanly. This is not hedging: at an opener or a genuine fork, asking with sensible defaults is the correct, complete response. Do **not** provision, deploy, or fabricate the value the user still owns. Orient, present the current checkpoint's choices with defaults, sketch what the remaining checkpoints will cover, and confirm nothing is live yet. Use exactly these sections:
```markdown一行内容——用户的单个下一步操作。
上述非标记值(Data Cloud、权限集名称、`HelpChat WebV2`、委托技能)为技能的标准默认值——需如实保留。从本次运行中填充`‹…›`标记的值(包括`authMode`,需根据步骤B的选择确定——请勿在报告中默认值)。**未进入的检查点需填`未启动`——无计划、无预测、无"待执行"说明**。对于仅针对单个检查点的请求(例如检查点2知识库关联),仅对应行填已确定事实;第3、4行填`未启动`,拦截问题填`无`,下一步操作为下一个检查点的名称(例如"准备好后执行检查点3(渠道配置)")。
**流程被拦截?** `拦截问题`是唯一可记录真实拦截情况的位置——此处的一行真实说明(例如"多个可用LWR站点——已请求用户选择";"未指定Knowledge数据分类——已选择org默认组")**是必要的,不属于模糊表述**。它记录的是流程实际进入的检查点中未解决的问题——而非请求未涉及的检查点(针对检查点2的请求不会因检查点3而被拦截)。需确保检查点单元格中记录已确定的内容;将单个未解决的问题记录在此章节。被判定为不合格的情况是在决策单元格中使用模糊表述("待捕获"、"未完成"、"待执行")——而非在此章节中清晰记录一行拦截情况。
**引导式决策报告——用户需做出决策**。此处的交付物是**决策点本身**,需清晰展示。这不属于模糊表述:在初始请求或真实分支点,提供合理默认选项并询问是正确、完整的响应。**请勿**配置、部署或编造用户需自行决定的值。需说明背景、展示当前检查点的选项及默认值、概述后续检查点的内容,并确认尚未启用任何内容。需严格使用以下章节:
```markdownHelp Agent Setup Report
Help Agent设置报告
Guided Setup
引导式设置
Help Agent setup runs as four checkpoints: identity → grounding → channel → go-live. Nothing is created, deployed, or published until you confirm at each step.
Help Agent设置分为四个检查点:身份配置 → 知识库关联 → 渠道配置 → 启用上线。在您确认每个步骤前,不会创建、部署或发布任何内容。
Current Checkpoint
当前检查点
Checkpoint ‹n — name›. This agent will ‹map the user's stated needs to the design in one line: knowledge-grounded Q&A from Salesforce Knowledge, support-case create/update, and escalation to a live human when needed›, delivered as ‹the channel the user named, e.g. a Web Chat widget on their site›.
检查点‹n——名称›。该代理将‹用一行文字描述用户需求对应的设计:通过Salesforce Knowledge实现基于知识库的问答、创建/更新支持案例、必要时转交给人工代理›,以‹用户指定的渠道,例如站点上的网页聊天小部件›交付。
Decisions Needed
需要做出的决策
- ‹Question 1 — offered default› (e.g. Agent name — , API name
Help Agent)Help_Agent - ‹Question 2 — offered default› (e.g. Language — )
en_US - ‹Question 3 — offered default› (e.g. Greeting, Tone)
- ‹…the real choices for THIS checkpoint only; for a multi-option fork, list the actual alternatives found (e.g. each Live LWR site by Name + UrlPathPrefix) and never pick for the user›
- ‹问题1——提供默认选项›(例如代理名称——,API名称
Help Agent)Help_Agent - ‹问题2——提供默认选项›(例如语言——)
en_US - ‹问题3——提供默认选项›(例如问候语、语气)
- ‹…仅列出当前检查点的真实选项;对于多选项分支,列出实际找到的替代方案(例如每个可用LWR站点的名称+UrlPathPrefix),切勿替用户选择›
Checkpoint Roadmap
检查点路线图
- Readiness (silent, before provisioning): confirm licenses / Einstein Agent User → enable Data Cloud → assign the Data Cloud permission sets, in that order.
- 2 Grounding: connect Salesforce Knowledge via a dedicated Agentforce Data Library, indexing gated to COMPLETED.
- 3 Channel: deploy the chosen channel + Embedded Service Deployment; confirm from who will be chatting.
authMode - 4 Go-live: embed, publish, and verify with a live round-trip — only after you confirm.
- 就绪性检查(静默执行,配置前):按顺序确认许可证/Einstein Agent User → 启用Data Cloud → 分配Data Cloud权限集。
- 2 知识库关联:通过专用Agentforce Data Library关联Salesforce Knowledge,索引需完成至COMPLETED状态。
- 3 渠道配置:部署选定渠道+嵌入式服务部署;根据聊天用户类型确认。
authMode - 4 启用上线:嵌入、发布并通过实时往返测试验证——仅在您确认后执行。
Next Action
下一步操作
Reply with your choices (or accept the defaults) and I'll proceed to the next checkpoint. Nothing is created, grounded, embedded, or published until you confirm at each step.
Fill every `‹…›` from this run's context. Keep to these five sections — the Roadmap names what later checkpoints will do (it is not a settled-fact table and must not claim any of it is done); no provisioning tables, no settled-fact cells for steps not yet reached.
**Never include** (each is a scored failure): a preamble restating the prompt or the request; "End of report." trailers; decorative `---` / `===` rules; `Scope`, `Assumptions`, `Out-of-Scope`, `Architecture`, `Options Considered`, `Next Steps`, `Steps:`, or `Outcome Gate:` sections; the checkpoints re-listed as questions; the agent script or reference-file contents pasted inline; emoji; marketing adjectives ("seamless", "robust", "powerful", "comprehensive").回复您的选择(或接受默认选项),我将推进到下一个检查点。在您确认每个步骤前,不会创建、关联、嵌入或发布任何内容。
从本次运行的上下文中填充每个`‹…›`标记。仅保留这五个章节——路线图说明后续检查点的内容(并非已完成事实表格,不得声称已完成任何内容);无配置表格、无未到达步骤的已完成事实单元格。
**请勿包含**以下内容(均会被判定为不合格):重复请求内容的前言;"报告结束"等结尾;装饰性`---`/`===`分隔线;`Scope`、`Assumptions`、`Out-of-Scope`、`Architecture`、`Options Considered`、`Next Steps`、`Steps:`或`Outcome Gate:`等章节;以问题形式重新列出检查点;代理脚本或参考文件内容直接粘贴;表情符号;营销形容词("无缝"、"强大"、"全面")。Reference File Index
参考文件索引
| File | When to read |
|---|---|
| Always (first) — the canonical flow; small by design. Points to the files below |
| At agent creation only (after Checkpoint 2) — the canonical agent script + placeholders |
| Only if the user selects Web Chat at Checkpoint 3 |
| Only if the user selects Help Portal (coming-soon hard stop) |
| Only if the user selects Voice (coming-soon hard stop) |
| 文件 | 读取时机 |
|---|---|
| 始终优先读取——权威流程;内容精简。指向以下文件 |
| 仅在创建代理时(检查点2后)读取——标准代理脚本+占位符 |
| 仅当用户在检查点3选择网页聊天时读取 |
| 仅当用户选择帮助门户(即将推出渠道拦截)时读取 |
| 仅当用户选择语音(即将推出渠道拦截)时读取 |