Skip to main content
Glama

Send an automation to past comments

send_to_past_comments
Destructive

Run a live comment automation on comments that are already on the post: the ones it missed because they came before it was enabled, during an outage, or while another tool handled the account. An automation normally reacts only to new comments. How Meta works: a comment can get one private reply, and only within 7 days. Older comments cannot be reached, and a comment another app already answered by DM is refused by Meta (counted as alreadyReplied, not as a failure). Instagram and Facebook only; top-level comments only. mode preview sends nothing: it reads the newest comments and answers eligible (how many would get the automation now) and skipped by reason (mine, tooOld, keyword, alreadyRan, answered, sameAuthor). One person gets it once: when someone commented several times, only their newest comment is answered (sameAuthor counts the rest). Always preview first, show the person the numbers, and start only after they confirm, because a sent message cannot be recalled. mode start queues the job: comments are answered a few at a time (Meta allows 750 private replies per hour per account, shared with the live automation), so a large post takes hours. Read progress in get_automation (pastComments), and see each answered comment in list_automation_runs. mode stop halts a running job; disabling the automation stops it too. By default a comment that already has a reply from the account is skipped (answered) and the trigger's public reply is not posted; includeAnswered and publicReply change that. The automation must be live (automation_not_live); one job per automation at a time (past_comments_running); a next-post automation that has not bound to a post yet has nothing to read (past_comments_no_post).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe automation.
modeYespreview counts without sending, start queues the sends, stop halts a running job.
publicReplyNoAlso post the trigger's public reply under each comment. Default false, so an old post does not get the same reply many times at once.
workspaceIdNoWhich workspace this is for. Only needed when the account has more than one — the error tells you the ids when it matters. Leave it out if it is already decided; do not ask the person again.
includeAnsweredNoAlso send to comments that already have a reply from the account. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true; the description goes well beyond by explaining irreversibility ('a sent message cannot be recalled'), the Meta 7-day / one-private-reply constraint, the 750 replies/hour shared rate limit, the alreadyReplied refusal path, and the error codes (automation_not_live, past_comments_running, past_comments_no_post). This is exactly the added context the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the critical 'preview first' warning are front-loaded, and nearly every sentence carries operational content (limits, error codes, mode effects). It is dense and long with heavy parenthetical asides, which costs a little readability, but little of it is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by naming where results surface: preview counts, get_automation (pastComments) for progress, and list_automation_runs for each answered comment. Combined with the mutation warnings and preconditions, an agent has everything needed to invoke this safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: mode preview is described as reading the newest comments and reporting eligible vs skipped by reason, start as queuing a throttled job, and includeAnswered/publicReply are tied to their effect on skipped/answered comments. It stops short of documenting workspaceId behavior, which only the schema covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — running a live comment automation against comments already on the post — and immediately scopes it against the default behavior ('An automation normally reacts only to new comments'). An agent can distinguish this from create_automation, enable_automation, or a normal live run without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes the workflow: 'Always preview first, show the person the numbers, and start only after they confirm.' Names when each mode applies (preview/start/stop), when not to proceed (7-day limit, alreadyReplied), and what happens if you skip preview. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources