Webhooks
Cobuntu pushes events to URLs you configure. Use webhooks to sync data, trigger automations, send Slack notifications, post to HubSpot, or kick off any other side effect when something happens in your community.
What you can subscribe to
40+ events across member lifecycle, applications, articles, forms, events / RSVPs, orders, payouts, broadcasts. Full catalog at Event catalog.
Set up a webhook
In cobuntu-admin → Integrations → Webhooks:
- Click Create webhook.
- Paste your receiver URL (must be HTTPS, accept POST).
- Select the events you want.
- Copy the signing secret that's shown once — you'll use it to verify each delivery's HMAC signature (see Verify signatures).
Anatomy of a delivery
POST /your-receiver-url HTTP/1.1
Host: yourdomain.com
Content-Type: application/json
Cobuntu-Signature: t=1716700000,v1=2b3c4d5e...
Cobuntu-Delivery-Id: del_8f9a2b3c4d5e6f7g
Cobuntu-Event: member.approved
User-Agent: Cobuntu-Webhooks/1.0
{
"event": "member.approved",
"deliveryId": "del_8f9a2b3c4d5e6f7g",
"createdAt": "2026-05-26T15:33:20Z",
"communityTag": "my-community",
"data": {
"memberId": "mem_abc123",
"userId": "usr_xyz789",
"approvedAt": "2026-05-26T15:33:20Z",
"approvedBy": "usr_def456"
}
}Cobuntu-Signature— HMAC-SHA256 over{timestamp}.{body}, signed with your webhook secret. How to verify →Cobuntu-Delivery-Id— unique per delivery. Use it for idempotency: a webhook may be delivered more than once.Cobuntu-Event— event name, also in the body.
Delivery guarantees
- At-least-once delivery. Your receiver may see the same
deliveryIdmore than once. Idempotency is your job. - Exponential backoff retries: 1m → 5m → 30m → 2h → 24h, max 5
attempts. After the final failure, the delivery is marked
PERMANENTLY_FAILED— you can manually replay from the Recent deliveries tab in admin. - Success = HTTP 2xx within 10s. Anything else triggers a retry.
- No ordering guarantee. A
member.approvedmay arrive before themember.requestedthat preceded it. Use timestamps in the payload, not arrival order.
Test locally with the CLI
Coming soon —
cobuntu webhooks listen --forward https://localhost:3000/webhookwill tunnel events from prod to your laptop, Stripe-CLI style. Until then, use ngrok or similar.
Where to look when things break
- Admin → Integrations → Recent deliveries. Every attempt logged: status code, response body, timing. Failed deliveries have a Resend button.
Cobuntu-Delivery-Idheader. Search your logs by this id to correlate a Cobuntu attempt with your receiver's processing.