Prerequisites
The connector should already be set up, with a Connector Profile and a Linked Account. See Getting Started on the Aircall connector page.How webhooks are set up
Aircall delivers events through a webhook subscription, and StackOne provisions it on connection. When you connect your account StackOne calls POST /v1/webhooks to register one subscription covering every supported event, and calls DELETE /v1/webhooks/{webhook_id} when you disconnect. Aircall allows up to 100 webhooks per company.
Connect with an API Key
Authorize the connection with your Aircall API ID and API Token so StackOne can create and remove the subscription on your behalf. Admin privileges are required to generate the key.
Enable the events you need
Enable the Aircall events you want in StackOne. The subscription StackOne registers already covers every event listed below, and only the ones you enable are dispatched onward.
Available webhook events
The events below can be enabled for this connection, grouped by the entity they apply to.
Call events
Fired across the call lifecycle, including tagging, comments and archiving. Under API Key authentication these are delivered for every number in the company.
- Call Created (
call.created) — Fired when a call is created, inbound ringing or outbound initiated. - Call Ringing On Agent (
call.ringing_on_agent) — Fired when the call starts ringing on a specific agent. - Call Declined By Agent (
call.agent_declined) — Fired when an agent declines the call. - Call Answered (
call.answered) — Fired when the call is answered. - Call Transferred (
call.transferred) — Fired when the call is transferred to a user or team. - Call Transferred Externally (
call.external_transferred) — Fired when the call is transferred to an external number. - Call Transfer Failed (
call.unsuccessful_transfer) — Fired when a transfer does not complete. - Call Hung Up (
call.hungup) — Fired when the call is hung up. - Call Ended (
call.ended) — Fired when the call is fully ended and post-processing is complete. - Voicemail Left (
call.voicemail_left) — Fired when the caller leaves a voicemail. - Call Assigned (
call.assigned) — Fired when the call is assigned to a user. - Call Archived (
call.archived) — Fired when the call is archived. - Call Tagged (
call.tagged) — Fired when a tag is added to the call. - Call Untagged (
call.untagged) — Fired when a tag is removed from the call. - Call Commented (
call.commented) — Fired when a comment is added to the call. - Call On Hold (
call.hold) — Fired when the call is put on hold. - Call Off Hold (
call.unhold) — Fired when the call is taken off hold. - IVR Option Selected (
call.ivr_option_selected) — Fired when the caller selects an IVR option. - Call Assets Generated (
call.comm_assets_generated) — Fired when the recording or voicemail assets become available.
Conversation Intelligence events
AI-generated artefacts attached to a call. These fire only for companies on the Aircall AI package, and the real-time utterance event needs AI Assist Pro with real-time transcription enabled.
- Sentiment Created (
sentiment.created) — Fired when sentiment analysis is generated for a call. - Summary Created (
summary.created) — Fired when a call summary is generated. - Topics Created (
topics.created) — Fired when key topics are generated for a call. - Transcription Created (
transcription.created) — Fired when a transcription becomes available; fetch it with Retrieve a Transcription. - Action Item Created (
action_item.created) — Fired when an action item is generated; a call can produce several. - Playbook Result Generated (
playbook.result_generated) — Fired when a playbook result is generated for a call. - Playbook Result Updated (
playbook.result_updated) — Fired when a playbook result is updated. - Custom Summary Created (
custom_summary.result_created) — Fired when a custom summary is generated. - Custom Summary Updated (
custom_summary.result_updated) — Fired when a custom summary is updated. - Call Evaluation Created (
call_evaluation.created) — Fired when a call evaluation is created. - Call Evaluation Updated (
call_evaluation.updated) — Fired when a call evaluation is updated. - Real-Time Utterances Received (
realtime_transcription.utterances_received) — Fired when speech is transcribed during an active call.
User events
Account changes and availability for Aircall users.
- User Created (
user.created) — Fired when a user is invited to the company. - User Deleted (
user.deleted) — Fired when a user is deleted by an admin. - User Connected (
user.connected) — Fired when a user opens Aircall Workspace. - User Disconnected (
user.disconnected) — Fired when a user closes Aircall Workspace. - User Available (
user.opened) — Fired when a user becomes available per their working hours. - User Unavailable (
user.closed) — Fired when a user becomes unavailable per their working hours. - Wrap-Up Time Started (
user.wut_start) — Fired when a user starts wrap-up time. - Wrap-Up Time Ended (
user.wut_end) — Fired when a user finishes wrap-up time.
User events (v2)
The v2 form of the user events, fired on the same triggers. Enable either these or the v1 events, not both, or each change arrives twice.
- User Created (v2) (
user.created.v2) — Fired when a user is invited; v2 payload omits the numbers array. - User Deleted (v2) (
user.deleted.v2) — Fired when a user is deleted. - User Connected (v2) (
user.connected.v2) — Fired when a user opens Aircall Workspace. - User Disconnected (v2) (
user.disconnected.v2) — Fired when a user closes Aircall Workspace. - User Available (v2) (
user.opened.v2) — Fired when a user becomes available. - User Unavailable (v2) (
user.closed.v2) — Fired when a user becomes unavailable. - Wrap-Up Time Started (v2) (
user.wut_start.v2) — Fired when wrap-up time starts; carries substatus. - Wrap-Up Time Ended (v2) (
user.wut_end.v2) — Fired when wrap-up time ends; carries substatus.
Contact events
Fired when a contact changes, whether the change came from Aircall Workspace or the Public API.
- Contact Created (
contact.created) — Fired when a contact is created. - Contact Updated (
contact.updated) — Fired when a contact is updated. - Contact Deleted (
contact.deleted) — Fired when a contact is deleted.
Number events
Fired when an Aircall number is provisioned or removed. The availability-based number.opened and number.closed events are not offered: Aircall deprecated them with the move to Smartflows.
- Number Created (
number.created) — Fired when a number is provisioned. - Number Deleted (
number.deleted) — Fired when a number is removed.
How events are delivered
Aircall POSTs a JSON body carrying resource, event, timestamp, token and data. There is no HMAC signature: the token field is the only authenticity signal Aircall provides, so StackOne rejects any request without it. Aircall expects a 2xx within 5 seconds, retries a failed delivery up to 50 times and then disables the webhook, and continues retrying for 12 hours after that. One success re-enables it. Delivery is at least once and ordering is not guaranteed.