Webhooks#
Send member data to any URL when events happen in GroupCRM. Connect to Zapier, Make, or your own backend.
Setup#
- Go to Integrations in the dashboard
- Click Add Webhook
- Enter your webhook URL (from Zapier, Make, or your server)
- Select which events to listen for
- Click Save
Use Test to send a sample payload and confirm your endpoint receives it.
Events#
| Event | When it fires |
|---|---|
member.approved | A member is approved (auto or manual) |
member.declined | A member is declined (auto or manual) |
member.captured | A new pending member is synced |
message.sent | A welcome or decline message is sent |
Payload#
Each request is an HTTP POST with a JSON body:
{
"event": "member.approved",
"timestamp": "2026-01-15T10:30:00.000Z",
"delivery_id": "clx123abc",
"data": {
"first_name": "Jane",
"last_name": "Doe",
"group_id": "123456789",
"group_name": "My Facebook Group",
"joined_facebook": "2020-03-15",
"member_profile_url": "https://facebook.com/jane.doe",
"questions": ["What is your email?", "How did you find us?"],
"answers": ["jane@example.com", "Instagram"],
"location": "New York, NY",
"approve_date": "2026-01-15T10:30:00.000Z",
"accepted_by": "auto",
"email": "jane@example.com",
"phone": "+15551234567"
}
}Request signing#
When signing is enabled (default), each request includes:
| Header | Description |
|---|---|
X-GroupCRM-Event | Event name (e.g. member.approved) |
X-GroupCRM-Delivery-Id | Unique delivery ID for idempotency |
X-GroupCRM-Timestamp | Unix timestamp used in the signature |
X-GroupCRM-Signature | t={timestamp},v1={hmac} |
Verify by computing HMAC-SHA256 of {timestamp}.{raw_body} using your webhook secret.
Your signing secret is shown when editing a webhook in the dashboard.
Retries#
Failed deliveries (network errors or HTTP 5xx) are retried automatically up to 3 times (5 min, 30 min, 2 hr). View delivery history and manually retry from the Integrations page.
Payload fields#
| Field | Description |
|---|---|
first_name | Member's first name |
last_name | Member's last name |
group_id | Facebook group ID |
group_name | Group display name |
joined_facebook | When they joined Facebook |
member_profile_url | Link to their Facebook profile |
questions | Membership questions asked |
answers | Member's answers to each question |
location | Location from profile (if available) |
approve_date | When the member was approved |
accepted_by | auto or the admin who approved manually |
Connect to Zapier#
- In Zapier, create a new Zap with Webhooks by Zapier as the trigger
- Choose Catch Hook
- Copy the webhook URL Zapier provides
- Paste it into GroupCRM → Integrations → Add Webhook
- Select your events and save
- Back in Zapier, click Test trigger — GroupCRM sends a test payload
Connect to Make#
Same flow as Zapier — use Make's Custom webhook module as the trigger and paste the URL into GroupCRM.
Monitoring#
The Integrations page shows call stats for each webhook: total calls, successful calls, last called time, and any errors.
Related#
- Google Sheets — built-in spreadsheet export
- Lead Capture — how contact info is extracted from answers