Webhooks
Sailor sends an outcome webhook to the URL configured on an action outcome. Use the payload to update your CRM, trigger follow-up, audit list movement, or start downstream automation.
When Webhooks Are Sent
Return any 2xx status to acknowledge receipt. Do slow or unreliable downstream work after you have accepted the webhook.
Example Payload
Payload Fields
Destination Shapes
For an add-to-list outcome:
For a remove-from-lists outcome:
Receiver Checklist
- Accept
POSTrequests withContent-Type: application/json. - Return a
2xxstatus after you store or enqueue the event. - Make your receiver idempotent by keying on
call.call_idandoutcome.outcome_id. - Keep endpoint credentials and forwarding secrets out of browser code.
- Log the raw payload while you are testing so operators can compare Sailor behavior with downstream state.
Minimal Receiver
server.js
Testing Locally
Use a tunnel during development so Sailor can reach your local server.
Set the outcome webhook_url to the public tunnel URL while testing, then switch it to your production HTTPS URL before using the outcome with live agents.
See the Webhooks section in the API Reference for the complete schema.