Settingsintermediate

Configure Handover for an Agent Stack

Turn handover on, choose a destination team, set the prerequisites the AI must collect first, and pick what happens outside opening hours — all from the Handover tab.

7 min read

Configure Handover for an Agent Stack

Handover is how the AI gets out of the way and lets a human take over. By default a new stack has handover off (never). This walks you through turning it on, picking a team, and setting up what the AI collects before handing off.

Before you start

  • The stack must exist with at least one specialist.
  • The team that should pick up handed-off conversations must exist (Settings → Teams). If it doesn’t, create it first.
  • Decide what information the AI must collect before handoff (account email, order ID, etc.). You can add more later.

Steps

1. Turn handover on

  1. Open Settings → Agent Stacks → [stack] → Handover.
  2. On the Triggers sub-tab, toggle Allow handover to humans on.
  3. The handover mode flips from never to by_description automatically. The Prerequisites and Delivery sub-tabs become enabled.

2. Pick a delivery mode and team

  1. Click the Delivery sub-tab.
  2. Choose a handover mode:
    AI picks (default) — the AI reads each team’s description and routes to the best match. Best when you have multiple teams covering different areas.
    Fixed team — every handover goes to one specific team. Pick the team from the dropdown.
  3. (Optional) Add Handover instructions — free-form text that augments the AI’s prompt when deciding whether to hand over and which team to route to. Business-specific triggers only: the AI already hands over when the customer asks for a human, the request is out of scope, or they’re repeatedly frustrated. Examples: “Hand over if the customer requests a refund over 500€,” “GDPR data requests always go to a human.”
  4. Configure Outside opening hours behavior:
    Toggle Check opening hours before handing over on if you want the AI to behave differently when the destination team is closed.
    If on, pick which outside-hours options to offer: Offer email follow-up (default on) and Offer to close and reach out later.
    If Offer email follow-up is chosen but no verification link can be sent, the handover still commits immediately on the current channel.
  5. Toggle Ask the customer to confirm before handing over if you want the AI to confirm with the customer before queueing them (“Want me to connect you with a human?”). Some stacks prefer to surprise-confirm; others prefer the customer’s explicit consent. If Check opening hours before handing over and Offer email follow-up are also enabled, a confirmation that happens while the team is still closed becomes an email follow-up path; live handover is only used if the team has reopened by the time the customer confirms.
  6. Click Save.

3. Add prerequisites (the information the AI must collect)

  1. Click the Prerequisites sub-tab.
  2. Click Add requirement.
  3. Fill in the form:
    Information to collect — pick a Conversation or CRM Contact field. The collected value will be saved there.
    Label — what to call this field. Keep it concise, because this label appears inside the generated customer-facing request.
    How should the AI ask? — describe what information to collect for the operator or configuration. This text is never sent to the customer: the question they see is composed from the field’s own name, in their language.
    When does this apply? — Always (every handover requires this) or When (only required when a stated condition is met, like “the customer is asking about a refund”).
  4. Save the requirement.
  5. Add as many as you need. Use the up/down arrows to reorder; the AI checks them in this order.

Verify it worked

  • Open the Testing tab.
  • Send a message that should trigger handover (“I want to talk to a real person”) or wait for the orchestrator to detect a stall.
  • Watch the AI ask for any missing prerequisites in turn — on a live channel. The Testing tab skips the handover step entirely: it reports that the AI wanted to hand over, but never asks for prerequisites, defers, or commits anything.
  • For live handover, once everything is collected, the AI is switched off for the conversation and the conversation moves to the destination team’s queue (you’ll see this on the live channel).
  • For outside-hours email follow-up, if a webchat customer chooses email follow-up and a verification link is sent, the AI stays on the chat while Atender waits for the customer to confirm the email link. The conversation does not enter the team queue yet. After the customer clicks the link, the conversation switches to email and then hands over.
  • If a handover the orchestrator genuinely requested cannot be routed to a real team, nothing is handed over at all: the AI stays engaged, tells the customer it cannot reach a teammate right now, and the routing failure is logged for operators. A conversation that does land in the queue unassigned comes from a system stand-down instead — where the AI was blocked from replying rather than choosing to escalate — and with by_description Atender re-runs the team pick once a couple of minutes later, so re-check the timeline and team assignment before assuming manual routing is required. A reply that merely failed the output guardrails is a different thing entirely and hands nothing over — see the guardrail entry under Troubleshooting.

Recipe: a simple two-team setup

A common pattern for stacks with two destination teams:

  • Set Handover mode to AI picks.
  • Add Handover instructions: “Route billing questions to the Billing Team. Route everything else to General Support.”
  • Add prerequisites: account email (always), order ID (when the conversation is about an order).
  • Turn on Check opening hours before handing over with Offer email follow-up as the outside-hours option.

Troubleshooting

  • Symptom: Toggling handover on does nothing visible. Fix: the toggle flips optimistically and there is no success toast — a toast only appears if the save failed. Refresh and confirm the toggle stayed on.
  • Symptom: The AI hands off to the wrong team. Fix: if you’re using AI picks, sharpen the Handover instructions with specific routing rules. Also check whether the web chat or pre-chat survey collects the routing-critical fields, such as installation country, because those answers are used by by_description routing. Handover instructions still steer team selection, but customer-stated pre-chat details take precedence over inferred language or page-market signals. If using Fixed team, only one team is possible — check the dropdown.
  • Symptom: Handover triggers before all prerequisites are collected. Fix: the gate the orchestrator runs is deterministic and blocks the commit, but a When prerequisite is only required when its condition matches, and handovers that don’t come from the stack’s orchestrator — an automation’s handover action, or a system stand-down when the AI cannot reply at all — commit without running the gate. To force every orchestrator handover to wait, mark every prerequisite as Always and remove any When conditions.
  • Symptom: The specialist response fails guardrails and the AI stops answering. Fix: a guardrail failure is not a handover, in any mode. When a reply fails the output guardrails twice the turn is discarded, the customer gets the canned “ran into a problem, try again” line, and the AI stays engaged — no stand-down, no team assignment, and a handover the rejected reply asked for is not dispatched. Look for the forced-fallback outcome on the Guardrails tab of the Super Admin → Agent Stacks page (Replies replaced by a fallback) rather than in the team queue. The separate infrastructure safety nets — a crash-stranded form-submission turn, and an email turn that produced nothing to send — do still stand the AI down to human ownership; those are the ones to check if the conversation really did leave the AI. A dead chat turn is not one of them: the AI stays on and the widget is told to retry.
  • Symptom: Outside-hours behavior never fires even though the team is closed. Fix: confirm the destination team has Opening Hours configured for the conversation’s channel. The AI resolves the team’s rule for that channel; when the team has no assignment it falls back to the tenant’s default rule, and treats the team as always open when there is no default. See Opening Hours.

See also

Tags

Ai FeaturesHow To