Agent skill

Service Omni Queue Routing Config Deploy

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses to create or update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert).

Apache-2.0Auto-check: notesSales & Support

Install Service Omni Queue Routing Config Deploy

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

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

GitHub CLI
$ gh skill install forcedotcom/sf-skills service-omni-queue-routing-config-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-routing-config-deploy .claude/skills/service-omni-queue-routing-config-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-routing-config-deploy
GitHub stars
1.1k
Token cost
~2.1k tokens
SKILL.md length
776 words
Files
5 (incl. scripts, references)
Skills in repo
251
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses to create or update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert).

  • Works in 4 steps: Query QueueRoutingConfig WHERE… → Compare against the requested/canonical… → POST a new record when none exists;… → …
  • Update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert)
  • SKILL.md covers Inputs, Preconditions and safety, Run and Behavior, plus 3 more sections
  • Runs Python and Shell scripts from its folder; calls bash and python3

What it does

Service Omni Queue Routing Config Deploy is an agent skill from forcedotcom/sf-skills. Use to create or update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert). Naming is target-derived: Case→CaseRoutingConfig, VoiceCall→VoiceRoutingConfig, Incident→IncidentRoutingConfig, MessagingSession→MessagingRoutingConfig (via QRCROUTINGTARGET), or pass an explicit developer-name/label/capacity/priority. RoutingModel MostAvailable (default) or LeastActive. Triggers: create a Case or Voice routing config, deploy a QueueRoutingConfig, set up queue routing…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/api-notes.md`, `scripts/tests/_bootstrap.py` and `scripts/tests/test_queue_routing_config_contracts.py`).

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

  • Update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert)
  • Attribute-based routing (IsAttributeBased=true is out of scope)
  • Routing models other than MostAvailable/LeastActive

Example prompts

  • “/service-omni-queue-routing-config-deploy”

Requirements

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

Workflow steps

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

  1. Query QueueRoutingConfig WHERE DeveloperName = '', capturing the existing Id and field values.
  2. Compare against the requested/canonical values.
  3. POST a new record when none exists; no-op (reused) when all fields already match; PATCH when a field differs.
  4. Re-query to confirm the final state; block if the re-query shows a mismatch.

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 3 files in scripts/ (Python and Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • python3

    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 Routing Config Deploy loads about 2.1k tokens when it runs, and up to ~3.8k if it reads all its reference files. Until then it costs about 190 tokens; SKILL.md has 776 words of instructions outside code blocks.

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

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). 776 words, ~2,143 tokens.

Download SKILL.mdSave it as .claude/skills/service-omni-queue-routing-config-deploy/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
service-omni-queue-routing-config-deploy
description
Use to create or update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert). Naming is target-derived: Case→Case_Routing_Config, VoiceCall→Voice_Routing_Config, Incident→Incident_Routing_Config, MessagingSession→Messaging_Routing_Config (via QRC_ROUTING_TARGET), or pass an explicit developer-name/label/capacity/priority. RoutingModel MostAvailable (default) or LeastActive. Triggers: create a Case or Voice routing config, deploy a QueueRoutingConfig, set up queue routing for Omni Cases/Voice, configure CapacityWeight per queue. Do not use for attribute-based routing (IsAttributeBased=true is out of scope) or routing models other than MostAvailable/LeastActive.
allowed-tools
Bash, Read, Write, Edit, Glob, Grep
metadata.version
1.0
metadata.domains
Service
metadata.minApiVersion
66.0
metadata.relatedSkills
service-omni-base-settings-configure, service-omni-channel-setup-coordinate, service-omni-queue-deploy, service-omni-service-channel-configure

service-omni-queue-routing-config-deploy

Create or update a QueueRoutingConfig via the Data API. This record tells Omni-Channel how to distribute work to agents on a queue: the routing model (MostAvailable for round-robin-style, LeastActive for load-balancing), how much capacity each work item consumes (CapacityWeight or CapacityPercentage), the push timeout, and the routing priority. It is a prerequisite for an Omni-routed Queue — service-omni-queue-deploy binds the queue to the config Id this skill returns. Detection is by DeveloperName, so the skill POSTs a new record or PATCHes an existing one to align, and is safe to re-run.

Inputs

bash
bash scripts/upsert-and-report.sh <org-alias> [routing-model] [developer-name] [master-label] [capacity-weight] [routing-priority] [overflow-assignee] [push-timeout]
# Case_Routing_Config, preserve model / create MostAvailable:
bash scripts/upsert-and-report.sh myorg
# align the Case QRC to LeastActive:
bash scripts/upsert-and-report.sh myorg LeastActive
# Voice_Routing_Config (coordinator path):
QRC_ROUTING_TARGET=VoiceCall bash scripts/upsert-and-report.sh myorg
# set a fallback/overflow assignee (route overflow work to a supervisor):
QRC_OVERFLOW_ASSIGNEE=supervisor@example.com bash scripts/upsert-and-report.sh myorg
# Voice uses 100% capacity and a 30-second push timeout:
QRC_ROUTING_TARGET=VoiceCall QRC_CAPACITY_PERCENTAGE=100 QRC_PUSH_TIMEOUT=30 bash scripts/upsert-and-report.sh myorg MostAvailable
  • org-alias (required).
  • routing-model (optional, or ROUTING_MODEL_INPUT) — MostAvailable | LeastActive. Omitted: an existing record's model is preserved; a new record is created MostAvailable. Provided: written on create, aligned on an existing record.
  • developer-name / master-label / capacity-weight (1..100) / routing-priority (≥1) — positional after routing-model, or via QRC_DEVELOPER_NAME / QRC_MASTER_LABEL / QRC_CAPACITY_WEIGHT / QRC_ROUTING_PRIORITY. Label, weight 5, and priority 1 are defaults only when creating a new record; omitted values preserve an existing record.
  • QRC_CAPACITY_PERCENTAGE (optional, 0..100) — use percentage capacity instead of weight. It is mutually exclusive with an explicitly supplied capacity weight; switching modes clears the old sibling field.
  • overflow-assignee (optional 7th positional, or QRC_OVERFLOW_ASSIGNEE) — the fallback User (Username or 005 Id) that receives work when every queue member is unavailable (OverflowAssigneeId). Resolved to an active User Id before the write; omitted leaves an existing record's overflow untouched and a new record with none.
  • push-timeout (optional 8th positional, or QRC_PUSH_TIMEOUT, 0..3600 seconds) — how long Omni waits for an agent to accept pushed work. Omitted preserves an existing value.
  • QRC_ROUTING_TARGET (env) — Case | VoiceCall | Incident | MessagingSession; selects the canonical naming defaults. service-omni-channel-setup-coordinate sets this per target.

Preconditions and safety

  • Target org authenticated via sf CLI (My Domain URL), Service Cloud license, sf CLI ≥ 2.139.6.
  • Omni-Channel base settings enabled (service-omni-base-settings-configure) — otherwise QueueRoutingConfig is not writable (INVALID_TYPE).
  • The three-way safe_to_write production guard applies.

Run

upsert-and-report.sh performs detect → upsert → verify:

  1. Query QueueRoutingConfig WHERE DeveloperName = '<target-derived-or-explicit>', capturing the existing Id and field values.
  2. Compare against the requested/canonical values.
  3. POST a new record when none exists; no-op (reused) when all fields already match; PATCH when a field differs.
  4. Re-query to confirm the final state; block if the re-query shows a mismatch.
Show full SKILL.md (414 more words)Show less

Behavior

Target-derived naming. With no explicit name, the DeveloperName follows the routing target (Case_Routing_Config, Voice_Routing_Config, etc.), so re-runs and the coordinator converge on the same record rather than creating parallel duplicates.

Preserve over churn. On an existing record, omitted routing model, label, routing priority, capacity mode/value, overflow assignee, push timeout, and attribute-based flag are preserved. Defaults (MostAvailable, target-derived label, weight 5, priority 1, non-attribute-based) apply only to a brand-new record. Capacity uses exactly one mode; explicitly changing from weight to percentage, or back, clears the old sibling field so the record cannot contain conflicting capacity settings.

Fallback / overflow routing. In the QueueBased model, "fallback" is the queue's overflow assignee — the User who receives work when no queue member is available (rather than the item sitting queued indefinitely). Agent availability is an async Omni decision, not observable in a routing flow, so this belongs on the QueueRoutingConfig, not the flow. When overflow-assignee is provided the skill resolves it to an active User (blocking on an unknown or inactive user, since overflow to an inactive user would silently strand work), writes OverflowAssigneeId, and verifies it round-trips.

Read-back reporting. All reported field values are re-queried from the org after the write (values_source: "requeried"), not echoed from inputs — a 201/204 only means the write was accepted. The skill never deletes a QueueRoutingConfig (queues, agents, and work skills may reference the Id) — it always PATCHes to align.

Output contract

A single JSON object with status ∈ created | reused | updated | blocked, plus routing_target, developer_name, id, master_label, routing_model, routing_priority, capacity_mode, capacity_weight, capacity_percentage, is_attribute_based, push_timeout, overflow_assignee_id, overflow_assignee_requested, values_source, a before snapshot, manual_actions, and blocking_issue.

  • created — no record existed; POST succeeded.
  • reused — a record existed with all fields matching; no-op.
  • updated — a record existed but a field differed; PATCH succeeded.
  • blocked — precondition failed (Omni not enabled, production org, a post-write mismatch, or an overflow-assignee that did not resolve to exactly one active User).

before.existed records whether a matching record was present at start (with its prior capacity_weight/routing_model when so); id is populated for every non-blocked status; blocking_issue is non-null only for blocked.

Limitations

  • Attribute-based routing (IsAttributeBased=true) is out of scope — it requires an additional attribute schema.
  • Only MostAvailable and LeastActive are supported on v66.
  • Per-channel capacity weighting is deprecated on v66 (see service-omni-service-channel-configure); per-agent capacity totals are configured elsewhere.

References

FileWhen to read
references/api-notes.mdOn unexpected errors or when customizing fields — QueueRoutingConfig schema, RoutingModel semantics, and how CapacityWeight interacts with agent capacity
scripts/tests/test_queue_routing_config_contracts.pyWhen validating changes — run python3 scripts/tests/test_queue_routing_config_contracts.py from this skill directory

© 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 4 other files (scripts, references) in skills/service-omni-queue-routing-config-deploy of forcedotcom/sf-skills.

  • SKILL.md
  • references/api-notes.md
  • scripts/tests/_bootstrap.py
  • scripts/tests/test_queue_routing_config_contracts.py
  • scripts/upsert-and-report.sh

Open the folder on GitHubat commit e5164d9

Compare with similar skills

Service Omni Queue Routing Config 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 Routing Config Deploy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Service Omni Queue Routing Config Deploy this skillforcedotcom/sf-skills1.1k—~2.1kAutomated 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/Portwood126—~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 6 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 6 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.

    126 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 2 days ago
    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 2 days ago
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

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

    1.1k GitHub stars~5.4k tokensUpdated 2 days ago
    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 2 days ago
    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 2 days ago
    Auto-check passed

Works with

Categories

Questions about Service Omni Queue Routing Config Deploy

What does Service Omni Queue Routing Config Deploy do?

A skill your agent uses to create or update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert). Service Omni Queue Routing Config Deploy is an agent skill from forcedotcom/sf-skills. Use to create or update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert).

When should I use Service Omni Queue Routing Config Deploy?

Service Omni Queue Routing Config Deploy fits situations like: update a QueueRoutingConfig record on a Salesforce org via the Data API (idempotent SOQL detect + REST upsert); attribute-based routing (IsAttributeBased=true is out of scope); routing models other than MostAvailable/LeastActive.

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

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

How do I install Service Omni Queue Routing Config Deploy in Codex?

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

Can I use Service Omni Queue Routing Config 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-routing-config-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-routing-config-deploy, .gemini/skills/service-omni-queue-routing-config-deploy, .github/skills/service-omni-queue-routing-config-deploy and .opencode/skills/service-omni-queue-routing-config-deploy in your project.

What does Service Omni Queue Routing Config Deploy need to run?

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

Does Service Omni Queue Routing Config 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 Routing Config 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 Routing Config Deploy use?

Service Omni Queue Routing Config 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 Routing Config Deploy use?

About 2.1k tokens (SKILL.md is roughly 8.6k 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 Routing Config Deploy?

Skills that share tags, products or a category with Service Omni Queue Routing Config 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, 126 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 Routing Config Deploy?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,065 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.