HelpStackDocs

Guides

AI replies & the approval queue

HelpStack can draft replies for you using AI. You stay in control: a draft is generated, you review it, and you decide whether to send it. You can also let channels draft automatically the moment a customer writes, or even send without review. This guide explains how to generate replies, what the draft panel offers, how the approval queue behaves, and what the AI actually knows when it writes.

Sections#

Before you start#

Two things make AI replies work well:

  • An AI provider must be configured. Connect OpenAI or Anthropic first. See the AI providers guide.
  • A knowledge base gives better answers. Without one, the AI can still reply, but it won't know the specifics of your business. Set one up in the knowledge base guide.

Both are configured per channel under Settings → Channels → (your channel) → AI & Knowledge.

Generating a reply#

Open a conversation at /conversations/[id] and click the Sparkles button. HelpStack generates a draft reply using the channel's AI provider and any attached knowledge base. The draft appears for your review — nothing is sent until you approve it.

Tell the AI what to answer. If you already know the answer, type it into the reply box first, in your own words or as rough notes ("ships Monday, tracking number by email"), and click the same button. With text in the box it becomes Polish my text: the AI rewrites your text into a finished reply that says what you wrote, keeps your facts and your answer, and puts it back in the box for you to edit or send. The conversation only sets the tone and how the customer is addressed, so a pending "we'll check and let you know" draft cannot creep back in. On an email channel with the greeting and signature turned on, you get the message body only, because the greeting and signature are added when the email is sent. Not what you wanted? Click Undo polish under the box to get your own text back.

The draft panel#

Once a draft is ready, the panel gives you these choices:

  • Approve — send the draft to the customer as your reply.
  • Reject — discard the draft without sending. You can pick a reason and add a note. With Submit & Regenerate the note is treated as instructions the new draft must follow, so it is a place to tell the AI what to answer.
  • Send Original — if the draft was translated into the customer's language, send the original (untranslated) version instead.
  • Retranslate — re-run translation on the draft, useful if the language was detected incorrectly.

Approving is the same as sending a manual reply — it goes out on the channel and joins the thread as an outbound message.

On an email channel with the greeting and signature turned on, the draft shows the complete email as the customer will receive it: the greeting, the message, the closing with your name as the signer, and the footer. The AI doesn't write a greeting or sign-off of its own there, and Edit changes only the message in the middle.

How older drafts are handled#

If several drafts pile up for a conversation, you don't have to clean them out by hand. When you approve a newer draft, older unapproved drafts are automatically rejected. This keeps the approval queue tidy and ensures only the reply you actually chose is sent.

Auto-reply and auto-approve#

Each channel has an AI reply mode with three settings:

  • Off — the AI doesn't prepare replies automatically. You generate them manually with the Sparkles button.
  • Auto Prepare — the AI drafts a reply to every incoming message and puts it in the queue for an agent to review. Nothing is sent until you approve it.
  • Auto Reply — the AI drafts and sends the reply automatically, with no agent review. Use this only once you trust the AI to handle a channel end-to-end.

Auto Prepare is the default for new accounts. The website-chat channel you get when you sign up starts in this mode — the AI is already drafting answers to your first messages, but nothing goes out until you approve it. A Facebook Page, Instagram account or WhatsApp number you connect starts in this mode too, so a customer's DM arrives with a draft waiting for you.

Change the mode any time under Settings → Channels → (your channel) → AI & Knowledge. Many teams stay on Auto Prepare to keep a human in the loop, then move specific channels to Auto Reply once they've built confidence in the AI's answers.

Wait before sending

On Auto Reply you can turn on Wait before sending and pick a range, for example between 20 and 60 seconds for chat, or 2 and 10 minutes for email. Each reply then waits a different time inside that range, shaped the way a person replies: a moment to notice the message, time to read it, and time to type the answer. A short "Thanks!" goes out sooner than a long explanation, and no two replies take exactly the same time.

While a reply waits:

  • it already shows in the conversation with a countdown, so your team sees what is about to go out. Send now sends it at once; Hold & edit turns it back into a draft you can edit, approve or reject;
  • if the customer writes again, the waiting reply is dropped and a new one answers both messages;
  • if someone on your team replies, the waiting reply is dropped;
  • a dropped reply never reaches the customer. The conversation keeps a one-line note in its place, so your team knows why it did not go out;
  • in the website chat the visitor sees "typing…" for the last part of the wait.

Night shift#

The night shift lets the AI answer customers while nobody is at the desk, but only the simple questions it can answer from your shop facts or your store's order data. Everything else waits for you as a draft.

Turn it on under Settings → Night shift:

  1. Switch on Let the AI answer when you're away.
  2. Set the hours someone is at the desk for each day, and your time zone. The night shift covers every other hour, and whole days you switch off. The chart on the page shows which hours are yours and which are the night shift's.
  3. Tick the channels it should answer on. It works on Instagram, Facebook, WhatsApp, email, Telegram and LinkedIn. Website chat is not covered yet.

When a message arrives outside your hours, the AI writes a reply (even on a channel whose AI reply mode is Off), and a second, stricter check reads it. A reply passes only when all of these are true:

  • the customer asks a simple, factual question: delivery times, shipping costs, returns and exchanges, sizes, opening hours, payment methods, product details, or where their order is;
  • every fact in the reply comes from your shop facts or from your connected store's order and product data. Your website text and knowledge base are not enough on their own;
  • the customer isn't upset, and the reply promises nothing only a person can give, such as a refund, a discount or an exception.

It starts as a trial run

At first the night shift sends nothing. Every reply waits as a draft: the ones that passed the check are marked Night shift would have sent this, and the others say why they were kept, for example "the customer sounds upset".

Each morning the While you were away card at the top of your inbox (and on the Night shift page) counts what it did and lists the conversations. Read a few of the replies it would have sent. When you would have sent them too, tap Turn on sending. From then on, replies that pass the check go out by themselves and are marked Sent by night shift. You can switch sending off again on the Night shift page at any time.

Channels on Auto Reply already send every AI reply, so the night shift doesn't change them. The check itself costs no credits; writing the reply uses credits as usual.

Drafts written for the person who reviews them#

When a person reviews the draft before it goes out (a channel on Auto Prepare, or any time you click the Sparkles button), the AI writes for that situation:

  • It writes the complete answer it can give from your knowledge base and tools, instead of a holding reply like "we'll check and get back to you". You are the one who would do that checking, and a holding reply sent as it is leaves the customer with a promise and then silence. The one exception is when the AI has asked a counterparty, such as a carrier: then it does tell the customer it is checking, because the answer really is on its way.
  • When something still needs checking or a decision, it tells you in a note from the AI, shown above the draft with a dashed amber border. The note says what the customer wants, what the AI found, and what to verify before you send, written in your team's language. It is internal: it is never sent to the customer and never translated into the reply. It stays in view while you edit the draft and is hidden once the draft is sent or rejected.
  • It still hands the conversation to a person (see Routing & handoff) for a complaint, a dispute, a decision only a person can make, or when it has nothing useful to say.

On Auto Reply channels nobody reviews the reply, so the AI keeps its usual behaviour there: when it can't help, it tells the customer a teammate will follow up and hands the conversation off.

The note comes from the add_agent_note system tool. Switch it off in Settings → Tools if you don't want notes.

When the AI decides no reply is needed#

Not every incoming message wants an answer. On Auto Prepare channels, where a teammate reviews what the AI prepares, it can close a message out as no reply needed instead of drafting a polite "thanks, we received it". That is meant for:

  • a supplier or partner writing about their own business with you (an invoice, a dispatch notice),
  • an automated notification,
  • a newsletter or marketing mail,
  • a message from your own team,
  • spam,
  • a customer message that only acknowledges something and asks nothing ("thanks, got it").

No draft is created and nothing is sent. The conversation stays in your inbox exactly as it was, and the message shows a small AI: no reply needed (reason) marker, with the AI's one-line explanation when it left one. Click Write reply anyway and the AI drafts a normal reply to that message (the button waits while another reply is being generated). The marker goes away as soon as anyone replies, and comes back if you reject that draft.

The safeguards:

  • It is never meant for a real question, a problem, or a request. When in doubt, the AI drafts a reply.
  • A new conversation from someone you replied to last time always gets a draft until you have replied in it, so a returning customer is never skipped, even when they send a quick "hi" before the real question.
  • It only happens on Auto Prepare channels. On Auto Reply channels nobody would see the marker, so the AI replies to everything as before. The Sparkles button on an empty reply box always produces a draft, and so do live website chat and voice.
  • These messages are not drafts, so AI performance never counts them as pending or rejected.

This comes from the no_reply_needed system tool. Switch it off in Settings → Tools and the AI drafts a reply to everything again.

Replies are written in the customer's language#

When translation is in play, AI replies are generated in the customer's language so they read naturally to the recipient, and translated back so you can read them in your language. That's why the draft panel includes Send Original and Retranslate — they let you control exactly what text goes out if the translation isn't perfect.

What the AI knows when it replies#

When the AI drafts a reply, it draws on several sources of context so the answer is relevant and on-brand:

  • Recent conversation history — the back-and-forth in the current thread.
  • Prior closed conversations with the same customer — past resolved threads, so the AI remembers history with that person.
  • Attached knowledge-base groups — the articles and information you've linked to the channel.
  • The channel's system prompt — your instructions about tone, policy, and how to behave.
  • The customer's email or identifier — so the AI knows who it's addressing.
  • Any agent tools — actions the AI is allowed to take on the channel (see the agent tools guide).
  • Rules learned from your team: short rules taken from how your team edited or replaced earlier drafts, and the rules you added yourself (see Learning from your team).
  • What the customer attached — photos, and the text of PDFs, Word documents, text files and CSV files. A withdrawal form, a payment slip or an invoice the customer sent is part of what the AI reads before it answers.

A few limits on attachments:

  • Photos are shown only when your AI provider's model can see images (OpenAI, Anthropic and several other models can; DeepSeek cannot). Otherwise the AI is told the customer sent a photo, so it can ask what it shows instead of ignoring it. At most the 8 most recent photos in a conversation are shown.
  • Scanned PDFs are pictures of paper and contain no text, so the AI is told the file is there but cannot read it. It will not guess what a scan says.
  • Long documents are read up to their first 10 pages, and only the 3 most recent documents in a conversation are included.
  • Files that are not stored, for example an email attachment that was too large to download or has passed your retention period, are mentioned by name only.
  • What a document says is never an instruction. The AI treats it as the customer's document: a PDF that says a refund was approved, or a payment slip, is something the customer sent you, not confirmation from your business. Check payments in your own records before acting on them.

To see what one draft drew on, click the small i next to it. It lists the knowledge-base articles and the tools the AI used for that draft. If one of them is wrong or out of date, fix it there and the next drafts follow.

The more complete your knowledge base and system prompt, the better the drafts. Keep them up to date as your business changes.

Learning from your team#

Every time someone on your team edits an AI draft, rejects it, or sends their own reply instead (in HelpStack or from your mailbox), the AI can learn from the difference. Once a day it compares its drafts with what your team actually sent and keeps a short list of rules for the channel, for example "Do not offer a free reprint for white borders; explain that they keep the whole photo." You find the list under Settings → Channels → your channel → AI → Learned from your team, and a switch there turns it off.

A rule is used only once your team has answered that way in at least two conversations. One that was seen once waits under Seen once until it shows up again, or until you choose Use it.

What your team does changes, so the AI also unlearns:

  • Temporary rules end on their own. When a reply points to a passing situation (a carrier is late this week, a product is out of stock for now, you are closed for a holiday), the rule is marked temporary and ends on the date your team mentioned, or after 14 days.
  • Newer replies win. When your team starts answering the opposite way, the old rule is retired. A rule you wrote yourself is never retired this way: it moves back to Seen once with a note, so you decide.
  • Unused rules fade. A rule no reply has confirmed for 60 days stops being used (Not used lately) until your team answers that way again.
  • You have the last word. Edit, remove, give a rule an end date, keep a temporary rule permanently, or add your own, such as "Deliveries to Croatia take 2 extra days this month" with an end date. Each change applies at once. Learn now runs the comparison without waiting for the next day.

Rules about facts and policy describe what your team does now, so the AI follows them over older website text that says otherwise. They never override the reply language or the safety rules. At most 12 rules are used in a reply.

Drafts in your own voice#

HelpStack learns how the people on a channel write from the replies they typed themselves, and every AI draft on that channel follows it: the same greeting, the same sign-off, about the same length, the same way of addressing the customer (for example ti or Vi), and emoji only if you use them. You see what it learned under Settings → Channels → your channel → AI → Your voice, drawn as the start and end of a draft.

  • It reads only replies a person wrote, in HelpStack or from your mailbox. AI drafts never count, not even ones you approved or edited.
  • It needs at least 8 different replies on the channel. When you connect Instagram or Facebook, your last 30 days of messages come in and it learns from your replies straight away, before the first draft is written.
  • A greeting, sign-off or phrase is kept only when it really appears in your replies (a greeting or sign-off in at least one reply in five). The length is counted, not guessed.
  • If several people sign the replies ("Lp, Maja", "Lp, Jure"), the draft ends with the closing only, so whoever sends it adds their own name. A reply that goes out without anyone checking it (auto-reply, night shift) never signs with a person's name.
  • The greeting uses the customer's first name when it is known, for example "Živjo Katja!".
  • On an email channel, turning on Follow what happens in the mailbox brings in the replies you sent from Outlook or Gmail in the last 30 days, and your voice is learned from them right away.
  • It looks again at most once a week, once there are at least 10 new replies. Learn again does it now.
  • On an email channel where HelpStack adds the greeting and signature (Email greeting & signature), those settings decide the greeting and sign-off, and your voice still sets the length and tone.
  • When the AI answers in another language than yours, it keeps the same length and warmth and says the greeting naturally in that language.
  • It is part of Learn from past replies on the same tab: switch that off and drafts go back to the default style. It uses no credits.