---
title: "Agent assignment"
description: "How a contact gets an owner, and what exclusive handoff does."
---

> Documentation Index
> Fetch the complete documentation index at: https://guides.channelautomations.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent assignment

[Open original guide with interactive examples →](/originals/agent-assignment/)

<span id="big-picture"></span>

## The big picture [#](#big-picture)

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).

<span id="two-paths"></span>

## The two assignment paths [#](#two-paths)

Path A

### Command Center engine

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.

<span id="which-path"></span>

## Which path do I need? [#](#which-path)

Pick when you want assignment to fire — the guide tells you which path handles it.

When should the contact get assigned?

<span id="whenVerdict"></span>

Pick a moment above…

<span id="strategies"></span>

## The six strategies [#](#strategies)

A _strategy_ decides **which agent** gets the contact. Both paths use these. Click to explore.

<span id="stratOut"></span>

Pick a strategy…

<span id="exclusive"></span>

## Co-assign vs Exclusive handoff [#](#exclusive)

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 Lead** lead\_status: Lead

 **Run "Assign to Agent → Team C"**   **Reset**

**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.

<span id="why"></span>

## Why was this contact assigned? [#](#why)

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

<span id="srcOut"></span>

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.

<span id="visibility"></span>

## Strict Owner visibility — make the handoff complete [#](#visibility)

"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.

Channel Automation · Help · Last updated 2026-06-25.
Questions? Ask your account manager, or open **Help Docs** inside the app — the same guidance lives there.

Source: https://guides.channelautomations.com/automation/agent-assignment/index.mdx
