Playbooks · 6 min read
Grocery DMs: Do Not Let a Template Say What Is In Stock
"Aaj alphonso hai kya?"
Four words, arrives forty times in April, and it is the single most common message a fresh-food shop gets. It also happens to be the one question an automation must never answer with confidence, which is an awkward way for a post about grocery automation to open.
But it is the truth of the trade, and everything sensible you can build follows from taking it seriously rather than routing around it.
Stock is a fact about right now
A template is a sentence somebody typed at some point in the past. Stock is the state of a shelf at the moment the question is asked. Those two things are never the same thing, and for perishables the gap between them is measured in hours.
The mangoes arrived Tuesday and were gone by Thursday lunchtime. The curd sold out because a caterer came in at eleven. The fish depends on what the boat brought and on nothing else. The coriander is fine at nine in the morning and finished by six.
An automation has no view of any of this. It knows the words that arrived in a comment or a DM. So a reply that says "yes, we have it" is not information — it is a recollection, sent to someone who is deciding whether to get on a scooter.
The cost of a wrong stock answer is not a bad reply. It is a person who made a trip on your say-so and found nothing.
For a neighbourhood shop that is unusually expensive. Restaurants lose a table. A grocer loses a regular, because a wasted trip in your own locality is remembered for a long time.
What the honest answer looks like
Do not answer the availability question. Answer around it, and make checking easy.
- Confirm you stock the item at all. "Haan, alphonso rakhte hain" is true regardless of today, and it is genuinely what half the askers wanted to know.
- Give the restock rhythm. Which days the fresh consignment lands, roughly what time it is on the shelf, and when things typically run out. All of this is stable and none of it is a promise about today.
- Route to something that knows. The counter number, and the hours somebody actually picks it up. One phone call answers a question no template can.
- Capture the enquiry. You now know that eleven people asked about a thing on a Tuesday, which is useful to whoever does the ordering.
Notice this is not evasive. It is more useful than a guess, and it takes the same four seconds.
Prices move too, and they move quietly
Everything sold by weight is a moving price. Onions, tomatoes, seasonal fruit, anything imported, anything affected by a bad week of rain.
The rule is the same as the stock rule and people accept it more easily: a packaged item with a printed price can go in a template, and anything priced by the day cannot. "Aaj ka rate counter se confirm kar lijiye" is a sentence that stays true forever. A number does not.
The comment window outlives the stock
This is the grocery-specific trap and it catches everyone once.
You post a reel of the morning's consignment on Tuesday. It does well. You attach an automation to it: "yes, fresh stock in today, come by before seven."
A comment stays answerable for seven days. The stock does not last seven hours. By Wednesday afternoon your automation is still confidently telling people that fresh stock is in today, and it will keep doing that until Sunday, and nobody will notice because the replies are going out perfectly.

So every stock post gets a temporary automation, scoped to that specific post, with the switch-off decided at the moment it is created. Advanced settings let you restrict an automation to specific posts; use it here, and put the switch-off in the same calendar you use for anything else that expires. Evergreen templates never contain a day, a date, or a consignment.
The notification promise you cannot keep
Somebody asks about the mangoes on a Monday. The obvious idea is: capture them, and message them when the stock lands.
That does not work here, and it is better to know why now than to build it and find out.
The automation cannot message someone who has not messaged you first — that is a platform rule, not a feature we withhold. And a DM thread stays open for twenty-four hours, with the clock restarted only when the customer writes again, never by you. By Thursday, when the consignment arrives, the thread is closed.
So do not write "we'll let you know when it's in". Write what is actually true: the consignment usually lands on Thursday morning, the counter number is this, and the stock post goes up on the account when it is on the shelf. The lead record keeps the enquiry for whoever does the ordering, and if the shop wants to call regulars back, it calls them — off Instagram, like it always did.

What is genuinely safe to automate
Strip out stock, price-by-weight and anything cooked, and a good amount remains, all of it fixed:
Hours, including the early-morning ones. Where you are, with a landmark, because map pins in dense markets are usually slightly wrong. Whether you deliver, how far, the minimum order, and the cut-off time for same-day. Which delivery platforms you are on. Payment methods. Whether you clean and cut fish or chicken. How a monthly bulk order works. Whether you take standing orders for milk or bread. How festival hampers are ordered and by when.
Templated replies are free and unlimited, and a credit is spent only when the AI writes a new reply. A shop whose inbox is nine questions in rotation sits almost entirely on the free side of that line — the free tier is 100 credits with no card, and packs start at ₹499.
One setting worth attention: a rate budget. A reel of a mango crate travels further than anyone expects, and an uncapped automation answering a thousand comments in an hour is how a good morning starts looking like spam. The cap turns the spike into a queue.
The general version of this build, for any neighbourhood business, is the local playbook. What stops a reply before it is sent, and why each check exists, is documented here.



