← Back to Help Center

Webhooks

Pro

Webhooks let you push real-time events from RadiusOS to external services - your own API, Zapier, Make, or any HTTP endpoint.

Overview

When something happens in RadiusOS (a contact is created, a stage changes, a task is completed), a webhook sends a JSON payload to a URL you specify. This lets you integrate RadiusOS with virtually any external tool without writing custom polling code.

ℹ️

Webhooks are a Pro feature. Free plan users cannot configure webhook endpoints.

Setting up a webhook

1

Go to Settings → Webhooks

Click + New Webhook to configure an endpoint.

2

Enter the endpoint URL

This is the URL that will receive POST requests when events fire. Must be HTTPS.

3

Select events

Choose which events trigger the webhook. Options include: contact.created, contact.updated, contact.deleted, contact.stage_changed, task.created, task.completed, email.sent, email.received.

4

Save and test

After saving, use the "Send Test" button to fire a sample payload to your endpoint and verify it's receiving data correctly.

Payload format

Webhooks send a JSON POST request with the following structure:

```json

{

"event": "contact.stage_changed",

"timestamp": "2025-01-15T10:30:00Z",

"workspace_id": "ws_...",

"data": {

"contact_id": "...",

"from_stage": "Lead",

"to_stage": "Qualified"

}

}

```

The `data` field varies by event type. All payloads include `event`, `timestamp`, and `workspace_id`.

Retry behavior

If your endpoint returns a non-2xx status code, RadiusOS retries up to 3 times with exponential backoff (30 seconds, 2 minutes, 10 minutes). After 3 failures, the delivery is marked as failed and visible in the webhook logs.

Related articles

Built a workflow that works? Share it.

Publish your pipeline template to the RadiusOS marketplace. Free to install, free to publish - help someone in your trade skip the setup.