service-itsm-agentic-setup-agentforce-studio-validate
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseValidate Agentforce for IT Service Prerequisites
验证Agentforce for IT Service前置条件
Readiness check for Agentforce for IT Service, for either the Fulfiller or the Employee agent path. Before an ITSM agent can be created, the org must have the right Salesforce Go feature toggles turned on (the ones on the Agentforce for IT Service setup page). This skill reads those toggles through the Salesforce CLI () — a single authenticated Connect API call via — and a helper script classifies the chosen agent path into a READY / NOT-READY verdict.
sfsf api request restThis is the read-only step in a three-skill flow. It never enables anything; turning toggles on is a separate write-capable skill:
| Step | Skill | What it does |
|---|---|---|
| 1. Validate (this skill) | | Read the toggles → READY / NOT-READY (no writes) |
| 2. Configure | | Turn the disabled toggles ON |
| 3. Create agent | | Create + activate the Fulfiller agent |
On NOT-READY this skill names each disabled toggle and hands off to to enable them — it does not POST an enable itself.
service-itsm-agentic-setup-agentforce-studio-configureThe feature toggles and their real s:
featureApiName| Go-page toggle | featureApiName | Required for |
|---|---|---|
| Turn on Agentforce Studio | | both paths (shared) |
| Agentforce for IT Service (parent umbrella) | | both paths (shared) |
| IT Service Fulfiller | | fulfiller |
| IT Service Employee | | employee |
| Specialized Agent Templates for Employee | | employee |
All are Connect API features () — the read goes through , no Headless360 dispatcher required. The classification is deterministic and lives in (invoked via ), not in prose.
/connect/setup/discovery/...sf api request restscripts/classify-readiness.mjsBash面向Fulfiller或Employee代理路径的Agentforce for IT Service就绪性检查。在创建ITSM代理之前,组织必须开启正确的Salesforce Go功能开关(即Agentforce for IT Service设置页面上的开关)。本技能通过Salesforce CLI()读取这些开关——通过进行一次已认证的Connect API调用——然后辅助脚本将所选代理路径归类为READY / NOT-READY判定结果。
sfsf api request rest这是三步技能流程中的只读步骤。它绝不会启用任何功能;开启开关是另一项具备写入权限的技能:
| 步骤 | 技能 | 功能 |
|---|---|---|
| 1. 验证(本技能) | | 读取开关 → READY / NOT-READY(无写入操作) |
| 2. 配置 | | 将禁用的开关开启 |
| 3. 创建代理 | | 创建并激活Fulfiller代理 |
当判定为NOT-READY时,本技能会列出每个禁用的开关,并将任务移交给来启用它们——它不会自行发送启用请求。
service-itsm-agentic-setup-agentforce-studio-configure功能开关及其对应的实际:
featureApiName| Go页面开关 | featureApiName | 适用场景 |
|---|---|---|
| 开启Agentforce Studio | | 两种路径(共用) |
| Agentforce for IT Service(父级总开关) | | 两种路径(共用) |
| IT Service Fulfiller | | fulfiller路径 |
| IT Service Employee | | employee路径 |
| 面向Employee的Specialized Agent Templates | | employee路径 |
所有这些都是Connect API功能()——读取操作通过完成,无需Headless360调度器。归类逻辑是确定性的,定义在中(通过调用),而非自然语言描述。
/connect/setup/discovery/...sf api request restscripts/classify-readiness.mjsBashScope
范围
- In scope: Reading the Agentforce-for-IT-Service Go feature toggles via ; classifying the fulfiller or employee path into a per-feature + overall READY / NOT-READY verdict via a helper script; on NOT-READY, naming each disabled toggle and handing off to
connect/setup/discovery/features/statusto enable it.service-itsm-agentic-setup-agentforce-studio-configure - Out of scope: Enabling / turning on any toggle — that write is owned by (this skill is read-only and never POSTs an enable); creating, committing, or activating an agent (handled by
service-itsm-agentic-setup-agentforce-studio-configure); the org-wide multi-agent orchestration toggle (that is a Headless360-only pref, not an ITSM Connect feature, and is not one of the setup-page toggles); assigning permission sets; CMDB CRUD.service-itsm-agentic-setup-fulfiller-agent-configure
- 范围内:通过读取Agentforce-for-IT-Service的Go功能开关;通过辅助脚本将fulfiller或employee路径归类为逐功能及整体的READY / NOT-READY判定结果;当判定为NOT-READY时,列出每个禁用的开关并移交任务给
connect/setup/discovery/features/status来启用它们。service-itsm-agentic-setup-agentforce-studio-configure - 范围外:启用任何开关——写入操作由负责(本技能为只读,绝不会发送启用请求);创建、提交或激活代理(由
service-itsm-agentic-setup-agentforce-studio-configure处理);组织级多代理编排开关(这是仅Headless360可用的偏好设置,不属于ITSM Connect功能,也不是设置页面上的开关);分配权限集;CMDB增删改查操作。service-itsm-agentic-setup-fulfiller-agent-configure
Which path?
选择哪种路径?
Determine whether the user is setting up the fulfiller agent (the IT-fulfiller-facing agent) or an employee agent (the employee-facing / NGA agent). If it is not clear from the request, ask (). The path selects which toggles are required:
AskUserQuestion- fulfiller → +
sales-cloud-agent-studio+service-cloud-agentforce-for-itsmservice-cloud-it-fulfiller-agent - employee → +
sales-cloud-agent-studio+service-cloud-agentforce-for-itsm+service-cloud-requestor-agentservice-cloud-it-service-employee-agent
确定用户是要设置fulfiller代理(面向IT履行人员的代理)还是employee代理(面向员工的/NGA代理)。如果请求中未明确说明,请询问用户()。路径选择决定了需要哪些开关:
AskUserQuestion- fulfiller路径 → +
sales-cloud-agent-studio+service-cloud-agentforce-for-itsmservice-cloud-it-fulfiller-agent - employee路径 → +
sales-cloud-agent-studio+service-cloud-agentforce-for-itsm+service-cloud-requestor-agentservice-cloud-it-service-employee-agent
Preconditions
前置条件
Before the skill can read anything, the CLI and target org must be configured. If any of these are unmet, surfaces an auth error or a //; do not fabricate state — surface the raw error and stop.
sf401403404- CLI installed and authenticated to the target org (
sfshows Connected). All calls usesf org display -o <alias>; never extract or pass the access token by hand.--target-org <alias> - API v67.0+: the feature APIs are available at v67.0. The version is pinned in the URL path; do not hand-edit it below the minimum.
connect/setup/discovery - ≥ 18 on PATH (runs the classifier script).
node
If a precondition fails, returns one of:
sf- Auth error / → session expired or wrong alias; re-run
401 Unauthorized.sf org login web - → the user/org lacks the required access (missing Agentforce license).
403 Forbidden - → the feature-discovery surface is not wired on this org tier — the classifier maps a missing/error body to CANNOT-CONFIRM, not a hard failure.
404 Not Found
在技能能够读取任何内容之前,必须配置好CLI和目标组织。如果以下任何一项未满足,会返回认证错误或//;请勿编造状态——直接显示原始错误并终止操作。
sf401403404- CLI已安装并已认证到目标组织(
sf显示已连接)。所有调用均使用sf org display -o <alias>;切勿手动提取或传递访问令牌。--target-org <alias> - API v67.0+:功能API在v67.0及以上版本可用。版本已固定在URL路径中;请勿手动将其修改为低于最低版本。
connect/setup/discovery - PATH中存在≥ 18(用于运行归类脚本)。
node
如果前置条件未满足,会返回以下错误之一:
sf- 认证错误 / → 会话过期或别名错误;重新运行
401 Unauthorized。sf org login web - → 用户/组织缺少必要的访问权限(缺少Agentforce许可证)。
403 Forbidden - → 该组织层级未接入功能发现接口——归类脚本会将缺失/错误响应映射为CANNOT-CONFIRM,而非严重失败。
404 Not Found
Operations at a glance
操作概览
| Operation | Command | Returns |
|---|---|---|
| Read feature toggles | | |
This skill makes only the read above — it is read-only. Enabling a toggle () is out of scope: hand off to . prints the raw response body (JSON) to stdout — capture it to a file and hand it to the classifier. Full command shapes and the error taxonomy live in .
.../feature/{apiName}/enableservice-itsm-agentic-setup-agentforce-studio-configuresf api request restreferences/cli-invocation.mdNever extract the access token. Usedirectly — it uses the CLI's stored session for the target org. Do not pull thesf api request restout ofaccessTokenand hand-build an HTTP request with it; that bypasses the CLI session and leaks a bearer token into shell context.sf org display
| 操作 | 命令 | 返回结果 |
|---|---|---|
| 读取功能开关 | | |
本技能仅执行上述读取操作——它是只读的。启用开关()属于范围外操作:移交任务给。会将原始响应体(JSON)打印到标准输出——将其捕获到文件中并传递给归类脚本。完整的命令格式和错误分类请参考。
.../feature/{apiName}/enableservice-itsm-agentic-setup-agentforce-studio-configuresf api request restreferences/cli-invocation.md切勿提取访问令牌。直接使用——它会使用CLI为目标组织存储的会话。请勿从sf api request rest中提取sf org display并手动构建HTTP请求;这会绕过CLI会话并将Bearer令牌泄露到Shell环境中。accessToken
Architecture — How the check works
架构——检查工作原理
| Step | What happens | Tool used |
|---|---|---|
| Pick path | Determine fulfiller vs employee (ask if unclear) | |
| Read toggles | POST the feature-status batch for all toggles the path needs, capture to a file | |
| Classify | Run | |
| Report | Render the classifier's verdict into the Output Format | — |
| Hand off | On NOT-READY, name each disabled toggle and hand off to | — |
The skill is read-only — it never enables a toggle.
| 步骤 | 操作内容 | 使用工具 |
|---|---|---|
| 选择路径 | 确定是fulfiller还是employee路径(若不明确则询问) | |
| 读取开关 | 批量POST所选路径所需的所有开关状态,将结果捕获到文件中 | |
| 归类 | 运行 | |
| 报告 | 将归类脚本的判定结果转换为输出格式 | — |
| 移交任务 | 当判定为NOT-READY时,列出每个禁用的开关并移交任务给 | — |
本技能为只读——它绝不会启用任何开关。
Workflow
工作流程
Substitute with the target org alias (ask the user, or use the default org from ). is or .
<alias>sf config<agentType>fulfilleremployee将替换为目标组织别名(询问用户,或使用中的默认组织)。为或。
<alias>sf config<agentType>fulfilleremployeePhase 1 — Read the feature toggles
阶段1 —— 读取功能开关
-
POST the feature-status batch for every toggle the chosen path needs (safe to always request all five — the classifier only judges the ones the path requires), capturing stdout to a file. Do not add:
--jsonbashsf api request rest "/services/data/v67.0/connect/setup/discovery/features/status" \ --method POST \ --body '{"featureApiNames":["sales-cloud-agent-studio","service-cloud-agentforce-for-itsm","service-cloud-it-fulfiller-agent","service-cloud-requestor-agent","service-cloud-it-service-employee-agent"]}' \ --target-org <alias> > /tmp/features-status.json 2>/tmp/features-status.err echo $? > /tmp/features-status.exitCapture the command's exit status () so the classifier can tell a confirmed 404 (gate not wired) apart from an auth/permission/transport failure. Do not swallow the exit with$?— pass it to the classifier in Phase 2.|| true
-
批量POST所选路径所需的所有开关状态(可以安全地直接请求全部五个——归类脚本只会判定路径所需的开关),将标准输出捕获到文件中。请勿添加参数:
--jsonbashsf api request rest "/services/data/v67.0/connect/setup/discovery/features/status" \ --method POST \ --body '{"featureApiNames":["sales-cloud-agent-studio","service-cloud-agentforce-for-itsm","service-cloud-it-fulfiller-agent","service-cloud-requestor-agent","service-cloud-it-service-employee-agent"]}' \ --target-org <alias> > /tmp/features-status.json 2>/tmp/features-status.err echo $? > /tmp/features-status.exit捕获命令的退出状态(),以便归类脚本区分已确认的404(接口未接入)与认证/权限/传输失败。请勿使用$?忽略退出状态——将其传递给阶段2的归类脚本。|| true
Phase 2 — Classify (helper script)
阶段2 —— 归类(辅助脚本)
-
Run the classifier over the captured file, the chosen agent type, and the captured exit status. Use the skill's absolute directory for the script path:bash
node "<skill_dir>/scripts/classify-readiness.mjs" /tmp/features-status.json <agentType> "$(cat /tmp/features-status.exit)"It printswhere each feature is{ agentType, readState, features, verdict, notEnabled, enableable, reasons, rawError }andPASS | FAIL | CANNOT-CONFIRM | ERRORisverdict. This is the authoritative verdict — do not re-derive it from the raw response in prose.READY | NOT-READY | CANNOT-CONFIRM | ERRORlists every disabled required toggle;notEnabledis the subset with noenableable— the ones the configure skill can turn on straight away (the rest are blocked by an unmet dependency or a purchase/licensing gate).enableBlockedReasons
-
使用捕获的文件、所选代理类型以及捕获的退出状态运行归类脚本。使用技能的绝对目录作为脚本路径:bash
node "<skill_dir>/scripts/classify-readiness.mjs" /tmp/features-status.json <agentType> "$(cat /tmp/features-status.exit)"它会输出,其中每个功能的状态为{ agentType, readState, features, verdict, notEnabled, enableable, reasons, rawError },PASS | FAIL | CANNOT-CONFIRM | ERROR为verdict。这是权威的判定结果——请勿从原始响应中自行推导。READY | NOT-READY | CANNOT-CONFIRM | ERROR列出所有禁用的必需开关;notEnabled是其中没有enableable的子集——即配置技能可以直接开启的开关(其余开关因未满足依赖项或购买/许可限制而被阻止)。enableBlockedReasons
Phase 3 — Report + hand off
阶段3 —— 报告 + 移交任务
- Render the classifier output into the Output Format below.
- READY → point the user at to create the agent (fulfiller path), or
service-itsm-agentic-setup-fulfiller-agent-configure(employee path).service-itsm-agentic-setup-employee-agent-configure - NOT-READY → name each disabled toggle (from ). For the
notEnabledsubset, hand off toenableableto turn them on (offer viaservice-itsm-agentic-setup-agentforce-studio-configure: "N prerequisite toggle(s) are off. Run service-itsm-agentic-setup-agentforce-studio-configure to enable them?" → on Yes, delegate; on No, stop and report). For any disabled-but-blocked toggle (inAskUserQuestionbut notnotEnabled), report itsenableableverbatim — it cannot be enabled until the blocker clears. This skill does not POST an enable itself.enableBlockedReasons - CANNOT-CONFIRM → state which toggle(s) had no status and that the feature-discovery surface may not be wired on this org tier.
- ERROR → the read failed (auth / permission / transport, or an unexpected body — see ). Surface the raw response and stop; do not treat it as a mere wiring gap.
rawError
- READY → point the user at
- 将归类脚本的输出转换为以下输出格式。
- READY → 引导用户使用创建代理(fulfiller路径),或使用
service-itsm-agentic-setup-fulfiller-agent-configure(employee路径)。service-itsm-agentic-setup-employee-agent-configure - NOT-READY → 列出每个禁用的开关(来自)。对于
notEnabled子集,移交任务给enableable来开启它们(通过service-itsm-agentic-setup-agentforce-studio-configure询问:"有N个前置条件开关处于关闭状态。是否运行service-itsm-agentic-setup-agentforce-studio-configure来启用它们?" → 如果用户选择是,则委托执行;如果选择否,则终止操作并报告)。对于任何已禁用但被阻止的开关(属于AskUserQuestion但不属于notEnabled),直接报告其enableable——在阻止因素消除之前无法启用。本技能不会自行发送启用请求。enableBlockedReasons - CANNOT-CONFIRM → 说明哪些开关未返回状态,并指出该组织层级可能未接入功能发现接口。
- ERROR → 读取操作失败(认证/权限/传输错误,或意外响应体——请查看)。显示原始响应并终止操作;请勿将其视为单纯的接口未接入问题。
rawError
- READY → 引导用户使用
Phase 4 — (After enable) re-validate
阶段4 —— (启用后)重新验证
- If the user ran to enable the toggles, re-run Phase 1 + Phase 2 here to confirm the verdict flips to READY, then report. This skill's own role remains read-only throughout.
service-itsm-agentic-setup-agentforce-studio-configure
- 如果用户已运行启用开关,请在此处重新运行阶段1 + 阶段2以确认判定结果变为READY,然后进行报告。本技能始终保持只读角色。
service-itsm-agentic-setup-agentforce-studio-configure
Rules / Constraints
规则 / 约束
| Constraint | Rationale |
|---|---|
| This skill is read-only — it never POSTs a feature enable | Turning toggles on is a separate write-capable skill ( |
On NOT-READY, hand off to | That skill owns the |
The read goes through | |
Classification lives in | The verdict is a deterministic decision table over fixed feature statuses; a script is reliable, prose interpretation is not (authoring standard A9) |
| The required-toggle set depends on the agent path | Fulfiller and Employee agents gate on different template toggles; the classifier encodes both paths |
| These are Connect API features — use SF CLI, not Headless360 | A Connect/Tooling equivalent exists, so SF CLI is preferred (avoids the Headless360HostedMcpServer org-perm gate) |
| A blocked toggle can't be turned on even by the configure skill until the unmet dependency / purchase gate clears |
Do not pass | It is unsupported on some Connect endpoints; the raw stdout body is already JSON |
| 约束 | 理由 |
|---|---|
| 本技能为只读——绝不会发送功能启用请求 | 开启开关是另一项具备写入权限的技能( |
当判定为NOT-READY时,移交任务给 | 该技能负责 |
读取操作通过 | |
归类逻辑定义在 | 判定结果是基于固定功能状态的确定性决策表;脚本更可靠,自然语言解释不可靠(创作标准A9) |
| 必需开关集取决于代理路径 | Fulfiller和Employee代理依赖不同的模板开关;归类脚本已编码两种路径的逻辑 |
| 这些是Connect API功能——使用SF CLI,而非Headless360 | 存在Connect/Tooling等效接口,因此优先使用SF CLI(避免Headless360HostedMcpServer组织权限限制) |
| 被阻止的开关即使通过配置技能也无法开启,直到未满足的依赖项/购买限制消除 |
请勿向 | 部分Connect端点不支持该参数;原始标准输出体已经是JSON格式 |
Verification Checklist
验证检查清单
- The agent path (fulfiller / employee) was determined (asked if unclear).
- The feature-status POST was run via and its body captured to a file.
sf api request rest - was invoked with the file, the agent type, and the captured exit status, and its
scripts/classify-readiness.mjsoutput recorded.{verdict, notEnabled, enableable, rawError} - The verdict (READY / NOT-READY / CANNOT-CONFIRM / ERROR) was reported verbatim from the classifier; on NOT-READY each disabled toggle was named, with the enable route only for the subset and
enableablereported for the rest; on ERROR the raw response was surfaced and the skill stopped.enableBlockedReasons - No feature was enabled by this skill (it is read-only); on NOT-READY the disabled toggles were named and the hand-off to was offered, and the access token was never extracted.
service-itsm-agentic-setup-agentforce-studio-configure
- 已确定代理路径(fulfiller / employee)(若不明确则已询问用户)。
- 已通过运行功能状态POST请求,并将响应体捕获到文件中。
sf api request rest - 已使用捕获的文件、代理类型以及捕获的退出状态调用,并记录其
scripts/classify-readiness.mjs输出。{verdict, notEnabled, enableable, rawError} - 已直接报告归类脚本返回的判定结果(READY / NOT-READY / CANNOT-CONFIRM / ERROR);当判定为NOT-READY时,已列出每个禁用的开关,仅为子集提供启用路径,并为其余开关报告
enableable;当判定为ERROR时,已显示原始响应并终止技能。enableBlockedReasons - 本技能未启用任何功能(只读);当判定为NOT-READY时,已列出禁用的开关并提供移交任务给的选项,且从未提取访问令牌。
service-itsm-agentic-setup-agentforce-studio-configure
Output Format
输出格式
Present the readiness report as:
text
Agentforce for IT Service — Prerequisite Check (via service-itsm-agentic-setup-agentforce-studio-validate)
Org: <org-alias> (API v67.0)
Agent path: fulfiller | employee
[PASS|FAIL] Agentforce Studio ......................... ENABLED | NOT_ENABLED (sales-cloud-agent-studio)
[PASS|FAIL] Agentforce for IT Service (parent) ........ ENABLED | NOT_ENABLED (service-cloud-agentforce-for-itsm)
[PASS|FAIL] <path-specific toggle(s)> ................. ENABLED | NOT_ENABLED (<featureApiName>)
Verdict: READY | NOT-READY | CANNOT-CONFIRM | ERROR
Next steps:
- <If READY: "Org satisfies the prerequisites for the <path> agent. Create it via service-itsm-agentic-setup-fulfiller-agent-configure (fulfiller) / the employee-agent skill.">
- <If NOT-READY: list each disabled toggle; for the enableable ones, hand off to service-itsm-agentic-setup-agentforce-studio-configure to turn them on; for blocked ones, report the enableBlockedReasons.>
- <If CANNOT-CONFIRM: state which toggle(s) returned no status and that the feature-discovery surface may not be wired on this org.>This skill is read-only — no org state is written. The only file it produces is the temporary response capture handed to the classifier.
按以下格式呈现就绪性报告:
text
Agentforce for IT Service — 前置条件检查(通过service-itsm-agentic-setup-agentforce-studio-validate)
组织: <org-alias>(API v67.0)
代理路径: fulfiller | employee
[PASS|FAIL] Agentforce Studio ......................... ENABLED | NOT_ENABLED (sales-cloud-agent-studio)
[PASS|FAIL] Agentforce for IT Service(父级) ........ ENABLED | NOT_ENABLED (service-cloud-agentforce-for-itsm)
[PASS|FAIL] <路径专属开关> ................. ENABLED | NOT_ENABLED (<featureApiName>)
判定结果: READY | NOT-READY | CANNOT-CONFIRM | ERROR
下一步操作:
- <如果为READY: "组织已满足<路径>代理的前置条件。通过service-itsm-agentic-setup-fulfiller-agent-configure(fulfiller路径)/ employee代理技能创建代理。">
- <如果为NOT-READY: 列出每个禁用的开关;对于可启用的开关,移交任务给service-itsm-agentic-setup-agentforce-studio-configure来开启;对于被阻止的开关,报告enableBlockedReasons。>
- <如果为CANNOT-CONFIRM: 说明哪些开关未返回状态,并指出该组织可能未接入功能发现接口。>本技能为只读——不会修改任何组织状态。它仅生成传递给归类脚本的临时响应捕获文件。
Reference File Index
参考文件索引
| File | When to read |
|---|---|
| Every phase — exact |
| 文件 | 阅读时机 |
|---|---|
| 所有阶段——精确的 |