Single subscriber endpoint that receives every Aircall webhook event the
subscription is registered for. The top-level `event` field on the JSON
body identifies the event class. Aircall sends one event per HTTP POST.
A new call has been initiated (inbound or outbound).
Content-Type:
call.ringing_on_agent
The call is ringing on an agent's phone.
Content-Type:
call.agent_declined
An agent declined the incoming call.
Content-Type:
call.answered
The call has been answered.
Content-Type:
call.transferred
The call was transferred between Aircall users.
Content-Type:
call.external_transferred
The call was transferred to an external phone number.
Content-Type:
call.unsuccessful_transfer
A transfer attempt did not complete successfully.
Content-Type:
call.hungup
One party hung up the call.
Content-Type:
call.ended
The call session has fully ended.
Content-Type:
call.voicemail_left
A voicemail was recorded for the call.
Content-Type:
call.commented
A note/comment was added to the call.
Content-Type:
call.tagged
A tag was applied to the call.
Content-Type:
call.untagged
A tag was removed from the call.
Content-Type:
call.assigned
The call was assigned to a user.
Content-Type:
call.archived
The call was archived / marked as resolved.
Content-Type:
call.hold
The call was placed on hold.
Content-Type:
call.unhold
The call was resumed from hold.
Content-Type:
call.ivr_option_selected
The caller selected an option in an IVR menu.
Content-Type:
call.comm_assets_generated
Recording / voicemail asset links are available for the call.
Content-Type:
contact.created
A new contact was added to the shared address book.
Content-Type:
contact.updated
A contact's information was modified.
Content-Type:
contact.deleted
A contact was removed from the shared address book.
Content-Type:
number.created
A new phone number was added to the workspace.
Content-Type:
number.deleted
A phone number was removed from the workspace.
Content-Type:
number.opened
The number's status switched to open. Deprecated for Smartflows-enabled lines.
Content-Type:
number.closed
The number's status switched to closed. Deprecated for Smartflows-enabled lines.
Content-Type:
user.created
A new Aircall user was provisioned.
Content-Type:
user.deleted
An Aircall user was deprovisioned.
Content-Type:
user.connected
The user came online.
Content-Type:
user.disconnected
The user went offline.
Content-Type:
user.opened
The user opened the Aircall phone app.
Content-Type:
user.closed
The user closed the Aircall phone app.
Content-Type:
user.wut_start
Wrap-up time began for the user.
Content-Type:
user.wut_end
Wrap-up time ended for the user.
Content-Type:
user.created.v2
V2 variant of user.created. Excludes the `numbers` array present in V1.
Content-Type:
user.deleted.v2
V2 variant of user.deleted.
Content-Type:
user.connected.v2
V2 variant of user.connected.
Content-Type:
user.disconnected.v2
V2 variant of user.disconnected.
Content-Type:
user.opened.v2
V2 variant of user.opened.
Content-Type:
user.closed.v2
V2 variant of user.closed.
Content-Type:
user.wut_start.v2
V2 variant of user.wut_start. Includes `last_call_id` when available.
Content-Type:
user.wut_end.v2
V2 variant of user.wut_end. Includes `last_call_id` when available.
Content-Type:
team.created
A new team was created.
Content-Type:
team.destroyed
A team was deleted.
Content-Type:
message.sent
A message was sent from an Aircall number (SMS, MMS or WhatsApp).
Content-Type:
message.received
A message was received on an Aircall number.
Content-Type:
message.status_updated
A message's delivery status changed.
Content-Type:
group_message.sent
A group message was sent from an Aircall number.
Content-Type:
group_message.received
A group message was received on an Aircall number.
Content-Type:
group_message.status_updated
A group message's delivery status changed.
Content-Type:
integration.deleted
A third-party integration was disconnected from the workspace.
Content-Type:
sentiment.created
Sentiment analysis was generated for a call.
Content-Type:
summary.created
A summary was generated for a call.
Content-Type:
topics.created
Key topics were identified for a call.
Content-Type:
transcription.created
A transcription was generated for a call.
Content-Type:
action_item.created
An action item was extracted from a call.
Content-Type:
playbook_result.created
A playbook evaluation result was created for a call.
Content-Type:
playbook_result.updated
A playbook evaluation result was updated for a call.
Content-Type:
realtime_transcription.utterances_received
Real-time utterances streamed during an active call.
Content-Type:
custom_summary.result_created
A custom summary result was created for a call.
Content-Type:
custom_summary.result_updated
A custom summary result was updated for a call.
Content-Type:
call_evaluation.created
A call evaluation was created.
Content-Type:
call_evaluation.updated
A call evaluation was updated.
Content-Type:
ai_voice_agent.started
An AI Voice Agent call was initiated.
Content-Type:
ai_voice_agent.ended
An AI Voice Agent call completed.
Content-Type:
ai_voice_agent.escalated
An AI Voice Agent call was escalated to a human agent.
Content-Type:
ai_voice_agent.summary
Intake-question answers / summary delivered by the AI Voice Agent.
Content-Type:
analytics.report_created
An analytics export job completed successfully.
Content-Type:
analytics.report_failed
An analytics export job failed.
Content-Type:
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.