Loading...
Loading...
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.
npx skill4agent add forcedotcom/sf-skills service-omni-queue-routing-config-deployQueueRoutingConfigMostAvailableLeastActiveCapacityWeightCapacityPercentageQueueservice-omni-queue-deployDeveloperNamebash 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 MostAvailableorg-aliasrouting-modelROUTING_MODEL_INPUTMostAvailableLeastActiveMostAvailabledeveloper-namemaster-labelcapacity-weightrouting-priorityQRC_DEVELOPER_NAMEQRC_MASTER_LABELQRC_CAPACITY_WEIGHTQRC_ROUTING_PRIORITY51QRC_CAPACITY_PERCENTAGEoverflow-assigneeQRC_OVERFLOW_ASSIGNEE005OverflowAssigneeIdpush-timeoutQRC_PUSH_TIMEOUTQRC_ROUTING_TARGETCase | VoiceCall | Incident | MessagingSessionservice-omni-channel-setup-coordinatesfsfservice-omni-base-settings-configureQueueRoutingConfigINVALID_TYPEsafe_to_writeupsert-and-report.shQueueRoutingConfig WHERE DeveloperName = '<target-derived-or-explicit>'reusedCase_Routing_ConfigVoice_Routing_ConfigMostAvailable51QueueBasedQueueRoutingConfigoverflow-assigneeOverflowAssigneeIdvalues_source: "requeried"QueueRoutingConfigstatuscreatedreusedupdatedblockedrouting_targetdeveloper_nameidmaster_labelrouting_modelrouting_prioritycapacity_modecapacity_weightcapacity_percentageis_attribute_basedpush_timeoutoverflow_assignee_idoverflow_assignee_requestedvalues_sourcebeforemanual_actionsblocking_issuecreatedreusedupdatedblockedoverflow-assigneebefore.existedcapacity_weightrouting_modelidblocking_issueblockedIsAttributeBased=trueMostAvailableLeastActiveservice-omni-service-channel-configure| File | When to read |
|---|---|
| On unexpected errors or when customizing fields — QueueRoutingConfig schema, RoutingModel semantics, and how CapacityWeight interacts with agent capacity |
| When validating changes — run |