@salesforce/afv-skills 1.44.0 → 1.45.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/consumer-goods-rtr-datacloud-export-configure/SKILL.md +72 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/references/inputs-and-namespace.md +38 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/references/procedure.md +158 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/scripts/detect-namespace.js +86 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/scripts/render-apex.js +64 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/scripts/resolve-id-by-name.js +47 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/scripts/sf-rest.js +171 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/scripts/soql-escape.js +26 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/scripts/upsert-report-config.apex +51 -0
- package/skills/consumer-goods-rtr-datacloud-export-configure/scripts/upsert-system-setting.apex +21 -0
- package/skills/consumer-goods-tpe-dashboard-configure/SKILL.md +74 -0
- package/skills/consumer-goods-tpe-dashboard-configure/references/phases-1-6.md +112 -0
- package/skills/consumer-goods-tpe-dashboard-configure/references/phases-7-12.md +157 -0
- package/skills/consumer-goods-tpe-dashboard-configure/scripts/find-failure-reason.js +132 -0
- package/skills/consumer-goods-tpe-dashboard-configure/scripts/poll-status.js +116 -0
- package/skills/consumer-goods-tpe-dashboard-configure/scripts/render-apex.js +64 -0
- package/skills/consumer-goods-tpe-dashboard-configure/scripts/run-data-transform.js +121 -0
- package/skills/consumer-goods-tpe-dashboard-configure/scripts/schedule-business-period-export.apex +27 -0
- package/skills/consumer-goods-tpe-dashboard-configure/scripts/sf-rest.js +171 -0
- package/skills/consumer-goods-tpe-dashboard-configure/scripts/soql-escape.js +25 -0
- package/skills/consumer-goods-tpe-dashboard-custom-kpi-configure/SKILL.md +141 -0
- package/skills/consumer-goods-tpe-dashboard-custom-kpi-configure/references/payload-shapes.md +447 -0
- package/skills/consumer-goods-tpe-dashboard-custom-kpi-configure/references/procedure.md +263 -0
- package/skills/consumer-goods-tpe-dashboard-custom-kpi-configure/scripts/clone-tpe-dashboards.js +537 -0
- package/skills/consumer-goods-tpe-dashboard-custom-kpi-configure/scripts/sf-rest.js +195 -0
- package/skills/consumer-goods-tpe-datakit-deploy/SKILL.md +157 -0
- package/skills/consumer-goods-tpe-datakit-deploy/scripts/detect-namespace.js +86 -0
- package/skills/consumer-goods-tpe-datakit-deploy/scripts/download-static-resource.js +151 -0
- package/skills/consumer-goods-tpe-datakit-deploy/scripts/extract-crm-field-permissions.js +115 -0
- package/skills/consumer-goods-tpe-datakit-deploy/scripts/sf-rest.js +109 -0
- package/skills/consumer-goods-tpe-datakit-deploy/scripts/update-field-permissions.js +433 -0
- package/skills/service-catalog-template-coordinate/SKILL.md +263 -0
- package/skills/service-catalog-template-coordinate/examples/output-templates.md +44 -0
- package/skills/service-catalog-template-coordinate/references/mcp-invocation.md +183 -0
- package/skills/service-catalog-template-coordinate/references/operations.md +230 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/SKILL.md +243 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/references/cli-invocation.md +205 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/references/helper-contracts.md +236 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/references/permset-topology.md +132 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/scripts/classify-activated-agents.mjs +106 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/scripts/classify-agent-access-state.mjs +113 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/scripts/classify-assignment-state.mjs +99 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/scripts/classify-platform-permset-availability.mjs +155 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/scripts/gate-unified-catalog-tiers.mjs +100 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/scripts/rank-candidate-users.mjs +95 -0
- package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/scripts/resolve-target-user.mjs +86 -0
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +44 -23
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/examples/output-templates.md +33 -9
- package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +17 -18
- package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +3 -1
- package/skills/service-itsm-agentic-setup-configure/SKILL.md +20 -12
- package/skills/service-itsm-agentic-setup-configure/examples/output-templates.md +73 -5
- package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +8 -7
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/cli-invocation.md +45 -33
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/reactivation.md +8 -6
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/workflow-detail.md +10 -10
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/classify-agent-existence.mjs +114 -56
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/classify-preflight.mjs +33 -17
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/render-report.mjs +9 -3
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +8 -7
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/cli-invocation.md +43 -32
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/reactivation.md +6 -4
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/workflow-detail.md +10 -10
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-agent-existence.mjs +106 -55
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-preflight.mjs +27 -13
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/render-report.mjs +9 -3
- package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +159 -161
- package/skills/service-itsm-agentic-setup-incident-sla-configure/assets/attach-milestone-action.json +51 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/assets/attach-milestone.json +1 -1
- package/skills/service-itsm-agentic-setup-incident-sla-configure/assets/predefined-incident-policy.json +120 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/milestone-patterns.md +28 -5
- package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/output-templates.md +19 -1
- package/skills/service-itsm-agentic-setup-incident-sla-configure/references/mcp-invocation.md +350 -30
- package/skills/service-itsm-channels-coordinate/SKILL.md +80 -213
- package/skills/service-itsm-slack-itservice-configure/SKILL.md +363 -0
- package/skills/service-itsm-slack-itservice-configure/references/connect-agentforce-to-slack.md +159 -0
- package/skills/service-itsm-slack-itservice-configure/references/manage-slack-connection.md +88 -0
- package/skills/service-itsm-slack-itservice-configure/references/manage-user-access.md +117 -0
- package/skills/service-itsm-slack-itservice-configure/references/record-visibility.md +78 -0
- package/skills/service-itsm-slack-itservice-configure/references/site-membership-verification.md +126 -0
- package/skills/service-itsm-slack-itservice-configure/scripts/classify-user-access.mjs +167 -0
- package/skills/service-itsm-teams-configure/SKILL.md +50 -47
- package/skills/service-itsm-teams-configure/references/azure-credential-population.md +42 -28
- package/skills/service-itsm-teams-configure/references/gotchas.md +1 -2
- package/skills/service-itsm-teams-coordinate/SKILL.md +22 -18
- package/skills/service-itsm-teams-coordinate/examples/output-templates.md +12 -9
- package/skills/service-itsm-teams-itdesk-configure/SKILL.md +60 -44
- package/skills/service-itsm-teams-itservice-configure/SKILL.md +56 -70
- package/skills/service-catalog-template-deploy/SKILL.md +0 -310
- package/skills/service-catalog-template-deploy/references/cli-invocation.md +0 -258
- package/skills/service-catalog-template-deploy/scripts/activate-verify.mjs +0 -164
- package/skills/service-catalog-template-deploy/scripts/build-deploy-payload.mjs +0 -94
- package/skills/service-catalog-template-deploy/scripts/resolve-template.mjs +0 -331
- package/skills/service-catalog-template-search/SKILL.md +0 -212
- package/skills/service-catalog-template-search/references/cli-invocation.md +0 -128
- package/skills/service-catalog-template-search/scripts/classify-catalog.mjs +0 -205
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Out-of-box 'Standard Support for Incidents' predefined SLA policy — the exact template Salesforce ITSM seeds when a customer clicks 'Create Predefined Policies' in Setup (Incident process type only). Source of truth for Phase 2-OOB. This is a DATA template, not a ready-to-POST body: substitute <businessHoursId> / <AccountId> at runtime and translate the criteria per the recipe in references/mcp-invocation.md (Predefined Incident Policy). Modeled on core service-itsm-impl default-sla-policies/incident.json + shared_core_ui_labels/incident-management.xml (DefaultSeededSla). The core template groups Moderate+Low into one Priority In[Moderate,Low] tier (6 milestones); this template expresses it as 8 milestones (Moderate and Low as separate Priority Equals rows) because the public /connect/sla-management milestone-criteria route has no In operator — behavior-equivalent, and this is the shape the headless seed produces.",
|
|
3
|
+
|
|
4
|
+
"policy": {
|
|
5
|
+
"name": "Standard Support for Incidents",
|
|
6
|
+
"description": "Standard Support for Incidents",
|
|
7
|
+
"processType": "Incident",
|
|
8
|
+
"businessHourId": "<default active BusinessHours Id>",
|
|
9
|
+
"createdDateEntryCriteria": true,
|
|
10
|
+
"closedExitCriteria": true,
|
|
11
|
+
"versionDefault": true,
|
|
12
|
+
"active": true,
|
|
13
|
+
"_recordTypeApplied": false,
|
|
14
|
+
"_slaType": "SLA",
|
|
15
|
+
"_activeNote": "The OOB backend creates the SlaProcess with active:false, then flips it active:true during auto-entitlement activation. When replicating via the public /connect/sla-management/sla-policies POST, create it directly with active:true (same as the custom Phase 2 flow) to avoid the Connect activate PATCH, which can 500 headless."
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
"_milestoneTypesNote": "DETECT BEFORE CREATE. Enabling the SLA Management feature pre-seeds a default MilestoneType catalog (commonly First Response, Follow Up, Periodic Update, and Resolve Within). A blind POST for a name that already exists returns HTTP 500 ('already exists') and half-seeds the policy. First read the catalog (SOQL SELECT Id, Name FROM MilestoneType WHERE Name IN ('Acknowledge Within','Resolve Within'), or GET .../milestone-types), reuse any match by id, and POST only the missing name(s). See references/mcp-invocation.md (Predefined Incident Policy, seed step 1).",
|
|
19
|
+
"milestoneTypes": [
|
|
20
|
+
{ "name": "Acknowledge Within", "description": "Acknowledge Within", "recurrenceType": "OneTime" },
|
|
21
|
+
{ "name": "Resolve Within", "description": "Resolve Within", "recurrenceType": "OneTime" }
|
|
22
|
+
],
|
|
23
|
+
|
|
24
|
+
"milestones": [
|
|
25
|
+
{
|
|
26
|
+
"order": 1,
|
|
27
|
+
"milestoneType": "Acknowledge Within",
|
|
28
|
+
"timeTrigger": 30,
|
|
29
|
+
"priorityTier": "Critical",
|
|
30
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "Critical" },
|
|
31
|
+
"completeWhen": { "field": "Status", "operator": "NotEqual", "value": "New" },
|
|
32
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "Critical" }
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"order": 2,
|
|
36
|
+
"milestoneType": "Resolve Within",
|
|
37
|
+
"timeTrigger": 120,
|
|
38
|
+
"priorityTier": "Critical",
|
|
39
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "Critical" },
|
|
40
|
+
"completeWhen": { "field": "Status", "filterLogic": "1 OR 2 OR 3", "rows": [ { "operator": "Equals", "value": "Resolved" }, { "operator": "Equals", "value": "Completed" }, { "operator": "Equals", "value": "Closed" } ] },
|
|
41
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "Critical" }
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"order": 3,
|
|
45
|
+
"milestoneType": "Acknowledge Within",
|
|
46
|
+
"timeTrigger": 60,
|
|
47
|
+
"priorityTier": "High",
|
|
48
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "High" },
|
|
49
|
+
"completeWhen": { "field": "Status", "operator": "NotEqual", "value": "New" },
|
|
50
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "High" }
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"order": 4,
|
|
54
|
+
"milestoneType": "Resolve Within",
|
|
55
|
+
"timeTrigger": 240,
|
|
56
|
+
"priorityTier": "High",
|
|
57
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "High" },
|
|
58
|
+
"completeWhen": { "field": "Status", "filterLogic": "1 OR 2 OR 3", "rows": [ { "operator": "Equals", "value": "Resolved" }, { "operator": "Equals", "value": "Completed" }, { "operator": "Equals", "value": "Closed" } ] },
|
|
59
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "High" }
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"order": 5,
|
|
63
|
+
"milestoneType": "Acknowledge Within",
|
|
64
|
+
"timeTrigger": 240,
|
|
65
|
+
"priorityTier": "Moderate",
|
|
66
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "Moderate" },
|
|
67
|
+
"completeWhen": { "field": "Status", "operator": "NotEqual", "value": "New" },
|
|
68
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "Moderate" }
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"order": 6,
|
|
72
|
+
"milestoneType": "Resolve Within",
|
|
73
|
+
"timeTrigger": 960,
|
|
74
|
+
"priorityTier": "Moderate",
|
|
75
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "Moderate" },
|
|
76
|
+
"completeWhen": { "field": "Status", "filterLogic": "1 OR 2 OR 3", "rows": [ { "operator": "Equals", "value": "Resolved" }, { "operator": "Equals", "value": "Completed" }, { "operator": "Equals", "value": "Closed" } ] },
|
|
77
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "Moderate" }
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"order": 7,
|
|
81
|
+
"milestoneType": "Acknowledge Within",
|
|
82
|
+
"timeTrigger": 240,
|
|
83
|
+
"priorityTier": "Low",
|
|
84
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "Low" },
|
|
85
|
+
"completeWhen": { "field": "Status", "operator": "NotEqual", "value": "New" },
|
|
86
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "Low" }
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"order": 8,
|
|
90
|
+
"milestoneType": "Resolve Within",
|
|
91
|
+
"timeTrigger": 960,
|
|
92
|
+
"priorityTier": "Low",
|
|
93
|
+
"activeWhen": { "field": "Priority", "operator": "Equals", "value": "Low" },
|
|
94
|
+
"completeWhen": { "field": "Status", "filterLogic": "1 OR 2 OR 3", "rows": [ { "operator": "Equals", "value": "Resolved" }, { "operator": "Equals", "value": "Completed" }, { "operator": "Equals", "value": "Closed" } ] },
|
|
95
|
+
"cancelWhen": { "field": "Priority", "operator": "NotEqual", "value": "Low" }
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
|
|
99
|
+
"entitlement": {
|
|
100
|
+
"_note": "The OOB backend auto-creates the Entitlement during activation. When replicating headless, create it via POST /sobjects/Entitlement on the resolved Account (same as the custom Phase 2 flow), SlaProcessId = the seeded policy, backdated StartDate for immediate engagement.",
|
|
101
|
+
"name": "Standard Support for Incidents",
|
|
102
|
+
"matchAllCriterion": {
|
|
103
|
+
"_note": "The OOB seeds an always-true entitlement criterion so every Incident matches automatically. ATTEMPT to replicate it via POST /connect/sla-management/entitlement-criteria: `describe` the route FIRST and send its exact input fields — it rejects `filterType`, and a wrong body returns a 400 (a wrong-payload error, NOT a platform gap). Only if the create still 400s after using the described schema, fall back to the date-windowed Entitlement alone and REPORT only the engagement-scope consequence: the policy then engages on Incidents wired to this Entitlement (EntitlementId set), not automatically on every Incident. Do NOT tell the user the route is 'unreachable' or 'undiscoverable' — it works; the body just needs its correct fields. The date-windowed Entitlement + the milestone criteria above are still sufficient to engage the Phase 3 test Incident.",
|
|
104
|
+
"field": "Subject",
|
|
105
|
+
"operator": "NotEqual",
|
|
106
|
+
"value": "!iw6vnffW1Pt:CQbS/0cwh!17G,Gj##H",
|
|
107
|
+
"priorityOrder": 98,
|
|
108
|
+
"criteriaType": "AND"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
"_replicationNotes": {
|
|
113
|
+
"table": "Every criterion filters the Incident table (filterItems[].table = \"Incident\").",
|
|
114
|
+
"activeCriterion": "The public Attach-Milestone route's milestoneCriteria carries the ACTIVE criterion — filterType RuleFilter, milestoneState Active, milestoneAgreementType SLA (customer-facing; OLA is the internal alternative — W-23959162). The priority-tier row IS this active criterion.",
|
|
115
|
+
"completionAndCancel": "The OOB completion (Status In resolved-set) and cancel (Priority NotEqual tier) criteria use milestoneState Complete / Cancel. Confirm the public milestone-criteria route accepts those states in the live smoke test; if it accepts only the Active criterion, seeding the priority-tiered Active criterion still engages each milestone (matches examples/milestone-patterns.md Pattern 3).",
|
|
116
|
+
"orClause": "The core OOB template groups Moderate+Low into one Priority In[Moderate,Low] tier. Because the public route's filterItems AND by default and Priority has no In operator, this template already splits that tier into separate Priority Equals Moderate (orders 5-6) and Priority Equals Low (orders 7-8) milestones with the same timeTriggers — behavior-equivalent to the merged core tier. Seed all 8 as listed.",
|
|
117
|
+
"statusIn": "Status 'In [Resolved, Completed, Closed]' has no single-row In operator, so each completeWhen above is already PRE-SPLIT into a filterLogic ('1 OR 2 OR 3') across three Status Equals rows — the data file never carries a route-rejected In operator. If the route rejects filterLogic, split into one Status Equals row per value (behavior-equivalent). Validate each Status/Priority value against the live Incident picklist before seeding.",
|
|
118
|
+
"midTier": "Map the mid tier to the org's ACTUAL mid-priority label — 'Moderate' on the standard ITSM picklist, but many orgs label it 'Medium'. Seed orders 5-6 with whichever the live Incident.Priority picklist carries rather than dropping the tier; drop a row only when its value is genuinely absent, and note any dropped/relabeled tier in the report."
|
|
119
|
+
}
|
|
120
|
+
}
|
package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/milestone-patterns.md
CHANGED
|
@@ -35,9 +35,9 @@ All strategies share these defaults unless overridden:
|
|
|
35
35
|
|
|
36
36
|
- `businessHoursId`: the default BusinessHours resolved in Phase 1 step 4
|
|
37
37
|
- `startTimeBasedOn`: `SlaProcessCreatedDate`
|
|
38
|
-
- `
|
|
39
|
-
- `
|
|
40
|
-
- `filterType`: `RuleFilter`
|
|
38
|
+
- `milestoneAgreementType`: `SLA` — inside each `milestoneCriteria[]` item (mandatory per the UI). Valid UI values are `SLA` (customer-facing) or `OLA` (internal); the API accepts any string because the underlying field is `Text(40)` with no server-side picklist, but the UI renders unrecognized values as blank (W-23959162)
|
|
39
|
+
- `milestoneState`: `Active` (inside `milestoneCriteria[]`)
|
|
40
|
+
- `filterType`: `RuleFilter` (inside `milestoneCriteria[]`)
|
|
41
41
|
- Base filter row: `Incident.Status NotEqual Closed` (keeps every milestone alive until the
|
|
42
42
|
Incident closes; ANDs with pattern-specific criteria below)
|
|
43
43
|
|
|
@@ -143,8 +143,10 @@ Incident create (e.g. via the Priority Matrix), the milestone re-evaluates on th
|
|
|
143
143
|
| 3 | Incident Executive Escalation | 480 | *(none)* |
|
|
144
144
|
|
|
145
145
|
All three run concurrently from `SlaProcessCreatedDate` — the "ladder" is enforced by the timers,
|
|
146
|
-
not by chaining.
|
|
147
|
-
|
|
146
|
+
not by chaining. To fire automation at a milestone's warning/violation checkpoint (warn before
|
|
147
|
+
target, escalate on breach), attach a **milestone action** in Phase 2.5 — see
|
|
148
|
+
`references/mcp-invocation.md` (Milestone Actions). (Strictly *sequential* chaining across separate
|
|
149
|
+
milestones is a different mechanism — workflow SLA actions — and remains out of scope.)
|
|
148
150
|
|
|
149
151
|
---
|
|
150
152
|
|
|
@@ -182,6 +184,27 @@ before creating the MilestoneType or attaching the milestone.
|
|
|
182
184
|
|
|
183
185
|
---
|
|
184
186
|
|
|
187
|
+
## Predefined preset — "Standard Support for Incidents" (OOB)
|
|
188
|
+
|
|
189
|
+
This is Salesforce's out-of-box predefined Incident SLA policy — a fixed priority-tiered preset offered
|
|
190
|
+
at the Phase 0.6 fork (not one of the Phase 1.4 custom options above). It pairs an **Acknowledge Within**
|
|
191
|
+
and a **Resolve Within** milestone per priority tier:
|
|
192
|
+
|
|
193
|
+
| tier | Acknowledge Within | Resolve Within |
|
|
194
|
+
|------|--------------------|----------------|
|
|
195
|
+
| Critical | 30 min | 120 min |
|
|
196
|
+
| High | 60 min | 240 min |
|
|
197
|
+
| Moderate or Low | 240 min | 960 min |
|
|
198
|
+
|
|
199
|
+
Seed it verbatim from `assets/predefined-incident-policy.json` following the recipe in
|
|
200
|
+
`references/mcp-invocation.md` (Predefined Incident Policy) — detect-before-seed (the policy AND the
|
|
201
|
+
pre-seeded MilestoneType catalog: reuse `Resolve Within` etc. by name, create only what is missing),
|
|
202
|
+
`active: true` on create, validate Priority/Status against the live picklist, and map the mid tier to
|
|
203
|
+
the org's real label (`Moderate` or `Medium`). Unlike the custom patterns above, when the user picks
|
|
204
|
+
this at the fork the skill seeds → verifies → **stops** (no custom milestone offer after).
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
185
208
|
## Gotchas across all patterns
|
|
186
209
|
|
|
187
210
|
| Issue | Detail |
|
package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/output-templates.md
CHANGED
|
@@ -54,4 +54,22 @@ Verification:
|
|
|
54
54
|
Chain: MilestoneTypes > SLA Policy > Milestones > Entitlement > Incident > EntityMilestones
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
## Success — milestone actions (Phase 2.5, when Warn/Escalate was requested)
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
Milestone Actions attached:
|
|
61
|
+
<MilestoneType name>:
|
|
62
|
+
- Warning: fires <X> min before target -> <action summary, e.g. set Priority = High>
|
|
63
|
+
- Violation: fires at breach -> <action summary, e.g. set Priority = Critical>
|
|
64
|
+
<MilestoneType name>:
|
|
65
|
+
- Warning: fires <Y> min before target -> <action summary>
|
|
66
|
+
- Violation: fires at breach -> <action summary>
|
|
67
|
+
|
|
68
|
+
Confirmation: each action was confirmed from its create response (success + action mapping
|
|
69
|
+
returned). The attached warning/escalation settings can't be independently queried after creation,
|
|
70
|
+
so that create-response confirmation is the verification.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
No record IDs in user-facing output — this applies to **every interim progress/narration message too**, not just these final templates: refer to the test Incident by its **`IncidentNumber`** and to milestones by their **`MilestoneType` name**, never the 15/18-char record Id.
|
|
74
|
+
|
|
75
|
+
**No implementation/MCP jargon in user-facing text.** Terms like "headless", "read-back", "dispatch", "Connect API", or operation ids are internal — never surface them in the report or narration. Say "the settings can't be independently queried after creation", **not** "no headless read-back". No files are produced — the skill mutates org configuration in place through headless-360 MCP dispatch.
|