Skip to main content

Event Notifications

Event notifications let you react to things happening inside Superfone — calls completing, recordings becoming available, AI summaries finishing, leads being created or updated, tasks being scheduled — by having Superfone POST an event payload to a URL you control.

Each notification is bound to one event and one destination URL. When the event fires for an account, Superfone enriches the payload with related contact / call / task data and delivers it to the configured URL with the headers you set.

How it works​

Configuration​

Dashboard-only management

All management of event notifications — creating, editing, enabling, disabling, and deleting — happens exclusively in the Superfone dashboard's Automations page. There is no API for managing notifications programmatically.

You can configure multiple notifications per event — each one fires independently.

Available events​

EventFires when
ALL_CALLSA call completes and the CDR is finalized — fires for every call (inbound and outbound).
MISSED_CALLA call ends without being answered.
CDR_RECORDING_AVAILABLEA call recording is uploaded to storage and a downloadable URL is available.
CDR_SUMMARY_READYThe AI-generated summary for a call recording is ready.
CUSTOMER_CREATEA new lead is created in your CRM (any source — manual, import, integration webhook, AI agent).
CUSTOMER_CHANGEA field on an existing lead changes (first_name, last_name, labels, phones, lead_stage, lead_group, assignee_user, source, source_type, city).
TASK_CREATEA new task is created against a lead.
TASK_CHANGEA task's task_type, task_status, or task_due_date is updated.
TASK_NOTIFY_TIMEThe notify time for a task is reached (e.g. 10 minutes before due).
TASK_DUE_TIMEA task's due time is reached.

See Payload reference for the JSON shape of each event.

Delivery semantics​

  • Method: POST.
  • Body: JSON. Common envelope is described in Payload reference.
  • Headers: Content-Type: application/json plus any custom headers you configured.
  • Success: Any HTTP status < 400 is treated as success. Anything >= 400 is logged as a failure.
  • Retries: Failed deliveries are not retried automatically. Plan your endpoint to be tolerant — return 2xx as soon as you've durably accepted the payload, then process asynchronously.
  • Timeout: Default HTTP client timeout (~axios default of no timeout — keep your handler fast; aim for under 5 seconds).
  • Order: Events are processed in the order Superfone receives them, but cross-event ordering across different event types is not guaranteed — this includes events for the same underlying record. Don't assume CUSTOMER_CREATE lands before TASK_CREATE for the same lead. For calls specifically, CDR_RECORDING_AVAILABLE can in rare cases be delivered before ALL_CALLS/MISSED_CALL for the same call — see the field guarantees on CDR_RECORDING_AVAILABLE before relying on its cdr_disposition, cdr_duration, or cdr_end fields. Use cdr_uuid (present on every call event) to correlate deliveries for the same call regardless of arrival order.

Securing your endpoint​

Superfone does not sign request bodies (no built-in HMAC). To verify a request really came from Superfone:

  1. Don't put the raw URL in client-side code.
  2. Set a static auth header. Configure something like Authorization: Bearer <random-secret> in action_config.headers. Verify the header on every incoming request and reject anything missing or wrong.
  3. Always use HTTPS. Plain HTTP URLs leak your custom auth header in transit.

Filtering events​

You can narrow down which events actually trigger a delivery — for example, only fire for outbound calls over 30 seconds, or only for leads from a specific source. Create and manage filters from the Superfone dashboard via our Automations Feature alongside the URL and headers for each notification.

Observability​

Every notification delivery — including failures — is logged against the action setting in the logs section of Superfone dashboard via our Automations Feature. The activity record contains:

  • event_payload — The internal event payload that triggered this delivery
  • body — The exact JSON Superfone sent to your URL
  • response — Your endpoint's response body (on success) or error (on failure)
  • group_id_ref — A correlation ID. Quote this when contacting Superfone support about a specific delivery.

Next steps​

  • Payload reference — Full schema of the JSON Superfone sends, including per-event extras