BlogVoice DNA

AI Chatbot for Instagram DMs: What It Should and Should Not Answer

A DM chatbot earns its place by refusing more than it answers. Which questions are safe to automate, how a voice profile gets built, and when the model steps aside.

The PostEngage team4 min read

Open a month of your Instagram inbox and sort the messages by what they are actually asking. Most people find four questions, asked a hundred different ways, and then a long tail of things no bot should touch.

That split is the entire design problem. A chatbot that tries to answer the tail is the reason people distrust chatbots.

The four questions are the whole business case

For most accounts selling something, the repeat questions are price, availability, delivery, and some version of "will this work for me". They arrive at 11pm. They arrive in Hinglish. They arrive as a single word: price?

These are worth automating because the answer does not change. ₹1,499 is ₹1,499 whether you type it or a template does. The person asking does not want craft, they want the number, and they want it before they lose interest.

The tail is different. Refunds on an order you have not seen. Whether the product is safe for someone's specific condition. A bulk enquiry where the price depends on quantity. Somebody who is upset. Every one of those needs a fact or a judgement the model does not have, and a confident wrong answer costs more than a slow right one.

A voice profile is a record, not a personality setting

Most tools let you pick a tone from a dropdown. Friendly, professional, playful. That produces text that sounds like a tone dropdown.

The Voice DNA screen, built from replies the account owner wrote themselves.
Built from what you already wrote, which is why it sounds like you rather than like a tone slider.

Ours works from the replies you wrote yourself. You answer DMs the way you already do, and those replies become the reference for how new ones get written. If you always open with "hey!" and never with "Dear customer", that shows up. If you use "ji" with older customers and not with younger ones, that shows up too, because it was in your own text.

Tone slider

You pick "friendly" from a list. The model generates what it believes friendly means, which is an average of the internet.

Voice profile

Built from replies you actually sent. The reference is your own writing, so the failure mode is sounding like a flatter version of you rather than sounding like nobody.

This is a narrower claim than it sounds. It does not make the model correct. It makes it recognisable. Correctness is handled somewhere else entirely.

The model does not get the last word

Before anything sends, ten checks run in a fixed order: kill_switch, connection, takeover, window, dedupe, cooldown, quiet_hours, rate_budget, credits, content_safety. The first one that fails stops the send, and the reason gets recorded on the run so you can read it later instead of guessing.

Three of those matter most for a chatbot specifically.

takeover stops automation on a thread the moment you reply to it yourself. If you have opened the conversation, the bot is done there.

window enforces the 24 hour rule. Instagram lets you reply to a DM within 24 hours of that person's most recent message to you. Comments give you 7 days. Past those, the send does not happen, and no setting changes that.

content_safety is the last gate. If the generated text trips it, it does not go out.

On top of the checks, there is a fallback. If the model is slow, unsure, or writing something it cannot ground in what you gave it, your own written template goes out instead. The person gets a real answer that is slightly less specific rather than a fluent answer that is wrong.

A chatbot that will not answer is doing its job. A chatbot that always answers is guessing.

What this costs, which is less than people expect

Templated replies are free and unlimited. Credits are spent only when the model writes something new.

That has a practical consequence for how you set it up. If four questions cover 70% of your inbox and you write four good templates, 70% of your automation runs at zero marginal cost forever. The credits go to the messages that genuinely need composing.

Most people configure this backwards. They send everything through the model, watch the spend, and then conclude AI replies are expensive. The templates were sitting right there.

Where to draw your own line

The line moves depending on what you sell. A few honest ones:

  • Anything with a number you have not verified. Stock levels, delivery dates, discount eligibility. If the model does not have the fact, it should not be inventing a plausible one.
  • Anything a person is upset about. A well-written automated reply to a complaint reads as dismissal. Let the takeover check do its work.
  • Anything regulated. Health, finance, legal. The reply that is fine ninety-nine times is the one that is a problem the hundredth.
  • Anything that commits you. "Yes we can do that by Friday" is a promise somebody has to keep.

Everything else is fair game, and it is more than enough to change how the inbox feels.

If you are weighing this up against doing it faster by hand, how to respond to Instagram DMs faster covers the same ground from the other direction. And if the underlying question is whether any of this puts the account at risk, that has its own answer.

One email when we publish.

No drip sequence, no “quick question” follow-up. Unsubscribe is one click and we honour it immediately.