service-itsm-swarming-configure

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Enable Swarming for Employee Service (ITSM)

为员工服务(ITSM)启用Swarming功能

Enable the Salesforce Go feature "Swarming" (
service-cloud-swarming
) — the feature that helps service reps pull in the right collaborators and subject-matter experts to resolve incidents in real time. Every operation dispatches through headless-360.
Execute one step at a time. These steps make real, state-changing API calls. Run a single operation, show its result, confirm it succeeded, then proceed — do not batch multiple setup calls into one parallel block.
启用Salesforce Go的**"Swarming"功能(
service-cloud-swarming
)——该功能可帮助服务专员引入合适的协作者和主题专家,实时解决事件。所有操作均通过
headless-360**调度。
请逐步执行操作。这些步骤会调用实际的状态变更API。仅运行单个操作,展示结果,确认成功后再继续——请勿将多个设置调用批量放入一个并行区块。

Scope

适用范围

  • In scope: Enabling the
    service-cloud-swarming
    Go feature via its feature-enablement Connect API; verifying feature state afterward; setting the "Select a Collaboration Tool" picklist (the API-level target of the "Set Teams as Collaboration Tool for Swarming" checklist item) to
    Teams
    via the org-values Connect API.
  • Out of scope: The base Microsoft Teams ITSM Salesforce Go page toggle (
    ITSMTeamsEnabled
    ) and Azure/Entra app registration — use
    service-itsm-teams-configure
    (Swarming requires Teams to already be set up as a prerequisite, per the Go page). Notification-channel preferences (
    Notifications
    /
    TeamsNotifications
    ) — a separate concern from this feature. Portal/site creation — use
    experience-portal-create
    .

  • 包含范围:通过功能启用Connect API启用
    service-cloud-swarming
    Go功能;之后验证功能状态;通过组织值Connect API将“选择协作工具”多选列表(“将Teams设为Swarming协作工具”检查项的API级目标)设置为
    Teams
  • 排除范围:基础Microsoft Teams ITSM Salesforce Go页面开关(
    ITSMTeamsEnabled
    )和Azure/Entra应用注册——请使用
    service-itsm-teams-configure
    (根据Go页面要求,Swarming需要先完成Teams设置作为前提条件)。通知渠道偏好(
    Notifications
    /
    TeamsNotifications
    )——属于此功能之外的独立事项。门户/站点创建——请使用
    experience-portal-create

The problem this skill solves

此技能解决的问题

"Set Teams as Collaboration Tool for Swarming" is one item in the "Set Up Salesforce IT Desk" checklist on the Teams ITSM Go page (
service-cloud-itsm-teams-integration
's feature page) — but it is gated behind a separate Go feature,
service-cloud-swarming
, which must be turned on first. This skill is the dedicated place to turn Swarming on, so
service-itsm-teams-configure
can delegate to it instead of duplicating feature-enablement logic.

“将Teams设为Swarming协作工具”是Teams ITSM Go页面(
service-cloud-itsm-teams-integration
的功能页面)上“设置Salesforce IT服务台”检查清单中的一项,但它受另一个Go功能
service-cloud-swarming
的限制,必须先开启该功能才能操作。此技能是专门用于开启Swarming的入口,因此
service-itsm-teams-configure
可委托给它,无需重复实现功能启用逻辑。

Workflow

工作流程

Step 1 — Check current feature status

步骤1 — 检查当前功能状态

text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/features/status",
  body:   { "featureApiNames": ["service-cloud-swarming"] }
)
Response shape:
json
{
  "items": [
    {
      "apiName": "service-cloud-swarming",
      "status": "ENABLED",          // or "NOT_ENABLED" / "DISABLED"
      "blockedByApexLock": false,
      "dependencyStatuses": [],
      "enableBlockedReasons": [],
      "disableBlockedReasons": []
    }
  ]
}
Note: this endpoint is POST-only despite being a status read — a
GET
with
queryParams
returns
405 METHOD_NOT_ALLOWED "Allowed are POST"
.
If
status
is already
"ENABLED"
, skip to Step 3 (verification) — do not re-enable. If
enableBlockedReasons
is non-empty, surface those reasons to the user before attempting Step 2.
text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/features/status",
  body:   { "featureApiNames": ["service-cloud-swarming"] }
)
响应格式:
json
{
  "items": [
    {
      "apiName": "service-cloud-swarming",
      "status": "ENABLED",          // 或 "NOT_ENABLED" / "DISABLED"
      "blockedByApexLock": false,
      "dependencyStatuses": [],
      "enableBlockedReasons": [],
      "disableBlockedReasons": []
    }
  ]
}
注意:尽管此端点用于读取状态,但仅支持POST请求——使用
GET
并携带
queryParams
会返回
405 METHOD_NOT_ALLOWED "Allowed are POST"
如果
status
已为
"ENABLED"
,跳至步骤3(验证)——无需重新启用。如果
enableBlockedReasons
不为空,请在尝试步骤2前向用户展示这些原因。

Step 2 — Enable the feature

步骤2 — 启用功能

text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/feature/service-cloud-swarming/enable",
  body:   {}
)
Verified live: returns
201 {"success":true}
cleanly (unlike the Teams feature-enable, this call did not exhibit the "500 that still succeeds" gotcha in testing — but re-check status afterward regardless, since Go feature-enable calls can be flaky in general).
text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/feature/service-cloud-swarming/enable",
  body:   {}
)
已验证:调用会干净地返回
201 {"success":true}
(与Teams功能启用不同,测试中此调用未出现“返回500但实际成功”的问题——但无论如何,之后都要重新检查状态,因为Go功能启用调用通常可能不稳定)。

Step 3 — Verify

步骤3 — 验证

text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/features/status",
  body:   { "featureApiNames": ["service-cloud-swarming"] }
)
Expect
status: "ENABLED"
.
text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/features/status",
  body:   { "featureApiNames": ["service-cloud-swarming"] }
)
预期返回
status: "ENABLED"

Step 4 — Check current collaboration tool value

步骤4 — 检查当前协作工具值

text
mcp__headless-360__dispatch_readonly(
  method: "GET",
  url:    "/services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL"
)
Response shape — exactly one of the four value fields is populated:
json
{ "booleanValue": false, "dateValue": null, "numberValue": null, "stringValue": "None" }
stringValue
holds the current picklist selection:
"None"
,
"Slack"
, or
"Teams"
. This is the same Java enum-gated org-value endpoint family described in
setup-connect-api
's
get-org-value
/
update-org-value
/
verify-org-value-update
steps —
valueName
must be the literal Java enum constant name (
SWARM_COLLABORATION_TOOL
, SCREAMING_SNAKE_CASE), not a camelCase guess like
SwarmCollaborationTool
.
If already
"Teams"
, skip to Step 6 (report) — do not re-issue the write.
text
mcp__headless-360__dispatch_readonly(
  method: "GET",
  url:    "/services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL"
)
响应格式——四个值字段中只有一个会被填充:
json
{ "booleanValue": false, "dateValue": null, "numberValue": null, "stringValue": "None" }
stringValue
存储当前多选列表选项:
"None"
"Slack"
"Teams"
。这属于
setup-connect-api
get-org-value
/
update-org-value
/
verify-org-value-update
步骤描述的同一Java枚举限制的组织值端点系列——
valueName
必须是字面量Java枚举常量名称(
SWARM_COLLABORATION_TOOL
,全大写蛇形命名),不能是类似
SwarmCollaborationTool
的驼峰命名猜测。
如果已为
"Teams"
,跳至步骤6(报告)——无需重新发起写入请求。

Step 5 — Set the collaboration tool to Teams

步骤5 — 将协作工具设置为Teams

text
mcp__headless-360__dispatch(
  method: "PATCH",
  url:    "/services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL",
  body:   { "orgValue": "Teams" }
)
Verified live: returns
200 { "stringValue": "Teams", ... }
. This is the API-level write behind the Swarming Go feature page's "Select a Collaboration Tool" dropdown — the same control the Teams ITSM Go page's "Set Teams as Collaboration Tool for Swarming" checklist item deep-links to via its "Go to Feature Page" button. Valid
orgValue
strings are
"None"
,
"Slack"
,
"Teams"
.
Re-run Step 4's GET afterward to confirm
stringValue == "Teams"
.
text
mcp__headless-360__dispatch(
  method: "PATCH",
  url:    "/services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL",
  body:   { "orgValue": "Teams" }
)
已验证:调用返回
200 { "stringValue": "Teams", ... }
。这是Swarming Go功能页面“选择协作工具”下拉菜单背后的API级写入操作——Teams ITSM Go页面的“将Teams设为Swarming协作工具”检查项通过“前往功能页面”按钮深度链接到该控件。有效的
orgValue
字符串为
"None"
"Slack"
"Teams"
之后重新运行步骤4的GET请求,确认
stringValue == "Teams"

Step 6 — Report to the user

步骤6 — 向用户报告

Report both the
service-cloud-swarming
feature status and the
SWARM_COLLABORATION_TOOL
value, confirming "Set Teams as Collaboration Tool for Swarming" is now fully automated — enabling the feature is the prerequisite, and the org-value PATCH is the actual checklist-item write.

报告
service-cloud-swarming
功能状态和
SWARM_COLLABORATION_TOOL
值,确认“将Teams设为Swarming协作工具”已完全自动化——启用功能是前提条件,组织值PATCH操作是实际的检查项写入操作。

Disabling (if requested)

禁用功能(如有请求)

text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/feature/service-cloud-swarming/disable",
  body:   {}
)
Re-run Step 1 afterward to confirm.
To also reset the collaboration tool selection (optional — disabling the feature does not reset it automatically):
text
mcp__headless-360__dispatch(
  method: "PATCH",
  url:    "/services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL",
  body:   { "orgValue": "None" }
)

text
mcp__headless-360__dispatch(
  method: "POST",
  url:    "/services/data/v67.0/connect/setup/discovery/feature/service-cloud-swarming/disable",
  body:   {}
)
之后重新运行步骤1确认状态。
如需同时重置协作工具选项(可选——禁用功能不会自动重置该选项):
text
mcp__headless-360__dispatch(
  method: "PATCH",
  url:    "/services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL",
  body:   { "orgValue": "None" }
)

Gotchas

注意事项

IssueDetail
"Set Teams as Collaboration Tool for Swarming" writes via
SWARM_COLLABORATION_TOOL
, not a Teams-side endpoint
This checklist item lives on the Swarming Go feature page itself (
/lightning/setup/page/feature/service-cloud-swarming/home
, "Select a Collaboration Tool" dropdown) — the Teams ITSM Go page's checklist item is just a deep link to it via "Go to Feature Page." The write API is
PATCH /services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL
with body
{"orgValue": "Teams"}
— part of
setup-connect-api
's
get-org-value
/
update-org-value
steps. Verified live:
GET
returned
{"stringValue":"None"}
before,
{"stringValue":"Teams"}
after
PATCH
.
valueName
must be the exact Java enum constant, not camelCase
The
/setup/org/values/{valueName}
endpoint calls
OrgValues.valueOf(valueName)
directly (
Enum.valueOf
), so it requires the literal SCREAMING_SNAKE_CASE constant name declared in
ui.services.utils.OrgValueUtil.OrgValues
— e.g.
SWARM_COLLABORATION_TOOL
. CamelCase guesses like
SwarmCollaborationTool
or
SwarmingCollaborationTool
return
400 ILLEGAL_QUERY_PARAMETER_VALUE "No enum constant ui.services.utils.OrgValueUtil.OrgValues.<guess>"
— that specific error confirms the endpoint/mechanism is right but the casing/name is wrong. The read-only
get-service-itsm-teams-collaboration-app-settings
endpoint (
GET /connect/it-service/collaboration-app-settings/{targetApplication}
) is unrelated to this setting — it's read-only (
POST
/
PATCH
/
PUT
return
405
) and returns empty
settings: []
regardless of feature state.
features/status
is POST-only
A
GET
with
queryParams
on
/connect/setup/discovery/features/status
returns
405 METHOD_NOT_ALLOWED "Allowed are POST"
— always POST a JSON body with
featureApiNames
.
swarming-connect-api
SOR is unrelated
headless-360's
swarming-connect-api
SOR is about Slack messaging within swarming conversations (post/patch/delete Slack messages, reactions, file uploads, channel/user search) — it does not configure which collaboration tool (Teams vs. Slack vs. Chatter) swarming uses. Do not confuse it with this skill's scope.
Swarming requires Teams firstThe Go page frames "Set Teams as Collaboration Tool for Swarming" as a step within Teams ITSM setup — enable
service-cloud-itsm-teams-integration
(via
service-itsm-teams-configure
) before or alongside this skill.
Version prefix requiredheadless-360
dispatch
/
dispatch_readonly
do not resolve API versions — always pass the full
/services/data/vXX.0/...
prefix.

问题详情
“将Teams设为Swarming协作工具”通过
SWARM_COLLABORATION_TOOL
写入,而非Teams端端点
此检查项位于Swarming Go功能页面本身(
/lightning/setup/page/feature/service-cloud-swarming/home
,“选择协作工具”下拉菜单)——Teams ITSM Go页面的检查项只是通过“前往功能页面”按钮深度链接到该位置。写入API为
PATCH /services/data/v67.0/setup/org/values/SWARM_COLLABORATION_TOOL
,请求体为
{"orgValue": "Teams"}
——属于
setup-connect-api
get-org-value
/
update-org-value
步骤。已验证:PATCH前GET返回
{"stringValue":"None"}
,PATCH后返回
{"stringValue":"Teams"}
valueName
必须是精确的Java枚举常量,不能是驼峰命名
/setup/org/values/{valueName}
端点直接调用
OrgValues.valueOf(valueName)
Enum.valueOf
),因此需要
ui.services.utils.OrgValueUtil.OrgValues
中声明的字面量全大写蛇形命名常量名称——例如
SWARM_COLLABORATION_TOOL
。类似
SwarmCollaborationTool
SwarmingCollaborationTool
的驼峰命名猜测会返回
400 ILLEGAL_QUERY_PARAMETER_VALUE "No enum constant ui.services.utils.OrgValueUtil.OrgValues.<guess>"
——此特定错误确认端点/机制正确,但大小写/名称错误。只读的
get-service-itsm-teams-collaboration-app-settings
端点(
GET /connect/it-service/collaboration-app-settings/{targetApplication}
)与此设置无关——它是只读的(
POST
/
PATCH
/
PUT
返回
405
),且无论功能状态如何都会返回空的
settings: []
features/status
仅支持POST请求
/connect/setup/discovery/features/status
上使用
GET
并携带
queryParams
会返回
405 METHOD_NOT_ALLOWED "Allowed are POST"
——请始终发送包含
featureApiNames
的JSON体作为POST请求。
swarming-connect-api
SOR无关
headless-360的
swarming-connect-api
SOR是关于swarming对话中的Slack消息(发布/修改/删除Slack消息、反应、文件上传、频道/用户搜索)——它不配置swarming使用哪种协作工具(Teams vs. Slack vs. Chatter)。请勿将其与此技能的范围混淆。
Swarming需要先完成Teams设置Go页面将“将Teams设为Swarming协作工具”列为Teams ITSM设置中的一步——请在使用此技能之前或同时通过
service-itsm-teams-configure
启用
service-cloud-itsm-teams-integration
需要版本前缀headless-360的
dispatch
/
dispatch_readonly
不会解析API版本——请始终传递完整的
/services/data/vXX.0/...
前缀。

Related Skills

相关技能

SkillWhen to use instead / alongside
service-itsm-teams-configure
Enabling the base Microsoft Teams ITSM integration and Azure/Entra setup — a prerequisite for Swarming; delegates to this skill for the "Set Teams as Collaboration Tool for Swarming" checklist item
Notification-channel preferencesEnabling the
Notifications
/
TeamsNotifications
preferences is a distinct concern from this feature (no dedicated child skill exists yet)
service-itsm-channels-coordinate
Top-level menu across Teams, Slack, Swarming, Notifications, Portal
技能替代/配合使用场景
service-itsm-teams-configure
启用基础Microsoft Teams ITSM集成和Azure/Entra设置——这是Swarming的前提条件;针对“将Teams设为Swarming协作工具”检查项会委托给此技能
通知渠道偏好启用
Notifications
/
TeamsNotifications
偏好与此功能是独立事项(目前尚无专门的子技能)
service-itsm-channels-coordinate
涵盖Teams、Slack、Swarming、通知、门户的顶级菜单