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.booking.reminder
: Nylas sent a reminder for a booking.
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, /* Coming soon */
"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, /* Coming soon */
},
"locale": "component prop",
"locale_for_guests": "component prop",
"reminders": {
"email": "event_booking.reminders.type=email",
"webhooks": "event_booking.reminders.type=webhook"
},
"timezone": "event_booking.timezone"
}
}
New in Configurations
event_booking.conferencing
: Add conferencing to bookings.availability.round_to
andavailability.interval_minutes
: Set up time slot logic. You can round each time slot to the nearestround_to
value or set the interval between meetings.scheduler.hide_rescheduling_options
andscheduler.hide_cancellation_options
: You can hide the rescheduling button and cancellation button on the Scheduling Page.