Blog · · 6 min read

When an AI agent should hand off to a human (and how to set it up in n8n)

A practical guide to human handoff from an AI agent in n8n: the HUMAN keyword, frustration, sensitive topics, team alerts and pausing the bot so it stops replying.

An AI agent can answer a lot of routine questions for your business, day or night. But there are moments when it must stop and hand the conversation to a real person: when the customer asks, when they're frustrated, when the bot doesn't know the answer, or when the topic is sensitive. Skip that step and you lose trust (and sometimes the sale).

This guide covers when to hand off and how to build it in n8n with clear steps: detect the case, notify your team, pause the bot and resume later. It works with a WhatsApp, website or Telegram agent.

Handoff isn't a failure — it's a feature

Plenty of businesses install a bot and expect it to handle everything. That's a mistake. The real goal is:

  • Answer the routine stuff (opening hours, published prices, a simple order status).
  • Know when not to answer and leave the chat ready for your team.

A good agent says: "I'll put you through to someone on the team." A bad one makes things up, argues, or traps the customer with the bot. If you're still building your first one, start with how to create your first AI agent in n8n and tighten the rules with the customer-service prompt.

When the agent should pass to a person

You don't need an endless list. Four triggers cover almost every real case:

1. The customer asks (keyword)

The simplest and most reliable option: pick a word, for example HUMAN, and tell customers about it ("If you want to talk to someone, type HUMAN"). You can also accept variants: "person", "agent", "talk to someone".

Upside: the customer stays in control and you don't rely on the AI guessing intent.

2. Frustration or conflict

Insults, aggressive caps, lines like "this is a scam", "I want to cancel now", or several complaints in a row. The bot shouldn't argue or stall: acknowledge the frustration and hand off.

3. It doesn't know the answer

If the information isn't in your data (unpublished price, one-off exception, odd case), the agent should say so and offer a person. "I'm not sure — I'll pass you to the team" beats a made-up answer every time. If you ground replies in your own files, pair this with an agent that answers only from your documents.

4. Sensitive topics

Legal complaints, health, bank details, minors, threats, or anything you don't want a machine handling. In the prompt (and, if you can, with a separate filter) mark those topics as mandatory handoff.

How to set it up in n8n (step by step)

The overall idea is a workflow with two paths: one for the bot and one for handoff. Before you call the AI Agent node — or right after its reply — you decide whether the AI continues or a person takes over.

Step 1: detect the keyword

After the trigger (WhatsApp, website chat, Telegram…), add an IF (or Switch) node that checks the message text, case-insensitive:

  • If it contains HUMAN (or your chosen list of words) → handoff path.
  • Otherwise → continue to the AI agent.

Reply to the customer with a fixed message, for example: "Got it — someone on the team will write to you as soon as they can." That way it doesn't depend on the model's creativity.

Step 2: catch frustration or "I don't know" without relying only on the keyword

Two practical options:

  • In the agent prompt: tell it that if the customer is angry, asks for something out of scope, or you don't have a reliable fact, it should reply with a short apology and include an internal marker such as [HANDOFF] at the end of its output.
  • With an IF after the agent: if the reply contains [HANDOFF], or the customer's message matches a frustration word list, take the same handoff path.

You don't need a perfect system on day one. Start with the keyword plus a [HANDOFF] marker in the prompt; that alone prevents most messes.

Step 3: notify your team

On the handoff path, add a notification node. Use the channel you already live in:

  • Email (Gmail or other): subject "Customer wants a human" + name/number + recent messages.
  • Slack (or similar): a message to an #support channel.
  • WhatsApp / Telegram to your phone: handy if you're a one- or two-person business.

Include in the alert: the customer ID (phone or email), the reason if you have it ("HUMAN keyword", "frustration", "sensitive topic"), and a link or short summary of the conversation so whoever picks it up isn't starting from scratch.

Step 4: pause the bot so it stops replying

If you don't pause, the customer writes to your teammate… and the bot keeps answering on top. That's what frustrates people most.

A simple pattern in n8n:

  1. Store the customer ID in a spreadsheet, table or database with a field paused = yes and a timestamp.
  2. At the start of the workflow, before the agent, read that status. If they're paused, don't call the AI — only the human handles the message (or you ignore it in the bot).
  3. When your team is done, set paused = no (by hand in the sheet, or with an internal command like RESUME that only you use).

The free WhatsApp agent already includes basic handoff; a real bot pause during the human conversation is one of the upgrades in the production version of the AgentKiosk pack.

Step 5: resume later

Pick a clear rule:

  • Resume when the team types RESUME in an internal chat or flips the row in the sheet.
  • Or resume automatically after X hours of silence (for example 24 hours), so customers aren't left "frozen" by mistake.

Only tell the customer you're resuming if it helps ("You can keep writing — the automated assistant is active again"). In many businesses it's quieter to bring the bot back with no extra message.

Common mistakes (and how to avoid them)

  • Relying only on the AI to spot anger. Combine the prompt + a keyword +, if you can, a word list. The keyword is the seatbelt.
  • Alerting the team but not pausing the bot. An alert without a pause almost always means crossed messages.
  • Never telling customers they can ask for a person. Put it in the greeting or on your site: "Type HUMAN to talk to the team."
  • Handing off too often. If the bot escalates every mild doubt, you'll waste time. Start strict on sensitive topics and generous on routine ones; tune it with real conversations.
  • Making up prices or timelines "while someone arrives". On the handoff path, use fixed messages — not the agent.

Quick checklist for your workflow

  1. Keyword HUMAN (plus 2–3 synonyms) with an IF at the start.
  2. A prompt that forbids inventing facts and requires [HANDOFF] when it doesn't know, or when there's frustration / a sensitive topic.
  3. A team alert (email, Slack or WhatsApp).
  4. A paused flag per customer, read at the start of the flow.
  5. A way to RESUME when the human is done.
  6. A test with 10 real conversations before you open it to everyone.

Start with a template that already includes handoff

If you want to save time, download the free WhatsApp agent: it includes per-customer memory and human handoff. When you need a real bot pause plus the rest of the ready-to-import agents, see the AgentKiosk pack.

And if you're still choosing a tool, the n8n vs Zapier vs Make comparison may help.