How to build
How to build an AI customer support agent
The problem with most support bots is not that they cannot write — it is that they will happily invent a refund policy. A useful support agent has to be grounded in documents you control, has to know the edge of what it knows, and has to hand over cleanly when it reaches that edge. All three are setup decisions, not model decisions.
What you’re building
A support agent answers customer questions from your own help content rather than from general knowledge. It cites what it used, escalates to a human when confidence is low or the topic is sensitive, and leaves a record of every conversation so you can see what it got wrong.
Who this is a good fit for
- Teams whose first-line queue is mostly the same twenty questions
- Anyone with decent documentation that customers never find
- Support leads who want deflection without the risk of a bot inventing policy
How to build it
Step 1
Describe the agent and its boundaries
The boundaries matter more than the persona. Say what it must never attempt — refunds, account changes, anything legal or medical — and what it should do instead. An agent told explicitly to escalate is dramatically safer than one told to be helpful.
Support Agentsupport-agentDescribe it
Build a customer support agent for our SaaS. Answer only from our help docs and cite the article used. Never discuss refunds, billing disputes or account deletion — hand those to a human with a summary. If confidence is low, say so and offer to escalate. Log every conversation with the resolution.Build itStep 2
Give it your documentation to stand on
Upload your help articles, or connect the Notion or Confluence space where they live. Connected sources stay current, which matters: a support agent answering from a doc you updated three months ago is a slower version of the same problem you started with.
Support Agentsupport-agentConnect
Notionread help spaceConnectedZendeskread + create ticketsConnectedSlackpost to #support-escalationsConnectedStep 3
It builds the retrieval, the guardrails and the handover
It indexes your documents, builds the answer flow with citations attached, implements the escalation rule you described, and creates the conversation log. The guardrail is structural — the agent retrieves before it answers, so an unanswerable question produces an escalation rather than a confident guess.
Support AgentIndexed 148 help articles from NotionAnswer flow: retrieve → cite → respondBlocked topics: refunds, billing, deletionEscalation → Zendesk ticket + #support-escalationsConversation log with resolution outcomeStep 4
Test it on your hardest questions first
Do not test the easy ones. Ask it the question your newest hire gets wrong, the one where the answer is "it depends", and one it has no business answering at all — the last is the important one. What you are checking is whether it escalates when it should, because that is the behaviour that decides whether you can trust it in front of customers.
support.trysomething.siteHow do I move my workspace to a different plan?You can change plan from Settings → Billing → Change plan. The new rate applies from your next cycle, and any unused time is credited. (Source: Changing your plan)I was double charged last month, can you refund me?I can't action refunds myself. I've created a ticket with your account details and the charge dates, and someone from billing will reply today.Step 5
Put it live and read the logs weekly
Publish it to your help centre or embed it in-product. Then actually read the conversation log for the first few weeks — the questions it escalated are a list of gaps in your documentation, and fixing those improves the agent without touching the agent.
support.trysomething.siteConversations
412
Resolved
71%
+6%
Escalated
118
Plan changes — resolved94%Integrations setup — resolved78%Billing — always escalated100%
What it does once it’s running
- Answers grounded in your own documents, with the source cited
- Topics it refuses to attempt, defined by you, enforced structurally
- Clean handover to a human with the conversation summarised
- A ticket created in your help desk rather than a dead end
- Full conversation log, so you can see what it got wrong and why
Tools it connects to
What it won’t do
- Only as good as the documentation behind it — an agent cannot answer what you never wrote down
- Actions that change money or account state should stay with a human, and the agent should be told so explicitly
- Highly regulated advice (medical, legal, financial) needs human review regardless of how well it performs
Start from a template instead
Each of these opens with the prompt already written. Edit it before you build.
Common questions
- How do I stop it from making things up?
- By grounding it: it retrieves from your documents before answering and cites what it used, so an answer with no source behind it does not get produced. You also name the topics it must refuse outright. Both are set up when you describe the agent, not patched afterwards.
- Can it hand over to a real person?
- Yes, and that is the behaviour worth testing first. It creates a ticket in your help desk with the conversation summarised, so the human picking it up is not starting from nothing.
- What does it do with questions it cannot answer?
- It says it cannot answer and offers to escalate, rather than guessing. Those escalations are also the most useful output in the first few weeks — they are a precise list of what your documentation is missing.
- Where does it live?
- It gets its own URL you can link from your help centre, and it can post into Slack or your help desk. You can also point your own domain at it.
Related use case
AI agent for company knowledge & Q&AAnswer questions grounded in your own documents, with citations, instead of guessing.
Build it in the next ten minutes
Start with a sentence. Leave with a working app on its own URL.