Loading…
A
Account —
—
Member since —  ·  Last active —
Loading profiles…

My Activity

What your automation did on your behalf, day by day.

Loading activity…
Replied Hidden Ignored

Post Engagement

Comments processed across your posts.

—

Account changes

A running history of edits made to your automations and account.

Loading…
Your ads
Pick an ad account to load its saved posts instantly. Use Refresh only to pull the latest from Facebook.
Report category, actions & peak hours
Comment Page / Ad account Category Visibility Status Our reply Time Post
Page 1
1

Which post?
A link or a bare post id. It does not have to be your post, and it does not have to be an ad we already know about. Share links starting pfbid often cannot be resolved — use the link from the post's timestamp instead.

Conversations Off, every page writes one line under the post and stops. On, your own page answers some of them, so those comments grow into a short exchange. Needs the page that posted it.
·

Queue

What is waiting, when each one goes out, and anything that failed. Updates on its own — no need to reload.

·

Posts we have worked on

Every post, old and running. Search or filter, then open one to see every comment, reply, like and share on it — when it happened, which page did it, and how it ended.

—
Pages configured
—
Unique banned words
Pages
Loading pages… Select all · Clear
Check one page and its saved list loads automatically. Check several (or "Select all") to apply the same list to all of them at once.
0 banned words
No words yet. Type one below, or load a list using the buttons underneath.
Press Enter or comma after each word to add it. A comment containing any of these gets hidden by Facebook automatically.
Load words from
Adds a ready-made list of common scam/fraud words
Loads the list already saved on Facebook — pick exactly one page first
Bulk-add a comma-separated list of your own words
Apply
Select at least one page first

Tips for a good list

  • Facebook matches exact words and short phrases — not partial words or common misspellings.
  • Keep it focused. A shorter, deliberate list stays accurate; a huge one gets hard to maintain.
  • This hides comments — it doesn't delete them. They're still visible in Facebook's own comment moderation tools.
  • Changes apply the moment you save. No delay, no review queue.

Reply Variance

Decide how many comments get a reply — from every comment down to just the happy ones and real questions. Tap the i to see exactly what each level does.

Loading…
How many comments get a reply
Liking positive comments
Back-and-forth replies
Reply timing
Reply gap (minutes between replies on a page)
–
Default is 5–10 minutes. It can never go below 5 minutes or above 10 minutes.

Reply Style

Shape how human your automated replies feel — tone, slang, short-forms, typos & more. Tap the i on any option to learn what it does.

Loading…
Style intensity
Casual and relaxed with a few short-forms — recommended.
Behaviors
Slangngl, tbh, fr, lowkey
Short-formsur, u, gud, pls, ppl
lowercaseno capital letters
Drop punctuationno periods, commas, apostrophes
Occasional typosrealistic, capped & readable
Code-switchmix English into other languages
Emojis
Live preview
How your page would reply
Adjust the settings to see a live example…
Every reply varies slightly — hit ↻ to see the natural variation.

New rule

Match a comment, then choose what to do with it.

Rule name
When match
Then
ActiveTurn this rule on

Connect Slack

In Slack, run the command below to link this account. The code expires in 10 minutes and can be used once.

Generating…

Tip: if you sign into Slack with your company email, linking is automatic — just run /commenting whoami. Use this code only if that says no account matched.

Add user

Create a teammate's account and set their role. They sign in with this email + password.

Are you sure?

Enter a value

Reset password

Set a new password for . They will need to sign in with this password.

Delete user

Permanently delete ()? This cannot be undone.

Type delete to confirm:

Suspend user

Suspend ? They won't be able to log in and their automation is paused until reactivated.

Type suspend to confirm:

Raise a ticket

Tell us what went wrong. You'll be notified here and on Slack when it changes.

Loading…
Loading…
Loading…

Edit reply

Comment
Current reply
How would you like to change it?

Send private DM

Comment
How would you like to write this?
?

Conversation

New flow

Each card is one message. Every button in a card leads to the next card in order — the person just taps through. Type {{first name}} anywhere in a message to use their name.

Resolve ticket

Add an optional note the reporter will see, then mark it resolved.

Delete ticket

Permanently delete ticket — ? This removes it and its whole conversation and cannot be undone.

Type delete to confirm:

Delete your account?

This permanently deletes your account and all its data. To confirm, enter your password.

1. Find a comment's real post
Paste a comment ID and this shows the actual post Facebook has it attached to — not a preview/template link derived from an ad.
2. Try sending a reply
Paste a comment ID and a message — this really attempts to post that reply on Facebook right now, and shows exactly what Facebook says back (success or the real error). This is a real action, not a simulation.
3. Hide a comment / check its visibility
Two separate, real actions — kept apart on purpose. "Hide" makes only the raw hide write and shows exactly what Facebook's status code says back, with no extra verification call layered on top. "Check visibility" is a completely separate, on-demand ask-Facebook-right-now read, so you can confirm whether a hide actually took effect. Both are real actions/reads against Facebook, not simulations.
3b. Check / set a page's publish status
Two separate, real actions against Facebook's is_published field — whether a page is visible to the public right now. This is NOT the same as the "Deactivated" badge Business Manager shows on a page connected via a System User — that status is Meta's own account-verification system and has no API at all; nothing here can read or fix it. "Set" really hides or republishes this page for everyone if it succeeds — not a simulation.
4. Measure a page's own rate limit
Reads the selected page's own name a few times using that page's token, and shows what Facebook says each call cost. The question is which meter moves: if the page figure climbs while the app figure stays still, the two allowances are separate and this feature has been pacing itself against the wrong limit. Read-only — it posts nothing, changes nothing, and nobody can see it.
5. Are these two links the same post?
Paste a normal post link and the reel link for the same content. This asks Facebook to describe both objects in full and shows what they have in common — including whether either one names the other. That matters because "a page never comments twice on one post" is keyed on the post id, and a reel carries a different id. Read-only — it writes nothing.
6. Check what type of ad this is
Paste an Ad ID to see whether it's a classic catalog ad (has a real post), an Advantage+ catalog ad (ephemeral, no fixed post), or something else.
7. Why is one page failing?
For when a single page refuses every call while the others are fine and the role check says they are all identical. Three things have to be right and only the first is a role: the role on the page, the permissions carried by the token doing the work, and which pages those permissions actually cover — Facebook records them per page, so a token can hold a permission for eighty-eight pages and not the eighty-ninth. Read-only, about three calls.
8. Check page reply permissions
Checks whether a page's login actually has permission to reply to/hide comments on it — a per-page role check (Admin/Editor/Moderator/etc.), separate from the app-wide permission check on the Overview tab. Leave the Page ID blank to check every page this login can reach at once (still just one API call either way).
9. Find the ad behind a post
Paste a post ID (the {pageId}_{postId} already shown for a comment in the Activity tab) and the ad account it's in — this searches that account's ads for the one that produced it, so you can check a comment you already know is real against its actual ad instead of guessing.
10. Can a page act on a post it doesn't own?
Pick a page, then paste a post and/or comment that belongs to a different page. This tries to read, comment, and reply using the picked page's token, and repeats the same two writes as the post's real owner for comparison — so a failure is provably about ownership and not a broken token.

This calls Facebook's reply endpoint directly, with the automatic "retry as the real owner" safety net switched off — otherwise a rejection would be silently retried as the owning page and reported as a success, hiding the very thing being measured.

Successful writes are real, public and left in place so you can inspect them. Their IDs and links are shown below for manual removal.
11. Get a comment's permalink
Paste a comment ID and get a link straight to it, ready to copy. Also shows the link to the post it sits on.

Comments on catalog and Advantage+ ads often come back with no permalink at all. When that happens this builds one from the ID's own structure instead — clearly marked, because Facebook didn't confirm it and it may not resolve. Read-only; posts nothing.
12. Comment on and like a post from its link
Paste the link to a post and pick a page. Two separate buttons, so each is its own experiment: one posts a top-level comment as that page, the other likes the post as that page. Run them one at a time and compare — Facebook treats commenting and liking as different permissions, and they do not always agree. No IDs to dig out first: paste what you copied from Facebook.

Don't want to write the comment yourself? Write one for me reads what the post actually says and offers a few short, positive comments to pick from. It posts nothing — the one you click lands in the box so you can edit it first.

Every run shows the whole trail — which page the token actually belongs to (asked of Facebook, not assumed), how the token was found, how the link was turned into a post, who owns that post, whether this page can even read it, then the write itself, with the raw request and response for every call. Nothing here needs the deploy logs.

Most link shapes work: /posts/…, permalink.php, photo, video and reel links, share links and fb.watch links (which get followed first), or a plain post ID. Facebook's scrambled pfbid… share links carry no post ID at all, so those are looked up against the page's recent posts — if that finds nothing you are told exactly why, and nothing is written.

Both actions are real, public and left in place. The comment ID and links are shown for manual removal. The like is read back afterwards to confirm Facebook actually applied it, since it will accept a like it then does not perform.
13. Can a page be renamed through the API?
Pick a page, type a name, and this asks Facebook to apply it. Meta's Page reference lists name as a field you can read, but not among the 45 parameters its Updating section accepts — so the documented answer is no. A missing row in a doc is weaker evidence than a live response, which is what this gets.

The current name is read before anything is attempted and shown below, so the old name is on record. Afterwards the name is read again, and that read — not the write's status code — decides the verdict: Facebook returning success for a write it then doesn't perform is a pattern this app has already been bitten by twice.

This is the only button in this tab that changes a page itself rather than adding a comment or a like to a post. Page names are governed by Meta's naming rules and changes are reviewed; a page that has just been renamed is locked from renaming again for a period, so a rename that works may not be promptly reversible. Test with a value you are willing to live with.
14. Share a post from another page
Pick a page, paste the link to a post that belongs to a different page, and this asks Facebook to publish it on the page you picked.

There is no share button in the API. You cannot make a Page do what a person does when they press Share — what a Page can do is publish a post of its own carrying a link to another post. Whether Facebook then draws the original embedded, or just a grey box with a web address, is the whole question, and no response can answer it. So this gives you a link to the result and you look.

Try it on an ordinary published post first, then on one of the dark posts the ads run. A dark post has no public address, so there may be nothing to link to — that is the answer most likely to end the idea, and better found now.

Show every method lists each way this could conceivably be done — including the ones the documentation says are impossible, because a document is weaker evidence than a live response. Each says what it does and what it would prove, and each has its own button. Nothing runs until you press one, one at a time.

That is deliberate. Every one of these is a real write, and a burst of writes is precisely what gets an account throttled — which this one already is. So there is no run-them-all, and a short wait is enforced between attempts.

Run the two controls first. A plain text post asks whether this page can publish at all; a link to a non-Facebook site asks whether it can publish links. Without those two, a refusal on the rest cannot be read — you would not know whether sharing is blocked or the page simply cannot post.

"Can it be shared?" needs the page that OWNS the post, not the one doing the sharing. A page can read its own post with no special permission; nobody can read anybody else's. If the owning page is not connected here that question simply cannot be answered — press Share it anyway and let Facebook decide.

This publishes a real post on the page you pick. Unlike a comment it sits on that page's timeline until removed, so a Remove button appears beside every result.
Only for Can it be shared? — the page that owns the post. Sharing itself does not need it.
15. Share a reel
Ordinary posts share cleanly and Facebook draws them as a real share. Reels come back "restricted from resharing" with a date — but the same page shares ordinary posts fine minutes later, so the account is not restricted. The refusal is about the reel, and Facebook's wording does not say why.

The likeliest reason is the address. facebook.com/reel/<id> is a viewer route, not the address the object actually has. So these three try the shapes a reel really has, one at a time.

Run the first one first. It asks Facebook for the reel's own address before sharing it, so it also answers a question the others cannot: whether the reel was ever published at all. An ad-only reel has no public story to share, and that is a real answer rather than a block. The last two address the reel as a post rather than as a video — which is how the ad post that shared successfully was written.

What goes where. The two pickers at the top are the page that will do the sharing — one of your own. Inside each attempt you pick the page that owns the reel, which is a different page: the one whose ad it is. Then paste the reel link exactly as you opened it; the reel's id is taken out of the link for you, so there is no id to find anywhere.

If all three are refused while ordinary posts keep sharing, the restriction genuinely is about reels rather than about the link. That is worth knowing before designing around it.
16. How Facebook threads and orders replies
A live conversation came out on Facebook in a different order than we sent it: the newest reply displayed above an older one, so a reader saw the question, then a second question, then the single answer. That one still read correctly by luck. A script ending “thanks, just ordered” would have read as nonsense.

Three separate questions, and each has a different fix, so they are measured rather than guessed:

1. What order does Facebook actually use? Our own screen orders by the time we sent things — a faithful record of what we did, and possibly a lie about what a reader sees. This asks Facebook and prints its answer in its order.

2. Can a reply attach to another reply? The documented model says no and quietly reparents it to the top-level comment. That is a claim to check, not to repeat. This posts a reply aimed at a reply and then reads back what Facebook actually attached it to — which is the only way to tell, because a reparented reply looks exactly like a successful one.

3. Is the order ours to ask for? Both documented sorts, side by side with the default. If all three come back identical, the sort is being ignored and no ordering trick can work.

What goes where. Pick the profile and page whose post this is — it needs to be a page you administer, because reading comments and replying both use its login. Then paste the post link. Press Read the comments and everything after that is chosen from what comes back, so there is no comment id to find anywhere.

Reading is free and changes nothing. Only Reply to this one writes, and it puts a real comment on a real post — there is a Remove button beside each one.
This goes on a live post that real people read, so it is written as an ordinary line rather than as obvious test text. Change it to whatever suits the post. Leave it empty and a neutral line is picked.
Build a tree writes six numbered comments in this shape — the one thing no API call can answer is what a reader sees, and the only way to find out is to build it and look:
1 comment
├─ 2 reply
│  ├─ 3 reply
│  └─ 4 reply
└─ 5 reply
   └─ 6 reply
Two sibling pairs at two different levels: 3 beside 4, and 2 beside 5. If both pairs show the higher number first, Facebook orders siblings newest-first and conversations can simply be sent in reverse. If only one flips, or neither, it is not a time rule and no ordering trick will work.

These are numbered rather than written naturally on purpose — the whole measurement is which order are these in, and natural wording would make that a puzzle instead of a glance. All six land in the removal list below.
17. Did our comments survive?
The one number this system has never been able to produce. It posts comments and never looks back — the only time a posted comment is read again is to check “is this one of ours” so the reply automation does not answer itself. So the first anyone learns that Facebook objected is a checkpoint, which is the end of the enforcement ladder rather than the start of it.

This asks Facebook about every comment we have sent and sorts the answer into three: still there, hidden (visible to nobody but the page owner), and gone. A refusal we cannot interpret is counted as unknown, never as gone — reporting a page as deleted because our own request was refused would be worse than reporting nothing.

Pages are listed worst first. A page losing most of what it posts is being acted on specifically, which is a different problem from a few comments going here and there.

Reads only. Nothing is posted, changed or removed.
18. Pages that are switched off
When Facebook blocks a page often enough, the breaker takes it out of service so we stop hammering into a ban. That is set with no expiry — nothing lifts it on its own, and until now nothing lifted it at all. The queue said “turn it back on” and there was nowhere in the product to do that.

Each one shows why and when. Read that before turning it back on — a page re-enabled without knowing what it did is one that gets blocked again within the hour. Strikes reset to zero when you do, otherwise the next single block would switch it straight back off and the button would look broken.

Resting is different from switched off: a rest lifts by itself at the time shown, so there is usually nothing to do.
If everything is switched off, it was almost certainly us. A page used to be disabled permanently, on the first occurrence, whenever its login failed — and a checkpointed profile returns that failure for every page it administers at once. So one profile-level problem switched off every page individually, and reconnecting the profile afterwards left them all off for ever.

That is fixed — a failing login now rests a page for a few hours instead of destroying it. Put them back undoes the damage already done: it restores only pages switched off for a login reason, and leaves any page Facebook genuinely objected to switched off, because that decision was correct and is yours to reverse.
19. Which token is each profile really using?
Two things nothing has ever shown. The token type is written down when a profile connects and then never displayed anywhere, and the allowance Facebook reports on every single call is read by the pacing governor and thrown away.

So “did the system user token actually take?” and “how much of the limit are we using?” were both unanswerable without opening the database.

This asks Facebook what the token is rather than trusting what we wrote down — a stored value can be stale, and what is really in use is the whole question. Then it makes one cheap call purely to read the allowance back.

A system user token shows expires: never. A personal one shows a date, usually about 60 days out.
20. Post as a page
The page publishing something of its own — not sharing somebody else's post.

Write something, attach a picture, or both. The image comes straight off your machine; it is never saved anywhere here.

Leave “put it on the page” unticked to test safely — the image uploads and Facebook confirms it worked, but nothing appears publicly.
No picture — it will be a text post.
21. Did we actually fetch the creative?
Paste the link to a post and press the button. That is the whole thing. It turns the link into a post, fetches the creative, and shows it to you — a picture renders, a video plays.

The post does not have to be yours. Its page does not have to be connected to anything. Facebook is asked as you — using one of your own logins, exactly as opening the post in a browser would — and it answers because the post is public. So the only connection needed is to your own profile, never to the stranger's page. The pickers below are optional: they only matter when you want to force a particular login, which is worth doing when one profile can see a post and another cannot.

The point is to see it with your own eyes. A size in bytes proves something arrived; it cannot prove we fetched the right ad, that the picture is not a grey placeholder, or that a cut video still plays. Only looking proves that.

Videos are kept as their opening 30 seconds where that is possible, because that is the part carrying the message and the part a scroller is reacting to. If the opening could not be cut, the whole file is kept instead and it says so — it never claims a length it did not get.

Nothing is posted anywhere. This only reads, and stores the creative against the post so the rest of the flow can use it later. Running it again re-fetches rather than showing you what it found last time.
1. Whose login should ask Facebook?
Leave both empty and a working login is picked for you. Choose them when you want to prove that a particular profile or page can — or cannot — see a given post. That is the difference between “Facebook will not give anyone this” and “this login cannot reach it”.
2. Which post?
Loading…