How to Build a Chatbot FAQ From Real Customer Conversations

How to Build a Chatbot FAQ From Real Customer Conversations

A step-by-step method to mine recurring questions from your support history, anonymize personal data and write approved answers your chatbot can use.

••

Want to apply this in your company?

Book a call with Juan →

How to Build a Chatbot FAQ From Real Customer Conversations

To build a chatbot FAQ from real conversations, start with your actual support history. Group the questions that repeat most, strip out personal data, write one short approved answer for each group, and decide when the chatbot must hand the conversation to a person. That turns the FAQ from a list of guesses into a reflection of what customers really ask. The result is a small knowledge base that can be reviewed, has an owner, and gives the chatbot something to consult instead of improvising.

Key takeaways

  • The best material for an FAQ already exists: WhatsApp conversations, emails, tickets and your support team's notes.
  • Mining means grouping by intent, not by keyword. Questions worded differently can need the same answer.
  • Anonymize before any analysis with AI. Names, phone numbers, ID documents, addresses and order data should not enter the knowledge base.
  • Every answer needs an owner, a review date, an internal source and a clear rule for when not to use it.
  • A good FAQ also says what the chatbot does not answer. Exception requests, serious complaints and sensitive data go to a person.

Why support history is the best source for your FAQ

Most FAQs are born in a meeting. Someone lists what they think customers want to know, writes tidy answers and publishes them. The problem is that customers ask in a different way, in a different order and with a different level of urgency. They write that the product never arrived, not that they want to know the delivery window. They ask whether they can exchange an item when the real question is who pays for return shipping.

The history shows real language, real frequency and the points where an agent had to stop and think. That helps you separate three kinds of questions: those with a fixed answer that can be automated, those that require looking something up in a system (order status, for example), and those that need human judgment. Only the first kind goes straight into the FAQ. The second needs an integration, and the third needs a handoff path.

If you are still deciding what to automate across support as a whole, read AI Customer Support: What to Automate and What to Keep Human first.

How to mine recurring questions from your history

Mining does not require sophisticated tools. A spreadsheet and some discipline are enough to start. The routine below works for conversations exported from WhatsApp Business, a helpdesk or a shared email inbox.

  • Define the sample: choose a representative period that includes normal weeks and unusual ones, such as promotions or delivery problems.
  • Export the conversations and keep only what you need: the customer's first message, the agent's final reply and the topic, if there is a tag.
  • Anonymize before sharing the data with any person or tool (see the next section).
  • Group by intent. Use a column that states what the customer is trying to resolve in one short sentence, such as finding out a delivery window, requesting a duplicate invoice or exchanging a product.
  • Count how many conversations fall under each intent and sort from largest to smallest. The count is only for prioritizing. You do not need to publish it.
  • For each group, mark whether the answer is fixed, depends on a system lookup, or depends on a human decision.
  • Pick the fixed-answer intents that appear most often and start there. Leave the rest for a second round.

An AI tool can help group conversations and suggest names for the intents, as long as it receives data that is already anonymized and a person reviews the groups. Automatic grouping tends to merge similar questions that need different answers, such as cancelling an order before versus after it ships. Those distinctions need a human eye.

How to anonymize conversations before using them

Support conversations carry personal data: names, phone numbers, addresses, tax ID numbers (CPF), order numbers, and sometimes a photo of a document or health information. Under LGPD, using this material for a new purpose calls for attention to legal basis, data minimization and security. For the specific legal decision, talk to your data protection officer or a lawyer, and check the guidance from the Brazilian data protection authority (ANPD). What belongs here is the practical part: removing from the dataset everything the FAQ does not need.

A simple procedure:

  • Remove names, phone numbers, emails, CPF and CNPJ numbers, addresses, and order, contract and ticket numbers.
  • Replace them with neutral tags written in capitals, such as NAME, ORDER and ADDRESS, so the sentence stays readable.
  • Discard attachments, audio and images unless there is a clear reason and a separate way of handling them.
  • Review a sample by hand. Pattern matching catches phone numbers, but it will not catch a name written in the middle of a sentence.
  • Keep the raw data under restricted access and use only the anonymized version for the writing work.

If the analysis runs on an AI tool hosted outside Brazil, also consider international data transfer. There is a dedicated article on it: International Data Transfer Under LGPD When Using AI Providers. Even anonymized data should be handled carefully, because imperfect anonymization is common.

How to write approved answers the chatbot can use

A chatbot FAQ answer is not a paragraph from a corporate website. It must be short, complete enough to resolve the question, and careful enough not to promise what the company does not control. A fixed record format keeps everything consistent. For each entry, write:

  • Intent: the customer's question in one sentence.
  • Example questions: three or four real ways of asking, taken from the anonymized history.
  • Approved answer: ready-to-send text in a conversational tone, no more than a few sentences.
  • Conditions: when the answer applies and when it does not (for example, only for orders not yet shipped).
  • Internal source: the policy, contract or procedure that supports the answer.
  • When to hand off: what in the conversation signals that a person should take over.
  • Owner and review: who approved it and when it must be reviewed.

A few writing rules help. Answer first, explain afterward. Avoid chained conditionals, which customers cannot follow on a phone. Do not use internal jargon. Do not promise a deadline that depends on third parties, and say where the information comes from when it varies. If the answer changes by case, do not write one long answer covering every exception. Split it into two entries with different conditions.

Once approved, these entries become the content the chatbot consults. Technically, this is usually done by searching a knowledge base, an approach known as retrieval-augmented generation (RAG). The idea is that the model answers based on approved documents, not only on what it learned in training. For the instruction text that accompanies this knowledge base, see How to Write Instructions for an AI Support Agent: 5 Blocks.

Illustrative scenario: from loose conversations to three FAQ entries

Imagine an online appliance store that handles customers on WhatsApp. After grouping the anonymized history, the team notices that many conversations revolve around three intents: finding out where an order is, requesting an exchange, and asking about the invoice.

The first intent depends on a lookup in the order system. It does not become fixed text. It becomes a future integration, and for now the chatbot tells the customer where to track the order and offers to connect them with a person. The second has a fixed answer for orders within the exchange window set by the store's policy, but needs a human decision when the product arrived with visible damage. The third has a short, fixed answer.

The team then writes the invoice entry with real example questions, an answer of a few sentences, the validity condition and the person responsible for review. In the exchange entry, it sets the handoff rule: if the customer mentions a defect, damage or strong dissatisfaction, the conversation goes to an agent with the summary already filled in. This is an invented example to show the reasoning, not a real customer result.

What to leave out of the FAQ and when to hand off to a person

Not every recurring question should be answered by the chatbot. Some are frequent and still delicate: refunds outside policy, incorrect charges, public complaints, health or safety issues, and any situation where the customer is already upset. The criterion is not frequency. It is the cost of getting it wrong.

A decision guide for each candidate entry:

  • Is the answer the same for every customer? If yes, it can go in.
  • Does the answer depend on customer data (order, contract, balance)? It goes in only if there is a reliable system lookup. Otherwise the chatbot gives guidance and hands off.
  • Would a wrong answer cause financial, legal or safety harm? If yes, keep it with a person.
  • Does the question usually arrive with strong emotion? Hand off early and with a summary.
  • Does the policy behind the answer change often? Record a review date and reduce the text to what is stable.

The handoff itself also needs design: what the chatbot says when it passes the conversation along, who receives it, during which hours, and with what information attached. Technical controls help keep the chatbot within the agreed limits, and Guardrails for AI Agents: Input, Output and Action Controls explains how to validate what the agent receives and what it answers.

How to test, publish and keep the FAQ current

Before publishing, test with real questions that were not used while writing. Set aside part of the anonymized history for this. For each question, check whether the chatbot picked the right entry, whether the answer stayed faithful to the approved text, and whether it handed off when it should have. Include out-of-scope questions and attempts to make the chatbot ignore its rules, because the content the chatbot reads can also be a target for manipulation. The OWASP guidance on preventing prompt injection is a good reference for this kind of testing.

The method we apply in support projects has four moves. Map: understand the current process and record how support works today, so you have a point of comparison. Limit: define which data the chatbot can see and which actions it can take, starting with answers only. Pilot: put one real flow live, with conversation logs and a success measure agreed beforehand. Hand off: ensure the path to a human and, at the end of the pilot, decide whether to expand, adjust or stop. The FAQ is exactly the material for the first pilot, because it is small, auditable and easy to correct.

After publishing, the maintenance work is simple but needs an owner:

  • Review the conversations where the chatbot handed off or the customer repeated the question. They point to weak or missing entries.
  • Update answers whenever a policy, deadline or exchange rule changes.
  • Add new entries based on questions that appear outside the catalog.
  • Retire entries that nobody uses anymore or that have become risky.

To track the effect day to day, indicators such as resolution and handling time help, and Customer Support KPIs with AI: How to Adjust AHT, Resolution, CSAT explains how to read them without being misled.

Frequently asked questions

How many questions should a chatbot FAQ have at the start? Start small, with only the fixed-answer intents that appear most often in your history. A lean, well-reviewed knowledge base works better than a large, outdated one, and you expand it with each review round.

Can I use real customer conversations to train or feed the chatbot? You can use them as raw material to identify questions, as long as there is an adequate legal basis, personal data is removed and access is controlled. What goes into the chatbot's knowledge base should be the approved answer written by the company, not the original conversation. If in doubt, consult your data protection officer or a lawyer.

Should the chatbot answer in its own words or repeat the approved text? It depends on the risk. For sensitive topics such as deadlines, warranties and charges, the chatbot should use the approved text almost unchanged. For simple topics, a light rewording to sound natural is usually acceptable, as long as the content does not change.

How often should the FAQ be reviewed? Review it whenever a policy changes, and also on a fixed schedule set by your team, looking at handed-off conversations and unanswered questions. Every entry should have an owner and a review date, so that no answer stays in use without someone being accountable for it.

Sources

chatbot FAQcustomer supportknowledge baseLGPDWhatsApp