Version:
Only show these results:

Scheduler v3 diff view

This page provides a high-level description of the changes between Nylas Scheduler v2 and v3.

Changes to Scheduler API

Nylas has revamped Scheduler API to enhance its extensibility and customizability.

  • Session tokens: To support customer-hosted solutions, Nylas Scheduler v3 introduces short-lived session tokens that components use to authorize API requests.
  • Pages to Configurations: In v2, developers who wanted to build a custom scheduling solution had to use the /pages endpoints, even if their solution wasn’t page-based. Nylas v3 Scheduler replaces /pages endpoints with /configurations. For more details, see v2 Pages schema and the corresponding v3 properties.
  • New Bookings endpoints: Scheduler now has /bookings endpoints, which allow the management of Scheduler-specific events and pre-bookings.

Scheduling and Scheduler Editor UI Components

The Scheduler UI Components are pre-built, composable, extensible web- and React-based components. The Scheduler UI Components interact with the Scheduler API so you can quickly create custom scheduling experiences.

For more information, see the Scheduler UI Components reference documentation.

Hiding rescheduling and cancellation buttons

Organizers can now hide the rescheduling and cancellation buttons on the booking confirmation pages and confirmation emails.

Pre-bookings

Pre-booking allows you to pause the booking process to complete an action. When you set up a pre-booking, Scheduler adds a placeholder event to the organizer's calendar before finalizing the booking. Scheduler only finalizes the booking when a specified action is completed.

Currently, Nylas supports organizer-confirmation as a pre-booking type. More types are coming soon.

For organizer-confirmation bookings, Scheduler creates an event marked "Pending" in the organizer's calendar. It then sends an confirmation request email to the organizer, which includes a link to a page where the organizer can confirm or cancel the booking.

For more information, see Customize booking flows.

Video conferencing

Nylas supports automatic conference creation with Google Meet, Microsoft Teams, and Zoom. When organizers select a conferencing option from the Scheduler Editor, Scheduler automatically creates online conferences so that email notifications include the conference link.

For more information, see Add conferencing to bookings.

Scheduler webhooks

You can now create Scheduler webhooks using the Nylas Dashboard or the Webhooks API.

The following Scheduler webhook triggers are available:

  • booking.created: A new Scheduler event was created.
  • booking.rescheduled: A Scheduler event was rescheduled through Scheduler.
  • booking.cancelled: A Scheduler event was cancelled through the Scheduler.
  • booking.pending: A pending booking was created.

For more information on the webhook schemas, see Notification schemas.

v2 Pages schema and the corresponding v3 properties

The following v2 Pages schema shows the corresponding v3 Configurations properties as string values. component prop indicates that the UI Components handle that property in v3.

{
"config": {
"appearance": {
"color": "component prop & appearance.color",
"privacy_policy_redirect": "component prop",
"show_autoschedule": "", /* Coming soon */
"show_nylas_branding": "component prop",
"show_timezone_options": "component prop",
"show_week_view": "", /* Coming soon */
"submit_text": "appearance.submit_button_label",
"thank_you_redirect": "scheduler.confirmation_redirect_url",
"thank_you_text": "appearance.thank_you_message",
"thank_you_text_secondary": "appearance.thank_you_message"
},
"booking": {
"additional_fields": "scheduler.additional_fields",
"additional_guests_hidden": "scheduler.hide_additional_guests",
"available_days_in_future": "event.booking",
"calendar_invite_to_guests": false, /* Not currently scheduled */
"cancellation_policy": "scheduler.cancellation_policy",
"confirmation_emails_to_guests": false, /* Not currently scheduled */
"confirmation_emails_to_host": false, /* Not currently scheduled */
"confirmation_method": "booking_type"{
"automatic": "event_booking.booking_type.booking",
"manual": "event_booking.booking_type.organizer-confirmation",
"external": "" /* Coming soon */
},
"interval_minutes": "availability.interval_minutes",
"min_booking_notice": "scheduler.min_booking_notice",
"min_cancellation_notice": "scheduler.min_cancellation_notice",
"min_buffer": "availability.availability_rules.buffer",
"name_field_hidden": "", /* Coming soon */
"scheduling_method": "availability.availability_rules.availability_method"
},
"event": {
"capacity": false, /* Not currently scheduled */
"duration": "event_booking.duration",
"location": "event_booking.location",
"title": "event_booking.title",
"template_title": "event_booking.title",
"participants": "participants"
},
"expire_after": "", /* You can use the UI Components to add your desired logic or use the Delete Configurations API request. */
"disable_emails": "event_booking.disable_emails",
"features": {
"collective_meetings": "component prop",
"group_meetings": false, /* Not currently scheduled */
},
"locale": "", /* Coming soon */
"locale_for_guests": "component prop",
"reminders": {
"email": "", /* Coming soon */
"webhooks": "" /* Coming soon */
},
"timezone": "event_booking.timezone"
}
}

New in Configurations

  • event_booking.conferencing: Add conferencing to bookings.
  • availability.round_to and availability.interval_minutes: Set up time slot logic. You can round each time slot to the nearest round_to value or set the interval between meetings.
  • scheduler.hide_rescheduling_options and scheduler.hide_cancellation_options: You can hide the rescheduling button and cancellation button on the Scheduling Page.