Scheduler supports several meeting types to fit different workflows. This page explains each type and how to enable them.
One-on-one meetings
Section titled “One-on-one meetings”One-on-one meetings let you book sessions with a single organizer and a single guest. This is the simplest option Scheduler offers, and is ideal for interviews, customer calls, or support sessions.
To enable one-on-one meetings using the Scheduler API, make a Create Configuration or Update Configuration request that includes a single organizer in the participants
array.
To enable one-on-one bookings in the Scheduler Editor Component, set enableEventTypes.one_on_one
to true
. If you want users to only be able to book one-on-one meetings using this Configuration, set all other event types to false
.
Collective meetings
Section titled “Collective meetings”Collective meetings let you book sessions with a guest and one or more teammates. Scheduler automatically finds times when the organizer and all participants are available. This meeting type is useful for any event that all participants must attend, like a weekly scrum.
For performance reasons, we recommend you limit participants lists to 10 people. If you need to book an event with a larger team, reduce the time window that Nylas will evaluate for availability.
To enable collective meetings using the Scheduler API, make a Create Configuration or Update Configuration request with multiple participants and only one organizer. Nylas automatically checks availability for all participants to find a time that works for everyone.
To enable collective meetings in the Scheduler Editor Component, set enableEventTypes.collective
to true
and add teammates to the additionalParticipants
list. When a user books a collective meeting, Nylas automatically sets them as the organizer.
Round-robin meetings
Section titled “Round-robin meetings”Scheduler supports two types of round-robin meetings: one that uses a max-fairness distribution method, and one that uses max-availability.
For performance reasons, we recommend you limit participants lists for round-robin meetings to 10 people.
Max-fairness round-robin meetings
Section titled “Max-fairness round-robin meetings”The max-fairness method distributes meeting attendance evenly across team members over time. When you use max-fairness, Nylas prioritizes the participant who was booked the least recently for the same meeting type.
To enable max-fairness round-robin meetings using the Scheduler API, make a Create Configuration or Update Configuration request and set the availability_method
to max-fairness
. Nylas evaluates the users in the participants
array to determine who should attend the event.
You can use the key5
metadata field to tag events that should count towards fairness calculations.
curl --request PUT \ --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<CONFIGURATION_ID>" \ --header 'Accept: application/json, application/gzip' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "availability": { "duration_minutes": 60, "availability_rules": { "availability_method": "max-fairness" } }, "event_booking": { "title": "Monthly demos", "location": "Room 104" }, "participants": [ { "name": "Nyla", "email": "[email protected]", "availability": { "calendar_ids": ["primary"] }, "booking": { "calendar_id": "primary" } }, { "name": "Leyah Miller", "email": "[email protected]", "availability": { "calendar_ids": ["primary"] }, "booking" : { "calendar_id": "primary" } } ] }'
To enable max-fairness round-robin meetings using the Scheduler Editor Component, set enableEventTypes.max_fairness
to true
and add some people to the additionalParticipants
list. Nylas rotates through the participants to determine who should attend the event.
Max-availability round-robin meetings
Section titled “Max-availability round-robin meetings”The max-availability method distributes meeting invitations to participants who have the most availability on their calendar. This is useful when you need to present guests with the greatest possible number of available time slots for the booking.
To enable max-availability round-robin meetings using the Scheduler API, make a Create Configuration or Update Configuration request and set the availability_method
to max-availability
. Nylas evaluates the users in the participants
array to determine who should attend the event.
curl --request PUT \ --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<CONFIGURATION_ID>" \ --header 'Accept: application/json, application/gzip' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "availability": { "duration_minutes": 60, "availability_rules": { "availability_method": "max-availability" } }, "event_booking": { "title": "Monthly demos", "location": "Room 104" }, "participants": [ { "name": "Nyla", "email": "[email protected]", "availability": { "calendar_ids": ["primary"] }, "booking": { "calendar_id": "primary" } }, { "name": "Leyah Miller", "email": "[email protected]", "availability": { "calendar_ids": ["primary"] }, "booking" : { "calendar_id": "primary" } } ] }'
To enable max-availability round-robin meetings using the Scheduler Editor Component, set enableEventTypes.max_availability
to true
and add some people to the additionalParticipants
list. Nylas evaluates the participants’ calendars to determine who should attend the event.
Group meetings
Section titled “Group meetings”Group meetings let you book sessions with a large number of guests. You can define the capacity for each event and its recurrence schedule, if necessary. This is useful for classes or webinars.
To enable group meetings using the Scheduler API, make a Create Configuration request and set the type
to group
. After you have a Group Configuration, you can create group event instances using the Group Events endpoints.
The default capacity for group events is 10. You can increase or decrease it as necessary by setting capacity
in your Group Events requests.
curl --request POST \ --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations" \ --header 'Accept: application/json, application/gzip' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "name": "Learn how to bind a book", "type": "group", "group_booking": { "booking_type": "booking", "disable_emails": false, "calendar_id": "primary", "reminders": [{ "type": "email", "minutes_before_event": 30, "recipient": "guest" }] }, "scheduler": { "available_days_in_future": 260, "hide_cancellation_options": false, "hide_reschedule_options": true, "min_booking_notice": 0, "min_cancellation_notice": 480 } }'
To enable group events using the Scheduler Editor Component, set enableEventTypes.group
to true
.
Set default open hours
Section titled “Set default open hours”Default open hours allow you to define standard working hours for your team at the Configuration level. You can override these settings on a per-participant level as needed.
To set default open hours using the Scheduler API, make a Create Configuration or Update Configuration request that defines the default_open_hours
. The following example sets the default open hours to between 9:00a.m. and 5:00p.m. in the Chicago timezone, Monday through Friday.
curl --request PUT \ --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<CONFIGURATION_ID>" \ --header 'Accept: application/json, application/gzip' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "availability": { "availability_rules": { "default_open_hours": [{ "days": [1, 2, 3, 4, 5], "timezone": "America/Chicago", "start": "9:00", "end": "17:00" }] } } }'
If you’re using the Scheduler Editor, it renders the default open hours picker in the Availability tab. Under Default open hours, select the timezone and set the available hours. When you’re done, be sure to save your changes.

Set participant open hours
Section titled “Set participant open hours”You can use participant open hours to override Configuration-level open hours settings on a per-participant basis. This is useful when a participant’s working hours differ from their team’s default, for example.
If you’re using the Scheduler API, make a Create Configuration or Update Configuration request and set the open_hours
for each participant’s availability
. The following example sets a participant’s open_hours
to between 10:00a.m. and 6:00p.m. in the Toronto timezone, on Monday, Tuesday, and Wednesday only. It also excludes August 15th, 2025 because the participant isn’t available that day.
curl --request PUT \ --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<SCHEDULER_CONFIGURATION_ID>" \ --header 'Accept: application/json, application/gzip' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "participants": [{ "name": "Leyah Miller", "email": "[email protected]", "is_organizer": false, "availability": { "calendar_ids": [ "en.usa#[email protected]" ], "open_hours": [{ "days": [1, 2, 3], "timezone": "America/Toronto", "start": "10:00", "end": "18:00", "exdates": ["2025-08-15"] }] }, "booking": { "calendar_id": "[email protected]" } }] }'
You can update a participant’s open hours in the Scheduler Editor by navigating to the Participants tab. Under Participant open hours, select the users that you want to set availability for. Select the timezone and available hours for each person, then save your changes.

Set specific time availability
Section titled “Set specific time availability”Specific time availability settings let you define one-off availability windows on particular dates (for example, holidays or extended hours) without changing your regular open hours. These settings temporarily override existing availability rules and expire after the date passes, so users can’t book outdated time slots.
If you’re using the Scheduler API, make a Create Configuration or Update Configuration request and set specific_time_availability
.
The specific_time_availability.start
and .end
parameters are defined in 24-hour format using the timezone from the specified Configuration.
curl --request PUT \ --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<CONFIGURATION_ID>" \ --header 'Accept: application/json, application/gzip' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "availability": { "availability_rules": { "specific_time_availability": [ { "date": "2025-08-21", "start": "09:00", "end": "13:00" }, { "date": "2025-08-22", "start": "10:00", "end": "16:00" } ] } } }'
You can also set specific_time_availability
for each participant in their availability_rules
settings. This overrides Configuration-level rules for that person.
If you’re using the Scheduler Editor, it displays specific time availability settings in the Participants tab. Scroll down to the participant whose availability you want to modify and click Specific date availability > Add specific date, then set the date and time you want to create an availability window during. When you’re done, save your changes.

Keep in mind
Section titled “Keep in mind”- If you’re using Zoom conferencing for round-robin events under a single grant, restrictive Zoom settings might prevent participants from joining. See our Zoom troubleshooting documentation for more information.
- For large teams, we recommend keeping participant pools small or narrowing the availability window to maintain performance.