Send Facebook Group Posts to Your Webhook
With the Groups Watcher Pro plan, new posts from the Facebook groups and pages you monitor are sent to a webhook URL you provide. We send the group name, post text, links, and related details so your app, script, or automation can use each update. Most alerts arrive in under 60 seconds.
This feature is available on the Pro plan. Check pricing here.
Test your webhook
Before or after configuring your endpoint, open Send test webhook. Pick the sample that matches how your campaign sends posts (one post at a time or a batched list). Enter your webhook URL and we send a test so you can confirm everything works.
Request
- Method:
POST - Headers:
Content-Type: application/json - Body: Structured data with either
message+data(one post), ormessage+posts+ a top leveltimestampwhen using a custom webhook configured for all posts (see below).
Payload
Use the sections below for the two custom webhook formats. Other channels (Slack, Discord, etc.) use their own formats; this page focuses on your own HTTP endpoint.
Single post per request (default)
When your custom webhook is set to receive only posts that match your rules (keywords / AI validation), each POST has a short message and a data object with all post fields. Map data.group_name, data.post_url, data.body, etc.
{
"message": "<string>",
"data": {
"group_name": "<string>",
"group_id": "<string>",
"poster_name": "<string>",
"poster_url": "<string>",
"post_url": "<string>",
"group_url": "<string>",
"post_id": "<string>",
"post_type": "regular_post" | "marketplace",
"body": "<string>",
"images": ["<url>", ...],
"videos": ["<url>", ...],
"timestamp": "<ISO 8601 string>"
}
}Batched payload (custom webhook, all posts)
In your Pro campaign (or client setup), if you add a custom webhook and set it to receive all posts from your monitored groups, including posts that do not pass keyword or AI filters, we deliver a single POST per batch with this shape. The message summarizes the count (for example 1 new post in your groups or 3 new posts in your groups). Each element of posts uses the same field names as data above, but as a flat object inside the array (no nested data). The top-level timestamp is when we sent the webhook. The number of items in posts depends on how many new posts were included in that processing run.
{
"message": "2 new posts in your groups",
"posts": [
{
"group_name": "<string>",
"group_id": "<string>",
"group_url": "<string>",
"poster_name": "<string>",
"poster_url": "<string>",
"post_url": "<string>",
"post_id": "<string>",
"post_type": "regular_post" | "marketplace",
"body": "<string>",
"images": ["<url>", ...],
"videos": ["<url>", ...],
"timestamp": "<ISO 8601 string>"
},
{
"group_name": "<string>",
"group_id": "<string>",
"group_url": "<string>",
"poster_name": "<string>",
"poster_url": "<string>",
"post_url": "<string>",
"post_id": "<string>",
"post_type": "regular_post" | "marketplace",
"body": "<string>",
"images": ["<url>", ...],
"videos": ["<url>", ...],
"timestamp": "<ISO 8601 string>"
}
],
"timestamp": "<ISO 8601 string>"
}Slack, Discord, ntfy, and Teams do not use this batched layout. It only applies to webhook and custom URLs when the all posts option is enabled.
Field reference (data object)
| Field | Type | Description |
|---|---|---|
| message | string | Summary line, e.g. New post in <group_name>. |
| data.group_name | string | Name of the Facebook group or page. |
| data.group_id | string | Facebook group or page ID. |
| data.poster_name | string | Display name of the person who posted. |
| data.poster_url | string | Facebook profile URL of the poster. |
| data.post_url | string | URL of the post (Facebook permalink). |
| data.group_url | string | URL of the group or page. |
| data.post_id | string | Facebook post ID. |
| data.post_type | string | Either regular_post or marketplace. |
| data.body | string | Full text of the post. |
| data.images | array of strings | URLs of all images attached to the post (may be empty). |
| data.videos | array of strings | URLs of all videos attached to the post (may be empty). |
| data.timestamp | string | When we sent the notification (ISO 8601). |
For the batched webhook that receives all posts, each object in posts uses the same keys as data above (group_name, post_url, body, etc.), plus a per item timestamp.
Examples
Single post: regular post (with images)
{
"message": "New post in Tampa Bay Homeowners",
"data": {
"group_name": "Tampa Bay Homeowners",
"group_id": "123456789",
"poster_name": "Maria Johnson",
"poster_url": "https://facebook.com/maria.johnson",
"post_url": "https://www.facebook.com/groups/123456789/permalink/987654321012345/",
"group_url": "https://www.facebook.com/groups/123456789",
"post_id": "987654321012345",
"post_type": "regular_post",
"body": "Anyone have a good HVAC person in St. Pete? Our AC went out last night",
"images": ["https://scontent.xx.fbcdn.net/v/.../image1.jpg", "https://.../image2.jpg"],
"videos": [],
"timestamp": "2026-02-11T14:30:00.000Z"
}
}Example: n8n (Slack, Email, SMS, Discord)
You can use the webhook payload in n8n in several ways: post to Slack, send an email, send an SMS via Twilio, and post to Discord. Build a workflow with a Webhook trigger, then add the branches you need. Save the workflow in n8n before testing the webhook URL.
Frequently asked questions
What does the Groups Watcher Pro webhook send?
Each alert is an HTTP POST to your URL with the same fields described on this page: a short summary line plus a block of post details (group name, body text, links, who posted, media links, and timestamps). If you turn on receive all posts on a custom webhook, you may get a batched bundle with several posts at once. See the payload sections and examples below.
How do I test my webhook URL?
Use the Send test webhook tool on this page. Enter your URL and pick the sample that matches your campaign so you can confirm your server or automation gets the same layout as live alerts.
What is Groups Watcher?
Groups Watcher monitors Facebook groups and pages you add on the Pro plan and delivers alerts in under 60 seconds to your webhook, email, Slack, Discord, Microsoft Teams, ntfy, or automation tools such as Zapier, Make, and n8n.
Can I use my own server or API as the webhook?
Yes. Give us an HTTPS address that can receive automated POST requests. Your software can read the fields we send and store them, trigger internal workflows, or pass them along to other tools.
Can I use Groups Watcher for brand mentions on Facebook?
Yes. Teams use Pro to watch groups and pages where people talk about a brand, product, or competitor. Add keywords or AI filtering so you see the conversations that matter. Most alerts reach you in under 60 seconds through email, webhooks, Slack, and the other channels in these guides.
Pro plan only. This webhook is available when you subscribe to the Pro plan. Need help? Contact support@groupswatcher.com.
View pricing