Event catalogue
The scope is what the endpoint (or the polling key) needs to receive the event.
| Event | Scope | When |
|---|---|---|
contact.created | contacts:read | A contact was added (in the app, by an import, a form, a lead search or the API). |
contact.tag_added | contacts:read | Tags were added to a contact (`data.tags`). |
contact.tag_removed | contacts:read | Tags were removed from a contact (`data.tags`). |
list.member_added | contacts:read | A contact was put on a list (`data.list_id`). |
list.member_removed | contacts:read | A contact was taken off a list (`data.list_id`). |
consent.updated | contacts:read | A contact's lawful basis was recorded or cleared. |
contact.unsubscribed | contacts:read | A contact unsubscribed. |
deal.stage_changed | contacts:read | A contact moved to another pipeline stage (`data.from`, `data.to`). |
lead.submitted | pages:read | Someone filled in a form on a landing page. |
ad_lead.received | ads:read | A lead form on an ad was filled in. |
message.received | inbox:read | A reply or a new message arrived (email, SMS, WhatsApp or LinkedIn). |
message.sent | inbox:read | A message went out. |
message.delivered | inbox:read | An email was delivered. |
message.opened | inbox:read | An email was opened. |
message.clicked | inbox:read | A link in an email was clicked. |
message.bounced | inbox:read | An email bounced. |
message.blocked | inbox:read | A send was stopped by a rule (`data.reason`: suppressed, no_consent, quiet_hours, do_not_contact …). |
message.failed | inbox:read | A send failed. |
message.canceled | inbox:read | A message asked for through the API was cancelled before it went out (POST /messages/{id}/cancel; `data.object.id` is the send's id). |
call.started | calls:read | An AI call was placed. |
call.completed | calls:read | A call ended (`data.outcome`). |
meeting.booked | meetings:read | A meeting was booked. |
meeting.rescheduled | meetings:read | A meeting moved. |
meeting.cancelled | meetings:read | A meeting was cancelled. |
meeting.requested | meetings:read | A meeting waits for someone to confirm it. |
enrollment.created | campaigns:read | A contact entered a campaign or automation. |
enrollment.completed | campaigns:read | A contact finished a campaign or automation. |
enrollment.replied | campaigns:read | A contact in a campaign replied. |
enrollment.exited | campaigns:read | A contact left a campaign or automation early. |
enrollment.paused | campaigns:read | A contact's campaign was paused. |
approval.requested | approvals:read | Something waits in the Approvals queue. |
page.published | pages:read | A landing page went live. |
page.unpublished | pages:read | A landing page was taken down. |
plan.generated | plans:read | Nora finished writing a plan. |
post.published | social:read | A social post went out (on some or all of its networks). |
post.failed | social:read | A social post failed. |
number.purchased | numbers:read | A phone number was bought through the API — at once, or when someone approved it (`data.object.status`: active, or pending while the order settles). |
ad_campaign.paused | ads:read | A live ad campaign was switched off from NorReach (`data.object.network`). |
ad_campaign.resumed | ads:read | A live ad campaign was switched back on from NorReach (`data.object.network`). |
template.status_changed | templates:read | A WhatsApp template's review state changed (`data.object.from`, `data.object.to`: PENDING, APPROVED, REJECTED …). |
ping | any | Sent by “Send test” — check your endpoint and its signature check. |