Instagram comment to DM automation

Instagram comment to DM automation sends a private message to anyone who comments your keyword on a post or Reel. It runs on the official Instagram API, which allows exactly one private reply per comment and requires that reply to be sent within seven days.

By pratieee, indie founder of dmpilotUpdated 2026-10-09

Steps

  1. 1
    Connect a professional account
    Comment to DM only works on an Instagram Business or Creator account linked to a Facebook Page. Personal accounts have no messaging API at all, so switching is the first requirement. The switch is free and takes about a minute in Instagram settings.
  2. 2
    Pick the post or Reel
    Choose a single post to watch, or set the trigger to run on any post. Most people start with one high-performing Reel, because that is where comment volume is concentrated.
  3. 3
    Define the trigger
    Enter the one word people should comment, and choose whether it must be the exact word or can appear anywhere in the comment. Keep it short and free of accents or punctuation so it survives phone keyboards and autocorrect.
  4. 4
    Write the DM
    The DM is the payload: the link, the file, the answer. Put it first, as a tracked link or a link button. The public reply under the comment is the receipt everyone else sees; DMPilot posts a fixed one, "Just sent it ✨", so there is nothing to write there.
  5. 5
    Test with a second account, then publish
    Comment the keyword yourself from another account and confirm the DM arrives, the link resolves, and the public reply posts. Only then should you point real traffic at it.

What comment to DM actually does

You publish a post or a Reel and ask people to comment a word. Someone comments it. A few seconds later they get a DM from your account with the link, the guide, the discount code, or whatever you promised. That is the whole mechanic, and it is popular because it converts a passive scroll into a private conversation without either side leaving the app.

The reason it works is not novelty. It is that a comment is a public commitment. Someone who types a word under your Reel has already decided they want the thing, so the DM lands on a person who is waiting for it rather than on a stranger.

It is also the only compliant way to start a conversation with most of your audience. Instagram does not let you message people who have never contacted you. A comment counts as contact, which is exactly why the platform built a dedicated private reply endpoint for it.

How the DM is delivered under the hood

When someone comments, Meta sends a webhook to the connected app containing the comment id, the text, and the commenter. The tool matches the text against your trigger, then calls the private reply endpoint using that comment id. Instagram delivers the message as a normal DM in your inbox, from your account, with no third-party branding attached.

This matters because there are two very different categories of Instagram automation. The compliant category uses Meta's official Instagram Messaging API through an approved tech provider. The other category logs into your account with your password and drives the app like a human would. The second kind is against Instagram's terms and is the usual reason accounts get action-limited or restricted, so it is worth confirming which one you are buying.

A private reply also has a deadline. It must be sent within seven days of the comment. In practice tools fire within seconds, but the limit becomes relevant if your automation was paused, disconnected, or hit an error queue while a post was still collecting comments.

  • Trigger: a new comment on a post or Reel you own
  • Transport: the official Instagram private reply endpoint, keyed to the comment id
  • Deadline: the private reply must go out within 7 days of the comment
  • Follow-up: once they reply to your DM, the standard 24-hour messaging window opens

The one private reply per comment rule

The API allows exactly one private reply per comment. Not one per person, not one per post: one per comment. This is the single rule that surprises people most, so it is worth walking through what it means in practice.

If the same follower comments your keyword five times, that is five separate comment ids, and each one is technically eligible for its own private reply. Sensible tools do not use that headroom. They apply a per-contact cooldown so a person who comments repeatedly gets one DM, not five, which is both a better experience and much safer for your account. DMPilot applies one by default, to the link message: each automation sends it to a person at most once a day.

The flip side is that you cannot re-send. If your DM contained a broken link and you fix it an hour later, the original comment is spent. You cannot privately reply to it again. The only route back to that person is if they answer your DM, which reopens the 24-hour window and lets you send a correction. This is why testing with a second account before launch is not optional.

Pairing a public comment reply with the DM

Sending only the DM leaves the comment section looking dead. Pairing every DM with a short public reply fixes three things at once: it tells the commenter to go check their inbox, it shows everyone scrolling past that the mechanic actually works, and it adds comment volume to a post that the algorithm is still deciding what to do with.

Keep it short. DMPilot posts the same reply under every matched comment, "Just sent it ✨", and keeps the substance in the DM.

  • It confirms the DM went out, so the commenter checks their inbox
  • It shows people scrolling past that commenting the word works
  • Put the nudge for other readers ("comment GUIDE and I’ll send it over") in the caption or a pinned comment
  • Keep links out of the public thread; they belong in the DM, where you can track them

Why the trigger is a keyword, not every comment

A keyword trigger fires only when the comment contains a specific word. It is the right default for lead magnets, waitlists, and anything where the DM contains something concrete. The keyword acts as a filter: people who type it want the thing, and people who just say "love this" do not get an unexpected message.

Some tools also offer a trigger that fires on every comment regardless of text. DMPilot does not: every comment trigger needs a keyword, so someone who only wrote "love this" never gets a message they did not ask for. For a giveaway or a launch post where you want everyone who engaged, make the keyword the entry instruction, such as "comment ENTER", so the people who want in say so.

Choose keywords that survive real typing: one word, no accents, and nothing that appears naturally in ordinary comments. In DMPilot matching ignores case, punctuation and emoji, and you choose between the exact word (the comment is just "LINK") and the word anywhere in the comment ("LINK please!"). It matches whole words, so "LINK" does not fire on "linked". The same thinking applies to DM keyword triggers.

What to put in the DM

The first message should do one job. Deliver what you promised, in the first two lines, before the message preview cuts off. Every sentence you add before the payload is a sentence between the person and the thing they asked for. Save the context, the pitch, and the story for a follow-up once they have replied.

If you want the email address rather than just the click, ask for it after you have delivered value, and include plain consent text saying what you will send. People hand over an email far more readily once you have already given them something. There is a fuller walkthrough in Instagram lead capture.

  • Line one: the thing itself, as a tracked link or a link button
  • Line two: one sentence of context, no more
  • Optional: a single question that invites a reply and opens the 24-hour window
  • Never: three paragraphs of preamble before the link

Pacing, ceilings, and staying inside the limits

Instagram caps how many API calls your account can make per hour, scaled to your audience size. A small account has a small allowance. This is why a Reel that unexpectedly does well can generate more comments in an hour than your account is permitted to answer in that hour, and why serious tools queue and pace sends rather than firing everything the instant a webhook lands.

The practical protections are a per-contact cooldown and a daily send ceiling that stops the account before the API does. DMPilot has the first for its link message, on by default at 24 hours per person per automation. It has no daily ceiling yet; a send that hits a rate limit is retried with backoff. Instagram DM limits covers the numbers.

One more constraint shapes everything downstream. After a person messages you, you have 24 hours to reply freely. Once that window closes, you cannot send another automated message until they write again. So the goal of the first DM is not just delivery, it is getting a reply, because a reply is what buys you the next day of conversation. The broader ruleset is in Instagram automation rules.

What it costs to run

DMPilot is free for up to 100 people a month with no card. Past that, Pro is $9 a month, and the price does not change however many people you message. That is a deliberate contrast with contact-based pricing, which is how much of this category works: ManyChat, for example, bills by active contacts, the people it messages each month, with paid plans from $17 a month ($14 billed yearly) as of October 2026, so a month in which a post takes off raises the bill. ManyChat pricing works through the numbers. If you are comparing options side by side, the alternatives page lays out the differences.

Frequently asked questions

Can Instagram ban you for auto DMs?

Not for automation that runs on Meta's official Instagram API through an approved tech provider, which is the supported way to do this. Accounts get restricted when a tool logs in with your password and imitates the app, or when messages go to people who never contacted you. Staying on the official API and only messaging people who commented or wrote to you keeps you inside the rules.

How fast does the DM arrive after someone comments?

Usually within a few seconds, since delivery is triggered by a webhook rather than a scheduled check. If a send hits the hourly API cap during a viral spike, it is retried with backoff, so some messages can arrive later.

What happens if someone comments the keyword twice?

Each comment is separately eligible for a private reply, but DMPilot’s 24-hour per-contact cooldown means the automation sends that person its link message at most once in 24 hours rather than once per comment. Each comment still gets the public reply. This is safer for your account and reads far better to the recipient.

Do I need a business account for comment to DM?

Yes. The Instagram messaging API is only available to professional accounts, meaning Business or Creator, linked to a Facebook Page. Switching is free and reversible in Instagram settings.

Can I DM everyone who commented on an old post?

Only if those comments are less than seven days old, because a private reply must be sent within seven days of the comment. Older comments cannot be answered privately through the API at all.

Does comment to DM work on Reels?

Yes, Reels comments trigger it the same way feed post comments do, and Reels are usually where the volume is, though a Reel that travels beyond your followers will pull in comments from people who have no idea who you are.

Can I edit the DM after people have already received it?

You can change the message for future triggers at any time, but messages already sent cannot be recalled or corrected. A private reply is single-use per comment, which is why testing with a second account before launch matters.

Keep reading

Try it on your next post.

Connect Instagram, pick a trigger, write one message. Free for up to 100 people a month with no card. Pro is $9 a month.

Try it for free →