Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionaryOOmni-Channel Flow
ServiceIntermediate

Omni-Channel Flow

Omni-Channel Flow is the Salesforce feature that lets admins build Omni-Channel routing logic in Flow Builder, replacing the legacy queue-based assignment rules.

§ 01

Definition

Omni-Channel Flow is the Salesforce feature that lets admins build Omni-Channel routing logic in Flow Builder, replacing the legacy queue-based assignment rules. The flow runs on each new work item before routing, examines fields, branches on conditions, and assigns Skills, target Queue, or Routing Configuration dynamically. The same flow can route a billing case to the Finance queue and a technical case to the Engineering queue based on Case Type, without separate assignment rules for each.

Omni-Channel Flow is the recommended approach for any new Omni-Channel rollout since 2022. Queue-based routing still works for backward compatibility, but flow-based routing is where Salesforce is investing. The flow has access to the full record context (Case, Lead, Chat), record-related data via Get Records elements, custom Apex actions, and a final Route Work action that hands control to the routing engine. This is a significant upgrade over the old declarative pattern where logic was scattered across assignment rules, escalation rules, and Process Builder.

§ 02

How Omni-Channel Flow replaces brittle queue routing with declarative branching logic

The Omni-Channel Flow trigger type

Salesforce ships a specialized Flow trigger called Omni-Channel Flow. The flow trigger fires when a record (Case, Lead, Chat, Message) is created and the org has Omni-Channel enabled. The flow runs synchronously before the routing engine sees the record, so any field updates the flow makes are visible to routing. Multiple flows can fire on the same trigger, but only one should determine the routing target; design with a single routing flow per object type.

The Route Work action and routing target

Inside the flow, the final action is Route Work, which hands the record to the routing engine. The action accepts: target Queue ID, target User ID, required Skills (a list of Skill IDs with proficiency), Routing Configuration ID, and channel-specific overrides like Service Channel. Flow developers can build the routing target from any source: a custom field, a Skill lookup table, a tier-based decision tree. This is where the flow''s flexibility pays off; declarative logic can be richer than what assignment rules support.

Skill assignment from inside the flow

One of the killer features. The flow can add Required Skills to the work item before routing. A Case with Type = Spanish-Billing gets Spanish-Language skill plus Billing-Tier-2 skill assigned; the routing engine then matches agents with both. This is how multi-skill routing scales without per-skill queue proliferation. The old queue pattern needed a Queue-Spanish-Billing for every skill combination; the flow pattern needs one queue plus dynamic skill assignment.

Combining record context and external data

The flow runs with full record context. It can Get Records on the parent Account to read VIP status, Get Records on related Cases to count history, or call an Apex action to query an external system for entitlement data. The routing decision can then be VIP-aware (route to senior agent), history-aware (escalate repeat callers), or entitlement-aware (route Gold-tier customers to a separate queue). None of this was possible in legacy assignment rules without complex workarounds.

Error handling and the fallback path

Production flows need fault paths. If the Route Work action fails (no matching agent, invalid skill ID, queue does not exist), the flow can branch to a fallback path: route to a Default Queue, log to a custom error object, send an alert to a service operations team. Without a fault path, failed routing leaves the work item in limbo. Salesforce''s Omni-Channel monitoring shows stuck items, but the agent-facing experience is bad without graceful fallback inside the flow.

Performance considerations and flow complexity

The flow runs synchronously on every new work item. Complex flows with multiple Get Records, Apex callouts, and external lookups slow down routing. Voice routing especially is latency-sensitive; a phone call that waits 5 seconds for the flow to finish is a bad customer experience. Keep routing flows lean: pre-compute the routing target into a custom field at record-save time when possible, and let the flow reference it instead of computing fresh.

Migration from queue assignment rules

There is no auto-convert from queue assignment rules to Omni-Channel Flow. The migration pattern is parallel-run: build the flow, test it in sandbox with sample records, activate it alongside the existing assignment rules, monitor routing decisions, and disable the legacy rules once the flow proves reliable. Salesforce documents a recommendation to migrate but does not force it. Many orgs run hybrid models for months while the operations team validates the flow logic.

§ 03

Building an Omni-Channel Flow for case routing

The pattern: build the flow in Flow Builder with the Omni-Channel Flow trigger, gather any data the routing decision needs, branch on conditions, and finish with the Route Work action.

  1. Create the flow

    Setup, Flow Builder, New Flow. Pick Start From Scratch, then choose Omni-Channel Flow as the trigger type. Configure which object (Case, Lead, Message) the flow runs on. Save with a clear name like Case_OmniChannel_Routing.

  2. Gather decision inputs

    Add Get Records elements for parent Account (VIP flag), related Cases (history count), and any external context needed. Build local variables for the routing target (target Queue, required Skills list).

  3. Build the routing logic

    Use Decision elements to branch on Case Type, parent Account tier, time of day, language. Each branch sets the routing variables (Queue ID, Skill list) to the right values for that path. Document every branch in the description for future admin maintenance.

  4. Add the Route Work action

    Final step. Pick the Route Work standard action. Pass the computed target Queue, Skills, Routing Configuration. Map the Service Channel to the right channel for the work item type.

  5. Test and activate

    Create test records in sandbox, verify routing lands on the expected queue or agent. Activate the flow. Disable any legacy queue assignment rules that the flow now replaces.

Key options
Trigger objectremember

Case, Lead, Chat Transcript, Messaging Session, Voice Call, or any custom object configured as a Service Channel.

Route Work parametersremember

Target Queue ID, target User ID, required Skill IDs and proficiency, Routing Configuration ID, Service Channel. Set the ones you need; leave others null.

Fault pathremember

Optional but recommended fallback when Route Work fails. Routes to a default queue, logs the error, alerts service operations.

Skill assignmentremember

The flow can attach a list of Skills to the work item; the routing engine intersects with agent skill proficiency.

Gotchas
  • The flow runs synchronously on every new work item. Slow flows slow down routing; latency-sensitive channels like Voice need lean logic.
  • Multiple flows can fire on the same trigger but only one should decide routing. Design with one routing flow per object type.
  • Skill-based routing requires the Service Cloud Voice or Field Service license tier; Omni-Channel Flow can assign Skills but they only matter at routing time if the license supports it.
  • Legacy queue assignment rules and Omni-Channel Flow can coexist. Audit which path each Service Channel uses; conflicting rules are a common cause of unexpected routing.
  • Without a fault path on Route Work, failed routing leaves work items stuck. Build the fallback path into every production flow.
§

Trust & references

Sources

Cross-checked against the following references.

Official documentation

Straight from the source - Salesforce's reference material on Omni-Channel Flow.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

About the Author

Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.

§

Test your knowledge

Q1. What is Omni-Channel Flow?

Q2. When use Omni-Channel Flow over standard routing?

Q3. What can flow-based routing consider?

§

Discussion

Loading…

Loading discussion…