Loading...
Loading...
Use to deploy an Omni-Channel routing Flow for Case or VoiceCall and verify it routes work items to a queue or by skill. Supports the Case and VoiceCall steel thread with an autolaunched dryRun-gated variant and record-triggered QueueBased and SkillsBased variants. --trigger deploys a record-triggered variant; --routing-type SkillsBased evaluates WorkSkillRouting rules with a non-null skillOption; --runtime-proof checks routing evidence and, for SkillsBased, SkillRequirement rows. Triggers: deploy Omni routing flow for Case, deploy Omni routing flow for VoiceCall, wire VoiceCall routing, create a record-triggered Omni routing flow, verify a Case routing flow, deploy skills-based routing flow. Do not use for screen flows, platform-event-triggered flows, or Flow Tests.
npx skill4agent add forcedotcom/sf-skills service-omni-routing-flow-deployVoice runtime proof depends on a provisioned Contact Center. Flow redeploys reporteven when the deployed configuration is unchanged.Changed
service-omni-channel-setup-coordinateservice-omni-queue-deployassets/force-app/main/default/flows/--target Case|VoiceCall--trigger| Variant | Shape | Proves | Routes real work? |
|---|---|---|---|
| Autolaunched, | CLI invocability via Actions REST, no side effects | No |
| Record-triggered on insert, calls | Real routing — the insert creates | Yes |
--trigger --routing-type SkillsBased<FlowDN>.SkillsBased.flow-meta.xmlroutingType=SkillsBasedskillOptionroutingType=QueueBasedbash scripts/deploy-and-report.sh <org-alias> [flow_developer_name] [--target Case|VoiceCall] [--trigger] [--routing-type QueueBased|SkillsBased] [--skill-option RunSBRRules|DefineSkillRequirements|Both] [--runtime-proof] [--require-proof] [--skip-invoke]
# autolaunched smoke test (Case):
bash scripts/deploy-and-report.sh myorg
# record-triggered Voice routing with runtime proof:
bash scripts/deploy-and-report.sh myorg --target VoiceCall --trigger --runtime-proof
# skills-based Case routing (platform evaluates WorkSkillRouting rules):
bash scripts/deploy-and-report.sh myorg --target Case --trigger --routing-type SkillsBased --runtime-proof--target Case|VoiceCall--trigger--routing-type QueueBased|SkillsBasedOMNI_ROUTING_TYPESkillsBased<FlowDN>.SkillsBasedrouteWorkroutingType=SkillsBased--skill-option RunSBRRules|DefineSkillRequirements|BothRunSBRRulesOMNI_SKILL_OPTIONRunSBRRulesBothWorkSkillRoutingSkillRequirementDefineSkillRequirementsrouteWork--runtime-proof--triggerPendingServiceRoutingAgentWorkPendingServiceRoutingSkillRequirementRunSBRRulesWorkSkillRouting--require-proof--runtime-proofOMNI_RUNTIME_PROOF_REQUIRED=1--skip-invoke--triggerQUEUE_DEVELOPER_NAMEROUTING_CONFIG_DEVELOPER_NAMESERVICE_CHANNEL_DEVELOPER_NAMEsfsfjqservice-omni-base-settings-configureservice-omni-service-channel-configureservice-omni-queue-deployservice-omni-queue-routing-config-deployservice-omni-presence-status-deploysafe_to_writedeploy-and-report.sh__QUEUE_ID____ROUTING_CONFIG_ID____SERVICE_CHANNEL_ID__sf project deploy start --metadata "Flow:<FlowDN>"files[].statereusedupdatedcreatedroutingTypeskillOption/actions/custom/flow/<FlowDN>{"dryRun":true}isSuccessdryRunOkSkillRequirementdryRundryRun=truedryRunOk=truePendingServiceRoutingAgentWorkFlowDefinitionView.ActiveVersionIdFlowflow_active:truereusedOMNI_FLOW_FORCE=1FlowChangedupdated--metadata "Flow:<DN>"--source-dirflow_developer_nameflow_developer_name^[A-Za-z][A-Za-z0-9_]{0,79}$statuscreatedreusedupdatedblockedflow_developer_nameflow_stateflow_activedeploy_idmanual_actionsblocking_issueverification_pathinvocation_smoke_testattemptedsuccessendpointdry_run_okmode: "record_triggered"targetflow_active_version_idrouting_typeskill_optionresolvedruntime_proofattemptedrequiredsuccessrecord_idpending_service_routingagent_workreason--routing-type SkillsBasedruntime_proofskill_requirement_countskill_requirementsSkillRequirementblocked--require-proofSkillRequirement--runtime-proofruntime_proof.attemptedfalse--runtime-proof--require-proofdryRundryRunOkrouteWorkservice-omni-queue-routing-config-deploy| File | When to read |
|---|---|
| On unexpected deploy or verification behavior — variant comparison, the token-resolution table, Flow schema, the Actions REST response shape, and record-DML verification |