@salesforce/afv-skills 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/automation-flow-generate/SKILL.md +32 -43
- package/skills/experience-portal-create/SKILL.md +497 -0
- package/skills/experience-portal-create/assets/report-template.md +30 -0
- package/skills/experience-portal-create/references/mcp-invocation.md +288 -0
- package/skills/experience-portal-create/references/post-creation-activate-publish.md +165 -0
- package/skills/experience-portal-create/references/templates.md +253 -0
- package/skills/experience-ui-bundle-features-generate/SKILL.md +5 -1
- package/skills/experience-ui-bundle-frontend-generate/SKILL.md +2 -0
- package/skills/experience-ui-bundle-frontend-generate/references/page.md +1 -0
- package/skills/platform-datamask-run/SKILL.md +345 -0
- package/skills/platform-datamask-run/references/api-surface.md +130 -0
- package/skills/platform-datamask-run/references/policy-authoring.md +185 -0
- package/skills/platform-datamask-run/references/run-and-abort.md +116 -0
- package/skills/platform-datamask-run/scripts/poll-job.sh +115 -0
- package/skills/platform-dataspace-access-configure/SKILL.md +51 -3
- package/skills/platform-dataspace-access-configure/scripts/inspect-dataspace-scopes.sh +56 -0
- package/skills/platform-lightning-type-widget-coordinate/references/build-plan-format.md +1 -0
- package/skills/platform-sandbox-configure/SKILL.md +17 -2
- package/skills/platform-trial-org-create/SKILL.md +175 -0
- package/skills/platform-trial-org-create/examples/create_request.json +9 -0
- package/skills/platform-trial-org-create/examples/error_response.json +41 -0
- package/skills/platform-trial-org-create/examples/success_response.json +27 -0
- package/skills/platform-trial-org-create/references/error_codes.md +42 -0
- package/skills/platform-trial-org-create/references/signup_request_fields.md +69 -0
- package/skills/platform-trial-org-create/scripts/create_signup_request.sh +175 -0
- package/skills/platform-trial-org-create/scripts/get_signup_request.sh +155 -0
- package/skills/platform-widget-generate/SKILL.md +47 -6
- package/skills/platform-widget-generate/examples/conditional.json +3 -3
- package/skills/platform-widget-generate/examples/list-with-foreach.json +2 -2
- package/skills/platform-widget-generate/examples/single-object.json +2 -2
- package/skills/platform-widget-generate/references/widget-bundle-layout.md +1 -1
- package/skills/service-agentforce-channel-configure/SKILL.md +271 -0
- package/skills/service-agentforce-channel-configure/references/agent-wiring.md +97 -0
- package/skills/service-agentforce-channel-configure/references/channel-branch-email.md +145 -0
- package/skills/service-agentforce-channel-configure/references/channel-branch-voice.md +69 -0
- package/skills/service-agentforce-channel-configure/references/channel-types.md +61 -0
- package/skills/service-agentforce-channel-configure/references/live-traffic-gate.md +86 -0
- package/skills/service-agentforce-channel-configure/references/queue-resolution.md +135 -0
- package/skills/service-agentforce-channel-configure/references/routing-flow.md +384 -0
- package/skills/service-catalog-template-deploy/SKILL.md +310 -0
- package/skills/service-catalog-template-deploy/references/cli-invocation.md +258 -0
- package/skills/service-catalog-template-deploy/scripts/activate-verify.mjs +164 -0
- package/skills/service-catalog-template-deploy/scripts/build-deploy-payload.mjs +94 -0
- package/skills/service-catalog-template-deploy/scripts/resolve-template.mjs +331 -0
- package/skills/service-catalog-template-search/SKILL.md +212 -0
- package/skills/service-catalog-template-search/references/cli-invocation.md +128 -0
- package/skills/service-catalog-template-search/scripts/classify-catalog.mjs +205 -0
- package/skills/service-concierge-portal-generate/SKILL.md +126 -0
- package/skills/service-concierge-portal-generate/references/portal-deploy-runbook.md +1428 -0
- package/skills/service-digital-engagement-channel-configure/SKILL.md +46 -6
- package/skills/service-digital-engagement-channel-configure/assets/messaging_channel_template.xml +2 -1
- package/skills/service-digital-engagement-channel-configure/examples/asa_agent_channel.xml +4 -1
- package/skills/service-helpagent-coordinate/README.md +8 -2
- package/skills/service-helpagent-coordinate/SKILL.md +126 -130
- package/skills/service-helpagent-coordinate/assets/help-agent-spec.md +70 -53
- package/skills/service-helpagent-coordinate/references/agent-script.md +571 -457
- package/skills/service-helpagent-coordinate/references/channel-voice.md +38 -9
- package/skills/service-helpagent-coordinate/references/channel-web-chat.md +173 -49
- package/skills/service-helpagent-coordinate/references/output-report-format.md +126 -0
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +153 -0
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/examples/output-templates.md +79 -0
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/scripts/verify-child-verdict.mjs +35 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +271 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/references/cli-invocation.md +265 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/scripts/classify-enable-plan.mjs +220 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/scripts/classify-final-report.mjs +102 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/scripts/record-enable-result.mjs +73 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +206 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-validate/references/cli-invocation.md +194 -0
- package/skills/service-itsm-agentic-setup-agentforce-studio-validate/scripts/classify-readiness.mjs +223 -0
- package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +45 -7
- package/skills/service-itsm-agentic-setup-cmdb-configure/references/mcp-invocation.md +45 -5
- package/skills/service-itsm-agentic-setup-configure/SKILL.md +116 -0
- package/skills/service-itsm-agentic-setup-configure/examples/output-templates.md +64 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +158 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/cli-invocation.md +361 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/error-taxonomy.md +44 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/reactivation.md +66 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/report-format.md +66 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/specialized-templates.md +148 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/workflow-detail.md +169 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/build-create-body.mjs +116 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/classify-agent-existence.mjs +185 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/classify-preflight.mjs +168 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/create-scratch-dir.mjs +58 -0
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/render-report.mjs +197 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +186 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/action-availability.md +51 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/cli-invocation.md +345 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/error-taxonomy.md +44 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/reactivation.md +63 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/report-format.md +44 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/workflow-detail.md +149 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/build-create-body.mjs +110 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-action-availability.mjs +201 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-activate-result.mjs +135 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-agent-existence.mjs +194 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-preflight.mjs +158 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/create-scratch-dir.mjs +58 -0
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/render-report.mjs +191 -0
- package/skills/service-itsm-agentic-setup-incident-management/SKILL.md +133 -0
- package/skills/service-itsm-agentic-setup-incident-management/examples/output-templates.md +71 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +308 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/assets/attach-milestone.json +23 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/milestone-patterns.md +193 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/output-templates.md +57 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/references/mcp-invocation.md +394 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +266 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/references/cli-invocation.md +106 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/references/helper-contracts.md +142 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/references/permset-topology.md +82 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/classify-action-surface.mjs +137 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/classify-assignment-state.mjs +99 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/classify-permset-availability.mjs +120 -0
- package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/resolve-target-user.mjs +86 -0
- package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +284 -0
- package/skills/service-itsm-agentic-setup-uel-user-create/references/mcp-invocation.md +302 -0
- package/skills/service-itsm-channels-coordinate/SKILL.md +472 -0
- package/skills/service-itsm-incident-mgmt-configure/SKILL.md +212 -0
- package/skills/service-itsm-incident-mgmt-configure/references/mcp-invocation.md +225 -0
- package/skills/service-itsm-incident-priority-configure/SKILL.md +53 -12
- package/skills/service-itsm-swarming-configure/SKILL.md +212 -0
- package/skills/service-itsm-teams-configure/SKILL.md +395 -0
- package/skills/service-itsm-teams-configure/references/azure-credential-population.md +213 -0
- package/skills/service-itsm-teams-configure/references/gotchas.md +23 -0
- package/skills/service-itsm-teams-coordinate/SKILL.md +175 -0
- package/skills/service-itsm-teams-coordinate/examples/output-templates.md +85 -0
- package/skills/service-itsm-teams-debug/SKILL.md +144 -0
- package/skills/service-itsm-teams-debug/references/configuration-checklists.md +277 -0
- package/skills/service-itsm-teams-debug/references/report-generation.md +95 -0
- package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +139 -0
- package/skills/service-itsm-teams-employee-agent-configure/assets/Teams_AgentForce.EmbeddedServiceConfig-meta.xml +43 -0
- package/skills/service-itsm-teams-employee-agent-configure/references/teams-embedded-employee-agent.md +480 -0
- package/skills/service-itsm-teams-itdesk-configure/SKILL.md +232 -0
- package/skills/service-itsm-teams-itservice-configure/SKILL.md +391 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: service-itsm-teams-coordinate
|
|
3
|
+
description: "End-to-end autopilot orchestrator for setting up Microsoft Teams integration in Salesforce Service Cloud ITSM — runs the whole flow (enable the Teams for Employee Service Go feature, register the Microsoft Entra app, populate Named Credentials, configure the IT Desk and IT Service checklists, turn on Swarming, and optionally embed the Agentforce agent) in one continuous pass, stopping only at the points a human must act. Use when the user asks to set up Microsoft Teams for ITSM end to end, 'set up teams for it service', 'do the whole teams itsm setup', 'configure microsoft teams for employee service', or wants a guided Teams ITSM walkthrough. Delegates each stage to a specialized child skill while driving the sequence itself. DO NOT TRIGGER when the user asks to enable Teams alone, configure just the IT Desk or IT Service checklist alone, or enable Swarming alone — delegate directly to the specific child skill in those cases."
|
|
4
|
+
metadata:
|
|
5
|
+
version: "2.0"
|
|
6
|
+
domains: ["Service"]
|
|
7
|
+
relatedSkills:
|
|
8
|
+
- "service-itsm-swarming-configure"
|
|
9
|
+
- "service-itsm-teams-configure"
|
|
10
|
+
- "service-itsm-teams-debug"
|
|
11
|
+
- "service-itsm-teams-employee-agent-configure"
|
|
12
|
+
- "service-itsm-teams-itdesk-configure"
|
|
13
|
+
- "service-itsm-teams-itservice-configure"
|
|
14
|
+
# No accessCheck gate: this orchestrator's Stage 1 is what enables ITSMTeamsEnabled,
|
|
15
|
+
# so it must be invokable on a brand-new org before that preference exists. Downstream
|
|
16
|
+
# child skills retain their own accessCheck. Empty array = applies to any org.
|
|
17
|
+
accessCheck: []
|
|
18
|
+
allowed-tools: Read AskUserQuestion
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Microsoft Teams for ITSM — End-to-End Setup Autopilot
|
|
22
|
+
|
|
23
|
+
Drive the **complete** Microsoft Teams for Employee Service (ITSM) setup as one continuous flow.
|
|
24
|
+
Delegate each stage to its specialized child skill, but own the **sequence** yourself and keep
|
|
25
|
+
going through every stage **without stopping to ask permission between stages**. Halt only at the
|
|
26
|
+
points where a human genuinely must act — nowhere else.
|
|
27
|
+
|
|
28
|
+
## Goal
|
|
29
|
+
|
|
30
|
+
Take the user from nothing to a working Teams ITSM integration (IT Desk + IT Service, Swarming, and
|
|
31
|
+
— if they want it — the embedded Agentforce agent) in a single guided run. The child skills carry
|
|
32
|
+
the verified API detail; this skill is the conductor that runs them in order and manages the handoffs.
|
|
33
|
+
|
|
34
|
+
## Core operating rule — run continuously, halt only where required
|
|
35
|
+
|
|
36
|
+
**Do everything with no midway stop unless the user must supply something or perform an off-platform
|
|
37
|
+
action.** Do **not** re-present a menu between stages, do **not** ask "shall I continue?" after each
|
|
38
|
+
stage, and do **not** ask the user to click Setup toggles this skill's children can do via API. Move
|
|
39
|
+
straight from one stage to the next, reporting progress as you go.
|
|
40
|
+
|
|
41
|
+
There are exactly **three mandatory halts** and **one branch** in the whole flow:
|
|
42
|
+
|
|
43
|
+
- **HALT 1 — Azure/Entra app** (Stage 2): you give the user the app-registration instructions and
|
|
44
|
+
**wait** for them to register the app and provide the credentials. No Salesforce API can do this.
|
|
45
|
+
The **Client ID** and **Tenant ID** are non-secret identifiers and may be given in chat; the
|
|
46
|
+
**Client Secret is a confidential credential — NEVER ask for it in the conversation.** The user
|
|
47
|
+
places it in the `TEAMS_ENTRA_CLIENT_SECRET` environment variable (or a gitignored secret file the
|
|
48
|
+
agent is told the path to); the agent reads it from there and never prints, echoes, or logs it.
|
|
49
|
+
- **HALT 2 — IT Desk app install** (Stage 3): you give the Microsoft Marketplace link and **wait**
|
|
50
|
+
for the user to reply **"installed"**. No API installs a Teams app into a tenant catalog.
|
|
51
|
+
- **HALT 3 — IT Service app install** (Stage 4): same as HALT 2, for the IT Service app.
|
|
52
|
+
- **BRANCH — IT Service Agentforce agent** (Stage 7): the IT Desk agent works automatically, but the
|
|
53
|
+
IT Service embedded agent is pending work; **ask the user whether to do it**, and only run Stage 8
|
|
54
|
+
if they say yes.
|
|
55
|
+
|
|
56
|
+
If the user goes silent at a halt, stop and wait — do not fabricate the value or skip ahead. Every
|
|
57
|
+
other transition is automatic.
|
|
58
|
+
|
|
59
|
+
> **Within each stage, execute one operation at a time.** The child skills make real, state-changing
|
|
60
|
+
> API calls; run a single operation, confirm it succeeded, then proceed — never batch state-changing
|
|
61
|
+
> calls into one parallel block. "No midway stop" means no *permission gate* between stages, not
|
|
62
|
+
> firing writes in parallel.
|
|
63
|
+
|
|
64
|
+
## The flow (run in this order)
|
|
65
|
+
|
|
66
|
+
### Stage 1 — Enable the Teams for Employee Service Go feature
|
|
67
|
+
Invoke **`service-itsm-teams-configure`** for the feature-enable half only (its Steps 1–3): enable
|
|
68
|
+
`service-cloud-itsm-teams-integration` and confirm `ITSMTeamsEnabled` reads `true`. Report progress,
|
|
69
|
+
then continue straight into Stage 2 — do **not** stop here.
|
|
70
|
+
|
|
71
|
+
### Stage 2 — Microsoft Entra app + Named Credentials ⟶ HALT 1
|
|
72
|
+
Still within **`service-itsm-teams-configure`** (its Step 4a): give the user the exact Azure/Entra
|
|
73
|
+
app-registration clicks **including the Microsoft Graph Application permissions** it lists, and
|
|
74
|
+
**HALT** until they provide the credentials. The **Client ID** and **Tenant ID** are non-secret
|
|
75
|
+
identifiers — accept them in chat. The **Client Secret is confidential: never request it in the
|
|
76
|
+
conversation.** Instruct the user to set it in the `TEAMS_ENTRA_CLIENT_SECRET` environment variable
|
|
77
|
+
(or a gitignored secret file, and tell you the path); read it from there. Never print or echo it.
|
|
78
|
+
The moment the identifiers are given and the secret is in the env/file:
|
|
79
|
+
- Write those values into the `MSTeamsSetupClientCredentialsEC` Named Credential **and** the
|
|
80
|
+
`microsoft_auth_provider` Auth Provider **yourself, via API — nothing manual** (the child skill's
|
|
81
|
+
Step 5 and its azure-credential-population reference carry the exact API bodies). Reference the
|
|
82
|
+
secret by its env var / file path in the API call — do not inline the raw value into any logged text.
|
|
83
|
+
- Give the user the static **Grant Admin Consent** link and register the preferred site (child Step 5).
|
|
84
|
+
Then continue to Stage 3 automatically.
|
|
85
|
+
|
|
86
|
+
### Stage 3 — Set up IT Desk (fulfiller side) ⟶ HALT 2
|
|
87
|
+
Invoke **`service-itsm-teams-itdesk-configure`**. Drive its whole checklist:
|
|
88
|
+
- Turn on the `OrgHasITSMFulfillerTeams` org preference (via API).
|
|
89
|
+
- **Manage User Access** — assign the fulfiller permission sets to the confirmed user(s):
|
|
90
|
+
`TeamsForITSrvcsUser` + `MicrosoftGraphAccess`, **plus `Teams_Employee_ApiAccess`** (the ECA-
|
|
91
|
+
pre-authorized set that also grants **API Enabled** — required for login, not optional).
|
|
92
|
+
- **Turn on Swarming** — this stage includes `service-itsm-swarming-configure`
|
|
93
|
+
(enables `service-cloud-swarming` and sets `SWARM_COLLABORATION_TOOL = "Teams"`).
|
|
94
|
+
- Give the **IT Desk Microsoft Marketplace link** + help doc, tell the user **the Azure account
|
|
95
|
+
email must match the Salesforce user's email/Username** (SSO resolves MS UPN → `Username`), and
|
|
96
|
+
**HALT** until the user replies **"installed."** Then continue to Stage 4.
|
|
97
|
+
|
|
98
|
+
### Stage 4 — Set up IT Service (employee side) ⟶ HALT 3
|
|
99
|
+
Invoke **`service-itsm-teams-itservice-configure`**. Drive its whole checklist:
|
|
100
|
+
- Turn on the `OrgHasEmployeeServiceTeams` org preference (via API).
|
|
101
|
+
- **Manage User Access** — assign the employee permission sets to the confirmed UEL user(s):
|
|
102
|
+
`TeamsForEmployeeUser` + `MicrosoftGraphAccess`, **plus the API Enabled + ECA-authorized access**
|
|
103
|
+
the child's login prerequisites require.
|
|
104
|
+
- **Select the Digital Experience Site** (`SLACK_PREFERRED_SITE`) via API.
|
|
105
|
+
- Give the **IT Service Microsoft Marketplace link** + help doc, repeat the **email-must-match** note,
|
|
106
|
+
and **HALT** until the user replies **"installed."** Then continue to Stage 5.
|
|
107
|
+
|
|
108
|
+
### Stage 5 — Ask the user to verify login
|
|
109
|
+
Ask the user to open the **IT Desk app** in Teams and sign in with the **fulfiller** credentials, and
|
|
110
|
+
the **IT Service app** with the **UEL/employee** credentials, and confirm both load. If either fails,
|
|
111
|
+
route to **`service-itsm-teams-debug`** for the pass/fail login diagnostic before proceeding.
|
|
112
|
+
|
|
113
|
+
### Stage 6 — Tell the user the IT Desk "Ask Agentforce" agent works automatically
|
|
114
|
+
Once IT Desk login is confirmed, tell the user that IT Desk's **Ask Agentforce** works automatically —
|
|
115
|
+
no further setup is needed on the fulfiller side.
|
|
116
|
+
|
|
117
|
+
### Stage 7 — Offer the IT Service Agentforce agent ⟶ BRANCH
|
|
118
|
+
Tell the user the **IT Service** side has pending work: the embedded Agentforce agent ("Ask AI Agent")
|
|
119
|
+
does **not** reply until its messaging channel + Key Set + Embedded Service Deployment are built.
|
|
120
|
+
**Ask whether they want to set it up now** (use `AskUserQuestion`). If **no**, go to the completion
|
|
121
|
+
summary. If **yes**, run Stage 8.
|
|
122
|
+
|
|
123
|
+
### Stage 8 — Build the IT Service embedded agent (only if the user said yes)
|
|
124
|
+
Invoke **`service-itsm-teams-employee-agent-configure`**. It builds — 100% via API — the Web
|
|
125
|
+
messaging channel with **User Verification ON + a `JWKS_URL` Key Set**, the `Teams_AgentForce`
|
|
126
|
+
Embedded Service Deployment (publish), the routing flow, and the Agent Access permission set on the
|
|
127
|
+
portal user. Then tell the user to **retest from a brand-new Teams chat** to confirm the agent replies.
|
|
128
|
+
|
|
129
|
+
## After each stage
|
|
130
|
+
|
|
131
|
+
- **Report the child's ACTUAL verdict — never assume "Done."** A stage is complete only when its
|
|
132
|
+
child skill explicitly reported success. If a child reports **blocked** (most commonly Stage 2 while
|
|
133
|
+
the Entra app is unregistered, or a halt awaiting "installed"), keep that stage **`Blocked`/waiting**
|
|
134
|
+
and hold at the halt — do not mark it done and do not skip ahead.
|
|
135
|
+
- Do not re-present a menu. State what just finished and what you're doing next, then do it.
|
|
136
|
+
|
|
137
|
+
## Completion summary
|
|
138
|
+
|
|
139
|
+
When the flow ends (Stage 7 "no", or Stage 8 done, or a hard block the user chose not to resolve),
|
|
140
|
+
summarize each stage's real status. Header: all stages complete → **Complete**; any stage still
|
|
141
|
+
blocked/waiting → **Incomplete (action required)** with the exact next step; otherwise **Finished**.
|
|
142
|
+
|
|
143
|
+
## Rules
|
|
144
|
+
|
|
145
|
+
- ALWAYS show "(via service-itsm-teams-coordinate)" in the setup header.
|
|
146
|
+
- Run the stages **continuously**; the only interactive stops are HALT 1–3 and the Stage 7 branch.
|
|
147
|
+
- NEVER ask the user to click a Setup toggle a child skill can flip via API (feature enable, org
|
|
148
|
+
prefs, permission-set assignment, digital site, named credentials).
|
|
149
|
+
- NEVER fabricate a halt value (Azure creds, "installed") or a child's success — wait for the real reply.
|
|
150
|
+
- Delegate every stage to its child skill; never re-implement a child's API logic inline here.
|
|
151
|
+
- Track progress across the conversation — do not re-run a completed stage.
|
|
152
|
+
- Do not show Salesforce record IDs in any output — human-readable names only.
|
|
153
|
+
- At Stages 3 and 4, always include the **Azure-email-must-match-Salesforce-email** note with the
|
|
154
|
+
marketplace link, since a mismatch is a common silent login failure.
|
|
155
|
+
|
|
156
|
+
## Verification checklist
|
|
157
|
+
|
|
158
|
+
Before emitting any progress message or summary, confirm:
|
|
159
|
+
|
|
160
|
+
- [ ] The header line ends with `(via service-itsm-teams-coordinate)`.
|
|
161
|
+
- [ ] The flow is running continuously — no permission gate was inserted between stages beyond the
|
|
162
|
+
three defined halts and the Stage 7 branch.
|
|
163
|
+
- [ ] Each stage's status reflects the child's actual verdict (`In progress`, `Blocked`/waiting, or
|
|
164
|
+
`Done`) — not a hard-coded default.
|
|
165
|
+
- [ ] A stage waiting on a halt (Azure creds, "installed") is shown as waiting, never `Done`.
|
|
166
|
+
- [ ] Stages 3 and 4 each surfaced the marketplace link **and** the email-must-match note.
|
|
167
|
+
- [ ] The Stage 7 branch was offered as a yes/no question, and Stage 8 ran only on an explicit "yes."
|
|
168
|
+
- [ ] The next action delegates to a child skill; features are never configured inline here.
|
|
169
|
+
- [ ] No Salesforce record IDs appear in the output — human-readable names only.
|
|
170
|
+
|
|
171
|
+
## Reference File Index
|
|
172
|
+
|
|
173
|
+
| File | When to read |
|
|
174
|
+
|------|--------------|
|
|
175
|
+
| `examples/output-templates.md` | Progress and completion-summary text blocks |
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Output Templates — service-itsm-teams-coordinate
|
|
2
|
+
|
|
3
|
+
This orchestrator runs the Teams ITSM setup as one continuous autopilot (Stages 1–8), stopping only
|
|
4
|
+
at the three halts and the Stage 7 branch. Emit a **stage-progress** block as you move between
|
|
5
|
+
stages, and a **completion summary** at the end. Do **not** emit a feature-selection menu — the flow
|
|
6
|
+
is linear, not menu-driven.
|
|
7
|
+
|
|
8
|
+
## Stage-progress block (emit as you move between stages)
|
|
9
|
+
|
|
10
|
+
Report what just finished and what you're doing next, then keep going (no permission gate). Use the
|
|
11
|
+
child skill's ACTUAL verdict — a stage holding at a halt is `Waiting`, never `Done`.
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
Microsoft Teams for ITSM Setup (via service-itsm-teams-coordinate)
|
|
15
|
+
|
|
16
|
+
┌───┬────────────────────────────────────────────┬──────────────────────┐
|
|
17
|
+
│ # │ Stage │ Status │
|
|
18
|
+
├───┼────────────────────────────────────────────┼──────────────────────┤
|
|
19
|
+
│ 1 │ Enable Teams for Employee Service feature │ Done │
|
|
20
|
+
│ 2 │ Microsoft Entra app + Named Credentials │ Waiting (Azure creds)│
|
|
21
|
+
│ 3 │ IT Desk (pref, access, Swarming, install) │ Not started │
|
|
22
|
+
│ 4 │ IT Service (pref, access, site, install) │ Not started │
|
|
23
|
+
│ 5 │ Verify login (fulfiller + UEL) │ Not started │
|
|
24
|
+
│ 6 │ IT Desk "Ask Agentforce" (automatic) │ Not started │
|
|
25
|
+
│ 7 │ Offer IT Service Agentforce agent │ Not started │
|
|
26
|
+
│ 8 │ Build IT Service embedded agent (optional) │ Not started │
|
|
27
|
+
└───┴────────────────────────────────────────────┴──────────────────────┘
|
|
28
|
+
|
|
29
|
+
Next: send me the Azure app's Client ID and Tenant ID, and put the Client Secret in the
|
|
30
|
+
TEAMS_ENTRA_CLIENT_SECRET environment variable (or a secret file — tell me the path). Don't paste
|
|
31
|
+
the secret here. I'll read it from there and write everything into the Named Credential and Auth
|
|
32
|
+
Provider automatically.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Status values: `Not started`, `In progress`, `Waiting (<what for>)`, `Blocked`, `Done`.
|
|
36
|
+
|
|
37
|
+
## Halt messages
|
|
38
|
+
|
|
39
|
+
- **HALT 1 (Stage 2 — Azure/Entra app):** deliver the child's app-registration instructions
|
|
40
|
+
(including the Microsoft Graph Application permissions) and end with: *"Send me the **Client ID**
|
|
41
|
+
and **Tenant ID** here, and put the **Client Secret** in the `TEAMS_ENTRA_CLIENT_SECRET`
|
|
42
|
+
environment variable (or a secret file — tell me the path). Please don't paste the secret in chat.
|
|
43
|
+
I'll read it from there and populate the Named Credential and Auth Provider automatically — no
|
|
44
|
+
manual Setup entry needed."* Then wait.
|
|
45
|
+
- **HALT 2 / HALT 3 (Stages 3 & 4 — app install):** deliver the Microsoft Marketplace link + help
|
|
46
|
+
doc, then: *"Install the app in your Microsoft Teams admin center, then reply **installed** and
|
|
47
|
+
I'll continue. Note: the Azure/Microsoft email the user signs in with must match that Salesforce
|
|
48
|
+
user's email/Username, or login fails silently."* Then wait for `installed`.
|
|
49
|
+
|
|
50
|
+
## Completion summary
|
|
51
|
+
|
|
52
|
+
Fires at Stage 7 "no", after Stage 8 completes, or when the user stops. Substitute each stage's real
|
|
53
|
+
tracked status — never hard-code `Done`.
|
|
54
|
+
|
|
55
|
+
- Header: every stage `Done` → `Microsoft Teams for ITSM Setup — Complete`; any stage
|
|
56
|
+
`Blocked`/`Waiting` → `Microsoft Teams for ITSM Setup — Incomplete (action required)`; otherwise →
|
|
57
|
+
`Microsoft Teams for ITSM Setup — Finished`.
|
|
58
|
+
- Closing line: all `Done` → `Your Microsoft Teams for ITSM setup is complete.`; any
|
|
59
|
+
`Blocked`/`Waiting` → `Setup is not complete — finish the outstanding step noted above (e.g. paste
|
|
60
|
+
the Azure credentials, or install the Teams app) and I'll resume.`; otherwise → `You've finished
|
|
61
|
+
the stages you chose. The IT Service embedded agent can be built later by re-invoking this
|
|
62
|
+
orchestrator.`
|
|
63
|
+
- Never emit `Complete` while any stage is `Blocked`/`Waiting`.
|
|
64
|
+
|
|
65
|
+
Example — user declined the IT Service agent at Stage 7:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
Microsoft Teams for ITSM Setup — Finished
|
|
69
|
+
(via service-itsm-teams-coordinate)
|
|
70
|
+
|
|
71
|
+
┌────────────────────────────────────────────┬─────────────┐
|
|
72
|
+
│ Stage │ Status │
|
|
73
|
+
├────────────────────────────────────────────┼─────────────┤
|
|
74
|
+
│ Enable Teams for Employee Service feature │ Done │
|
|
75
|
+
│ Microsoft Entra app + Named Credentials │ Done │
|
|
76
|
+
│ IT Desk (pref, access, Swarming, install) │ Done │
|
|
77
|
+
│ IT Service (pref, access, site, install) │ Done │
|
|
78
|
+
│ Verify login (fulfiller + UEL) │ Done │
|
|
79
|
+
│ IT Desk "Ask Agentforce" (automatic) │ Done │
|
|
80
|
+
│ IT Service Agentforce agent │ Declined │
|
|
81
|
+
└────────────────────────────────────────────┴─────────────┘
|
|
82
|
+
|
|
83
|
+
You've finished the stages you chose. The IT Service embedded agent can be built later by
|
|
84
|
+
re-invoking this orchestrator.
|
|
85
|
+
```
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: service-itsm-teams-debug
|
|
3
|
+
description: "Debug and diagnose Microsoft Teams for Employee Service (ITSM) configuration failures — run a pass/fail validation checklist against the org and report exact remediation. Use this for: 'IT Desk login not working in Teams', 'UEL/CCP user can't log in to IT Service', 'Teams feature not showing / not enabled', 'CI Hub / Service Catalog / My Assets tab not loading', 'Teams Agentforce agent not responding', 'Teams swarming not working', 'Teams SSO failing', or any request to troubleshoot a Teams ITSM setup. Routes the problem to the right checklist (login, feature enablement, tab loading, Agentforce, swarming, SSO) and checks the exact CORS, External Client App, feature toggle, PSL, profile, auth-provider, named-credential, and messaging-channel settings each requires. DO NOT TRIGGER for first-time enablement (service-itsm-teams-configure / -itservice-configure / -itdesk-configure) or building the embedded agent from scratch (service-itsm-teams-employee-agent-configure)."
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0"
|
|
6
|
+
domains: ["Service"]
|
|
7
|
+
minApiVersion: "62.0"
|
|
8
|
+
relatedSkills:
|
|
9
|
+
- "service-itsm-channels-coordinate"
|
|
10
|
+
- "service-itsm-teams-configure"
|
|
11
|
+
- "service-itsm-teams-employee-agent-configure"
|
|
12
|
+
- "service-itsm-teams-itdesk-configure"
|
|
13
|
+
- "service-itsm-teams-itservice-configure"
|
|
14
|
+
mcpTools:
|
|
15
|
+
headless-360:
|
|
16
|
+
tools: ["describe", "discover", "dispatch", "dispatch_readonly"]
|
|
17
|
+
semver: ">=1.0.0"
|
|
18
|
+
accessCheck:
|
|
19
|
+
- type: "orgPref"
|
|
20
|
+
value: "ITSMTeamsEnabled"
|
|
21
|
+
allowed-tools: |
|
|
22
|
+
Read AskUserQuestion
|
|
23
|
+
mcp__headless-360__discover
|
|
24
|
+
mcp__headless-360__describe
|
|
25
|
+
mcp__headless-360__dispatch
|
|
26
|
+
mcp__headless-360__dispatch_readonly
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Troubleshoot Microsoft Teams for Employee Service (ITSM)
|
|
30
|
+
|
|
31
|
+
When someone reports a **Microsoft Teams for Employee Service** failure — can't log in, a tab
|
|
32
|
+
won't load, the feature isn't showing, the Agentforce agent won't reply, swarming or SSO is
|
|
33
|
+
broken — this skill connects to the org, runs the **pass/fail checklist for that specific
|
|
34
|
+
problem**, and reports each setting's actual value plus the exact Setup path to fix any that are
|
|
35
|
+
wrong. It replaces "check every setting by hand" with a targeted, verified diagnosis.
|
|
36
|
+
|
|
37
|
+
Every read dispatches through **headless-360** (`dispatch_readonly` for queries, `dispatch` only
|
|
38
|
+
for the optional swarming-token clear). No org password is needed.
|
|
39
|
+
|
|
40
|
+
## Scope
|
|
41
|
+
|
|
42
|
+
- **In scope:** Diagnosing an already-attempted Teams ITSM setup that is failing. Routing the
|
|
43
|
+
reported symptom to the right checklist and checking the exact settings it requires (CORS,
|
|
44
|
+
External Client App, feature toggles, PSLs, profile session settings, auth provider, named
|
|
45
|
+
credentials, messaging channel, Agentforce agent).
|
|
46
|
+
- **Out of scope:** First-time enablement (use `service-itsm-teams-configure` /
|
|
47
|
+
`-itservice-configure` / `-itdesk-configure`), building the embedded agent from scratch (use
|
|
48
|
+
`service-itsm-teams-employee-agent-configure`), and non-Teams Salesforce debugging.
|
|
49
|
+
|
|
50
|
+
> **Read-only by default.** Every check is a `dispatch_readonly` query — running the full
|
|
51
|
+
> checklist changes nothing. The only state-changing action is the optional swarming OAuth-token
|
|
52
|
+
> clear at the very end, and only with explicit user confirmation.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Step 1 — Identify the problem and collect inputs
|
|
57
|
+
|
|
58
|
+
Ask the user for their **problem description** if not already given. Match it to a checklist using
|
|
59
|
+
the **Feature Map** in [`references/configuration-checklists.md`](references/configuration-checklists.md).
|
|
60
|
+
|
|
61
|
+
Some problems need extra inputs — ask for them up front:
|
|
62
|
+
|
|
63
|
+
| Problem type | Extra input to collect |
|
|
64
|
+
|---|---|
|
|
65
|
+
| Generic "login" (no app named) | Ask **which app** — IT Desk or IT Service |
|
|
66
|
+
| IT Desk login | End-user's Salesforce username (the person who can't log in) |
|
|
67
|
+
| IT Service login | **CCP or UEL user?**, then that end-user's Salesforce username |
|
|
68
|
+
| Agentforce not replying | Employee Experience Site URL |
|
|
69
|
+
| Swarming | End-user's username; Azure AD **Tenant ID** (optional — enables the Azure app check) |
|
|
70
|
+
| SSO | Azure AD **Tenant ID** (optional); optionally which app + end-user username |
|
|
71
|
+
|
|
72
|
+
Do **not** run the agent-specific checks until you have the mandatory inputs for that checklist
|
|
73
|
+
(e.g. don't skip asking for the end-user username on a login issue — the per-user checks are
|
|
74
|
+
`MANUAL_CHECK_REQUIRED` without it).
|
|
75
|
+
|
|
76
|
+
## Step 2 — Route to the checklist
|
|
77
|
+
|
|
78
|
+
Pick the checklist from the Feature Map, then run its checks **in order** from
|
|
79
|
+
[`references/configuration-checklists.md`](references/configuration-checklists.md):
|
|
80
|
+
|
|
81
|
+
| Symptom | Checklist |
|
|
82
|
+
|---|---|
|
|
83
|
+
| IT Desk login | `LOGIN_DESK` |
|
|
84
|
+
| IT Service login — UEL user | `LOGIN_SERVICE_UEL` |
|
|
85
|
+
| IT Service login — CCP user | `LOGIN_SERVICE_CCP` |
|
|
86
|
+
| Generic login (app unknown) | `LOGIN` (then ask which app) |
|
|
87
|
+
| Feature not showing / not enabled | `MSTEAMS_CORE` |
|
|
88
|
+
| Tab won't load (CI Hub, Service Catalog, Employee Enablement, My Assets) | `TAB_LOADING` |
|
|
89
|
+
| Lightning app not embedding / blank tab | `LIGHTNING_OUT` |
|
|
90
|
+
| Agentforce agent not replying | `AGENTFORCE` |
|
|
91
|
+
| Swarming | `SWARMING` |
|
|
92
|
+
| Single Sign-On | `SSO` (+ the app-specific login checklist if an app is named) |
|
|
93
|
+
|
|
94
|
+
When an app is named for an SSO issue, run **both** the `SSO` checklist and the matching login
|
|
95
|
+
checklist (`LOGIN_DESK` / `LOGIN_SERVICE_CCP` / `LOGIN_SERVICE_UEL`) — skip duplicate checks.
|
|
96
|
+
|
|
97
|
+
## Step 3 — Run the checks
|
|
98
|
+
|
|
99
|
+
Execute each check's query via `dispatch_readonly` (queries and API fields are spelled out in the
|
|
100
|
+
reference). Record for each check: a **status** and the **configured value** actually read from
|
|
101
|
+
the org.
|
|
102
|
+
|
|
103
|
+
| Status | Render as | Meaning |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| `OK` | OK | Correctly configured |
|
|
106
|
+
| `MISCONFIGURED` / `MISSING` / `DISABLED` / `ERROR` | FAIL | Needs fixing — include the exact Setup path from the reference |
|
|
107
|
+
| `MANUAL_CHECK_REQUIRED` | MANUAL | Needs manual verification (or a missing optional input like Tenant ID/username) — never render this as FAIL |
|
|
108
|
+
|
|
109
|
+
## Step 4 — Report
|
|
110
|
+
|
|
111
|
+
Render a table with **all four columns** — `#`, `Check`, `Status`, **`Configured Value`** (never
|
|
112
|
+
omit the configured value), plus an `Action Required` note carrying the remediation for any
|
|
113
|
+
failed check. End with a one-line summary: `N passed | N failed | N require manual verification`.
|
|
114
|
+
|
|
115
|
+
- **All passed:** tell the user the Salesforce backend is correctly configured; if the problem
|
|
116
|
+
persists, reload the Teams app (**⋯** on the IT Desk/IT Service app → **Reload app**).
|
|
117
|
+
- **Any failed:** don't add the reload note — the per-check `Action Required` steps are the fix.
|
|
118
|
+
|
|
119
|
+
The full report-rendering rules, special-case notes, the example report layout, and the optional
|
|
120
|
+
swarming OAuth-token clear are in
|
|
121
|
+
[`references/report-generation.md`](references/report-generation.md).
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Gotchas (verified)
|
|
126
|
+
|
|
127
|
+
| Issue | Detail |
|
|
128
|
+
|---|---|
|
|
129
|
+
| The Teams ECA DeveloperName is `ServiceCloudTeamsEca` | The External Client App the login checks look for is `ServiceCloudTeamsEca`. (A per-org packaged instance may surface under a related name such as `ServiceCloudMSTeamsEca`; match on the ECA that backs the Teams login, and treat a missing app as "turn the feature off and on again.") |
|
|
130
|
+
| "Allow OAuth for employees" is **Metadata-API-only** for reading, and **Setup-UI-only** to change | Read via SOAP `listMetadata(ProfileSessionSetting)` → `readMetadata` on the fullName containing `unified`; field `allowOauthForEmployees` (`true`=enabled, `false`=disabled, absent=never configured). It is **not** on `Profile` describe and **not** REST/Tooling-queryable. To set it, use Setup → Profiles → *(employee profile)* → Session Settings. **UEL users only.** |
|
|
131
|
+
| CORS check reads `IsOauthCorsPolicyEnabled`, allowed origins read `CorsWhitelistEntry.UrlPattern` | Both `https://cdn.scs.static.lightning.force.com` **and** `https://teams.cloud.microsoft` must be present. |
|
|
132
|
+
| Feature toggles are read via the FulfillerApp permissions Connect API | `GET /connect/it-service/permissions/FulfillerApp` returns the org/user feature flags; a `FUNCTIONALITY_NOT_ENABLED` error means the `IServiceItsmTeamsFamily` family is off at the org level. |
|
|
133
|
+
| Agentforce user-verification fields need **SOAP v62+** | `MessagingChannel.embeddedConfig` (`authMode`, `messagingAuthorizations.*`) is silently omitted by SOAP v60 — use v62+. |
|
|
134
|
+
| Version prefix required | headless-360 `dispatch`/`dispatch_readonly` don't resolve API versions — always pass the full `/services/data/vXX.0/...` prefix. |
|
|
135
|
+
|
|
136
|
+
## Related Skills
|
|
137
|
+
|
|
138
|
+
| Skill | When to use instead |
|
|
139
|
+
|---|---|
|
|
140
|
+
| `service-itsm-teams-configure` | First-time enablement of the base Teams Go page toggle, Azure/Entra app, Named Credential, extension registration |
|
|
141
|
+
| `service-itsm-teams-itservice-configure` | Completing the IT Service (employee) enablement checklist |
|
|
142
|
+
| `service-itsm-teams-itdesk-configure` | Completing the IT Desk (fulfiller) enablement checklist + Swarming collaboration tool |
|
|
143
|
+
| `service-itsm-teams-employee-agent-configure` | Building the embedded Agentforce agent from scratch so it replies in Teams |
|
|
144
|
+
| `service-itsm-channels-coordinate` | Top-level menu across Teams, Slack, Swarming, Notifications, Portal |
|