Set up collective meetings
Collective meetings allow organizers to host an event with multiple participants from their organization. Scheduler checks the organizer's and participant's availability, then shows guests the time when everyone is available.
To set up collective meetings, you need to...
- Add participants.
- Set default open hours.
- (Optional) Set participant open hours.
Add participants
First, you add participants to the configuration that you want to use for collective meetings. You can add participants either using the Scheduler API or using the Scheduler Editor.
Add participants using the Scheduler API
You can make a Create Configuration request or an Update Configuration request request to add participants to the participants
object.
The following example shows the participants
object with an organizer and additional participants.
🔍 In collective meetings, you must identify one of the participants as the organizer (is_organizer: true
).
"participants": [
{
"name": "Katherine Perry",
"email": "k.perry.@example.com",
"is_organizer": true,
"availability": {
"calendar_ids": [
"k.perry.@example.com"
]
},
"booking": {
"calendar_id": "k.perry.@example.com"
}
},
{
"name": "Dorothy Perkins",
"email": "d.perkins@example.com",
"is_organizer": false,
"availability": {
"calendar_ids": [
"d.perkins@example.com",
"en.usa#holiday@group.v.calendar.example.com"
]
},
"booking": {
"calendar_id": "d.perkins@example.com"
}
},
{
"name": "Jane Doe",
"email": "j.doe@example.com",
"is_organizer": false,
"availability": {
"calendar_ids": [
"j.doe@example.com"
]
}
}
]
Add participants using the Scheduler Editor
To add participants to the Scheduling Page, set the additionalParticipants
property.
When you set additionalParticipants
in the Scheduler Editor Component, the Scheduler Editor UI shows all participants in a dropdown list on the Participants tab, allowing organizers to select participants to add to the Scheduling Page. After organizers add participants, they can select each participant's connected calendars on the Availability tab.
The following examples add additionalParticipants
to the Scheduler Editor Component.
🔍 For collective meetings, the Scheduler Editor automatically sets the logged-in user as an organizer. You don't need to include organizers in additionalParticipants
.
<html>
<body>
<nylas-scheduler-editor />
<script type="module">
// ...Scheduler Editor Configuration
schedulerEditor.additionalParticipants= {
[{
name: 'Dorothy Perkins',
email: 'd.perkins@example.com',
calendars: [{
id: 'd.perkins@example.com',
name: 'Dorothy Perkins',
},
{ id: 'en.usa#holiday@group.v.calendar.example.com'
name: 'Holidays'
}
],
},
{
name: 'Jane Doe',
email: 'j.doe@example.com',
calendars: [{
id: 'j.doe@example.com',
name: 'Jane Doe',
},
],
}]
},
...
</script>
</body>
</html>
<NylasSchedulerEditor
additionalParticipants = {
[{
name: 'Dorothy Perkins',
email: 'd.perkins@example.com',
calendars: [{
id: 'd.perkins@example.com',
name: 'Dorothy Perkins',
},
{ id: 'en.usa#holiday@group.v.calendar.example.com'
name: 'Holidays'
}
]
},
{
name: 'Jane Doe',
email: 'j.doe@example.com',
calendars: [{
id: 'j.doe@example.com',
name: 'Jane Doe',
}
]
}]
},
...
/>
Set default open hours
Default open hours represent the time available for event bookings. Think of this as setting the "working hours" on a calendar, so nobody books a meeting in the middle of the night with your team on the East Coast.
Default open hours apply to all participants's connected calendars by default. You can override it by setting participant open hours.
You can set default open hours either using the Scheduler API or using the Scheduler Editor.
Set default open hours using the Scheduler API
You can make a Create Configuration request or an Update Configuration request to set default_open_hours
under availability.availability_rules
.
The following example shows a default_open_hours
object that sets the open hours to between 9:00a.m. and 5:00p.m. in the Chicago timezone, Monday through Friday.
"availability": {
"availability_rules": {
"default_open_hours": [{
"days": [1, 2, 3, 4, 5],
"timezone": "America/Chicago",
"start": "9:00",
"end": "17:00"
}]
}
}
Set default open hours using the Scheduler Editor
By default, the Scheduler Editor Component renders the Default open hours picker on the Availability tab.
- In the Scheduler Editor, click Availability from the navigation menu.
- Under Default open hours, select the timezone and set available hours.
- Click Save changes.
(Optional) Set participant open hours
Participant open hours override the default open hours for a participant. You can set participant open hours for each participant either using the Scheduler API or using the Scheduler Editor.
Set participant open hours using the Scheduler API
You can make a Create Configuration request or an Update Configuration request to set open_hours
for each participant's availability
.
The following example sets a participant's open_hours
to between 10:00 a.m. and 6:00 p.m. Toronto time, on Monday, Tuesday, and Wednesday only. It also excludes August 15th as they are not available on that day.
"participants": [{
"name": "Dorothy Perkins",
"email": "d.perkins@example.com",
"is_organizer": false,
"availability": {
"calendar_ids": [
"d.perkins@example.com",
"en.usa#holiday@group.v.calendar.example.com"
],
"open_hours": [{
"days": [1, 2, 3],
"timezone": "America/Toronto",
"start": "10:00",
"end": "18:00",
"exdates": ["2024-08-15"]
}]
},
"booking": {
"calendar_id": "d.perkins@example.com"
}
},
...
]
Set participant open hours using the Scheduler Editor
- In the Scheduler Editor, click Participants from the navigation.
- Under Participant open hours, click the toggles for the participants that you want to set availability for to enable them.
- Select the time zone and set available hours for each participant.
- Click Save changes.