Skip to content
ChatfuelSDK
All posts

Comment Bot vs Comment-to-DM Automation: Replying to Instagram and Facebook Comments Without Getting Flagged

Oleg Krasikov5 October 2026InstagramFacebookPricing

Meta lets a business answer a comment with one private message, inside 7 days, and nothing after it until the person writes back. A comment bot that posts on other people's posts to get noticed is a different thing, and it's the thing Meta's spam rules are written against.

ManyChat sells comment-to-DM as a plan metered by Active Contacts, and every commenter is one. Chatfuel SDK builds it into an app you own, billed by the workspace plan it runs on. On both, Meta charges nothing for the DM.

The short version:

  • One message per comment, within 7 days. Instagram posts, reels and ad posts; Facebook Page posts and comments. After that, only once they reply, and within 24 hours of it.
  • Meta publishes no rate that gets an account restricted. It publishes a ceiling of 750 private replies an hour per Instagram account, and a spam rule that names "posting repetitive content".
  • The same public reply under every comment is repetitive content. Our own starter rule does it. Let the AI write the public reply, or switch it off.
  • On Chatfuel SDK a fixed-text reply costs nothing on top of the plan. One account is $20 a month at any volume, and any number of accounts past three is $225.
  • ManyChat bills every commenter as an Active Contact. $39 a month at 1,000 commenters, $99 at 5,000, $161.50 at 10,000, for each Instagram account.

What Meta lets you send after a comment

Meta calls it a private reply. Its rule for every DM is "A person must initiate the conversation", and a comment counts. You get one message to answer it with, and the conversation is theirs to continue.

InstagramFacebook Page
Which commentsPosts, reels and ad posts; Live only while it's on airComments on Page and Group posts, and posts on the Page
MessagesOne per commentOne per comment
Window7 days from the comment7 days from the comment
After thatOnly once they reply, within 24 hours of itOnly once they reply, inside the 24-hour window
Rate750 an hour per account, posts and reelsNot on Meta's rate-limit page

On both, the message carries a link to the post. On Instagram it lands in the person's inbox if they follow you and in their message requests if they don't, so the first line has to make sense to a stranger.

The one message isn't a list, either. Meta's developer policy: "Don't contact people in Messenger or Instagram Messaging unless you … have obtained legally sufficient consent, permission, and/or opt-in". A comment on your post gets you an answer, not a subscriber.

"Will a comment bot get my account restricted?"

Meta doesn't publish a number. There's no count of replies an hour or a day after which an account gets restricted, and the daily caps you'll find quoted around the web aren't Meta's.

What it publishes is the Spam section of its Community Standards. It doesn't allow "Posting, sharing, engaging with content … either manually or automatically, at very high frequencies." And: "We may place restrictions on accounts that are acting at lower frequencies when other indicators of Spam (e.g., posting repetitive content) or signals of inauthenticity are present."

The first sentence is what a comments bot that posts on other people's posts does by design. An Instagram auto comment dropped under a stranger's post a hundred times an hour is engagement at very high frequency, and the developer policy separately bans any program that trades "Likes", "Followers" or "Comments". Chatfuel SDK doesn't do it. Nothing here will auto comment on Instagram posts that aren't yours, like them, or follow anyone: every automation answers something a person did first.

Auto comments under your own posts are replies, and the second sentence is the one that applies to them. Here's the awkward part. The starter rule Chatfuel SDK ships for comments, keyword in and DM out, posts the same public line under every match: "Sent you a DM 💌". Comments for Instagram's "Thank every comment" rule posts one fixed text under every comment on every post. By the plain reading of Meta's sentence that's repetitive content, and Meta doesn't say how many identical replies it takes.

Two ways out:

  • Let the AI write the public reply. It's written for each comment from an instruction, and the starter's instruction already says "Never state prices or slots publicly."
  • Switch the public reply off and let the DM do the work. The "DM everyone who comments on a specific post" template ships that way.

One more line from the same standard, under like/share-gating: "Requiring users to engage (in the form of likes, shares, follows, or any other public-facing form of engagement) to gain access to specific, exclusive content." A comment is public-facing. Meta doesn't say whether "comment GUIDE and I'll send it" counts. If what you send is also on your site, it isn't exclusive.

How comment-to-DM automation works

Chatfuel SDK has seventeen entry points across five platforms, and four of them are comments. Three can answer in both places; TikTok's answers under the comment only.

Entry pointReply under the commentDM to the commenterNarrowed to
Instagram post commentsYesYesKeywords, posts and Reels
Instagram ad commentsYesYesKeywords, ads
Facebook post commentsYes, and a likeYesKeywords, posts
TikTok video commentsYesNoKeywords

Each reply is written by the AI from an instruction, sent as an exact text, or switched off.

That's the whole of Instagram comment automation here: a source, its rules, two replies. One comment that asks the price goes like this:

  1. The rules check it. Any comment, a comment that contains a keyword, one that matches exactly, or one that doesn't contain it. A rule can be held to the posts you pick, up to 50, or left on all of them, and a source takes up to 30 rules. Keep keyword lists from overlapping: when two rules match the same comment, you don't get to say which one answers.
  2. Both replies go out. The public one under the comment, the private one to the person.
  3. They write back, and it's a conversation. The AI agent carries it from your instructions and the knowledge base, inside Meta's 24 hours.
  4. A hand-off rule says when it stops. What the person has to ask for, what the AI says as it hands over, and who gets it. The Inbox shows the comment with the post it was left on, and "The automation handed this chat to an operator" where it changed hands.

Before it's live, the AI Agent's test panel on Instagram posts and Reels and on Facebook post comments is a post. Leave a comment and the automation answers it the way it answers a real one: the public reply under your comment, and the DM in a chat you can carry on. The test answers even when a rule's keywords wouldn't match, so try the words themselves from a second account on a real post.

The Instagram page has every Instagram entry point, comments and the rest.

Facebook automatic comments: what a Page can answer

Facebook post comments work the same way with one extra: the Page can like the comment as it replies. It's the only platform where that switch exists.

Meta's Facebook rule is the same rule. One private message to a person who commented on a Page post, inside 7 days, then nothing until they write back. Facebook comments auto-replied under the post are public, so the repetitive-content point above applies here too, and so does the fix.

Facebook automated comments from a Page are replies to someone. There's no setting that posts an automatic comment Facebook would show on a post the Page doesn't own, and none that opens a thread unprompted.

A comment on a Facebook ad isn't a source. A tap on an ad that opens Messenger is. In the inbox a Facebook comment shows the Page post it was left on, with its text, picture and link, and a contact the Page may not write to first says so on the contact card.

The Facebook page has every Facebook entry point, comments and Messenger.

Comments for Instagram, the worked example

Comments for Instagram is an app in the catalog with one job: it answers Instagram post comments by rules. A rule fires on every comment or on a keyword list and sends a fixed public reply, a fixed DM, or both. Three ship ready to edit:

RuleFires onUnder the commentIn the DM
Thank every commentEvery comment"Thank you! 💜 We read every comment — if you have a question, ask away."Nothing
Price questions → DMprice, how much, cost, order, buy"Great question — just sent the details to your DMs 📩"Pricing and how to order
Support requestshelp, refund, broken, not working"Sorry about that — check your DMs, we are on it."Asks what happened

It installs one product module, accounts, and on purpose no inbox, no flow builder and no contacts. Everyone who signs up gets a bot of their own, which is what makes it something you hand to clients rather than a tool you run for one account.

The source lands in your repository with a four-step build plan for your coding agent: register the screen, save the rules per bot, apply them to the bot, and land a new sign-up on the rules. The Instagram account is connected in Chatfuel first, and the plan's check is a comment from a test account getting both replies. Billing, DM campaigns, comment analytics and other channels are out of scope on purpose.

Edit the first rule before you ship it. "Thank every comment" is one fixed text under every comment on every post, which is the repetitive content from earlier with nothing to narrow it. Give it keywords, or switch its public reply off. It's your code, so a rule that rotates through several texts is a change your coding agent can make.

What it costs to run

Meta charges nothing for the DM: "The Messenger Platform is free to use", on a page that names Instagram Professional accounts. WhatsApp is the channel where Meta bills per message, and the WhatsApp pricing post has that card.

Comments for Instagram replies in fixed text, so it uses no tokens. Its bill is the workspace plan, and the plan is picked by how many bots it holds, which with the accounts module is how many clients signed up. ManyChat connects "only one Instagram account to a Manychat account at a time", and each "will have its own settings and billing", so their column multiplies.

Instagram accountsChatfuel SDKManyChat, 1,000 commenters each
1$20, Business$39
3$100, Agency S$117
10$225, Agency M$390

Past three bots the plan holds any number, so a hundred accounts are still $225.

On one account the volume doesn't move our side at all. ManyChat's plan steps up as the commenters do:

1,000 commenters
  1. Chatfuel SDK$20
  2. ManyChat$39
5,000 commenters
  1. Chatfuel SDK$20
  2. ManyChat$99
10,000 commenters
  1. Chatfuel SDK$20
  2. ManyChat$161.50
Commenters a monthChatfuel SDKManyChat
1,000$20$39
5,000$20$99
10,000$20$161.50

Run your own numbers

People who DM you without commenting are Active Contacts too, so ManyChat's figure is the least their meter reads.

The DM is one reply. If the person writes back and the AI carries the conversation, that's the cost the support-agent post works out, about a dime a conversation:

What an AI Customer Support Agent Costs: Vendor Prices Versus Chatfuel SDKIntercom Fin, Tidio Lyro, Botpress and Zendesk priced against tokens on our meters at 500, 2,000 and 10,000 conversations a month, with a calculator for your own volume.

Which setup, by what you run

  • One account. Chatfuel SDK: $20 a month at any volume, against ManyChat's $39 at 1,000 commenters, $99 at 5,000 and $161.50 at 10,000.
  • Client accounts under your brand. Chatfuel SDK: $225 a month for any number of accounts past three, against a ManyChat plan for each. Ten accounts at 1,000 commenters each are $225 against $390; a hundred are still $225.

Corrections go to Discord. A Meta page that says something different from this one gets this one updated.

Get the next post by email

I’ll send it when it’s out. No digest, no schedule, nothing else.