Core concepts

The vocabulary HyperDM runs on: conversations, the 24-hour window, consent, grounded answers, the compliance gate and which trigger wins.

5 min read

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 is one buyer engaging one campaign — one automation, one flow, or an open-ended chat with your AI agent — however many messages it takes. Ten messages back and forth inside one campaign is one conversation. It stays one conversation while replies keep flowing, and it counts again when:

  • the same buyer engages a different campaign (commenting on your elephant-PDF post Monday and your giraffe-PDF post Wednesday is two conversations),
  • the buyer comes back after 5 quiet days with no automated reply, or
  • a new calendar month starts (your allowance is monthly).

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 the Dashboard's Usage 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.
  • Contacts can be filtered by window state — Any window / 24h window open / Window closed in the Contacts filter bar.
  • 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.md.

Every contact carries an opt-in state. It shows in the Inbox context pane as Opt-in: Granted / None, and in the Contacts drawer.

  • The built-in opt-out wordsSTOP, 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 wordsSTART, 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).

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.

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:

  1. Opt-out (STOP) — always first, always wins.
  2. Opt-in (START).
  3. 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 agent.md). 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: the Automations list shows reorder arrows while it 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 agent.md.

Channels

Instagram is the only live DM channel today. WhatsApp and TikTok appear in the product with honest "coming soon" states rather than being hidden, so you can see what is planned, but neither can be connected or send today.

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 (instagram-ad-comments.md). Facebook is not a channel: comments on the Facebook placements of the same ad never reach HyperDM.

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.

Try HyperDM for free

50 free conversations a month, no card. Connect Instagram and follow the guide you just read.

Get startedNO CARD · LIVE IN 10 MINUTES · CANCEL ANYTIME