Agent skill · forcedotcom
service-omni-queue-deploy
Use to verify or create a Queue on a Salesforce org for a routable sObject (Case | Incident | MessagingSession | VoiceCall), discovered via its QueueSobject binding rather than by hardcoded name. Reuses whatever queue already routes the target sObject; with --create-if-missing it creates a Queue via the Metadata API (Group + QueueSobject) when none is bound and aligns its QueueRoutingConfigId to a caller-specified QRC. Returns created, reused, updated, or blocked. Triggers: verify or create a queue for Case/Incident/Messaging/Voice routing, align queue routing config, set up an Omni voice queue. Do not use to add users to the queue (service-omni-queue-members-assign) or for sObjects outside Case/Incident/MessagingSession/VoiceCall.
What it needs
About 4k tokens when loaded.
What this skill does
service-omni-queue-deploy Verify that a Group (Type='Queue') exists with a QueueSobject binding to the requested routable sObject, reusing whatever is already there. With --create-if-missing, create the queue via the Metadata API (Group + QueueSobject) when none is bound, and optionally align its QueueRoutingConfigId to a caller-specified QRC. The skill discovers the queue by its QueueSobject.SobjectType binding, not by name, because real orgs name queues inconsistently (CaseQueue, messagingqueue, OmniDemoCasesQueue) — the functional link between a queue and the routing it supports is the binding, not the DeveloperName. It is invoked by service-omni-channel-setup-coordinate; queue membership is a separate leaf (service-omni-queue-members-assign) and the QRC it aligns to comes from service-omni-queue-routing-config-deploy. Inputs org-alias (required). sobjecttype (optional, default Case). routingconfigdn (optional) — when passed, forces alignment to that QRC; when omitted for Case it defaults to CaseRoutingConfig; when omitted for other sObjects the skill reports the existing binding without forcing. queuedevelopername (optional 4th positional) — the explicit queue to operate on, or the name to create with --create-if-missing. --create-if-missing (flag, or QUEUECREATEIFMISSING=1) — create the queue via the Metadata API when none is bound; label defaults to a spaced form of the DeveloperName (override via QUEUELABEL). Preconditions and safety Target org authenticated via sf CLI (My Domain URL), Service Cloud license, sf CLI ≥ 2.139.6. The target sObject is enabled on the org — verified via EntityDefinition before any write; missing sObjects block with a feature-enablement click-path (Incident Management for Incident, Enhanced Messaging for MessagingSession). When routingconfigdn is supplied, that QRC must already exist (resolved by DeveloperName); otherwise the run blocks with a pointer to service-omni-queue-routing-config-deploy. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills forcedotcom/service-omni-queue-deploy