Change notifications Nylas pushes for grants, messages, message tracking, folders, calendars, events, contacts, Scheduler bookings, Notetaker, ExtractAI, Transactional Email and Agent Accounts. Every notification is a CloudEvents 1.0 envelope whose `data.object` carries the affected resource. The same payloads are delivered over three interchangeable transports: an HTTPS webhook to an endpoint you register, a Google Cloud Pub/Sub topic in your project, or an Amazon SNS topic in your AWS account. Nylas guarantees at-least-once delivery, so deduplicate on the envelope `id`. Payloads over 1 MB are truncated for `message.*` triggers and carry a `.truncated` suffix on `type`; `.cleaned` and `.transformed` suffixes can also combine. Subscribe to triggers with POST /v3/webhooks, POST /v3/channels/pubsub or POST /v3/channels/sns.
View SpecView on GitHubCalendarCommunicationsContactsEmailMessagingSchedulingA2AAsyncAPIEventsWebhooks
Channels
webhookDelivery
HTTP POST deliveries to your registered webhook endpoint.
pubsubTopic
Messages published to your Pub/Sub topic; data is the JSON envelope.
snsTopic
Messages published to your SNS topic; Message is the JSON envelope.
Messages
✉
grant_created
grant.created
Sent when a user successfully authenticates with your Nylas application for the first time.
✉
grant_updated
grant.updated
Sent when a grant is modified, updated, or re-authenticated.
✉
grant_deleted
grant.deleted
Sent when a grant is deleted because of a Delete Grant request.
✉
grant_expired
grant.expired
Sent when a grant's credentials expire, typically due to a change in the user's password on the provider, OAuth token expiration without successful refresh, the provider revoking access, or an admin revoking app permissions.
✉
grant_imap_sync_completed
grant.imap_sync_completed
Sent when a grant is created for an IMAP account and the initial historic sync completes.
✉
message_created
message.created
Sent when a new message arrives or is synced for a user.
✉
message_created_cleaned
message.created.cleaned
Sent when a new message is synced and the [Clean Conversations](/docs/v3/email/parse-messages/) feature is enabled for the application. The message `body` contains cleaned markdown content instead of the original HTML.
✉
message_updated
message.updated
Sent when a user modifies or updates a message.
✉
message_deleted
message.deleted
Sent when a message is deleted.
✉
message_send_success
message.send_success
Sent when a message is sent and delivered successfully. Fires for scheduled sends (using `send_at`), and for synchronous sends when you enable synchronous send webhooks in the Nylas Dashboard.
✉
message_send_failed
message.send_failed
Sent when a message fails to send or deliver. Fires for scheduled sends (using `send_at`), and for synchronous sends when you enable synchronous send webhooks in the Nylas Dashboard.
✉
message_bounce_detected
message.bounce_detected
Sent when Nylas detects a Non-Delivery Report (NDR) in the sender's inbox for a message sent via Nylas. Requires the provider to generate an NDR. Available for Google, Microsoft Graph, iCloud, and Yahoo.
✉
message_opened
message.opened
Sent when a participant opens a tracked message.
✉
message_link_clicked
message.link_clicked
Sent when a participant clicks a link in a tracked message.
✉
thread_replied
thread.replied
Sent when a participant replies to a tracked email thread.
✉
message_opened_legacy
message.opened.legacy
Legacy format for message opened tracking notifications.
✉
message_link_clicked_legacy
message.link_clicked.legacy
Legacy format for link clicked tracking notifications.
✉
thread_replied_legacy
thread.replied.legacy
Legacy format for thread replied tracking notifications.
✉
message_created_metadata
message.created.metadata
Sent for Google grants using the `/gmail.metadata` scope. Does not include `body`, `snippet`, or `attachment` fields.
✉
message_updated_metadata
message.updated.metadata
Sent for Google grants using the `/gmail.metadata` scope when a message is updated. Limited field set.
✉
folder_created
folder.created
Sent when a user creates a folder.
✉
folder_updated
folder.updated
Sent when a user updates a folder.
✉
folder_deleted
folder.deleted
Sent when a user deletes a folder.
✉
calendar_created
calendar.created
Sent when a user creates a calendar.
✉
calendar_updated
calendar.updated
Sent when the name, description, location, or timezone of a calendar changes.
✉
calendar_deleted
calendar.deleted
Sent when a user deletes a calendar.
✉
event_created
event.created
Sent when an event is created on a user's calendar.
✉
event_updated
event.updated
Sent when an event is modified or updated. Includes the `occurrences` parameter if the updated event is a single occurrence of a recurring Google event.
✉
event_deleted
event.deleted
Sent when an event is deleted from a user's calendar.
✉
contact_updated
contact.updated
Sent when a user creates or updates a contact. Most providers don't differentiate between creating and updating contacts.
✉
contact_deleted
contact.deleted
Sent when a user deletes a contact.
✉
booking_created
booking.created
Sent when a guest creates a booking.
✉
booking_pending
booking.pending
Sent when a guest schedules a pending booking that requires confirmation.
✉
booking_rescheduled
booking.rescheduled
Sent when a guest reschedules a booking.
✉
booking_cancelled
booking.cancelled
Sent when a guest cancels a booking.
✉
booking_reminder
booking.reminder
Sent at the scheduled reminder time before a booking.
✉
notetaker_created
notetaker.created
Sent when you create or schedule a Notetaker bot. For ad-hoc meetings, `join_time`, `event.ical_uid`, and `event.event_id` are omitted.
✉
notetaker_updated
notetaker.updated
Sent when you update a scheduled Notetaker bot's settings or join time. Only fires while in `scheduled` state.
✉
notetaker_deleted
notetaker.deleted
Sent when a Notetaker bot is deleted, its associated event is cancelled, or its settings are set to null.
✉
notetaker_meeting_state
notetaker.meeting_state
Sent when the Notetaker bot transitions between meeting lifecycle states. The notification includes both a `state` field (the lifecycle phase) and a `meeting_state` field (the specific reason for the transition).
✉
notetaker_media
notetaker.media
Sent when a recording or transcription is processing, available, or deleted. When the [retention window](/docs/v3/notetaker/retention-policies/) elapses, Nylas sends a final `notetaker.media` notification with `status: media_deleted` and no `media` object.
✉
message_intelligence_order
message.intelligence.order
Sent when a user receives a message with e-commerce order information.
✉
message_intelligence_tracking
message.intelligence.tracking
Sent when a user receives a message with tracking information for an e-commerce order.
✉
message_intelligence_return
message.intelligence.return
Sent when a user receives a message with return information for an e-commerce order.
✉
message_intelligence_travel
message.intelligence.travel
Sent when a user receives a message with travel booking information such as flights, hotels, or car rentals.
✉
message_transactional_bounced
message.transactional.bounced
Sent when a transactional email was not delivered due to a hard bounce.
✉
message_transactional_complaint
message.transactional.complaint
Sent when a transactional email was delivered but the recipient marked it as spam.
✉
message_transactional_delivered
message.transactional.delivered
Sent when a transactional email was successfully delivered to the recipient's mail server.
✉
message_transactional_rejected
message.transactional.rejected
Sent when a transactional email was rejected because one or more attachments contained a virus.
✉
message_bounced
message.bounced
Sent when an email was not delivered due to a hard bounce.
✉
message_complaint
message.complaint
Sent when an email was delivered but the recipient marked it as spam.
✉
message_delivered
message.delivered
Sent when an email was successfully delivered to the recipient's mail server.
✉
message_rejected
message.rejected
Sent when an email was rejected because one or more attachments contained a virus.
Servers
https
webhook
The HTTPS endpoint you register with POST /v3/webhooks. Nylas verifies it once with a GET carrying a `challenge` query parameter that must be echoed in a 200 response within 10 seconds, then POSTs each notification. Respond 200; Nylas retries 408, 429 (honouring Retry-After), 502 and 503, marks the endpoint `failing` at 95% non-200 over 15 minutes, keeps delivering with exponential backoff for 72 hours, then marks it `failed`. With `compressed_delivery: true` the body is gzip-compressed and sent with `Content-Encoding: gzip`.
googlepubsub
pubsub
A Pub/Sub topic in your Google Cloud project, registered with POST /v3/channels/pubsub. Grant roles/pubsub.publisher on the topic to nylas-datapublisher@nylas-gma-mt.iam.gserviceaccount.com. Each message carries a `trigger_type` attribute, plus `content_encoding: gzip` when compressed delivery is enabled. Up to five Pub/Sub channels per application.
sns
sns
A Standard (not FIFO) SNS topic in your AWS account, registered with POST /v3/channels/sns. Nylas assumes your IAM role with AWS STS AssumeRoleWithWebIdentity using a Google-issued OIDC token and publishes with sns:Publish. Messages carry a `trigger_type` message attribute, plus `content_encoding: gzip+base64` when compressed delivery is enabled. A `connector.verification` test event is published when the channel is created. Up to five SNS channels per application.
# Nylas Notifications — AsyncAPI 3.1. Authored by Nylas; see info.x-provenance.
asyncapi: 3.0.0
id: urn:com:nylas:v3:notifications
info:
title: Nylas Notifications
version: v3
description: 'Change notifications Nylas pushes for grants, messages, message tracking, folders, calendars, events,
contacts, Scheduler bookings, Notetaker, ExtractAI, Transactional Email and Agent Accounts. Every notification
is a CloudEvents 1.0 envelope whose `data.object` carries the affected resource. The same payloads are delivered
over three interchangeable transports: an HTTPS webhook to an endpoint you register, a Google Cloud Pub/Sub
topic in your project, or an Amazon SNS topic in your AWS account. Nylas guarantees at-least-once delivery,
so deduplicate on the envelope `id`. Payloads over 1 MB are truncated for `message.*` triggers and carry a `.truncated`
suffix on `type`; `.cleaned` and `.transformed` suffixes can also combine. Subscribe to triggers with POST /v3/webhooks,
POST /v3/channels/pubsub or POST /v3/channels/sns.'
contact:
name: Nylas Support
url: https://developer.nylas.com/docs/support/
license:
name: Nylas Terms of Service
url: https://www.nylas.com/legal/terms/
externalDocs:
description: Using webhooks with Nylas
url: https://developer.nylas.com/docs/v3/notifications/
tags:
- name: Grants
description: Notifications about grant lifecycle events including creation, updates, expiration, and deletion.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/grants/
- name: Messages
description: Notifications about email message events — new messages, updates, send results, bounces, and tracking.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/messages/
- name: Message Tracking
description: Notifications for tracked message opens, link clicks, and replies.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/message-tracking/
- name: Message Metadata
description: Limited notifications for Google accounts using the gmail.metadata scope.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/message-metadata/
- name: Folders and Labels
description: Notifications about email folder and label events.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/folders/
- name: Calendar
description: Notifications about calendar creation, modification, and deletion.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/calendar/
- name: Events
description: Notifications about calendar event creation, modification, and deletion.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/events/
- name: Contacts
description: Notifications about contact creation, modification, and deletion.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/contacts/
- name: Scheduler
description: Notifications about booking events from Nylas Scheduler.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/scheduler/
- name: Notetaker
description: Notifications about Notetaker bot lifecycle, meeting states, and media processing.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/notetaker/
- name: ExtractAI
description: Notifications when ExtractAI detects e-commerce orders, tracking, or returns in email messages.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/extractai/
- name: Transactional Email
description: Delivery status notifications for transactional emails.
externalDocs:
url: https://developer.nylas.com/docs/reference/notifications/transactional-email/
# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nylas/refs/heads/main/asyncapi/nylas-notifications-asyncapi.yml
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.