Webhooks
Push real-time data to external systems when events happen in your workspace. Connect to CRMs, analytics platforms, Zapier, n8n, or any HTTP endpoint.
What Webhooks Do
Webhooks bridge Gravity Rail to your other tools:
- Sync data in real-time when events occur
- Trigger external workflows automatically
- Integrate with any API that accepts HTTP POST
- Monitor delivery with logging and retries
- Send structured JSON with full context
Key Features
Automatic Retries
Failed webhooks retry automatically with exponential backoff (up to 5 attempts, starting 10 seconds apart), then are logged as failed. A 4xx response is treated as a permanent rejection and is not retried.
Every Event Type Documented
Workspace webhooks can fire on form submissions, member changes, chats, messages, workflow and task lifecycle, calendar bookings, journey enrolment, voice calls, voicemails, and inbound faxes. The complete event catalog lists every trigger with the exact payload it delivers. Organization-wide webhooks have their own catalog of activity event types.
Delivery Logs
View all webhook executions with request/response details, status, and retry attempts.
Secure Delivery
HTTPS only. No localhost or internal IPs. Public DNS resolution required.
Test Events Before You Ship
Every organization endpoint has a Send test event action: pick one of the event types the endpoint subscribes to (find-as-you-type), get the real payload for it filled with example identifiers, edit anything you like, and send. You get back the HTTP status, the timing, and your own server's reply — through exactly the code path a live delivery takes. Nothing is queued, nothing retries, and a failing test cannot disable the endpoint, so it is safe to press while you are still wiring a receiver up. To try an event before committing to it, subscribe, test, then unsubscribe.
Two Webhook Systems
Webhooks v1 is per workspace, configured as an Event Rule, and can be bound to one specific Form, Workflow or Journey.
Webhooks v2 is per organization: one endpoint that subscribes to activity
across every workspace — or a chosen subset — without setting up a rule in each
one. Leave the endpoint's workspace list empty and it covers every workspace,
including ones created later, so an org-wide integration never needs revisiting
when the team grows. Delivery carries identifiers only, so receivers pull the
details they need over the API, and v2 has its own retry schedule (up to 12
attempts over roughly a day, with 4xx responses retried too) — the retry
numbers above describe v1.
Both are supported and run side by side. The migration guide covers what maps across and what does not yet.
How It Works
Event Occurs → Event Rule Fires → HTTP POST Sent
(task, data) (conditions met) (to your endpoint)
Webhooks are configured as actions in Event Rules. When conditions are met, Gravity Rail sends a JSON payload to your URL.
Webhook Payload
Every payload carries a top-level event field naming the event type, plus eventId, eventRule, and workspace. The rest of the body takes one of five shapes depending on the event family — data record, member, voicemail, fax, or the lean shape every other event uses. For example, a new data record:
{
"event": "data_record:created",
"dataType": { "uuid": "5f3c…", "type": "Contact Form", "slug": "contact_form" },
"member": {
"id": 123,
"name": "John Doe",
"email": "john@example.com",
"labels": ["vip"]
},
"dataRecord": {
"id": 4567,
"fields": { "message": "Hello!", "priority": "high" }
},
"eventRule": { "id": 88, "uuid": "a1b2…", "name": "Notify CRM" },
"workspace": { "uuid": "9e8d…", "name": "Acme Health" }
}
For the per-event catalog, the complete payload field reference for every family, HMAC signature verification, the delivery and retry contract, how to fetch call audio/transcript, and how to send events into Gravity Rail, see the Webhooks v1 reference. Organization-wide webhooks send a different, smaller payload — see the Webhooks v2 reference.
Common Integrations
| Platform | Use Case |
|---|---|
| Zapier | Connect to 5000+ apps |
| n8n | Self-hosted automation |
| Slack | Team notifications |
| Custom API | Your own systems |
Common Use Cases
| Use Case | What It Does |
|---|---|
| CRM Sync | Push qualified leads to Salesforce |
| Analytics | Track funnel events in your platform |
| Notifications | Alert Slack when VIP contacts you |
| Data Export | Sync collected data to your database |
Pricing & Limits
Feature availability and limits are determined by your subscription plan. See the pricing page for details.
Related Resources
- Event Rules - Configure webhook triggers
- Data Types - Data sent in webhooks
- Routines - Time-based webhooks
- Webhooks v1 → v2 - Moving between the two systems