Webhooks¶
Send real-time event notifications from Outsprint to your external services. Webhooks deliver a JSON payload to your endpoint whenever a subscribed event occurs.
Creating a Webhook¶
- Go to Settings > Webhooks
- Click + New Webhook
- Enter a name and the endpoint URL
- Select the events you want to subscribe to (see available events below)
- Click Create Webhook
A signing secret is generated automatically. Copy it immediately -- it is shown only once.
Available Events¶
| Category | Events |
|---|---|
| Contacts | contact.created, contact.updated, contact.deleted |
| Companies | company.created, company.updated, company.deleted |
| Deals | deal.created, deal.updated, deal.stage_changed, deal.deleted |
| Tickets | ticket.created, ticket.updated, ticket.resolved, ticket.deleted |
| Other | task.completed, note.created, import.completed, workflow.error |
You can also check All events to subscribe to everything.
Payload Format¶
Each delivery sends a JSON payload with the event type, timestamp, and event data:
{
"id": "evt_a1b2c3d4e5",
"type": "deal.stage_changed",
"created_at": "2026-02-09T10:32:00Z",
"data": {
"id": "deal_123",
"name": "Acme Corp Enterprise",
"previous_stage": "Demo Scheduled",
"current_stage": "Proposal Sent"
}
}
Each request includes:
X-GoOutSprint-Signature-- HMAC-SHA256 signature for verificationX-GoOutSprint-Event-- the event typeX-GoOutSprint-Delivery-Id-- unique delivery identifier
Verifying Signatures¶
Use the signing secret to verify that webhook deliveries are genuinely from Outsprint. Compute an HMAC-SHA256 hash of the raw request body using your secret and compare it to the X-GoOutSprint-Signature header.
Retry Logic¶
Failed deliveries are retried up to 5 times with increasing delays: immediately, then after 1 minute, 5 minutes, 30 minutes, and 2 hours. A delivery is considered successful if your endpoint returns an HTTP 2xx response within 10 seconds.
Webhook Status¶
| Status | Description |
|---|---|
| Active | Last delivery succeeded |
| Failing | 3 or more consecutive deliveries have failed |
| Disabled | Manually paused or auto-disabled after sustained failures |
After 50 consecutive failed deliveries, the webhook is automatically disabled and the admin receives an email notification.
Delivery Log¶
Click View deliveries on any webhook to see a log of recent deliveries including timestamp, event type, HTTP response status, and latency.
Limits¶
- Maximum 10 webhooks per organisation
- Maximum 20 event types per webhook
- Payload maximum size: 64 KB
Pro Tip
Use the Test option from the webhook menu to send a test event and verify your endpoint is receiving payloads correctly.
