# Why Did My Instagram Automation Stop Working?

> The real reasons Instagram DM automations stop firing, ordered by how often they're actually the cause — starting with the one that fools almost everyone.

Diagnostic guide

# Your Instagram automation stopped working.  
Here's the checklist, in order of likelihood

This is the list we actually work through when a customer says the automation didn't fire — ordered by how often each cause turns out to be the real one, not by how plausible it sounds. The first item catches more cases than the rest combined, and almost nobody expects it.

Updated September 2026 · Human-verified

[Try Reachlee free ](/app/?src=seo&page=guide%2Fwhy-did-my-instagram-automation-stop-working)[Instagram DM limits](/guides/instagram-dm-limits/)

Ordered by real support-queue frequency · every error code sourced · updated September 2026

## The short answer

Most Instagram automations that 'stop working' were never triggered at all. The single most common cause is testing from the account that owns the post: Instagram sends no webhook for a post owner's comment on their own post, so the tool never learns the comment exists. After that, in order: an expired Instagram access token, a comment older than Instagram's 7-day private-reply window, two automations competing for the same comment, the recipient's privacy settings blocking message requests, and a follow-up sent after the 24-hour messaging window closed.

1Test from a second account, never your own — a post owner's comment on their own post generates no Instagram webhook at all

2Check your Instagram connection: long-lived tokens expire in 60 days and sends fail silently once they lapse

3Comments older than 7 days can no longer receive a private reply — that's Meta's rule, not your tool's

4Each comment gets exactly one private reply, ever — a second attempt on the same comment is rejected

5Two overlapping automations on the same post will fight over the comment, and only one wins

6Error 2534022 on a first reply means the recipient blocks message requests — permanently unreachable, not a retry case

7A follow-up that never arrives is almost always the 24-hour window, because a private reply doesn't open one

8If sends stopped abruptly across the whole account, look for a policy block (error 368) rather than a per-message problem

## 1\. You tested it from your own account

This is the biggest one by a wide margin, and it fools experienced marketers. When you comment your own keyword on your own post to check that the automation works, Instagram does not send a webhook for that comment. From the platform's point of view, a post owner commenting on their own post is not an event worth notifying an app about. Your tool receives nothing, so it does nothing — and the automation you just built looks completely broken while being perfectly configured. The same applies to comments from any account listed as a collaborator or admin on that post. The fix is simply to test from a different, unrelated Instagram account, ideally one that does not follow you, because that also surfaces the privacy and link restrictions that only apply to non-followers.

* Post owner's own comment: no webhook, no trigger, no DM — every time
* Also affects comments from collaborator accounts on the same post
* Testing from a non-follower account is strictly better: it exercises the real path your audience takes
* If your tool shows an activity or run log, an empty log confirms this diagnosis — the event never arrived

## 2\. Your Instagram connection expired

Instagram's long-lived access tokens last 60 days. A tool is supposed to refresh them well before that, but any interruption — you changed your Instagram password, revoked the app in Instagram's settings, converted the account type, or the tool simply failed to refresh — leaves the connection dead. The failure mode is nasty because it's silent: automations still look enabled, the post still shows the trigger, and every send fails at the API boundary. Reachlee flags the account as needing reconnection and blocks sends rather than accumulating failures, and reconnecting is a single OAuth round-trip that preserves your automations. Whatever tool you're on, the diagnostic is the same: find the connected-accounts screen and confirm the account is actually still connected rather than just still listed.

* 60-day token lifetime — refresh should happen automatically before day 50
* Breaks on password change, app revocation in Instagram settings, or an account-type switch
* Symptom: everything looks configured, nothing sends, no obvious error in the automation itself
* Also check the account is still a Professional (Business or Creator) account — the messaging API requires it

## 3\. The comment is older than 7 days

Private replies — the DM you send to someone who commented — must be sent within 7 days of the comment being created. This is a Meta rule on posts and reels, and it is enforced on their side, so no tool can extend it. It bites in two situations. First, you turn on an automation for an old post and expect it to sweep up historical comments: anything older than a week is already ineligible. Second, a post has a long tail and comments that arrive weeks later still trigger fine, while the old ones never will. Meta reports these as error code 100 with subcode 2534025, which covers a comment being ineligible for several reasons at once: past 7 days, deleted, already replied to by another tool, or privacy-blocked. If you want to work a post's back catalogue, you need a retrigger feature and you need to accept the 7-day horizon as the boundary of what's possible.

* 7 days from comment creation, for posts and reels — live-broadcast comments only during the broadcast
* Subcode 2534025 means ineligible: too old, deleted, already answered, or the commenter blocks requests
* Retrigger features can only ever reach back 7 days, and any product claiming more isn't using the official API
* Deleted comments and deleted posts take their eligibility with them

## 4\. Two automations are fighting over the same comment

Each comment can receive exactly one private reply, ever. So if you have two automations that both match the same comment — a keyword automation on a specific post plus an any-post automation with a broad keyword, say, or two any-post automations with overlapping keywords — they race, one of them claims the comment, and the other records a rejection. The DM that arrives is whichever automation won, which may well be the older one you forgot about. This looks exactly like 'the wrong message is going out' or 'it only works sometimes,' and it is the second-most-common cause we find after self-comment testing. Audit your active automations for overlap, and prefer one broad any-post automation over several narrow ones that can collide. Meta reports the loser's attempt as error code 100 with subcode 2534023 — that comment already used its one reply.

* One private reply per comment is a hard Meta rule, so overlap always produces a loser
* Classic collision: a post-specific automation plus an any-post automation with a generic keyword
* Symptom: the wrong reply text arrives, or it works inconsistently across similar comments
* Subcode 2534023 on the losing attempt = the comment already has its one reply
* Fix: audit for overlapping keywords, disable the redundant automation rather than editing both

## 5\. The person can't receive message requests

Instagram lets people refuse message requests from accounts they don't follow, and plenty of people have that on without knowing it. When your private reply targets one of them, Meta returns error code 10 with subcode 2534022 and a message about being outside the allowed window — which is misleading, because a first private reply has no window to be outside of. In our production audit of a full day of live send attempts, this subcode on a first reply consistently meant the recipient's privacy settings block the message, and it was terminal: retrying never succeeded. Reachlee records these as skipped with a reason rather than failed, keeps the comment marked so it is never re-attempted, and keeps them out of the throttle breaker so a handful of unreachable people can't slow down the rest of your sends. If your reporting counts these as failures, your delivery rate will look broken when it's fine.

* Genuinely unreachable — not a bug, not a retry case, not something a different tool would solve
* Expect a steady baseline of these on any post; a few percent is normal
* Subcode 2534001 is the sibling case: the recipient archived or deleted the conversation
* A tool that retries these wastes your rate-limit budget against a permanent wall

## 6\. The follow-up failed, not the first message

If the first DM arrives and the second never does, nothing is broken — you've hit the 24-hour messaging window. A private reply to a comment does not open a messaging window, because the window is opened by the user messaging you and a comment isn't a message. So any second message you queue after the private reply has no window to send inside, and Meta rejects it. The cure is not a setting, it's copy: your first DM has to earn a reply. The moment they answer, you get a full 24 hours of free-form messaging and follow-ups work normally. This is why the compliant playbook is to ask a one-word question in the first DM rather than delivering everything and hoping for a drip sequence that can never run.

* A private reply is a one-shot — it grants no follow-up rights at all
* Their reply opens the 24-hour window; your outbound messages never do
* Drip sequences off a comment trigger cannot work by design, on any tool
* Capture an email inside the window if you need to follow up later — that channel has no expiry

## 7\. Your first DM had a link in it

This one is subtle and specific. Meta refuses to deliver media and certain rich content to people who don't follow the sending account, and a button template counts as media. So a first private reply that leads with a link button to a non-follower gets rejected with error code 2, subcode 1545133 — and in our audit, every plain-text retry after that rejection also had nowhere to go, because the comment's one reply had been consumed by the failed attempt. The practical rule we now enforce: a first DM to a potential non-follower must be plain text, with the link as text rather than as a button. If your funnel opens with a big tappable button, a meaningful slice of your audience is silently receiving nothing at all, and your tool may be reporting it as sent.

* Subcode 1545133 = media or rich content blocked to a non-follower
* Button templates count as media; plain text with a URL in it does not
* Because there is only one private reply per comment, a failed rich send burns the attempt
* Lead with text, offer the button later in the conversation once the window is open

## 8\. Another app owns the conversation

If you've ever connected a second automation tool, a helpdesk, or a chat product to the same Instagram account, thread ownership becomes a real problem. Instagram's Conversation Routing decides which connected app owns a given thread, and an app that doesn't own it can't send into it — Meta returns subcode 2534037\. Worse, the events arrive in a separate standby stream rather than the normal messaging stream, so a tool that only reads the primary stream appears to receive nothing. The fix lives in Instagram's own settings rather than in any tool: in the Instagram app, under the business messaging settings, the 'Take control of conversations' style toggle determines which app handles threads. We diagnosed exactly this for a customer whose follow-up DMs vanished — the automation was perfect and another connected app held the threads.

* Subcode 2534037 = your app doesn't own that thread
* Symptom: inbound messages appear nowhere, or replies fail only for some contacts
* Caused by having more than one messaging app connected to the same Instagram account
* Resolved in Instagram's business messaging settings, not in the automation tool

## 9\. Instagram throttled or blocked the account

If sends stopped abruptly for everyone rather than for specific people, stop debugging the automation and look at the account. Meta rate-limits by formula and reports usage in response headers, and a breach returns documented codes — 4, 17, 32, 613, or Business Use Case codes like 80002 — along with an estimated time in minutes until access returns. That's recoverable: a good tool pauses and resumes. The more serious case is a policy block, error 368 with subcode 1404169, which arrives with no recovery estimate whatsoever. Retrying into it makes things worse. There's also subcode 1772111 on public comment replies, which flags activity Meta considers too spammy. Reachlee pauses the affected account for a full 24 hours on a policy block and stops public replies on the spam signal while letting DMs continue. If your tool has no concept of pausing, it will keep pushing into a block on your behalf.

* Recoverable rate limits report estimated\_time\_to\_regain\_access in minutes — wait it out
* Error 368 / subcode 1404169 is a policy block with no recovery header: stop sending entirely
* Subcode 1772111 flags comment-reply activity as too spammy — pause public replies for a day
* Account-wide symptom, sudden onset, affects every automation at once

How it works

## The five-minute diagnostic

01

### Comment from a second account that doesn't follow you

This eliminates the number-one cause immediately. Use a different Instagram account, not a collaborator on the post, and ideally not a follower. If the DM arrives, your automation was always fine and your test was the problem.

02

### Check the connection, not the automation

Open your tool's connected-accounts screen and confirm the Instagram account is genuinely connected rather than merely listed. If there's a reconnect prompt, that's your answer — tokens expire at 60 days and every send fails once they do.

03

### Look at the run log for that specific comment

An empty log means the event never arrived, which points at the self-comment case or thread ownership. A log entry with a skip reason points at the recipient or the comment's eligibility. A log entry with a failure points at the token, a link in a first DM, or a rate limit. The distinction between 'nothing arrived' and 'arrived and was rejected' cuts the problem in half.

04

### Audit for overlapping automations

List every active automation and check whether two of them could match the same comment. Any-post automations with generic keywords are the usual culprit. Disable the redundant one rather than trying to make both coexist, because only one can ever win a given comment.

05

### Check the age of the comment and whether it's a follow-up

Older than 7 days means ineligible, permanently. A missing second message means the 24-hour window, which is a copy problem rather than a configuration problem. Both are Meta rules, so switching tools changes nothing.

The bottom line

Almost every 'my Instagram automation stopped working' turns out to be one of three things: the test was run from the post owner's own account so Instagram never sent an event, the Instagram connection quietly expired, or the thing that failed was a follow-up that Meta's 24-hour window was never going to allow. None of those are fixed by switching products, which is worth knowing before you spend a weekend migrating. What does differ between tools is how honestly they report the rest: whether a permanently unreachable recipient shows as skipped or as a failure, whether a policy block pauses the account or gets retried into, and whether you can see, per comment, exactly what Meta said. That visibility is the difference between a five-minute diagnosis and a week of guessing.

FAQ

## Automation troubleshooting — FAQ

Why didn't my automation reply when I commented on my own post?

Because Instagram never told your tool about it. A post owner commenting on their own post does not generate a webhook to connected apps, so no automation on any platform can see it or react to it. The same is true for accounts that are collaborators on the post. This is the single most common cause of 'it's not working' reports, and the fix is to test from an unrelated Instagram account — preferably one that doesn't follow you, since that also tests the non-follower restrictions your real audience will hit.

My first DM went out but the follow-up never did. What's wrong?

Nothing is wrong — you've hit Instagram's 24-hour messaging window. The first DM was a private reply to a comment, and a private reply does not open a messaging window, because only a message from the user does that. So the follow-up has no window to send inside and Meta rejects it with error code 10, subcode 2534022\. Once the person replies to your first DM, the window opens and follow-ups work normally for 24 hours. The practical fix is writing a first DM that asks a question worth answering.

How do I know if my Instagram token expired?

Your tool should tell you, usually as a reconnect prompt on the connected-accounts screen. Instagram's long-lived tokens last 60 days and are meant to be refreshed automatically around day 50, but a password change, revoking the app in Instagram's settings, or switching account type breaks them early. The symptom is distinctive: the automation looks completely healthy and every send fails. If your tool offers no connection status at all, disconnect and reconnect the account — it's a single OAuth round-trip and it doesn't delete your automations.

Can I make my automation reply to comments older than 7 days?

No, and nobody can. Meta allows a private reply only within 7 days of the comment being created on posts and reels. Attempts on older comments come back as error code 100, subcode 2534025\. A retrigger feature can sweep the comments a post received in the last week and DM the ones that never got a reply, which is genuinely useful on a post that went viral before you set the automation up — but the 7-day horizon is the absolute boundary, and any product advertising further reach isn't using the official API.

Why does it work for some commenters and not others?

Three causes, all recipient-specific. Some people block message requests from accounts they don't follow, which returns subcode 2534022 and is permanent for that person. Some have archived or deleted the conversation, which returns 2534001\. And if your first DM leads with a link button, Meta refuses to deliver it to non-followers at all — subcode 1545133 — so followers get your message and non-followers silently don't. That last one is fixable: send plain text first and save rich buttons for after the conversation opens.

Two automations are on the same post. Which one fires?

Whichever one claims the comment first, and the other gets rejected with subcode 2534023 because each comment can receive exactly one private reply. You cannot make both send, on any platform, because the limit is Meta's. This is why 'the wrong message went out' and 'it only works sometimes' are usually the same bug: an old any-post automation with a broad keyword is quietly winning against the specific one you just built. Audit for keyword overlap and disable the redundant automation.

All my sends stopped at once. What happened?

An account-wide stop points at Instagram rather than your configuration. Recoverable rate limits return codes like 4, 17, 32 or 613 along with an estimated time in minutes until access returns, and the right response is to pause and wait. A policy block — error 368, subcode 1404169 — is more serious: it comes with no recovery estimate and retrying into it worsens the situation, so sends on that account should stop completely for a day. If your tool kept hammering the API through either of these, that's worth knowing about the tool.

I connected another chat tool and now nothing arrives. Why?

Instagram's Conversation Routing gives thread ownership to one connected app, and an app that doesn't own a thread cannot send into it — Meta returns subcode 2534037\. Its events also arrive on a separate standby stream, so a tool reading only the primary stream sees nothing at all. The setting lives in Instagram's own business messaging settings rather than in any automation product. We've diagnosed this on a live account where the automation was flawless and a second connected app simply held the conversations.

Does switching automation tools fix any of this?

Usually not, because most of these limits come from Meta and apply identically to every tool built on the official Instagram API — the 7-day comment window, one reply per comment, the 24-hour messaging window, non-follower media restrictions. What does change between tools is diagnosis: whether you can see per-comment what Meta actually returned, whether permanent rejections are reported as skips rather than failures, and whether the tool pauses on a policy block instead of pushing into it. Pick on visibility and error handling, not on promised limits.

Keep exploring

## Keep reading

[Instagram's 24-hour messaging window, explainedWhat opens the clock, what only looks like it does, and why error 2534022 has two different meanings.](/guides/instagram-24-hour-messaging-window/)[Instagram DM limits: every number, sourcedPolicy rules, documented API caps, usage headers, and the undocumented soft clamp.](/guides/instagram-dm-limits/)[Instagram restricted my account for automationWhat a policy block actually looks like, how long it lasts, and how to avoid the next one.](/guides/instagram-restricted-my-account-for-automation/)[DM the commenters you already haveSweep a post's last 7 days of comments and message the ones that never got a reply.](/use-cases/retrigger-old-posts/)

---
Source: https://www.reachlee.co/guides/why-did-my-instagram-automation-stop-working
