service-omni-command-center-configure

SkillDev tools

Lets your agent enable Command Center for Service V2 and set supervisor options in a Salesforce org.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the service-omni-command-center-configure skill

About this skill

Use to enable Command Center for Service V2 and configure its supported supervisor controls through the OmniChannel Settings Metadata API while preserving unrelated settings. Requires explicit apply consent, refuses production customer orgs, and verifies the seeded V2 page and tab. TRIGGER when: ena

What this skill tells your AI

The instructions your AI receives, as published by forcedotcom/sf-skills in skills/service-omni-command-center-configure/SKILL.md and read by ahel’s review.

Enable Command Center for Service V2 through Settings:OmniChannel and optionally configure the five supervisor controls exposed by the same Metadata API contract. The writer retrieves the org's complete settings document, changes only requested elements, deploys that preserved document, retrieves it again, and verifies both the values and the platform-created CommandCenterForServiceV2_L page and V2 tab.

The skill fails closed with platform_api_unavailable when the retrieved settings document does not expose enableCommandCenterForServiceV2.

Run service-omni-base-settings-configure first so the Omni foundation is enabled. If the org does not support Command Center V2, use service-omni-supervisor-config-deploy for the classic supervisor configuration instead.

For an end-to-end setup, service-omni-channel-setup-coordinate invokes this skill only when OMNI_COMMAND_CENTER_V2=1; the coordinator's default supervisor path remains unchanged.

Inputs

bash scripts/configure-and-report.sh plan <org-alias> [options]
bash scripts/configure-and-report.sh run  <org-alias> --apply [options]

Options:

OptionMetadata elementValues
--conversation-monitoringenableConversationMonitoringtrue or false
--agent-sneak-peekenableAgentSneakPeektrue or false
--customer-sneak-peekenableClientSneakPeektrue or false
--whisper-messagingenableWhisperMessagingtrue or false
--queues-and-skillsenableSkillsAndQueueActionstrue or false

enableCommandCenterForServiceV2=true is always requested. Unspecified supervisor controls are preserved exactly as retrieved. The skill intentionally does not disable V2 because disabling an org-level supervisor experience is a materially different operation.

Safety

  • plan is read-only and never deploys.
  • run requires the literal --apply flag before any mutation.
  • Writes are allowed only when IsSandbox=true, TrialExpirationDate is non-null, or OrganizationType is Developer Edition or Base Edition. There is no production override.
  • Settings is a whole-document Metadata API type. Never deploy a partial or hardcoded OmniChannel.settings-meta.xml; doing so can reset unrelated Omni settings.
  • The target org must have Enhanced Omni-Channel and the Command Center for Service V2 release gater. The API field is also permission-gated by Customize Application.

Behavior

  1. Authenticate and retrieve Settings:OmniChannel at API v66.
  2. Confirm the V2 field is present. If it is absent, return blocked with reason_code=platform_api_unavailable; do not attempt a deploy.
  3. Build a requested-value set containing V2=true plus only the optional controls explicitly supplied by the caller.
  4. In plan, return action_needed or reused without writing.
  5. In run, enforce --apply and the non-production guard, mutate a private copy of the retrieved document, and deploy it.
  6. Retrieve the settings again and require every requested value to match.
  7. Require both the seeded FlexiPage (CommandCenterForServiceV2_L) and V2 TabDefinition to be observable. Missing or unreadable provisioning evidence returns blocked; the skill never guesses.

The platform's ON-transition hook is idempotent: it creates missing profile tab configuration and seeds the baseline FlexiPage only when needed. Existing page customizations are not overwritten. If the preference is already true but its seed artifacts are missing, the skill returns seed_incomplete; it does not force a destructive OFF→ON cycle.

Output contract

The script emits one JSON object with:

  • status: configured, reused, action_needed, or blocked
  • reason_code: a stable reason such as changes_required, already_configured, platform_api_unavailable, unsafe_target, deploy_failed, verification_failed, or seed_incomplete
  • requested, before, and after: setting values, with presence retained in the snapshots
  • safe_to_write, deploy_id, and verification
  • manual_actions: permission assignment and any required follow-up
  • blocking_issue: populated only when blocked

Enabling the org preference does not grant user access. Assign a permission set containing CommandCenterForServiceUser to each intended supervisor, then run service-omni-command-center-analyze <org> <supervisor> to verify end-to-end readiness.

References

FileWhen to read
references/api-notes.mdMetadata names, platform gates, seed behavior, and known limitations

Signals

GitHub stars
1k
Forks
351
Last commit
Sep 2026
Advanced
Item type
skill
Key
service-omni-command-center-configure
Source
github.com/forcedotcom/sf-skills