Skip to main content
TopCalls sends one JSON POST per call when it ends, with the call details, transcript, recording and analysis. Every payload has a status of completed, failed or cancelled, so one endpoint can handle all three.

How Events Are Delivered

Available Events

The suffix is the call’s disposition as a slug: the post-call analysis label (Booked Callback becomes booked_callback) or a platform label (transferred, voicemail, no_response). Add filters to a subscription, is_conversion included, to narrow it further. lead.status_changed, campaign.activated and campaign.paused pass validation, but nothing sends them. Don’t subscribe to them.

Webhook Timing

A completed call’s webhook goes out once the transcript, summary and recording are ready, at least 15 seconds after the call ends. If the recording still isn’t ready after about 2.5 minutes, it goes without recording_url. Failed and cancelled calls are sent immediately, since there’s no recording to wait for.

Webhook Retries

Your endpoint has 10 seconds to answer with a 2xx. A 4xx on any attempt is never retried. A timeout, network error or 5xx is retried 1, 5, 15, 30 and then 60 minutes after the previous failure, 6 attempts in all. After that the delivery is dropped, but the call is still in GET /v1/calls/{call_id}.

Next Steps

Webhooks Guide

Learn how to set up and handle webhooks in your application.

API Reference

See the complete API documentation.