> For the full page index, fetch https://echonova.ai/llms.txt

# Human handoff

What handing a conversation to a person means on each channel that supports it, what the customer and your team see, how to write the persona so it hands off at the right moment, and what to do on the channels with no handoff.

A handoff is the moment the agent stops and a person takes over. On four
channels the agent can do that itself: it marks the ticket or conversation
for your team, tells the customer, and goes quiet. On every other channel the
agent keeps answering for as long as the channel is connected, so the persona
has to carry the customer to a person in words. After this page you will know
which case each of your channels is in, what everyone sees when a handoff
fires, and how to write the trigger so it fires at the right time and not
before.

## The persona decides when; the channel decides how

You write the trigger. The persona names the situations that end the agent's
part of a conversation: the customer asks for a person, the same question
comes back a third time, the request needs something the agent cannot do.
[How the prompt is assembled](/docs/agents/prompting-guide) shows the
recommended wording under **Say when to hand over**.

The channel does the rest. On the channels that support a handoff, every
conversation adds a short instruction to the agent's prompt that tells it how
to signal one, and the signal itself is stripped before anything reaches the
customer. You never write that signal yourself, and the customer never sees
it. On the channels with no handoff, nothing is added, and a line in the
persona that says "hand the conversation over" produces a sentence to the
customer and nothing more.

## What happens on each channel

| Channel                | What the agent does                                                                                          | What your team sees                                                                                                                         | What the customer sees                                                       |
| ---------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **Zendesk**            | Adds the tag `echonova_escalated`, sets the ticket to open, removes the assignee and leaves an internal note | An open, unassigned ticket carrying the tag and the note `Echonova agent escalated this ticket — full transcript is in the comment thread.` | The agent's last reply as a public comment, then nothing more from the agent |
| **Zoho Desk**          | Adds the tag `echonova_escalated` and leaves a private comment                                               | A ticket carrying the tag and the same note                                                                                                 | The agent's last reply, then nothing more from the agent                     |
| **Intercom**           | Adds the tag `echonova_escalated`, leaves a note and unassigns the conversation                              | An unassigned conversation carrying the tag and the note                                                                                    | The agent's last reply, then nothing more from the agent                     |
| **Genesys Cloud** chat | Returns the conversation to your Genesys flow with the intent `escalate`                                     | Whatever your flow does with that intent. The connect dialog's own guidance is to branch on it and route to a human queue                   | The agent's last reply, then whatever the flow does next                     |

On all four, the conversation on the agent's **Conversations** tab closes and
shows **Resolved**. The transcript up to the handoff stays there, and on a
helpdesk the whole exchange is also on the ticket, which is what the note
points your team at.

Genesys Cloud voice, Twilio voice and every messaging channel have no handoff;
see **Channels with no handoff** below.

## What the customer sees

The customer sees one thing: the agent's final reply. If the persona has the
agent say that a colleague will pick the ticket up, that sentence is the
whole handoff from the customer's side. If the agent hands off without saying
anything, the customer sees no message at all and the ticket simply goes
quiet until a person answers.

So the final reply has to do the work. Have the agent say what will happen
next, and nothing it cannot promise: not a time, not a name.

## When the agent stops, and when it starts again

On **Zendesk**, **Zoho Desk** and **Intercom** the tag is the switch. While a
ticket carries `echonova_escalated`, the agent does not answer it, whoever
writes on it. Remove the tag and the agent answers the ticket again from the
customer's next message. Build your views, triggers and reports on that tag
name; there is no setting in the portal to rename it, and every helpdesk
connection uses the same one.

If the helpdesk refuses the tag, the handoff has not happened: the
conversation stays open, the agent keeps answering, and its next reply that
asks for a handoff tries the tag again.

A person can also take a ticket without waiting for the agent. On
**Intercom**, the first reply from a teammate other than the one the agent
posts as stops the agent on that conversation for good. On **Zendesk** and
**Zoho Desk**, a reply from your team stops the agent for that reply only; it
answers the customer's next message unless the ticket carries the tag. To
take a Zendesk or Zoho Desk ticket over for good, add `echonova_escalated` to
it yourself.

On **Genesys Cloud** chat the agent's part ends when it returns the
`escalate` intent. What happens after that is your flow's decision.

## Get it right

Name the triggers, and tell the agent what to say as it hands off. A trigger
without a closing line leaves the customer with silence; a closing line
without triggers never fires.

**Recommended**

```text
Hand the conversation over when the customer asks for a person, when they repeat the same request a third time, or when they need a change to their account that you cannot make. Tell them a colleague will pick this up from here, then stop.
```

**Less effective**

```text
Always do your best to resolve every issue yourself. Never end the conversation.
```

The second form does worse than fire late: on a helpdesk it contradicts the
instruction the channel adds, and the handoff stops firing at all.

Two more rules that hold on every channel:

- Do not promise what the handoff does not do. The agent cannot name who will
  answer or when. "A colleague will pick this up" is true; "someone will call
  you within the hour" is not something the agent can arrange.
- Keep the triggers few and concrete. "Escalate difficult cases" leaves the
  agent to decide what difficult means, and it will decide differently on
  every ticket.

## Channels with no handoff

**WhatsApp**, **Messenger**, **Instagram**, **Slack**, **Twilio** text and
voice, and **Genesys Cloud** voice have no handoff. The agent answers every
message and every call on them while the channel is connected, and a person
writing from the same number or account does not stop it. Three things work
there:

- **Give the agent the route.** Put a phone number, an email address or a
  link in the persona, with the hours it is staffed, and tell the agent to
  give it and stop offering alternatives once it has.
- **On a call, let the agent end it.** Turn on the
  [End conversation](/docs/agents/system-tool-end-conversation) tool and tell
  the agent to give the route, confirm the customer has it, and end the call.
- **To stop the agent on a channel for good,** disconnect the channel or
  assign it to another agent. Pausing the agent does not stop a channel; see
  [Agent status](/docs/agents/agent-status).

**Recommended**

```text
If the customer asks for a person, give them the support line on 800 123 4567, open Sunday to Thursday 9 to 6, and say goodbye. Do not keep answering the original question after that.
```

**Less effective**

```text
If the customer asks for a person, hand the conversation over.
```

On a channel with no handoff the second line makes the agent say it is
handing over, and then keep answering the next message as if nothing had
happened.

## Worked example

A Zendesk ticket arrives: "My order 41822 was charged twice, I want the second
charge refunded now." The persona says the agent answers questions about
orders and deliveries, cannot issue refunds, and hands over when a request
needs a change it cannot make, telling the customer a colleague will pick it
up.

1. The agent replies on the ticket: "I can see order 41822. A refund has to be
   issued by a colleague, so I'm passing this to the billing team and they
   will pick it up from here." The customer sees exactly that.
2. The ticket is tagged `echonova_escalated`, set to open, unassigned, and
   carries the internal note `Echonova agent escalated this ticket — full
transcript is in the comment thread.`
3. Your billing view, filtered on the tag, shows the ticket. A person reads
   the thread and issues the refund.
4. On the agent's **Conversations** tab the conversation reads **Resolved**.
   The customer's next reply on the ticket goes to the person, not the agent,
   for as long as the tag stays.

## FAQ

### Can I rename the handoff tag?

No. Every helpdesk connection uses `echonova_escalated`. Build your helpdesk
views and rules on that name.

### Does the agent hand off on WhatsApp or Slack?

No. Those channels have no handoff. Give the agent the route to a person in
the persona, and disconnect or reassign the channel to stop it altogether.

### How do I give a ticket back to the agent?

Remove `echonova_escalated` from it. The agent answers the ticket again from
the customer's next message.

### What if a person replies before the agent hands off?

On Intercom the agent stops on that conversation for good. On Zendesk and
Zoho Desk it stays quiet for that reply and answers the customer's next
message; add the tag to keep it out.

### Is a handoff charged?

The reply that carries it is a turn like any other. Nothing further is
charged once the agent has stopped. See
[What a turn costs](/docs/agents/what-a-turn-costs).

### Do I have to write the handoff signal into the persona?

No. Write when to hand over, in plain words. The channel adds the instruction
that tells the agent how, and strips the signal from what the customer reads.

## Related

- [How the prompt is assembled](/docs/agents/prompting-guide): the recommended trigger wording, and the instruction each channel adds
- [Write the persona](/docs/agents/persona): where the trigger goes
- [Channels overview](/docs/agents/channels-overview): which channels support a handoff
- [End conversation](/docs/agents/system-tool-end-conversation): letting the agent end a call once it has given the route
- [Agent status](/docs/agents/agent-status): why pausing an agent does not stop a channel
- [Find and read a conversation](/docs/agents/conversations): the **Resolved** row a handoff leaves behind
