mcpField
S
service-omni-channel-limits-analyze

service-omni-channel-limits-analyze

github.com/forcedotcomOther1.1k57 installsUpdated 1d ago
Repository

About service-omni-channel-limits-analyze

This Salesforce skill analyzes Pending Service Routing usage through supported customer-org APIs, for administrators who need a read-only Omni-Channel limits check. It reports the live count while explicitly labeling values that APIs cannot verify.

Key features

  1. 01Query the live Pending Service Routing count
  2. 02Label unverifiable comparison values
  3. 03Emit a structured JSON result
  4. 04Explain reasons analysis is blocked
  5. 05Inspect without changing configuration

Use cases

  1. 01Check an org’s current pending service routing count
  2. 02Distinguish live data from reference limits
  3. 03Diagnose query permissions or unavailable objects

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/forcedotcom/sf-skills --skill service-omni-channel-limits-analyze

After installing, type/service-omni-channel-limits-analyzein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
api-notes.md
scripts/
analyze.sh
scripts/tests/
_bootstrap.py
test_limits_analyze_contracts.py

Details

From the project README

service-omni-channel-limits-analyze

Report the Pending Service Routing usage that can be obtained safely through supported customer-org APIs. The Salesforce Setup → Omni-Channel → Limits page is read-only and also displays internal values that are not exposed through REST, Tooling, Metadata, or Connect APIs. This skill reports the live PSR count and labels every non-verifiable value explicitly.

Inputs

bash scripts/analyze.sh <org-alias> [--routing-model enhanced|legacy] [--max-psrs <integer>]
  • org-alias is required and must already be authenticated with Salesforce CLI.
  • --routing-model defaults to enhanced. It selects only the reference maximum used when --max-psrs is absent.
  • --max-psrs accepts an administrator-provided maximum from 1 through 1,000,000. It is still labeled as not API-verified.

Run

Invoke scripts/analyze.sh with the target org and rely on its JSON result for the live count, labeled comparison values, unavailable hourly values, and blocking details. The script invokes sf org display and sf data query internally; do not reproduce their query or calculation logic outside the script.

To verify the bundled script contract after a change, run python3 scripts/tests/test_limits_analyze_contracts.py; the test module loads its local scripts/tests/_bootstrap.py fixture automatically.

Output contract

The script emits one JSON object:

  • skill: service-omni-channel-limits-analyze
  • status: analyzed or blocked
  • routing_model: enhanced or legacy
  • metrics.current_pending_service_routings: live count, comparison maximum, approximate percentage, and source labels
  • metrics.pending_service_routing_rate_per_hour: unavailable live value, reference maximum, and source labels
  • caveats: mandatory accuracy boundaries
  • blocking_issue: actionable failure reason or null

If PendingServiceRouting cannot be queried, return status: blocked. Do not reinterpret an unavailable object, missing feature, or permission failure as zero usage.

Boundaries

  • Never scrape, replay, or submit the Visualforce Setup page. Its session state and controller are not a supported customer API.
  • Never describe a reference default as the org's configured maximum.
  • Never fabricate the live hourly rate or compute its utilization percentage.
  • Never mutate routing, queues, agents, limits, or metadata.
  • Treat the PSR count as a point-in-time snapshot that can change while work is routed.
  • For a complete channel and routing inventory, use service-omni-channel-inventory-analyze.
  • For a user-approved end-to-end Omni setup, hand off to service-omni-channel-setup-coordinate; this limits analyzer remains read-only.

Reference

Read references/api-notes.md when explaining why the report cannot exactly reproduce every value on the Setup page.

Comments

Markdown supported