Agent skill

Service Omni Queue Deploy

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses 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…

Apache-2.0Auto-check: notesSales & Support

Install Service Omni Queue Deploy

skills CLI
$ npx skills add forcedotcom/sf-skills --skill service-omni-queue-deploy -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/sf-skills service-omni-queue-deploy --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/service-omni-queue-deploy .claude/skills/service-omni-queue-deploy && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
service-omni-queue-deploy
GitHub stars
1.1k
Token cost
~1.8k tokens
SKILL.md length
738 words
Files
3 (incl. scripts, references)
Skills in repo
251
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses 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…

  • Works in 5 steps: Prereq — confirm the sObject via… → Discover — QueueSobject WHERE… → Inspect — read the queue's… → …
  • Create a Queue on a Salesforce org for a routable sObject (Case | Incident | MessagingSession | VoiceCall)
  • SKILL.md covers Inputs, Preconditions and safety, Run and Behavior, plus 3 more sections
  • Runs Shell scripts from its folder; calls bash and sf

What it does

Service Omni Queue Deploy is an agent skill from forcedotcom/sf-skills. 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…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/api-notes.md` and `scripts/verify-and-align.sh`).

It sits in Sales & Support, covering CRM management. It works with Salesforce. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.

When your agent uses it

  • 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
  • Add users to the queue (service-omni-queue-members-assign)
  • For sObjects outside Case/Incident/MessagingSession/VoiceCall

Example prompts

  • “/service-omni-queue-deploy”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Glob, Grep

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Prereq — confirm the sObject via EntityDefinition.
  2. Discover — QueueSobject WHERE SobjectType = ''. A hit is reused. No hit: create via the Metadata API when --create-if-missing, else block…
  3. Inspect — read the queue's QueueRoutingConfigId and its full QueueSobject list.
  4. Align (optional) — when routing_config_dn is supplied, resolve its Id and PATCH Group.QueueRoutingConfigId if drifted.
  5. Re-query — confirm convergence and emit JSON.

What it can do on your machine

Read from SKILL.md and the folder at commit e5164d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • sf

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Service Omni Queue Deploy loads about 1.8k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 192 tokens; SKILL.md has 738 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~192
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, Glob, Grep

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 738 words, ~1,832 tokens.

Download SKILL.mdSave it as .claude/skills/service-omni-queue-deploy/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
service-omni-queue-deploy
description
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.
allowed-tools
Bash, Read, Write, Edit, Glob, Grep
metadata.version
1.0
metadata.domains
Service
metadata.minApiVersion
66.0
metadata.relatedSkills
service-omni-channel-setup-coordinate, service-omni-queue-members-assign, service-omni-queue-routing-config-deploy

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, Omni_Demo_Cases_Queue) — 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

bash
bash scripts/verify-and-align.sh <org-alias> [Case|Incident|MessagingSession|VoiceCall] [routing_config_dn] [queue_developer_name] [--create-if-missing]
# create + bind a Voice queue on a fresh org:
bash scripts/verify-and-align.sh myorg VoiceCall Voice_Routing_Config "" --create-if-missing
  • org-alias (required).
  • sobject_type (optional, default Case).
  • routing_config_dn (optional) — when passed, forces alignment to that QRC; when omitted for Case it defaults to Case_Routing_Config; when omitted for other sObjects the skill reports the existing binding without forcing.
  • queue_developer_name (optional 4th positional) — the explicit queue to operate on, or the name to create with --create-if-missing.
  • --create-if-missing (flag, or QUEUE_CREATE_IF_MISSING=1) — create the queue via the Metadata API when none is bound; label defaults to a spaced form of the DeveloperName (override via QUEUE_LABEL).

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 routing_config_dn is supplied, that QRC must already exist (resolved by DeveloperName); otherwise the run blocks with a pointer to service-omni-queue-routing-config-deploy.
  • The three-way safe_to_write production guard applies.

Run

verify-and-align.sh runs the full sequence and emits the report:

  1. Prereq — confirm the sObject via EntityDefinition.
  2. Discover — QueueSobject WHERE SobjectType = '<sobject_type>'. A hit is reused. No hit: create via the Metadata API when --create-if-missing, else block with a Setup click-path.
  3. Inspect — read the queue's QueueRoutingConfigId and its full QueueSobject list.
  4. Align (optional) — when routing_config_dn is supplied, resolve its Id and PATCH Group.QueueRoutingConfigId if drifted.
  5. Re-query — confirm convergence and emit JSON.

Behavior

Discovery over naming. Any queue whose QueueSobject routes the target sObject is the queue for that sObject, regardless of its name. A name-based check would miss a queue like messagingqueue and either block or create a duplicate.

Creation is idempotent. Metadata deploy upserts by fullName, so --create-if-missing adopts/updates an existing same-named queue rather than making a second one. Creation ships the minimal safe set (doesSendEmailToMembers=false plus the sObject binding) and never deletes existing QueueSobject rows — other sObjects may be intentionally routed through the same queue.

Forced vs discovered QRC. For Case, the coordinator wants deterministic alignment to Case_Routing_Config, so the skill forces it. For other sObjects with no coordinator-owned QRC, the skill reports whatever the queue is already bound to (source: discovered) rather than forcing a name that may not exist. QRC Ids are resolved by DeveloperName at runtime — never hardcoded.

Ambiguity. If multiple distinct queues bind the same sObject, the skill does not guess — it blocks and asks the operator to disambiguate, unless a canonical name matches or an explicit queue_developer_name pins the exact queue.

PATCH hygiene. sf api request rest prints a beta warning on stderr; the skill captures stderr separately so it cannot corrupt JSON parsing, and it preserves the queue Id on PATCH (never delete + recreate) because downstream references point to it.

Show full SKILL.md (187 more words)Show less

Output contract

A single JSON object with status ∈ created | reused | updated | blocked, plus sobject_type, developer_name, queue_created, id, queue_routing_config_id, queue_routing_config_developer_name, queue_routing_config_source (forced | discovered), queue_sobjects, a before snapshot, manual_actions, and blocking_issue.

  • created — no queue was bound and --create-if-missing created one (binding its QRC when supplied).
  • reused — a bound queue existed and, if a QRC was passed, already matched (no PATCH).
  • updated — a bound queue existed but the caller-supplied QRC was drifted; PATCH ran.
  • blocked — sObject absent, no bound queue and no --create-if-missing, supplied QRC missing, or the re-query showed state did not converge.

queue_created is true only when this run deployed a new queue; blocking_issue names the specific precondition that failed and manual_actions carries the click-path.

Limitations

  • Only Case, Incident, MessagingSession, VoiceCall — extend by adding a dispatcher branch.
  • Never deletes a queue or its QueueSobject rows, and never modifies queue members.
  • Creation ships a minimal queue shape; exotic fields (doesIncludeBosses, email routing address) are not set.

References

FileWhen to read
references/api-notes.mdOn a block for a missing queue (manual click-path) or unexpected Data API errors — Queue/QueueSobject schema, the Metadata API creation shape, and the stderr-separation and queue-naming-variance notes

© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts, references) in skills/service-omni-queue-deploy of forcedotcom/sf-skills.

  • SKILL.md
  • references/api-notes.md
  • scripts/verify-and-align.sh

Open the folder on GitHubat commit e5164d9

Compare with similar skills

Service Omni Queue Deploy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Service Omni Queue Deploy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Service Omni Queue Deploy this skillforcedotcom/sf-skills1.1k—~1.8kAutomated safety check: NotesApache-2.0
Soql Lib Query Builderbeyond-the-cloud-dev/soql-lib154—~4.3kAutomated safety check: PassMIT
Sf DatacloudJaganpro/sf-skills424—~2.7kAutomated safety check: PassMIT
Soql Lib Selectorbeyond-the-cloud-dev/soql-lib154—~2kAutomated safety check: PassMIT
Dev SetupPortwood-Global-Solutions/Portwood125—~1.1kAutomated safety check: PassApache-2.0
Sf FlowJaganpro/sf-skills424—~1.8kAutomated safety check: PassMIT

Similar skills

  • Soql Lib Query Builder

    beyond-the-cloud-dev/soql-lib

    Builds Salesforce SOQL queries using the SOQL Lib fluent builder API (SOQL.cls).

    154 GitHub stars~4.3k tokensUpdated 5 days ago
    Sales & SupportAuto-check passed
  • Sf Datacloud

    Jaganpro/sf-skills

    Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows.

    424 GitHub stars~2.7k tokensUpdated 5 mo ago
    Sales & SupportAuto-check passed
  • Soql Lib Selector

    beyond-the-cloud-dev/soql-lib

    Creates Salesforce Apex selector classes using the SOQL Lib selector pattern.

    154 GitHub stars~2k tokensUpdated 5 days ago
    Sales & SupportAuto-check passed
  • Dev Setup

    Portwood-Global-Solutions/Portwood

    Get from a fresh clone of Portwood to a working, fully-tested Salesforce org.

    125 GitHub stars~1.1k tokensUpdated today
    Sales & SupportAuto-check passed
  • Sf Flow

    Jaganpro/sf-skills

    Creates and validates Salesforce Flows with 110-point scoring.

    424 GitHub stars~1.8k tokensUpdated 5 mo ago
    Sales & SupportAuto-check passed
  • Google Maps Export

    gmapsscraper/google-maps-agent-skills

    Export Google Maps business data to CSV, JSON, or CRM format (HubSpot, Pipedrive, Salesforce).

    132 GitHub stars~1.2k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed

More from forcedotcom/sf-skills

All 251 skills in this repo
  • Agentforce Architecture Analyze

    forcedotcom/sf-skills

    Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.

    1.1k GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Agentforce D360 Analyze

    forcedotcom/sf-skills

    Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.

    1.1k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.3k tokensUpdated yesterday
    Auto-check: notes
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.4k tokensUpdated yesterday
    Auto-check: notes
  • Design Systems Slds Apply

    forcedotcom/sf-skills

    Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.

    1.1k GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Experience Lwc Generate

    forcedotcom/sf-skills

    Lightning Web Components with PICKLES methodology and 165-point scoring.

    1.1k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Service Omni Queue Deploy

What does Service Omni Queue Deploy do?

A skill your agent uses 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…. Service Omni Queue Deploy is an agent skill from forcedotcom/sf-skills. 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.

When should I use Service Omni Queue Deploy?

Service Omni Queue Deploy fits situations like: 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; add users to the queue (service-omni-queue-members-assign); for sObjects outside Case/Incident/MessagingSession/VoiceCall.

How do I install Service Omni Queue Deploy in Claude Code?

Run `npx skills add forcedotcom/sf-skills --skill service-omni-queue-deploy -a claude-code`. Or copy the skill folder (skills/service-omni-queue-deploy in forcedotcom/sf-skills) into .claude/skills/service-omni-queue-deploy in your project. Claude Code loads it when a task matches its description.

How do I install Service Omni Queue Deploy in Codex?

Run `npx skills add forcedotcom/sf-skills --skill service-omni-queue-deploy -a codex`. Or copy the skill folder (skills/service-omni-queue-deploy in forcedotcom/sf-skills) into .agents/skills/service-omni-queue-deploy in your project. Codex loads it when a task matches its description.

Can I use Service Omni Queue Deploy in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill service-omni-queue-deploy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/service-omni-queue-deploy, .gemini/skills/service-omni-queue-deploy, .github/skills/service-omni-queue-deploy and .opencode/skills/service-omni-queue-deploy in your project.

What does Service Omni Queue Deploy need to run?

Going by SKILL.md and its folder, Service Omni Queue Deploy needs a shell for the scripts in its folder and the command-line tools its instructions call (bash and sf). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep.

Does Service Omni Queue Deploy access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Service Omni Queue Deploy safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Service Omni Queue Deploy use?

Service Omni Queue Deploy is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Service Omni Queue Deploy use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Service Omni Queue Deploy?

Skills that share tags, products or a category with Service Omni Queue Deploy: Soql Lib Query Builder (beyond-the-cloud-dev/soql-lib, 154 stars), Sf Datacloud (Jaganpro/sf-skills, 424 stars), Soql Lib Selector (beyond-the-cloud-dev/soql-lib, 154 stars) and Dev Setup (Portwood-Global-Solutions/Portwood, 125 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Service Omni Queue Deploy?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,060 GitHub stars. The repository holds 251 skills in this directory. The repository was last updated on October 7, 2026.

Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.