Skip to main content
Events follow the entity.action naming convention. Allo delivers events at least once — your endpoint may receive the same event more than once. Use the webhook-id header to deduplicate. See Best practices for details.

Event summary


call.received

Fired when an inbound call starts ringing, before the call is answered. When a matching contact is found, the event includes person, company, and deals objects with contact context.

Person object

Company object

Deal object


call.triggered

Fired when an outbound call is initiated. When a matching contact is found, the event includes person, company, and deals objects with contact context.
The person, company, and deals objects use the same schema as call.received.

call.answered

Fired the moment a call is answered on the other side, for both inbound and outbound calls — after call.received / call.triggered (ring) and before call.completed (hang-up). Use it to react in real time when the prospect picks up. When a matching contact is found, the event includes person, company, and deals objects with contact context.
The person, company, and deals objects use the same schema as call.received.

call.completed

Fired after a call ends. Includes the full call data: recording, transcript, summary, tags, and transfer details. This event is typically sent about 30 seconds after the call hangs up.

Fields

Call result values

Transcription entry

Transfer object

IVR result entry


tag.added

Fired when a tag is added to a call.

tag.removed

Fired when a tag is removed from a call.

sms.received

Fired when an inbound SMS is received.

sms.sent

Fired when an outbound SMS is sent.

contact.created

Fired when a new contact is created.

contact.updated

Fired when an existing contact is modified.
The payload structure is identical to contact.created. The data object contains the full contact state after the update.

conversation_note.created

Fired when an internal note is added to a conversation — from the Allo apps or via the Notes API. conversation_note.created events are deduplicated by note ID: you receive at most one per note.

User object

Mention entry


conversation_note.updated

Fired when a conversation note’s content is edited. The payload structure is identical to conversation_note.created, with the updated content, mentions, and updated_at. Unlike *.created events, conversation_note.updated may be re-delivered — deduplicate with the webhook-id header.

conversation_note.deleted

Fired when a conversation note is deleted. The payload structure is identical to conversation_note.created, with the note’s final state and deleted: true. May be re-delivered — deduplicate with the webhook-id header.

contact_note.created

Fired when a note is added to a person’s CRM profile — from the Allo apps or via the Notes API. contact_note.created events are deduplicated by note ID: you receive at most one per note.
The user and mentions objects use the same schema as conversation_note.created.

contact_note.updated

Fired when a person note’s content is edited. The payload structure is identical to contact_note.created, with the updated content, mentions, and updated_at. May be re-delivered — deduplicate with the webhook-id header.

contact_note.deleted

Fired when a person note is deleted. The payload structure is identical to contact_note.created, with the note’s final state and deleted: true. May be re-delivered — deduplicate with the webhook-id header.

thread.created

Fired when a discussion thread is started on a conversation item (a call, an SMS, or a conversation note) — from the Allo apps or via the Threads API. Includes the thread’s first comment. thread.created events are deduplicated by thread ID: you receive at most one per thread.

Comment object

The user, resolved_by, and mentions objects use the same schema as conversation_note.created.

thread.comment.created

Fired when a comment is added to an existing thread. data is the comment object from thread.created. thread.comment.created events are deduplicated by comment ID: you receive at most one per comment.

thread.comment.updated

Fired when a thread comment’s content is edited. data is the comment object from thread.created, with the updated content, mentions, and updated_at. May be re-delivered — deduplicate with the webhook-id header.

thread.resolved

Fired when a thread is marked as resolved. data is the thread object from thread.created without the comment field. May be re-delivered — deduplicate with the webhook-id header.

thread.unresolved

Fired when a resolved thread is reopened. The payload structure is identical to thread.resolved, with resolved: false and resolved_at / resolved_by set to null. May be re-delivered — deduplicate with the webhook-id header.

partner.account.login

Fired when a reseller-provisioned account signs in on a device for the first time — the moment its number goes live. Delivered to the partner’s webhook endpoint (not the account’s), so resellers can track activation.