Event categories
- Record Webhooks: Payloads for record created, updated, and deleted events.
- Note Webhooks: Payloads for note created, updated, and deleted events.
- Task Webhooks: Payloads for task created and completed events.
- Relation Webhooks: Payloads for relation added and removed events.
- Call Webhooks: Payloads for call linked and unlinked events.
- File Webhooks: Payloads for file uploaded and deleted events.
Create an endpoint
- Open Breakcold.
- Go to Settings.
- Open Webhook.
- Open Send.
- Click New outbound webhook.
- Enter your HTTPS endpoint URL.
- Select the events you want to receive.
- Optionally filter deliveries to specific object types.
- Copy the signing secret.
Delivery
Breakcold sends each webhook as an HTTPPOST request with a JSON body. Your endpoint should return any 2xx status when it accepts the delivery.
If delivery fails, Breakcold retries up to 3 attempts total. Retries currently run after about 5 seconds and then 30 seconds. Requests time out after 10 seconds. Endpoints are disabled after 50 consecutive delivery failures.
Delivery logs are kept for 30 days.
Headers
Each delivery includes these headers.| Header | Description |
|---|---|
Content-Type | Always application/json. |
X-Webhook-Signature | HMAC-SHA256 signature in the format sha256=HEX_DIGEST. |
X-Webhook-Event | The event name, such as record.created. |
X-Webhook-Delivery-Id | The delivery event id. Use it for idempotency. |
X-Webhook-Timestamp | Unix timestamp in seconds used for signing. |
User-Agent | Breakcold-Webhooks/1.0. |
Verify signatures
Use the endpoint signing secret to verify that a request came from Breakcold. The signed string is${timestamp}.${rawBody}, where timestamp is the X-Webhook-Timestamp header and rawBody is the exact request body string.
Payload envelope
Every event uses the same envelope.| Field | Description |
|---|---|
event | Event type. |
eventId | Unique delivery event id. |
timestamp | ISO timestamp generated when Breakcold builds the delivery payload. |
workspaceId | Workspace where the event happened. |
data | Event-specific payload. |
Test event
The endpoint test button sends awebhook.test event with a valid signature. Use it to confirm that your endpoint is reachable and that signature verification works.
Events
| Event | Category | When it fires |
|---|---|---|
record.created | CRM | Fired when a new record is created. |
record.updated | CRM | Fired when a record field is updated. |
record.deleted | CRM | Fired when a record is deleted. |
note.created | Notes | Fired when a note is added to a record. |
note.updated | Notes | Fired when a note is edited. |
note.deleted | Notes | Fired when a note is deleted. |
task.created | Tasks | Fired when a task is linked to a record. |
task.completed | Tasks | Fired when a task is marked as completed. |
relation.added | CRM | Fired when a relation is added between records. |
relation.removed | CRM | Fired when a relation is removed between records. |
call.linked | Communication | Fired when a call recording is linked to a record. |
call.unlinked | Communication | Fired when a call recording is unlinked from a record. |
file.uploaded | Files | Fired when a file is uploaded to a record. |
file.deleted | Files | Fired when a file is deleted from a record. |