Skip to content
AI & Agents
Skill

/service-omni-channel-inventory-analyze

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

BOOST
From plugin
forcedotcom-sf-skills
1.1k200 skills6 agents15 commands3 MCP
Install
$ npx -y skills add forcedotcom/sf-skills --skill service-omni-channel-inventory-analyze --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/service-omni-channel-inventory-analyze

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

service-omni-channel-inventory-analyze.SKILL.md
name: service-omni-channel-inventory-analyze
description: "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 Glob
metadata:
  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:
    - type: license
      value: ServiceCloud
  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.

Inputs

bash scripts/analyze.sh <org-alias> [--type Voice|Email|Chat|SMS|Facebook|WhatsApp|InApp]
  • `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 |

Read more
Ships withforcedotcom-sf-skills

This repository provides a curated collection of Salesforce agent skills for building applications.

Get the whole plugin

Other skills on forcedotcom-sf-skills.