Service Itsm Incident Priority Configure
Configures the Incident Priority Matrix for Salesforce ITSM through the sf CLI — enabling or disabling the matrix, shaping the Impact x Urgency grid that derives Priority on Incident records, toggling the manual-override preference, and reading or setting the default fallback priority. Reads every value before writing, is idempotent, and requires explicit user confirmation before any mutation. Use when the user wants to view, enable, disable, set up, seed, add to, change, or remove priority matrix configuration for Incident records, change the default incident priority, or asks about incident priority setup, impact/urgency mapping, override, or the ITSM incident priority matrix. DO NOT TRIGGER for Problem or ChangeRequest priority matrices, Case priority fields, standard Priority picklists outside ITSM, SLA or milestone configuration, or enabling Incident Management itself (use the service-itsm-incident-mgmt-configure skill).
- Skill ID
- forcedotcom/sf-skills/service-itsm-incident-priority-configure
- Publisher
- forcedotcom
- Repository
- sf-skills
- Installs
- 0
- Files
- 5
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
forcedotcom/sf-skills/service-itsm-incident-priority-configureInstalls these files- SKILL.md
- examples/matrix-operations.md
- examples/render-matrix.md
- examples/seed-full-matrix.md
- references/sf-cli-invocation.md
What this skill tells the agent
Configuring the Incident Priority Matrix (sf CLI)
Configures the Incident Priority Matrix for Salesforce ITSM — the grid that derives an Incident's Priority from its Impact and Urgency. Covers viewing the matrix, enabling / disabling it, adding / changing / removing / seeding cells, toggling the manual-override preference, and reading / setting the default (fallback) priority.
Every read and write dispatches through the `sf` CLI, so this skill works on any org with the Incident Management license enabled.
Writes are idempotent (skipped when the current state already matches the target), the skill always reads before it writes, and an explicit confirm-to-write checkpoint is required before any mutation.
Scope
- In scope (Incident only): view the matrix; enable / disable it; add, change, remove, or seed matrix cells; toggle manual override; read / set the default (fallback) priority.
- Out of scope:
ProblemandChangeRequestmatrices; non-ITSM Priority pickers; SLA / milestone / entitlement setup; enabling Incident Management itself. If the user asks aboutProblemorChangeRequest, stop and say so.
Preconditions
sfCLI ≥ 2.60 (verify withsf --version).- The target org is authenticated with
sf— one ofsf org listshould show it asConnected. - Incident Management is enabled on the org — the master pref for the Service Cloud ITSM Incident feature (Setup Discovery
apiName = service-cloud-itsm-incident). Read directly at preflight time viaGET /services/data/v67.0/connect/setup/discovery/featuresand filter toapiName == "service-cloud-itsm-incident"(the setup-org-preferences endpoint for the master is not exposed on this surface —IncidentMgmtEnabled/ITSMIncidentMgmtEnabledboth 404). Ifstatus != "ENABLED", delegate toservice-itsm-incident-mgmt-configureinline to enable it (that skill runs its own read-before-write + confirm-to-write against the same route), then resume Phase 1. - The calling user has
CustomizeApplication(View Setup + Setup Admin).
If any precondition is unmet, the CLI surfaces the raw error verbatim — do not fabricate state, surface the raw error and stop.
Routes at a glance
Every route is called through the sf CLI. Full method / path / body / response details, the picklist extraction recipe, and gotchas live in references/sf-cli-invocation.md.
| Concern | Transport | HTTP status |
|---|---|---|
| Master Incident Mgmt pref (read) | sf api request rest GET on /services/data/v67.0/connect/setup/discovery/features, filter apiName == "service-cloud-itsm-incident" for status | 200 |
| Matrix enable flag (read/write) | sf api request rest on /services/data/v67.0/setup/org/preferences/IncPriorityMatrixEnabled | 200 |
| Manual override (read/write) | sf api request rest on /services/data/v67.0/setup/org/preferences/IncPriorityOverrideEnabled | 200 |
| Matrix rows (read) | sf data query --use-tooling-api on ServiceOpPriorityConfig | 200 |
| Matrix rows (add) | sf api request rest POST on /services/data/v67.0/tooling/sobjects/ServiceOpPriorityConfig | 201 |
| Matrix rows (change) | sf api request rest PATCH on /services/data/v67.0/tooling/sobjects/ServiceOpPriorityConfig/<Id> | 204 |
| Matrix rows (remove) | sf data delete record --use-tooling-api on ServiceOpPriorityConfig | 200 |
| Default fallback priority (read) | sf api request rest GET on /services/data/v67.0/tooling/query/?q=...StandardValueSet... | 200 |
| Default fallback priority (write) | sf project retrieve start + edit + sf project deploy start on StandardValueSet:IncidentPriority | deploy Succeeded |
| Picklist values (Incident) | sf api request rest GET on /services/data/v67.0/sobjects/Incident/describe | 200 |
| Salesforce Go step "Done" (write, after a mutation) | sf api request rest PUT on /services/data/v67.0/connect/setup/discovery/feature/service-cloud-itsm-incident/configuration/step/definePriorityMatrix/progress | 200 |
Path prefixes are load-bearing — do NOT strip them. Setup Connect API paths MUST start with /services/data/v67.0/. Tooling REST paths MUST start with /services/data/v67.0/tooling/.
Clarifying Questions
Ask only what you cannot infer:
- Which org?
sfCLI alias or username (--target-org <alias>). Default: the org's default target. - What operation? View; enable / disable the matrix; toggle manual override; set the default priority; add / change / remove a cell; seed a full matrix.
- For add / change: the
Impact+Urgencycoordinates and the resultingPriority(validated against the fetched picklist values). - For set-default-priority: the target Priority value. If the user did not name one, dispatch
AskUserQuestionwith the org's activeIncident.Prioritypicklist values as options — never guess.
Workflow
All steps are sequential. Always read before you write. All calls go through sf CLI.
Phase 0 — Reuse what the session already knows
Each Phase 1 / Phase 2 read below carries a skip-if-already-known clause. Before calling any sf command, check whether an earlier turn in this session already produced the same fact from a successful `sf` invocation tied to the current `--target-org` (a prior run of this skill, or an earlier sf call in the same conversation). Session context here is per --target-org <alias>, so a different alias is a different session. An explicit user statement is NOT cache-eligible — the picklist values, pref booleans, matrix rows, and fallback priority all drive client-side validation and duplicate prevention on Phase-4 mutations, so a mistaken or stale user assertion can bypass those safeguards and create invalid or duplicate rows. When the only source is a user statement (or you cannot identify a specific prior sf response), re-read.
- `sf --version` — if the CLI version was already reported this session, skip step 1.
- Incident `describe` (active `Impact` / `Urgency` / `Priority` picklists) — if the Incident describe was already read for the current
--target-orgthis session and the three picklists are in context, skip step 2 and reuse them. - `IncPriorityMatrixEnabled` / `IncPriorityOverrideEnabled` pref values — if either was already read this session AND has not been PATCHed since, skip its Phase-2 read.
- `ServiceOpPriorityConfig` rows — if the current-org Incident rows were already read this session AND no
POST/PATCH/deleteonServiceOpPriorityConfighas been dispatched since, skip step 5 and reuse the row list. - `StandardValueSet:IncidentPriority` default — if the fallback priority was already read this session AND no
StandardValueSet:IncidentPrioritydeploy has run since, skip step 6.
When in doubt, re-check. Skip only when the fact is unambiguously in context, the --target-org alias is unchanged, and no Phase-4 write since (a pref PATCH, a ServiceOpPriorityConfig POST/PATCH/delete, or a StandardValueSet:IncidentPriority deploy) could have invalidated it. A wrong skip on a live org is worse than a re-read.
Phase 1 — Preflight
- (Skip if `sf --version` was already reported this session — see Phase 0.)
sf --versionto confirm the CLI is available. - Master Incident Management pref — direct read *(Skip only if the master pref was already read this session for the current
--target-orgAND the value wasENABLED
More from forcedotcom
Use this skill in a project
Open any RiverX project, search the Skills panel for forcedotcom/sf-skills/service-itsm-incident-priority-configure, and install it in one click.
