Troubleshooting8 min read

Comment-to-DM Automation Stopped Working: How to Find Out Why

Comment-to-DM has an unusually unpleasant failure mode: when it breaks, nothing tells you. No error, no failed status, no red banner. Your campaign sits there marked active, your account shows as connected, and the DMs simply stop. From the inside it is indistinguishable from nobody having commented. This is the order to check things in, from the outside in.

First: did the comment ever reach the tool?

Everything downstream is pointless if Meta never delivered the comment. A comment-to-DM tool does not poll Instagram looking for new comments. It waits for Meta to send a webhook. If that webhook does not arrive, no keyword matching happens, no message is attempted, and nothing is logged, because from the tool’s point of view the comment does not exist.

Check this before anything else, and check it against a post you know is getting comments. A reel sitting on five thousand comments that has produced zero webhooks is conclusive. A quiet post that produced none proves nothing.

This distinction matters more than it sounds. "No comment events recorded" and "nobody commented" look identical in the data, and mistaking one for the other sends you debugging the wrong half of the system.

The permission that breaks everything quietly

For an Instagram account connected through a Facebook Page, Meta requires instagram_manage_comments before it will deliver comment webhooks at all. Without it the connection still succeeds, the account still shows as linked, and DMs sent by other means still work. Comment events are simply never sent.

The reason this catches people out is that requesting a permission is not the same as being granted it. Meta only grants instagram_manage_comments to a user who holds a role on the app (admin, developer or tester) unless the app has been approved for Advanced Access. So the tool works perfectly for the developer testing it, and silently does nothing for every real customer.

  • Standard Access: only people with a role on the app are granted the permission.
  • Advanced Access: any user can grant it, but the app must pass App Review and complete business verification.
  • A permission can show as "Approved" in App Review and still be at Standard Access. Approved and Advanced are different things.

If you run your own Meta app for your own account, you are its admin, so Standard Access is enough and no App Review is needed. The requirement only appears when an app serves people who do not have a role on it.

Checking what a connection was actually granted

The authoritative answer comes from Meta, not from your own records. Calling /me/permissions with the connection’s token returns every permission and whether it is granted. A permission that was requested but refused does not appear as "declined". It is absent from the list entirely, which is easy to read past.

Compare two accounts if you can: one that works and one that does not. If the working one holds instagram_manage_comments and the broken one does not, you have your answer, and no amount of reconnecting will fix it until the underlying access level changes.

If the comment did arrive and still nothing sent

Now the problem is inside the tool, and the causes are much more mundane. Work through them in this order:

  • Is the campaign bound to the post that was commented on? Most campaigns target one specific post, and a comment on a different post correctly matches nothing.
  • Does the comment actually contain the keyword? Matching rules differ between tools. Some require the keyword as a separate word, others match it anywhere in the text.
  • Has this person already been messaged by this campaign? Sensible tools message each commenter once, ever. Testing repeatedly from the same account produces silence that looks like a bug.
  • Is the campaign enabled and not paused? A campaign paused by a rate limit resumes on its own, but is inert while paused.
  • Have you hit your plan limit for the month?
The duplicate-protection rule is the single most common cause of "it worked once and never again". It is working as designed. You just cannot test it twice from the same Instagram account.

Two campaigns on the same post

A comment can only ever trigger one campaign. If you build a second campaign for a post that already has one, the original usually keeps taking every comment and the new one appears completely broken, with no error, no sends and nothing to look at.

Disable the old campaign before switching to a new one on the same post.

What to ask your provider for

If you are using a tool rather than your own integration, the two questions worth asking support are: has Meta delivered any comment events for my account in the last few days, and does my connection hold instagram_manage_comments. Those two answers separate a platform problem from a configuration problem, and everything else follows from knowing which one you have.

Try it on your own account

Set up a comment-to-DM automation in a few minutes. Free plan, no credit card required.

Start free

Keep reading

Stop answering the same comment by hand

Set up your first automation in minutes and let every commenter get an answer.

Free plan available. No credit card required.