Skip to main content

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

PlatformUse Case
ZapierConnect to 5000+ apps
n8nSelf-hosted automation
SlackTeam notifications
Custom APIYour own systems

Common Use Cases

Use CaseWhat It Does
CRM SyncPush qualified leads to Salesforce
AnalyticsTrack funnel events in your platform
NotificationsAlert Slack when VIP contacts you
Data ExportSync collected data to your database

Pricing & Limits

Feature availability and limits are determined by your subscription plan. See the pricing page for details.