Agent skill

Service Omni Presence User Config Deploy

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses to deploy an Omni PresenceUserConfig (presence configuration) as one whole-record Metadata write with the decline/ACW fields set consistently: Auto-Accept off, Decline on…

Apache-2.0Auto-check: notes

Install Service Omni Presence User Config Deploy

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

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

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

At a glance

A skill your agent uses to deploy an Omni PresenceUserConfig (presence configuration) as one whole-record Metadata write with the decline/ACW fields set consistently: Auto-Accept off, Decline on…

  • Works in 2 steps: PresenceDeclineReason: — the decline… → PresenceUserConfig: — capacity + label,…
  • Decline Reason on (with a PresenceDeclineReason deployed in the same package)
  • SKILL.md covers Inputs, Preconditions and safety, Run and Behavior, plus 3 more sections
  • Runs Python and Shell scripts from its folder; calls bash

What it does

Service Omni Presence User Config Deploy is an agent skill from forcedotcom/sf-skills. Use to deploy an Omni PresenceUserConfig (presence configuration) as one whole-record Metadata write with the decline/ACW fields set consistently: Auto-Accept off, Decline on, Decline Reason on (with a PresenceDeclineReason deployed in the same package), and an After-Conversation-Work wrap-up timer. Agents are assigned by username. Idempotent via the Metadata API files[].state signal. Triggers: create presence configuration, enable decline + decline reason + ACW wrap-up timer for agents, assign presence config to…

Its SKILL.md is about 1.4k 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/deploy-and-report.sh` and `scripts/tests/_bootstrap.py`).

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

  • Decline Reason on (with a PresenceDeclineReason deployed in the same package)
  • An After-Conversation-Work wrap-up timer
  • ServicePresenceStatus (separate skill)
  • For permission-set access to statuses

Example prompts

  • “/service-omni-presence-user-config-deploy”

Requirements

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

Workflow steps

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

  1. PresenceDeclineReason: — the decline reason (label only).
  2. PresenceUserConfig: — capacity + label, enableAutoAccept=false, enableDecline=true, enableDeclineReason=true, declineReasons=…

What it can do on your machine

Read from SKILL.md and the folder at commit 4bbae5c. 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

    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 Presence User Config Deploy loads about 1.4k tokens when it runs, and up to ~2.2k if it reads all its reference files. Until then it costs about 180 tokens; SKILL.md has 466 words of instructions outside code blocks.

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

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 4bbae5c, republished under its Apache-2.0 licence (© forcedotcom). 466 words, ~1,396 tokens.

Download SKILL.mdSave it as .claude/skills/service-omni-presence-user-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-presence-user-config-deploy
description
Use to deploy an Omni PresenceUserConfig (presence configuration) as one whole-record Metadata write with the decline/ACW fields set consistently: Auto-Accept off, Decline on, Decline Reason on (with a PresenceDeclineReason deployed in the same package), and an After-Conversation-Work wrap-up timer. Agents are assigned by username. Idempotent via the Metadata API files[].state signal. Triggers: create presence configuration, enable decline + decline reason + ACW wrap-up timer for agents, assign presence config to users. Do not use for ServicePresenceStatus (separate skill), for permission-set access to statuses, or to set the channel-level ACW timer on a ServiceChannel.
allowed-tools
Bash, Read, Write, Edit, Glob, Grep
metadata.version
1.0
metadata.domains
Service
metadata.minApiVersion
66.0
metadata.relatedSkills
service-omni-agent-users-create, service-omni-base-settings-configure, service-omni-channel-setup-coordinate, service-omni-presence-status-deploy

service-omni-presence-user-config-deploy

Deploy an Omni PresenceUserConfig (the "presence configuration" that governs how work is offered to agents) together with the PresenceDeclineReason it references, in one atomic Metadata API package. The decline / auto-accept / decline-reason / ACW fields have cross-field validators — enabling Decline requires Auto-Accept off, Decline Reason requires Decline on, and the ACW timer must be paired with its max time — so they can only be set correctly as a single whole-record write, not field-by-field. This skill encodes that consistent record and assigns it to the given agents. It runs after service-omni-agent-users-create / service-omni-presence-status-deploy and is invoked by service-omni-channel-setup-coordinate as a rep-experience step.

Inputs

bash
bash scripts/deploy-and-report.sh <org-alias> [config_developer_name] [agent_usernames_csv]
  • org-alias (required).
  • config_developer_name (optional, default Omni_Demo_Presence_Config).
  • agent_usernames_csv (optional). Comma-separated Usernames (…@…) and/or 15/18-char User Ids (005…) to assign; Ids are resolved to usernames (metadata assigns by username). May also be set via AGENT_USERNAMES_CSV. Empty → the config deploys with no user assignments.

Env overrides: DECLINE_REASON_LABEL (default Training), DECLINE_REASON_DEVELOPER_NAME (default derived from the label), CAPACITY (default 5, 1–100), ACW_SECONDS (default 60, 10–3600), PRESENCE_STATUS_ON_DECLINE (optional ServicePresenceStatus DeveloperName).

Preconditions and safety

  • Target org authenticated via sf CLI, Service Cloud license, sf CLI ≥ 2.139.6.
  • Omni-Channel base settings enabled (service-omni-base-settings-configure).
  • Any PRESENCE_STATUS_ON_DECLINE must already exist (service-omni-presence-status-deploy).
  • The three-way safe_to_write production guard applies.

Run

deploy-and-report.sh materializes two components into a temp DX project and deploys them in one call:

  1. PresenceDeclineReason:<reason> — the decline reason (label only).
  2. PresenceUserConfig:<config> — capacity + label, enableAutoAccept=false, enableDecline=true, enableDeclineReason=true, declineReasons=<reason>, hasAfterConvoWorkTimer=true, afterConvoWorkMaxTime=<ACW_SECONDS>, optional presenceStatusOnDecline, and assignments/users for the resolved agents.

Elements are emitted in strict XSD order. Idempotency comes from the Metadata API files[].state per component (Unchanged→reused, Changed→updated, Created→created); the deploy runs --async and polls to a terminal state.

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

Behavior

Whole-record + consistent. The record is always emitted with the validator-safe combination, so a re-deploy is a clean no-op rather than a field diff that could trip a cross-field rule.

Non-destructive. Only the named config and decline reason are written; other presence configs and decline reasons on the org are never touched. Assignments are declared for the resolved agents; the skill does not remove users it did not add (a redeploy declares the full assignment set for this config).

Output contract

A single JSON object: status ∈ created | updated | reused | blocked, config ({developer_name, label, capacity, acw_seconds, state}), decline_reason ({developer_name, label, state}), assigned_usernames, deploy_id, manual_actions, blocking_issue.

Limitations

  • One presence configuration per invocation.
  • Encodes the decline+ACW rep profile from the steel thread; other field combinations require forking the XML template.
  • Does not set the channel-level After-Conversation-Work timer on a ServiceChannel (a separate concern), deploy ServicePresenceStatus, or grant status access via permission set.

References

FileWhen to read
references/api-notes.mdPresenceUserConfig cross-field validators, XSD element order, decline-reason packaging, and ACW field pairing
scripts/tests/_bootstrap.pyTest bootstrap loaded by the contract suite to locate the skill root and run its shell entry point
scripts/tests/test_presence_user_config_contracts.pyRun after changing the deployment script to verify guard, whole-record, membership, and output contracts

© 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-presence-user-config-deploy of forcedotcom/sf-skills.

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

Open the folder on GitHubat commit 4bbae5c

Compare with similar skills

Service Omni Presence User 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 Presence User Config Deploy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Service Omni Presence User Config Deploy this skillforcedotcom/sf-skills1.1k—~1.4kAutomated safety check: NotesApache-2.0
Gemini Omnicalesthio/OpenMontage66k—~2.1kAutomated safety check: NotesAGPL-3.0
GitHub Presencesickn33/agentic-awesome-skills47k1 repos~3.4kAutomated safety check: PassMIT
Presencealsk1992/CloddsBot3k—~1.2kAutomated safety check: PassMIT
Omnifajarhide/omni366—~1.1kAutomated safety check: PassApache-2.0
Cue Omni Readeriflytek/skillhub5.2k—~1.5kAutomated safety check: PassMIT

Similar skills

  • Gemini Omni

    calesthio/OpenMontage

    Generate and conversationally edit short videos with Google Gemini Omni Flash (gemini-omni-flash-preview).

    66k GitHub stars~2.1k tokensUpdated 7 days ago
    Media & CreativeAuto-check: notes
  • GitHub Presence

    sickn33/agentic-awesome-skills

    When the user wants to optimize their GitHub profile, README, or project discoverability.

    47k GitHub starsUsed in 1 repo~3.4k tokens
    DevelopmentAuto-check passed
  • Presence

    alsk1992/CloddsBot

    Online status, activity tracking, and multi-device sync. An agent skill from alsk1992/CloddsBot.

    3k GitHub stars~1.2k tokensUpdated 8 days ago
    Auto-check passed
  • Omni

    fajarhide/omni

    A skill your agent uses when installing, verifying or configuring OMNI, when command output carries an [OMNI: ...] marker, or when output looks shorter than expected.

    366 GitHub stars~1.1k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Cue Omni Reader

    iflytek/skillhub

    Parse and understand an HTTP(S) URL or an authorized local document, audio, or video source through Cue Omni Reader when the Agent has the official Omni MCP tools.

    5.2k GitHub stars~1.5k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Vllm Omni Test

    vllm-project/vllm-omni

    Generate and run tests for vllm-project/vllm-omni with CI-aligned levels and markers; wire new tests into Buildkite (test-ready.yml for L1/L2, test-merge.yml for L3, test-nightly.yml for L4).

    7.1k GitHub stars~17k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from forcedotcom/sf-skills

All 252 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

Questions about Service Omni Presence User Config Deploy

What does Service Omni Presence User Config Deploy do?

A skill your agent uses to deploy an Omni PresenceUserConfig (presence configuration) as one whole-record Metadata write with the decline/ACW fields set consistently: Auto-Accept off, Decline on…. Service Omni Presence User Config Deploy is an agent skill from forcedotcom/sf-skills. Use to deploy an Omni PresenceUserConfig (presence configuration) as one whole-record Metadata write with the decline/ACW fields set consistently: Auto-Accept off, Decline on, Decline Reason on (with a PresenceDeclineReason deployed in the same package), and an After-Conversation-Work wrap-up timer.

When should I use Service Omni Presence User Config Deploy?

Service Omni Presence User Config Deploy fits situations like: decline Reason on (with a PresenceDeclineReason deployed in the same package); an After-Conversation-Work wrap-up timer; servicePresenceStatus (separate skill); for permission-set access to statuses.

How do I install Service Omni Presence User Config Deploy in Claude Code?

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

How do I install Service Omni Presence User Config Deploy in Codex?

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

Can I use Service Omni Presence User 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-presence-user-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-presence-user-config-deploy, .gemini/skills/service-omni-presence-user-config-deploy, .github/skills/service-omni-presence-user-config-deploy and .opencode/skills/service-omni-presence-user-config-deploy in your project.

What does Service Omni Presence User Config Deploy need to run?

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

Does Service Omni Presence User 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 Presence User 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 Presence User Config Deploy use?

Service Omni Presence User 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 Presence User Config Deploy use?

About 1.4k tokens (SKILL.md is roughly 5.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 775 tokens, read only when the agent opens those files.

What are the alternatives to Service Omni Presence User Config Deploy?

Skills that share tags, products or a category with Service Omni Presence User Config Deploy: Gemini Omni (calesthio/OpenMontage, 66k stars), GitHub Presence (sickn33/agentic-awesome-skills, 47k stars), Presence (alsk1992/CloddsBot, 3k stars) and Omni (fajarhide/omni, 366 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Service Omni Presence User Config Deploy?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,067 GitHub stars. The repository holds 252 skills in this directory. The repository was last updated on October 9, 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.