Skip to main content

How it works

Sales Ask sends a POST request to every active webhook URL registered for your organization when a subscribed event occurs. No polling required.
Webhook URLs and event subscriptions are configured in Sales Ask under Settings → Organization → Webhooks.

Events

Organizations with no explicit event subscription default to recording.processed only. To receive recording.integration_updated events, explicitly subscribe via the Events dropdown in webhook settings.

Webhook envelope

Every webhook delivery wraps the payload in an envelope with the event name:

Payload fields (inside data)

Custom fields from the recording are merged at the top level of data.

recording.processed

Fired after AI analysis completes. Only delivered to webhooks whose trigger matches the recording source (or trigger is set to all).

recording.integration_updated

Fired after a recording is synced to a CRM. The data payload is the same shape as recording.processed.

Responding to events

Your endpoint must return a 2xx status to acknowledge receipt. Sales Ask does not retry failed deliveries, so if your endpoint is down you will miss the event.
Requests time out after 10 seconds. Respond quickly and offload heavy work to a background job.

List webhooks

Returns all webhook URLs registered for your organization (configured in Sales Ask).
Response includes id, url, active, trigger, and events for each webhook.

Send a test webhook

POST a test payload to a URL using a recording you provide. The recording must have status: "processed" (e.g. from GET /v1/recordings or GET /v1/recordings/:id).
The payload sent to url is the same shape as the outbound webhook payload above (integration format). Use this to verify your endpoint without waiting for a real processing event.