Documentation

Instagram DMs and comment automation

Answer Instagram DMs and automate post comments with exact-phrase, AI, or always-reply rules.

Instagram DMs & comments

Connect an Instagram Business account and the same AI that powers your chat widget answers DMs, while configurable per-post rules handle comments — all from one dashboard.

Prerequisites

  • A website in your workspace. Instagram accounts are connected under a website, since they share that website's knowledge base and tools. Go to Websites → New Website first if you haven't created one. Don't have an actual website yet? That's fine — create one anyway with any placeholder domain, e.g. https://instagram.com; it's only used to group the account.
  • A knowledge base, if you want grounded answers. Upload documents or crawl URLs under that website (see Training & knowledge) — DMs and AI-escalated comments answer from the same content as your widget. You can skip this and rely purely on per-post comment rules if you'd rather not use the AI on Instagram at all.
  • An Instagram Business or Creator account (not a personal account), linked to a Facebook Page — required by Meta for the Instagram Login API.

Connecting your account

  1. Open Instagram in the dashboard sidebar.
  2. Click Connect Instagram.
  3. Choose the website you want this account attached to, then click Connect.
  4. You'll be redirected to Instagram — log in and approve the requested permissions.
  5. You're sent back to the dashboard, and the account appears in your list with a connected badge. Its posts start syncing automatically.

How DMs work

An incoming DM is delivered to IotaBot in realtime over Meta's webhook. It runs through the exact same AI pipeline as the chat widget — retrieval from your knowledge base, tool calls, and human handoff — then the reply is sent back as an Instagram DM. Every DM conversation shows up in that account's Conversations tab, live, just like widget chats. Automated sends are capped at Meta's limit of 200/hour per account.

How comments work

Comments are handled separately from DMs, per post. Open the account, then a post under its Posts tab (use Sync now if a recent post hasn't appeared yet), and add one or more matchers. A matcher decides when to fire and what to send.

Choosing when a matcher fires

Every matcher has a mode:

  • Exact phrase — fires when the comment contains any one of your phrases, ignoring case. Enter them comma-separated, e.g. link, price, dm me. Deterministic and free: no AI call is made, so this is the cheapest and most predictable option.
  • AI context — you describe the intent in plain language (e.g. "asking about the price") and the model decides whether a comment matches. Use it when people phrase the same question a hundred different ways.
  • Always — fires on every comment, whatever it says. Useful for giveaways or a single blanket "check your DMs" reply.

The order they're checked in

Matchers are not evaluated top to bottom. IotaBot checks exact phrases first, then AI contexts, and always last. Two reasons: an exact match settles the common cases without spending an AI call, and an always matcher can never accidentally swallow the specific rules you wrote beneath it. The first match wins, across every rule on the post.

What it sends

  • Each matcher has its own action: reply on the comment, send a DM, or both. With both, the public reply and the DM are written separately — so you can keep the public one short and put the detail in the DM.
  • One automated response per person, per post. If someone leaves five comments on the same post, they get answered once — not five public replies and five DMs. Their later comments still appear in your inbox for an agent to answer by hand.

When nothing matches

  • Set a post-level fallback: ignore it, log it for manual review, or escalate it through the AI.
  • Anything left unmatched (and not escalated) lands in the Unmatched tab for your team to review.
  • Note that an always matcher catches everything by definition — so on a post that has one, the fallback and the Unmatched tab never come into play.

Meta's sending limits

Meta caps automated messages at 200 per hour, per connected account. That's Meta's number, not ours — IotaBot tracks it per account and applies it like this:

  • DMs count toward it — including a DM sent by a comment matcher whose action is Send as DM or Both.
  • Public comment replies don't. They fall under a separate Meta call budget, so a Reply as comment rule never eats into your DM allowance.
  • Nothing is thrown away at the cap. A send that would exceed it is queued and goes out at the start of the next hour — Meta's policy requires deferring rather than dropping.

Separately, Meta only allows a DM within 24 hours of the person's last message to you. After that an automated reply is no longer permitted, though a human agent on your team can still reply for up to 7 days under Meta's Human Agent allowance.

Where to click, start to finish

Instagram (sidebar) → Connect Instagram → pick a website → authorize on Instagram → open the connected account → Posts tab → open a post (or Sync now first) → add matchers, choose a mode and action for each, set a fallback → Save.