Use to inventory configured Omni-Channel instances across Voice, Email, Chat, SMS, Facebook, WhatsApp, and In-App, including each channel's Queue, Flow, or Other routing target, without changing the org. TRIGGER when: list Omni channels, inventory Omni routing, inspect channel routing targets, analyze Omni-Channel setup, or find configured service channels. Do not use to create, update, activate, or delete channels or routing configuration.
Start a fresh conversation. Replace the highlighted placeholders.
Use service-omni-channel-inventory-analyze to inventory configured Omni-Channel instances and their routing targets in [Salesforce org alias], optionally limited to [channel type], and return the documented JSON summary and normalized instances; do not change configuration.
Required inputs
[Salesforce org alias]
[channel type]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: service-omni-channel-inventory-analyzedescription: "Use to inventory configured Omni-Channel instances across Voice, Email, Chat, SMS, Facebook, WhatsApp, and In-App, including each channel's Queue, Flow, or Other routing target, without changing the org. TRIGGER when: list Omni channels, inventory Omni routing, inspect channel routing targets, analyze Omni-Channel setup, or find configured service channels. Do not use to create, update, activate, or delete channels or routing configuration."allowed-tools: Bash Read Write Grep Globmetadata: version: "1.0" domains: ["Service"] minApiVersion: "66.0" relatedSkills: - "service-omni-channel-setup-coordinate" - "service-omni-queue-routing-config-deploy" - "service-omni-routing-flow-deploy" - "service-omni-service-channel-configure" accessCheck: "OrgPermissions.LightningService" cliTools: - tool: ["jq"] semver: ">=1.6" - tool: ["python3"] semver: ">=3.8" - tool: ["sf"] semver: ">=2.139.6"
service-omni-channel-inventory-analyze
Read the org's complete Omni-Channel setup-home inventory without making changes. The supported headless operation combines Voice, Email, Live Chat, and Messaging channel families and returns their derived routing type and routing target. Use this analyzer before changing an unfamiliar org or when a user asks what Omni channels and routing are already configured.
org-alias is required and must already be authenticated with Salesforce CLI.
--type is optional and case-insensitive. It filters the returned inventory without changing the source data.
Preconditions and safety
Target org authenticated through sf CLI.
API v66.0 or later.
The running user must have View Setup and Configuration and Customize Application.
This skill is read-only. The shared Headless dispatcher uses an HTTP POST envelope, but the invoked getChannelInstances controller action performs no org mutation.
Use sf api request rest; never extract or print an access token.
Run
Invoke scripts/analyze.sh with the target org and optional channel type. The script POSTs the approved OmniChannelInstancesController.getChannelInstances envelope to the shared Headless dispatcher, validates the inner response, optionally filters it, and returns a stable summary plus the matching channel instances.
The inventory includes these source fields when the platform supplies them:
Field
Meaning
id, label
Channel identity and display label
omniChannelInstanceType
Voice, Email, Chat, SMS, Facebook, WhatsApp, or InApp
routingType
Queue, Flow, or Other
routingRequirementId, routingRequirementLabel
Queue, flow, or other routing target
channelUrl, routingRequirementUrl
Setup navigation links synthesized by the platform
icon, messages
Display metadata and platform-provided notices
Output contract
The script emits one JSON object:
skill: service-omni-channel-inventory-analyze
status: analyzed or blocked
filter: canonical channel type or null
summary.total_configured: number of instances returned by the platform before filtering
summary.returned: number of instances in instances
summary.by_channel_type: counts for the returned inventory
summary.by_routing_type: Queue, Flow, and Other counts for the returned inventory
instances: normalized channel instance objects
blocking_issue: actionable failure reason or null
An empty instances array with status: analyzed is a valid inventory result. Authentication, authorization, endpoint, or malformed-response failures return status: blocked and exit non-zero; never reinterpret them as an empty org.
Boundaries
Do not replace this operation with independent SOQL queries. No single public object API reproduces the platform's cross-family aggregation, routing-type derivation, and setup URL generation.
Do not infer missing routing fields. Preserve null when the platform does not supply a value.
Do not use the returned setup URLs as mutation endpoints.
For configuration changes, hand off to the appropriate leaf skill only after presenting the inventory to the user.
Requested follow-up
Skill
Coordinate a complete Omni setup
service-omni-channel-setup-coordinate
Create or reuse a Service Channel
service-omni-service-channel-configure
Create or update a queue routing configuration
service-omni-queue-routing-config-deploy
Deploy a QueueBased or SkillsBased routing flow
service-omni-routing-flow-deploy
References
File
When to read
references/api-notes.md
Supported endpoint, permission boundary, response fields, and why the headless operation is canonical
service-omni-channel-inventory-analyze by forcedotcom · The Skill Leaderboard