Send Facebook Group Posts to Zapier
With the Groups Watcher Pro plan, you can send every new post from your monitored Facebook groups and pages to Zapier. Use Webhooks by Zapier to get a catch hook URL, add it in Groups Watcher, and we deliver post details you can wire into Google Sheets, Slack, email, CRM, or 6,000+ apps. Most alerts arrive in under 60 seconds.
This feature is available on the Pro plan. Check pricing here.
Set up Zapier
- In Zapier, create a new Zap. Choose Webhooks by Zapier as the trigger.
- Select Catch Hook and continue. Zapier will give you a unique URL.
- Copy that URL and paste it into Groups Watcher as your webhook URL (in your campaign or Pro plan setup).
- When you are ready to test, trigger a post from Groups Watcher (or use the test tool below); Zapier will receive the data and you can map fields in your Zap.
The information we send matches our custom webhook doc: one alert at a time with message and data (group name, post URL, body, images, videos, and more). If your webhook is set to receive all posts, we send a batched body with a posts array. See Batched payload (all posts).
Test your Zapier webhook
Before or after configuring your Zap, you can send a test to your Zapier catch hook URL to make sure it receives data. Open Send test webhook and choose default (keywords / AI validation) or all posts so the sample matches your campaign. Enter the URL and we send the matching sample so you can verify the Zap trigger fires.
Request
- Method:
POST - Headers:
Content-Type: application/json - Body: Structured data with either
message+data(one post), ormessage+posts+ a top leveltimestampwhen your Groups Watcher webhook is set to receive all posts (see Batched payload). Full reference: Custom webhook.
Payload (Zapier trigger data)
For the default format, the body has a short message (summary line) and a data object with all post fields. In Zapier map data.group_name, data.post_url, data.body, and so on in your Zap steps.
Depending on your campaign, Groups Watcher sends one of two layouts of structured data. Default means one post per request with message and data (posts that pass keywords or AI validation). All posts means a batched body with message, a posts array, and a top level timestamp. See Single post and Batched payload below, or the full write-up on Custom webhook.
Single post per request (default)
Each POST has a short message and a data object with all post fields.
{
"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 (all posts)
When your custom webhook is set to receive all posts, we send one POST per batch. 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, as a flat object inside the array. The top level timestamp is when we sent the webhook.
{
"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 use different formats. The examples above apply when your automation receives a webhook URL from Groups Watcher (including via Zapier, Make, or n8n).
The field reference table below describes data.* for the default format. For batched all posts, each element of posts uses the same keys as data (flat objects in the array).
Field reference
| 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). |
Example payload
This is what Zapier receives for each new post. Use these fields in your Zap actions (e.g. add row to Google Sheets, send Slack message, create CRM lead).
{
"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"
}
}Frequently asked questions
How do I build a Zapier automation to get Facebook group posts?
Create a Zap with Webhooks by Zapier as the trigger and Catch Hook selected. Zapier gives you a unique URL. Paste that URL into Groups Watcher Pro as your notification webhook and add the groups or pages to monitor. When a new post appears, Groups Watcher sends the details to Zapier in under 60 seconds. Add action steps such as Google Sheets rows, Slack messages, Gmail, or any of 6,000+ apps, and map fields from the webhook trigger.
What is Groups Watcher?
Groups Watcher watches Facebook groups and pages you add and sends alerts for new posts in under 60 seconds. Pro subscribers can route those alerts through Zapier, Make, n8n, email, Slack, or other channels covered in this documentation.
Why use Groups Watcher with Zapier?
Groups Watcher watches the Facebook groups and pages you add and sends each new post to your Catch Hook with a consistent set of fields you can map in Zapier. You use Zapier actions to send that information to Google Sheets, Slack, Gmail, CRMs, and thousands of other apps without building your own scraper.
Do I need developer skills?
No. You copy the webhook URL, paste it in Groups Watcher, then pick apps and map fields in the Zap editor.
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 integration uses the same webhook as the Pro plan. Need help? Contact support@groupswatcher.com.
View pricing