Instagram DM Automation Rules in 2026: Windows, Limits and What Meta Actually Allows
Instagram DM automation runs on three hard limits: a rolling 24-hour reply window, 7 days for one private reply to a comment, about 200 API calls an hour.
Instagram lets you automate DMs, but only inside three windows — and almost everything sold outside them is either impossible or a policy violation. You have 24 hours to reply to anyone who messaged you first, and that clock restarts with every new message they send. You have 7 days to send exactly one private reply to someone who commented on your post or Reel. And your account can make roughly 200 messaging API calls per hour in total, across every tool connected to it. There is no broadcast to followers, no unsolicited first message, and the tag that would stretch the window to seven days is off-limits for bots.
That is the rulebook. What follows is the mechanics: how each clock behaves, which one your flow is actually on, and why automations that passed testing die in production.
The three windows, side by side
| What the person did | What you may send | Window | Does it reset? |
|---|---|---|---|
| Sent you a DM | Any messages, any supported type | 24 hours from their last message | Yes — every inbound message restarts it |
| Commented on your post or Reel | One private reply per comment | 7 days from the comment | No. One reply, one comment |
| Mentioned you in a story | A reply in the DM thread | 24 hours from the mention | Yes, if they answer |
| Replied to your story | Any messages | 24 hours | Yes |
| Followed you, liked, watched | Nothing | — | — |
Note the last row: a follow opens nothing. Neither does a like, a view, or a save. Only a message or a comment starts a clock.
How the Instagram 24 hour messaging window actually behaves
The window is per conversation and rolling. It is not a daily quota and not tied to your account. Each thread carries its own timestamp — the last message the other person sent you — and from that moment you have 24 hours to send whatever you like into that thread. If they answer at hour 23, you get a fresh 24. A live back-and-forth stays open for weeks, because every reply extends it.
Silence closes it. If a user asks something at 9:00 Monday and your team opens the thread at 10:00 Tuesday, the API refuses the send. Nothing is broken; the clock ran out. The fix is not a setting.
Delays inside your own flow spend the same budget. A welcome, a two-hour pause, then a follow-up has burned two of the 24. A "wait 1 day, then remind" step after a comment-triggered private reply fails by design: it fires right at the edge. Keep the last timed step hours inside the window, not minutes.
The 7-day comment window, and why it is only one message
When someone comments on your post, Instagram allows a private reply: one message from you, delivered into their DM inbox, within 7 days of the comment. This is the mechanism behind every comment to DM automation you have seen. It is not a loophole but a documented path — and the only way to open a conversation with someone who never wrote to you.
Three constraints shape it:
- You get one. One private reply per comment. Send a link, get no answer, and the thread is over — there is no second attempt.
- The comment must still exist. If the user deletes it, or you hide it before the flow runs, the private reply fails.
- Their answer moves you to the 24-hour rule. From then on it is an ordinary conversation with an ordinary rolling window.
So the first message should deliver what you promised and ask something. "Here's the guide — do you want the short version or the full one?" gets an answer, and that answer buys 24 hours to actually sell. A bare link converts once and goes quiet. When the private reply never arrives at all, the causes are mechanical rather than creative — we listed them in why comment to DM automation stops working.
The human agent tag, and why bots cannot use it
Searching for a way around the 24-hour limit leads straight to the HUMAN_AGENT message tag. It is real, and it does extend the response window to 7 days. Meta is unambiguous about who may use it: a human agent, responding personally. It exists so a support team with a queue can answer on Thursday a question asked on Monday.
Applying the human agent tag on Instagram to automated sends is not permitted. This is not a gray area — it is the kind of misuse that costs an app its messaging permissions, which takes down every account connected to that app at once. Some tools attach it to every outgoing message quietly, because it makes "no limits" marketing work for a while. If a vendor advertises a 7-day window for automated messages, that is what is happening under the hood, and you share the risk. The legitimate use is a real person opening the thread and typing.
Instagram messaging API limits in 2026
The ceiling is roughly 200 calls per hour, per Instagram account. Three details matter more than the number.
It counts calls, not conversations. A welcome sequence written as five chat bubbles plus an image is six calls for one user — at that shape, 200 calls an hour is about 33 people. Collapsing six bubbles into two triples your capacity without changing a word of copy.
The budget belongs to the account, not the tool. A chatbot, a helpdesk integration, and an analytics app on the same account draw from one pool. Switching providers does not raise the ceiling, because the ceiling was never the provider's.
Hitting it degrades quietly. Sends start returning throttling errors, and a multi-step flow can deliver two messages and drop the third — the user sees an unfinished conversation, not an error. If partial deliveries cluster at one time of day, look at volume before logic.
What "Instagram API messaging window expired" actually means
When the API refuses a send, the response is some variant of more than 24 hours have passed since the user last replied to this conversation. That is a statement about a timestamp, not a bug. Work down this list in order:
- Which clock is this thread on? Comment-triggered means 7 days from the comment; DM-triggered means 24 hours from the last inbound. Mixing them up explains most of the confusion.
- When did they last write? Read the timestamp on their last message, not yours.
- Did your flow wait? Add up every delay step between the trigger and the failed send.
- Was a private reply already sent for that comment? The second fails whatever the timing.
- Is "Allow access to messages" still on? The Instagram app has a toggle, under message settings and connected tools, that authorizes third-party access to your DMs. App updates, account recovery, and other people on the account switch it off. When it is off, everything else looks healthy and nothing sends.
- Is the account still Professional? Reverting to personal cuts API messaging entirely.
What no tool can do, whatever the sales page says
Instagram has no broadcast API for followers, and you cannot message someone who never contacted you. Any product promising a follower blast, a cold outreach list, or "unlimited DMs" is doing one of two things: reselling the private reply mechanism with better marketing, or running a browser emulator that logs in with your password and impersonates the app. The second category is what actually gets accounts restricted, which is why official API access versus emulation is the first question worth asking a vendor — the full comparison is in is Instagram DM automation safe.
Chatonaut connects to Instagram through Meta's own authorization screen: we never ask for or receive your password, and every message goes through the official Messaging API. Which is exactly why the limits above apply to us too, and why we describe them instead of promising around them.
Designing flows that live inside the rules
Once you accept the windows the design gets simpler. Comments are your only legitimate way to start conversations, so a keyword in the caption is the top of the funnel. The private reply delivers the promised thing and asks one question; the answer reopens the clock. From there an AI agent can hold the conversation on your knowledge base and hand it to a person the moment it stops being routine — the expensive failure is not a wrong answer, it is a human noticing at hour 26. A shared inbox across channels exists for the same reason: nobody misses a thread because they were watching the wrong tab.
Start with one post that already gets comments and build a single comment to DM flow whose first message ends in a question. The share of people who answer is the only number the windows let you optimize. What the channel includes is on the Instagram page, and what each plan covers on the pricing page.
How many DMs can you send per hour on Instagram?
Roughly 200 API calls per hour per Instagram account, shared by every connected app. A flow spends several calls per person — one per bubble, one per attachment — so the real number of people reached in an hour is a fraction of 200. Count bubbles, not users.
Can I message all my followers on Instagram?
No, and no tool can. Instagram provides no mechanism for messaging your follower list, through the API or the app. You may write only to people who messaged you in the last 24 hours or commented in the last 7 days. Anyone advertising follower broadcasts is either dressing up comment to DM automation or working outside the rules.
Does replying reset the 24-hour window?
Their reply resets it; yours does not. The clock is anchored to the last message the other person sent. You can send ten messages in a row and the deadline will not move. That is why flows built on questions outperform flows built on statements — every answer buys another 24 hours.
Does the human agent tag give me 7 days on Instagram?
It does extend the response window to 7 days, but only for messages a human actually writes. Meta prohibits the human agent tag on automated responses, and misuse risks the connected app's messaging permissions for every account using it. It is a support-team feature, not an automation feature.
Do the rules differ for a business account and a creator account?
Not for messaging. Both are Professional accounts using the same Messaging API — same windows, same hourly ceiling. What matters is that the account is Professional, connected through Meta's authorization flow, with third-party message access enabled in the app. A personal account has no API messaging at all.
Try it on your own account
Connect your Instagram account and let the bot answer comments and DMs while you sleep. Free plan, no card needed.