Skip to content

Meeting types in Nylas Scheduler

Scheduler supports several meeting types to fit different workflows. This page explains each type and how to enable them.

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

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.

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.

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

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.

The Scheduler Editor UI displaying the Availability tab. The Default Open Hours section is shown, and availability is defined for Monday, Tuesday, and Wednesday.

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": [
],
"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.

The Scheduler Editor UI displaying the Participants tab. A participant is selected, and their availability is defined for Monday, Tuesday, Wednesday, and Thursday.

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.

The Scheduler Editor UI displaying the Participants tab. The Open Hours settings are shown for a participant, and a Specific Date Availability slot is defined from 7:30a.m. to 8:00a.m. on August 15, 2025.
  • 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.