How contacts get handed to agents — the Agent Command Center as the config hub, the two ways assignment fires
(the built-in engine vs a flow's Assign to Agent action), the six routing strategies, and the new
Replace previous owner (exclusive) handoff. Built for both customers and the internal team —
try the interactive demos below.
The Agent Command Center is the single place you configure the building blocks of
routing — your agents, your Teams, the assignment strategies, and tag matching. It does not
decide everything on its own; it's the shared config that two assignment paths both draw from.
Config hub
Agent Command Center — agents · Teams · strategies · tag matching · visibility
↓ feeds both ↓
Path A · automatic
Command Center engine
Fires on its 4 built-in moments. No flow needed.
Path B · a flow
"Assign to Agent" action
Fires whenever its trigger runs — any moment you choose.
One-line mental model
Configure agents & Teams once in the Command Center → then either let the engine handle the standard
moments, or use a flow for everything else (field changes, exclusive handoffs, specific timing).
Self-contained. Turn on Auto-Assign, pick a Strategy, enable the Triggers you want. No flow.
Fires on its 4 built-in moments:
New contact is created
Contact sends first inbound message
Unassigned conversation gets a reply
Agent responds (claim)
Path B
A flow's "Assign to Agent" action
A flow with an Assign-to-Agent node, triggered however you like — manual send or a trigger.
Use it for moments the engine can't:
Lead status changed (Field Change trigger)
Appointment booked · link clicked
Manually sending a flow to a contact
Exclusive handoff (this toggle is flow-only)
The key difference
The engine only fires on its 4 built-in moments. There is no "field changed" engine trigger — so a
lead-status-driven handoff must use Path B (a flow + a Field-Change trigger). And the
Replace previous owner (exclusive) toggle exists only on Path B.
By default, assigning a contact adds the new agent alongside the current owners (co-assignment).
Turn on Replace previous owner (exclusive) and the new assignment removes all
other agents. Try it 👇
Replace previous owner (exclusive) — OFF (co-assign)
Acme Leadlead_status: Lead
Safety built in
Exclusive only removes others when the assignment actually succeeds. If the action matches nothing
(e.g. Team Based with no matching team + fallback "leave unassigned"), nothing is removed — it never strips a
contact and leaves it orphaned. And if it re-picks an agent who's already an owner, that agent stays and the
others go.
Open Live Dashboard → Recent Assignments and read the Source column — it tells
you which system did it. Click a row to decode it.
Recent assignments — click a row
Click a row above…
"self-assigned" can be misleading
An assignment shows as "self-assigned" only when a human actually claims it. Flow/engine assignments are now
labeled "Auto-assigned … via flow / via <strategy>" — because automation stamps the assigned
agent as the actor. Trust the Source column, not who appears as the actor.
Strict Owner visibility — make the handoff complete #
"Removed" means the agent is no longer an owner. To make them actually lose sight
of the contact, set Access & Routing → Strict owner visibility. Under the default
Shared visibility, agents can still view contacts they don't own.
Visibility
After an exclusive handoff, can the removed agent still see the contact?
Shared (default)
Yes — they're no longer the owner, but can still view it.
Strict owner
No — they only see contacts assigned to them, so it disappears for them. ✅
The complete department handoff
Flow "Assign to Agent" + exclusive ON + Strict owner visibility = old agent
out, new agent in, and the old agent can no longer see it.