# New: Scheduler change attribution in event webhooks

Source: https://developer.nylas.com/docs/changelogs/2026-07-16-scheduler-event-change-attribution/

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.

## Added

- **`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.

## How to attribute changes

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.

## Notes

- 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.