# Instagram Comment-to-DM Not Working? 9 Fixes to Try (2026)

> Instagram comment-to-DM automation not sending? Walk through 9 diagnostic fixes for Connected Tools toggles, self-comment tests, duplicate rules, and API limits.

- **Canonical URL:** https://rapiddm.com/blog/instagram-comment-to-dm-not-sending-fixes
- **Author:** RapidDM
- **Published:** 2026-09-03
- **Updated:** 2026-09-29T12:25:00+05:30
- **Last verified:** 2026-09-29
- **Tags:** Troubleshooting, Comment-to-DM, Instagram automation, Meta Graph API

---

When your [Instagram DM automation](/blog/instagram-dm-automation-safe-2026) stops sending messages after someone comments on your Reel or post, do not delete and rebuild the flow. Almost every failure comes down to a hidden mobile permission toggle, testing from your own account, a competing app stealing the webhook, or a [Meta Graph API rule](/blog/instagram-dm-automation-limits-24-hour-window).

Work through the **9 diagnostic fixes** below in order. Most broken flows start sending again by Fix #3.

*Last verified against Meta's Instagram Platform and Send API documentation on **September 29, 2026**.*

## Quick diagnostic table: symptom → fix

| What you see | Most likely cause | Jump to fix |
| --- | --- | --- |
| Nothing happens when YOU comment on your post | Meta ignores self-comments from the post owner's account | Fix #1 (Test from a 2nd account) |
| Public comment reply works, but zero DMs go out | "Allow access to messages" is OFF in the IG mobile app (Subcode 2534041) | Fix #2 (Connected tools toggle) |
| Logs show Error 10900 or 2534037 | Old tool (ManyChat, LinkDM, Meta Business Suite) replied first | Fix #3 (Remove competing apps) |
| Works for followers, fails for non-followers | Button template rejected on cold Private Reply (Subcode 1545133) or in Message Requests | Fix #4 (Non-follower button rule) |
| Stopped working overnight across all posts | OAuth token expired after password change or account type switch (Code 190) | Fix #5 (Reconnect OAuth & check Pro status) |

---

## Fix 1: Stop testing from your own Instagram account

This is the single most common false alarm during setup. If you publish a Reel on `@yourbrand` and then comment `"LINK"` while logged in as `@yourbrand`, **nothing will happen**.

Meta's [Private Replies API](https://developers.facebook.com/documentation/business-messaging/instagram-messaging/features/private-replies) does not allow an Instagram account to send an automated Private Reply to itself.

**How to fix it:**
Log into a second Instagram account (a personal profile, a finsta, or a teammate's phone) and post the test comment from there.

---

## Fix 2: Turn on "Allow access to messages" in the Instagram mobile app

Even if you clicked "Allow" on every screen when connecting your account on desktop, Instagram keeps a separate master switch hidden inside the mobile app. When this switch is off, your tool can still read comments and post public comment replies, but Meta rejects every outbound DM with error subcode `2534041`.

**How to fix it:**
1. Open the **Instagram mobile app** on your phone (this setting is hidden on `instagram.com` desktop web for most accounts).
2. Tap your profile picture → tap the **top-right menu (three lines)** → open **Settings and activity**.
3. Scroll to *How others can interact with you* and tap **Messages and story replies**.
4. Tap **Message controls**.
5. Scroll to **Connected tools** and turn ON **Allow access to messages**.
6. *Pro tip:* If it already shows ON, toggle it OFF, wait 10 seconds, and toggle it back ON to clear a stuck Meta permission cache.

---

## Fix 3: Disable competing tools and Meta Business Suite native rules

Meta strictly allows **one** Private Reply per unique `comment_id`. If you previously tested ManyChat, LinkDM, CreatorFlow, or Meta Business Suite's built-in *Comment to Message* rule and left it connected, the old system will race your current tool and consume the single allowed reply (triggering Error `10900: Activity already replied to` or `2534037: Not the thread owner`).

**How to fix it:**
1. Open **Meta Business Suite → Inbox → Automations** and turn OFF any native *Comment to Message* rules.
2. In your old automation platform, pause active flows or disconnect your Instagram channel.
3. In **Facebook Page Settings → Page Setup → Instagram Conversation Routing**, make sure your current automation tool (such as [RapidDM](/)) is set as the **Default Application**.

(For raw JSON error payloads and routing details, read our [Instagram API Error 1545133, 2534037 & 2534041 troubleshooting guide](/blog/instagram-error-1545133-2534037-dm-automation-troubleshooting).)

---

## Fix 4: Check non-follower button restrictions and the Message Requests folder

If your automation works when a follower comments, but fails (or seems invisible) when a non-follower comments, check two things:

1. **Check their "Message Requests" folder:** When you send a Private Reply to someone who does not follow you, Instagram places the DM inside their **Message Requests** tab without firing a standard lock-screen banner. Always enable a **Public Comment Reply** (*"Sent! Check your DMs and Message Requests"*) so Instagram sends them a comment notification.
2. **Avoid unsupported button payloads on cold first replies:** In 2026, Meta can reject interactive button cards sent in the very first Private Reply to non-followers (`error_subcode: 1545133`). Sending a plain-text first reply (or using RapidDM's two-step Follow-to-Unlock flow) resolves this immediately.

---

## Fix 5: Confirm your account is still a Business or Creator profile (and reconnect OAuth)

If your automations worked last week and stopped across every post today, your Meta OAuth session was likely invalidated (`OAuthException` code `190`). Meta revokes tokens automatically whenever:
- You change your Instagram or Facebook password.
- You enable or reset two-factor authentication (2FA).
- Someone switches the Instagram profile from **Business / Creator** back to a **Personal** account (Personal accounts cannot use the Messaging API).

**How to fix it:**
Verify you are on a Professional account inside the Instagram app, then open your automation dashboard and click **Reconnect Instagram** to refresh your access token.

---

## Fix 6: Check your post selection and Collab / Ad post eligibility

A campaign configured for ** Post A** will ignore comments on **Post B**. Check three post-targeting traps:
- **Wrong post selected:** Open your campaign settings and confirm the thumbnail matches the exact Reel you are testing, or switch the campaign to **All Posts**.
- **Collab posts:** On Instagram Collab posts, Meta only delivers comment webhooks to the **original creator (primary author)** of the post, not the invited collaborator.
- **Unpublished dark ads:** If you boosted a post or created a dark ad in Meta Ads Manager, make sure the ad uses **Use Existing Post** linked to your published organic Reel so comment webhooks route properly.

---

## Fix 7: Fix keyword mismatches and duplicate-send protection

Sometimes the automation is working as designed, but your test comment did not qualify:
- **Keyword mismatch:** If your rule is set to *Exact Match* on `"SEND GUIDE"` and someone comments `"Send guide please!"`, it will not fire. Switch your rule to **Contains Keyword** and use single words like `GUIDE` or `LINK`.
- **One-DM-per-user duplicate protection:** To prevent spamming your comment section, tools like RapidDM only trigger once per user per post by default. If you already tested the keyword on that Reel ten minutes ago from the same test account, a second comment will be skipped intentionally.

---

## Fix 8: Check the 7-day comment window and Live broadcast rules

Meta's Private Replies endpoint refuses to send DMs to old comments (`error_subcode: 2534025`):
- **Posts and Reels:** Comments older than **7 days (168 hours)** cannot receive an automated Private Reply.
- **Instagram Live:** Comments on a Live broadcast can only receive an automated Private Reply **while the Live stream is actively running**.

Always test with a brand-new comment on an active post.

---

## Fix 9: Check if a viral Reel hit Meta's 200 DMs/hour rate limit

Meta caps outbound automated DMs at **200 API calls per hour per Instagram account**. If your Reel just received 800 comments in twenty minutes:
- Tools without a queue drop comments #201 through #800 completely.
- On **RapidDM**, comments #201 through #800 are not lost: they sit in your per-account Redis rate-limit queue and go out automatically over the next 3 hours so your account stays 100% safe.

Need to set up a clean workflow from scratch? Follow our [step-by-step Instagram comment-to-DM setup guide](/blog/comment-to-dm-automation-setup) or [start free on RapidDM (1,000 automated DMs/month)](/auth/sign-up?utm_source=blog&utm_medium=article&utm_campaign=instagram-comment-to-dm-not-sending-fixes&utm_content=bottom_cta).

## Frequently asked questions

### Why is my Instagram comment-to-DM automation not sending?

Most comment-to-DM failures happen for one of four reasons: (1) you tested by commenting from your own Instagram account, (2) the 'Allow access to messages' switch under Connected tools is turned off in the Instagram mobile app, (3) an old automation tool or Meta Business Suite rule replied to the comment first, or (4) your account switched from Professional back to Personal.

### Why doesn't comment-to-DM work when I comment on my own post?

Meta's Instagram Messaging API intentionally blocks Private Replies when the comment author is the same Instagram account that owns the post. Always test your automation using a second Instagram account.

### Where is the 'Allow access to messages' setting on Instagram?

Open the Instagram mobile app (not desktop web) and go to Settings and activity → Messages and story replies → Message controls → Connected tools, then toggle on 'Allow access to messages'.

### Can I trigger comment-to-DM on comments older than 7 days?

No. Meta's Private Replies API enforces a strict 7-day (168-hour) window from when a comment is posted on a post, Reel, or Ad, and requires Instagram Live comment replies to be sent while the Live stream is still broadcasting.
