Core concepts
The vocabulary HyperDM runs on: conversations, the 24-hour window, consent, grounded answers, the compliance gate and which trigger wins.
The vocabulary the rest of the product assumes. Six ideas explain most of HyperDM's behaviour, including most of the behaviour that surprises people.
What counts as a conversation
A conversation starts when HyperDM delivers an automated reply to one buyer in one campaign — one automation, one flow, or an open-ended chat with your AI agent — even if they never reply. Ten messages back and forth inside one campaign is one conversation. It stays one conversation while it is active, and the next delivered automated reply counts again when:
- it belongs to a different campaign (commenting on your elephant-PDF post Monday and your giraffe-PDF post Wednesday is two conversations — and Wednesday's doesn't close Monday's),
- more than 5 quiet days have passed since the last delivered automated reply in that campaign (exactly 5 days still counts as active), or
- a new calendar month (UTC) has started (your allowance is monthly).
A scheduled flow step's own delay doesn't open a second conversation in a campaign already counted that month.
It is deliberately never per message and never per contact: a viral post that brings a thousand lurkers does not inflate your bill, because nobody who never gets an automated reply is ever counted. Your usage this month is on Home's Usage this month card and the Analytics Conversations tile.
The 24-hour messaging window
Instagram only lets a business send to someone for 24 hours after that person's last message. Inside the window you can send freely; outside it, you cannot reach them at all until they message you again.
One carve-out: replying to a comment. Meta allows exactly one private reply per comment, even to someone who has never DM'd you — that is how comment-to-DM automations reach cold commenters. After that one reply, the normal window rules apply.
Three things follow from this, and they cause most of the "why didn't it send" questions:
- The Inbox header says 24h window open or outside 24h window for every thread, and the context pane shows the same fact as an Open / Closed badge. The number is the channel's own: TikTok's window is 48 hours, so a TikTok thread reads 48h window open.
- Contacts can be filtered by window state — Any window / Reply window open / Window closed in the Contacts filter bar. That one names no number, because the filter spans every channel at once and they don't share a window length.
- A Broadcast has to decide what to do about people outside the window. Instagram has no paid re-open mechanism — there is no template message that buys you back in, the way WhatsApp has — so the only honest options are to skip them or record them as queued. See Broadcasts.
Text messages (SMS) have no window at all. What limits a text is permission and the time of day — see Texting permission and quiet hours (SMS).
Consent, opt-out and opt-in
Every contact carries an opt-in state. It shows in the Inbox context pane as Opt-in: Granted / None, and in the Contacts drawer.
It has three values per channel: subscribed, unsubscribed, and no permission on record. HyperDM sends nothing to a contact with no permission on record — not an automation, not a broadcast — until they message you, a keyword or an automation records it, or a WhatsApp import documents where and when it was given. A contact you add by hand or import starts there. The two exceptions are the ones the platform itself grants: the one private reply to a comment, and the welcome to a new follower.
- The built-in opt-out words —
STOP,UNSUBSCRIBE,CANCEL,END,QUIT,OPT OUT— revoke consent immediately when they are the whole message. Opt-out blocks every outbound to that person, including your own hand-typed Inbox replies. - The built-in opt-in words —
START,UNSTOP,RESUME— re-grant it. - The built-ins always work and cannot be removed. Settings → Channels → Keywords adds your own words on top (and an optional acknowledgement reply for each).
- A teammate can record that someone asked to stop with Unsubscribe in the Contacts drawer (how).
Opt-out and opt-in are checked before any other trigger, so a customer can always stop the automation by typing the word — no automation you build can outrank that.
Texting permission and quiet hours (SMS)
SMS is coming soon — it isn't switched on for workspaces yet. Where it is, texting follows its own rules instead of the 24-hour window, because a text reaches someone's phone, not an app they opened:
- A reply is a conversation. You — or a flow started by their text — can reply to someone who texted you in the last 24 hours, straight away. A reply that is scheduled or comes after a delay doesn't count as one.
- Everything else needs documented permission. Broadcasts, sequences, scheduled texts, flow steps after a delay and flows started by hand go only to people whose permission to be texted is on file with its evidence — when they gave it, how, what they were told, and a reference — imported in Contacts. A "yes" column or a checkbox is not evidence, and a recent text from them doesn't count.
- Opting out. STOP, UNSUBSCRIBE, CANCEL, END, QUIT and the other standard words, the same in Spanish and Portuguese (BAJA, PARAR, …), a stop word at the start of a text, and phrases like "please stop texting me" all opt the number out at once — even for a contact you later erase. Only they can undo it, by texting START. HELP gets Twilio's standard reply and never starts an automation.
- A possible opt-out. A stop word inside a longer text ("can you stop by the shop?") might be one. HyperDM's automations and campaigns stop for that person at once, your team can send one reply to ask what they meant, and if they don't text START within 24 hours they're unsubscribed.
- Quiet hours. Texts HyperDM starts go only inside your sending hours (9:00–20:00 unless you change them) in the recipient's own time zone, and stricter state rules apply on top. A broadcast, a sequence step or a flow message held by quiet hours waits for their window.
- Only US numbers, from your own number, with a monthly SMS spend limit an owner sets (Settings).
Grounded answers
The agent answers from your knowledge — what you pasted, crawled, or synced — and not from the open internet or its own general knowledge.
Where a reply is shown to you (the Inbox thread, the Playground) it is labelled:
- grounded · <sources> — the answer came from your knowledge, and those are the chunks it used.
- ⚠ unsourced — review — the reply was not traceable to your knowledge. Read it.
- ungrounded — no knowledge yet — you have not added anything for it to answer from.
An ungrounded answer is a signal to go and add the missing fact, not a bug. The Analytics "What your agent couldn't answer" card collects them into a list, asked-most-often first (the Knowledge gaps tile above it shows the rate), and the Playground offers to save the answer as knowledge the moment it fails to ground one.
The compliance gate
Every single outbound message — an automation DM, a flow step, an agent reply, a broadcast, a sequence step, and your own hand-typed Inbox reply — goes through one gate before it leaves. Nothing sends around it.
The gate enforces the 24-hour window, consent, per-channel rate caps, idempotency (so a retry cannot double-send), and the kill switches. Every decision it makes is written to the Activity log, which is why that page can honestly call itself an audit trail.
On the Free plan the gate also appends the Powered by HyperDM marker to automated replies. Paid plans send nothing extra.
Which trigger wins
One inbound DM is claimed by exactly one trigger. When two could match, the order is fixed and is not configurable:
- Opt-out (
STOP) — always first, always wins. - Opt-in (
START). - Then the rest of the trigger chain — keyword automations, then flows, then meaning-based (intent) automations, and finally the AI agent as the open-ended fallback — only if AI replies are switched on (they are off by default; see The AI agent). Until then an unmatched DM simply lands in your Inbox.
While you have taken a thread over (or paused the workspace), none of these fire for it — only the opt-out/opt-in keywords still do.
Within your own keyword automations, first match wins in priority order, and that order is yours: each row's ⋯ menu on the Automations list has Move up / Move down while the list is in the default Priority sort with no filter applied. The order only changes an outcome when two automations could match the same message.
The practical consequence: the AI agent is the last thing to get a message, not the first. Anything your automations catch never reaches it. That is why turning the agent off does not stop your automations — see The AI agent.
Channels
Instagram is the live DM channel for every workspace. TikTok and Telegram appear in the product with honest "coming soon" states rather than being hidden, so you can see what is planned, but neither is connectable today. SMS — texting customers from your own Twilio number — is coming soon too: it isn't switched on for workspaces yet, and its card in Settings → Channels says so (Settings).
WhatsApp is in a small pilot, switched on one workspace at a time. Where it isn't on for yours, its card in Settings → Channels says so and offers nothing to connect. Where it is, you can connect a WhatsApp Business number, answer WhatsApp conversations in the Inbox inside the 24-hour window, and send a broadcast with a template Meta has approved to people outside it (Settings, Send WhatsApp templates).
TikTok isn't switched on for any workspace yet. When it is, it will go on one workspace at a time rather than everywhere at once — so the answer will depend on your workspace rather than on the product, and its card reads coming soon like the others until TikTok is switched on for yours. Where it is switched on, you can connect the account, build TikTok flows and answer TikTok threads by hand (Settings, The Inbox).
Facebook Page is built — comment automations with one private reply per comment, and Messenger DMs through your keyword automations, flows and the optional AI assistant — and its wider release is still being validated. If your workspace shows a Facebook Page card in Settings → Channels, you can connect a Page there; the card also says whether that Page is ready for Messenger messages. A comment earns one private reply but does not open the 24-hour window — the conversation continues when the person replies (Comment-to-DM on Instagram ads).
Comments on your Instagram ads — a boosted post's ad version, or an ad built in Ads Manager — are part of the Instagram channel and can start a comment-to-DM automation (Comment-to-DM on Instagram ads). Comments on the Facebook placements of the same ad belong to your Facebook Page, not your Instagram account: they reach HyperDM only through a connected Facebook Page.
Shopify is connectable on every plan including Free, but it is not a DM channel — it is a data source that grounds the agent's answers and fills your product catalogue. Connecting it does not use up the Free plan's one-channel slot.
More in Getting started
- Getting startedFrom sign-up to your first sent link, one screen at a time: write the reply, connect Instagram, choose a post, turn it on and test it — or set up the AI.Read
- Connect InstagramConnect your Instagram professional account to HyperDM from the setup page or from Settings, then check that the Instagram card says Connected.Read
- Switch to a professional accountCheck whether your Instagram is a Business or Creator account, and switch a personal one in the app or on instagram.com so it can connect.Read
Try HyperDM for free
50 free conversations a month, no card. Connect Instagram and follow the guide you just read.