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.
| Facebook Page | ||
|---|---|---|
| Which comments | Posts, reels and ad posts; Live only while it's on air | Comments on Page and Group posts, and posts on the Page |
| Messages | One per comment | One per comment |
| Window | 7 days from the comment | 7 days from the comment |
| After that | Only once they reply, within 24 hours of it | Only once they reply, inside the 24-hour window |
| Rate | 750 an hour per account, posts and reels | Not 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 point | Reply under the comment | DM to the commenter | Narrowed to |
|---|---|---|---|
| Instagram post comments | Yes | Yes | Keywords, posts and Reels |
| Instagram ad comments | Yes | Yes | Keywords, ads |
| Facebook post comments | Yes, and a like | Yes | Keywords, posts |
| TikTok video comments | Yes | No | Keywords |
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:
- 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.
- Both replies go out. The public one under the comment, the private one to the person.
- 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.
- 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:
| Rule | Fires on | Under the comment | In the DM |
|---|---|---|---|
| Thank every comment | Every comment | "Thank you! 💜 We read every comment — if you have a question, ask away." | Nothing |
| Price questions → DM | price, how much, cost, order, buy | "Great question — just sent the details to your DMs 📩" | Pricing and how to order |
| Support requests | help, 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 accounts | Chatfuel SDK | ManyChat, 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:
- Chatfuel SDK$20
- ManyChat$39
- Chatfuel SDK$20
- ManyChat$99
- Chatfuel SDK$20
- ManyChat$161.50
| Commenters a month | Chatfuel SDK | ManyChat |
|---|---|---|
| 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.
More on Instagram
Alternatives to ManyChat in 2026, for People Who Want to Own the App
ManyChat pricing for an agency with ten clients, what the same clients cost in an app you own, and seven other alternatives with their published prices.
Read itWhat an AI Customer Support Agent Costs: Vendor Prices Versus Chatfuel SDK
Intercom 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.
Read itWhatsApp Business API Pricing: Meta's Rate Card, the Provider's Fee and What Chatfuel SDK Charges
WhatsApp Business pricing, layer by layer: Meta's rate card by country, what eight providers add on top of it, and what Chatfuel SDK charges: Meta's rate plus 10% out of your balance. 1,000 marketing messages are $62.50 in Brazil and $11.80 in India, and from 1 October a reply past the first 1,000 a month is billed too.
Read itGet the next post by email
I’ll send it when it’s out. No digest, no schedule, nothing else.