Studio
Case study · AI agents

An AI support desk where a person still decides what gets sent

The support team answers customers by email, WhatsApp and comments on Instagram and Facebook, all in one help desk. We built an agent that drafts a reply for every new ticket, a one-click review step for the team, and a narrow lane where short social replies post on their own.

Every ticket goes through review. Short social comments are the only ones that may skip it.

Team
Customer support
Channels
Email, WhatsApp, Instagram and Facebook comments
Built with
  • n8n
  • Gorgias
  • WhatsApp
  • Supabase
  • Slack

The problem

Every reply started from an empty box.

Most customer questions repeat: where is my order, how do I use this, can I send it back. The answers already existed in the team's saved replies and on the product pages. Someone still had to find the right one and type it, ticket after ticket.

WhatsApp and social comments added two more queues to the same team. Comments under ads are public, so a slow or wrong answer is seen by everyone who scrolls past.

The team wanted help with the typing. It did not want a bot that answers customers on its own and gets things wrong in public.

What we built

A draft on every ticket

When a customer writes, the help desk calls an n8n workflow. It gathers the customer's side of the conversation and asks the agent for a reply. The agent answers from the team's saved replies and product information, which are kept searchable for it.

One click to accept, edit or reject

The draft shows in the help desk sidebar with a confidence score. The person on shift accepts it, accepts part of it, or rejects it. The accepted text goes into the ticket, and every decision is logged with its score.

WhatsApp, one number at a time

The WhatsApp bot starts in shadow mode: it logs what it would have said and passes the message to the help desk. It replies only to numbers on a rollout list. When it hands over, it mutes itself for that chat and opens a ticket with the full transcript.

Social replies that post themselves

Short comments under posts and ads can get an answer without a person, but only when every gate below passes. Everything else goes to the review step like any other ticket.

Guardrails

When a social reply may post without a person

All of these must pass. If one fails, the draft goes to the review step instead.

  • Only on channels the team has switched on
  • Only comments of 20 words or fewer
  • Only drafts with a confidence of 0.85 or higher
  • Never on health questions, complaints or blocklisted words
  • Waits 10 minutes after drafting, so a person can step in first
  • At most 3 replies per run, inside a set budget
  • Pauses itself when staff mark 2 posted replies as wrong within 7 days

Why we built it this way

Shadow mode before live

The bot logs what it would have said before it says anything. Real drafts get judged against real conversations, with no customer at risk.

The score only means something if decisions are logged

A confidence score on its own is a guess. Logging every accept, edit and reject against it shows which kinds of question the agent handles and which it does not.

Autopilot is a narrow lane, not a switch

Only short, low-risk social comments post on their own, with a budget and an automatic stop. Widening the lane is a settings change the team makes once the logs support it.

Measured

What the team can see

The logs that decide whether the agent gets more work, or less.

  • How often each kind of draft is accepted, edited or rejected
  • Which questions the agent hands over, and why
  • Posted social replies that staff tag as wrong, which also drives the automatic pause
  • Failures and fallbacks, sent to Slack as they happen

Want a draft on every ticket?

Tell us which help desk you use and where your answers live. We'll tell you what an agent can draft safely and what should stay with your team.

Book a 15-min call