Skip to content
Skip to main content

New: Scheduler change attribution in event webhooks

SchedulerCalendar

Scheduler now records the meeting time it most recently set as metadata on the calendar events it books. Because event metadata is included in every event.* webhook notification, you can use these entries to tell Scheduler-driven changes apart from edits made directly on the organizer’s calendar — for example, to distinguish a guest rescheduling through your booking page from the host dragging the event to a new time in Google Calendar or Outlook.

  • scheduler_last_start and scheduler_last_end event metadata — Unix timestamps (as strings) of the meeting time Scheduler most recently set. Stamped when a booking is created and updated on every reschedule made through Scheduler.

  • scheduler_updated_at event metadata — A Unix timestamp (as a string) of when Scheduler last changed the event.

When you receive an event.updated notification for a Scheduler-created event (identified by metadata.source = "scheduler"), compare the payload’s when times against metadata.scheduler_last_start and metadata.scheduler_last_end:

  • Times match — The change came through Scheduler. Nylas also sends a booking.rescheduled notification, which includes your additional_fields.
  • Times differ — The event was changed directly on the organizer’s calendar.
  • The new entries are stamped on bookings created or rescheduled after this release. Existing events don’t carry them until their next reschedule through Scheduler.
  • The entries share the event’s customer-visible metadata object. If you update an event’s metadata using the Events API, include the Scheduler-stamped entries in your request — updates replace the metadata object as a whole.
  • Group Configuration (type: group) events don’t include Scheduler-stamped metadata.