Send message
facebook_send_messageSend a private Messenger message as your Page, replying inside the 24-hour window. Preview by default; use apply:true to actually send, with conversation_id to verify the window.
Instructions
Send ONE plain-text PRIVATE Messenger message as the Page, as a reply inside the 24-hour standard messaging window (messaging_type=RESPONSE). This is not a public comment reply — use the moderation tools for that. Dry run by default: it returns a preview and sends nothing unless apply:true. Pass conversation_id so the messaging window and the recipient can be verified before sending. If the send outcome is ever ambiguous the message may ALREADY have been delivered — verify with facebook_get_conversation instead of resending. No message tags are supported: Outside the 24-hour standard messaging window a plain RESPONSE message is rejected by Facebook: a message tag would be required. Every message tag now hard-fails except HUMAN_AGENT, which needs a separate App Review approval and is NOT supported by this server — so there is no tag this tool can send. Options: (1) wait until the person messages the Page again, which reopens the window; (2) if they commented in the last 7 days, reply privately with facebook_private_reply; (3) answer publicly on the post. Never resend blindly.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| apply | No | Set true to actually perform the write. Omitted or false ⇒ the server decides from its configured write mode: usually a dry run that returns a plan preview and changes nothing, but a server (or package) configured apply-first performs the write. To be certain nothing happens, read the result: a dry run always reports the plan and says the write was NOT performed. | |
| message | Yes | The message text (1–2000 characters). Sent verbatim to a real person; there is no unsend. | |
| plan_id | No | The `planId` returned by a preceding dry-run preview of this same tool. Required for irreversible and spend-tier writes; plans expire a few minutes after they are created. | |
| profile | No | Page profile key (e.g. "brand-a") or a raw Page ID. Omitted ⇒ the default Page (FB_PAGE_ID). | |
| recipient_id | No | The recipient's page-scoped ID (PSID). Optional when conversation_id is given (it is derived from the thread); required otherwise, and then the messaging window cannot be verified client-side. | |
| conversation_id | No | Conversation id from facebook_list_conversations. Strongly preferred: it identifies the recipient and lets the 24-hour window be checked before the send. |