Guide · Instagram automation, DMs and comment-to-DM

Comment-to-DM automation on Instagram: how it works and what it converts

By Antoine Blanco··7 min read

Comment-to-DM sends a private message to anyone who comments a keyword on your Instagram post. Meta allows one private reply per comment, within seven days. It runs on the official Instagram API, on a professional account, with the comments webhook and Advanced Access. Here is the mechanic, the setup, and the numbers that tell you if it converts.

How comment-to-DM automation works on Instagram

Four steps, and only the middle two are yours.

  1. Someone comments on your post or Reel. Meta sends a comments webhook notification to your app. Advanced Access is required for that field, and your app has to be Live in the App Dashboard.
  2. Your code matches the comment text against your keywords.
  3. On a match, you call POST /<IG_ID>/messages with recipient: {comment_id: "..."} instead of a user id. That is the private reply endpoint, checked on September 28, 2026.
  4. The message arrives in the commenter's DM inbox, with a link back to the post they commented on.

Step 3 is the whole trick. You have no user id, you have a comment id, and Meta accepts the comment id as a recipient exactly once. That is the only sanctioned way to open a conversation with someone who never messaged you. Everything else in Instagram messaging requires the user to write first.

The permissions differ by login type. With Instagram Login you need instagram_business_basic and instagram_business_manage_comments. With Facebook Login it is instagram_basic, instagram_manage_comments and pages_read_engagement.

What Meta actually allows

Every line below comes from Meta's Instagram Platform documentation, checked on September 28, 2026.

Rule Value
Private replies per comment 1
Window after the comment 7 days
Instagram Live comments during the broadcast only
Follow-up messages only after the person replies, then 24 hours
Past 24 hours human agent tag, for a human response
Account type Instagram professional (business or creator)
Webhook field comments, Advanced Access required
App status Live in the App Dashboard
Group threads not supported

Two consequences people discover late. A second automation matching the same comment sends nothing: the one private reply is already spent. And the seven days are counted from the comment, not from your post, so an old Reel that keeps collecting comments keeps working.

The 24-hour rule after the reply is the same one covered in Instagram DM automation. Comment-to-DM opens the conversation, the standard window governs the rest of it.

Why the DM should carry a button, not a bare link

A raw URL dropped in a first message to someone who has never talked to you is the pattern Meta's spam systems are built to catch. Send the link as a button instead: a short label and an HTTPS destination, rendered as a tappable element rather than text.

In PlugKit that is dmButtonLabel and dmButtonUrl on the automation. The label is capped at 20 characters, per the PlugKit automations reference checked on September 28, 2026. "Get the guide" fits. "Download the complete free guide now" does not.

Add a publicReplyText too. A short public answer under the comment ("sent 📩") tells the other readers the thing is real, and tells the commenter to go check their requests folder.

How to set up comment-to-DM automation on Instagram

Check Meta Business Suite first: open Inbox, then Automations, and see whether a comment trigger is offered for your Instagram account. The Instagram auto reply guide lists what to look for. Past that, you either build on the Graph API yourself or use a tool that already holds the app review.

Building it yourself: register a Meta app, request Advanced Access for instagram_manage_comments and the messaging permissions, pass app review, host a webhook endpoint that answers Meta's verification challenge, store tokens, refresh them, and handle retries. Budget weeks, not an afternoon. The upside is that you own it and you pay Meta nothing.

Using PlugKit instead, the same thing is one call:

curl -X POST https://api.plugkit.co/v1/comment-automations \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "accountId": "acc_...",
    "name": "Reel 28/09 - keyword PLUG",
    "mediaIds": ["17912..."],
    "keywords": ["PLUG", "plugkit"],
    "matchType": "contains",
    "publicReplyText": "Sent 📩",
    "dmText": "Here is the setup guide I mentioned in the Reel.",
    "dmButtonLabel": "Get the guide",
    "dmButtonUrl": "https://www.plugkit.co/",
    "oncePerUser": true
  }'

Five things to decide before you send it:

Platform support is Instagram and Facebook Pages, because private replies exist only there.

Running it from an AI agent instead of a dashboard

The same automations are exposed as MCP tools, so an agent can create and inspect them in plain language. Add the hosted server once:

claude mcp add --transport http --scope user plugkit https://api.plugkit.co/mcp

Then /mcp and Authenticate. From there, "create a comment-to-DM automation on my last Reel, keyword PLUG, button to the guide" becomes a single tool call, and "which automations fired yesterday and how many DMs went out" reads the run log. The full tool list is in the Instagram MCP server write-up, and the agent side of it in the Hermes Agent setup guide.

What comment-to-DM actually converts

I am not going to publish conversion rates I have not exported. What I can tell you is which four numbers to pull, because most people only look at the first one and it is the least useful.

Number Where it comes from Why it matters
Comments matched GET /v1/comment-automations/{id}/runs tells you the keyword is readable in the caption
DMs delivered same run log gaps here mean spent private replies or expired comments
Button clicks your own link tracking the only real intent signal
Replies in the thread the inbox, per conversation the 24-hour window opening, and the actual sales conversation

The drop between comments matched and DMs delivered is the one worth watching. It is almost always one of three things: the comment is older than seven days, another automation already burned the private reply, or the commenter has messaging restricted.

Is there a free Instagram comment-to-DM automation?

Start with Meta Business Suite: its inbox automations cost nothing, and its Automations screen shows whether a comment trigger is offered for your Instagram account. Saved replies do not count, they are inserted by hand.

Beyond that, two routes cost nothing in software. Build on your own Meta app: the Graph API is free to call, you pay in app review and hosting. Or use the entry offer of a chat marketing tool, which caps you on contacts and starts charging as the list grows. I keep the grids on ManyChat pricing and ManyChat alternatives, each with the date it was checked.

PlugKit is not the free route. It is $29 a month for 5 connected accounts, cancel anytime, or $97 for 30, with a 7-day trial. What you get for it is the app review, the webhook infrastructure, the token refreshes and the same automations available to an agent over MCP. If you only need one keyword on one account and you already have a Meta app, build it yourself.

For the rules around all of this, the boundaries Meta enforces are in Instagram automation in 2026, and the broader tool landscape sits on the Instagram automation hub.

FAQ

How do I set up comment to DM automation on Instagram?

You need an Instagram professional account, a Meta app with Advanced Access to the comments webhook and the comment permissions, and code that calls the private reply endpoint when a keyword matches. Tools like PlugKit hold the app review for you, so the setup is one API call or one sentence to an agent: pick the post, the keywords, the DM text and the button.

Can I send more than one DM from a comment?

No. Meta allows exactly one private reply per comment, within seven days of that comment. Once the person answers your DM, the standard 24-hour messaging window opens and you can reply normally inside it.

Does comment-to-DM work on Instagram Reels and Live?

Reels and feed posts both work, with the same seven-day window from the comment. Instagram Live is the exception: private replies to live comments can only be sent while the broadcast is running.

Will comment-to-DM get my Instagram account flagged?

Not by itself, if you use the official API on a professional account and stay inside the windows. What gets flagged is volume and pattern: bare links in first messages, the same text to hundreds of people in minutes, or automation running on an account that was never approved for it.

Which platforms support comment-to-DM besides Instagram?

Facebook Pages, using the same private reply mechanic. LinkedIn, X, TikTok and YouTube have no equivalent: none of them lets you open a private conversation from a public comment through their API.

AB
Antoine BlancoFounder of PlugKit. Runs his own Instagram, YouTube and X accounts through the API and MCP server described here.

One plug for every platform your agent touches

$29 a month for 5 connected accounts, cancel anytime. Every feature in every plan.

Get your API key →
English ▾