Only show these results:

Round Robin Scheduler Behavior

Schedule Page events with multiple participants behave differently using these two configurations.

Inviting the Page Owner

This configuration results in the page owner invited to all events from that page. When the <ACCESS_TOKEN> value only contains the page owner's, all created events use that person's <CALENDAR_ID>.

POST Create a Scheduling Page with Page Owner Request Example

This example uses a single <ACCESS_TOKEN. That value is used to populate the Scheduling Page's access_token_infos field.

curl --request POST \
--url https://api.schedule.nylas.com/manage/pages \
--header 'Accept: application/json' \
--header 'authorization: Bearer ACCESS_TOKEN' \
--data '{
"access_tokens": [
"<ACCESS_TOKEN>"
],
"config": {
"appearance": {
"color": "#0068D3",
"company_name": "",
"logo": "",
"privacy_policy_redirect": "string",
"show_autoschedule": true,
"show_nylas_branding": false,
"show_timezone_options": true,
"show_week_view": true,
"submit_text": "Submit"
},
"booking": {
"additional_fields": [],
"additional_guests_hidden": true,
"available_days_in_future": 14,
"calendar_invite_to_guests": true,
"confirmation_emails_to_guests": true,
"confirmation_emails_to_host": true,
"confirmation_method": "automatic",
"min_booking_notice": 120,
"min_buffer": 30,
"min_cancellation_notice": 180,
"name_field_hidden": false,
"opening_hours": [
{
"account_id": "3aols9hb9fkqtso7zkzcmwgwv",
"days": [
"M",
"T",
"W",
"R",
"F"
],
"end": "17:00",
"start": "09:00"
}
],
"scheduling_method": "round-robin-maximize-fairness"
},
"calendar_ids": {
"<ACCOUNT_ID>": {
"availability": [
"<CALENDAR_ID>",
"<CALENDAR_ID>"
],
"booking": "<CALENDAR_ID>"
}
},
"event": {
"capacity": -1,
"duration": 45,
"location": "Coffee Shop",
"participants": [
{
"email": "[email protected]",
"name": "Katherine Johnson"
},
{
"email": "[email protected]",
"name": "Dorothy Vaughan"
},
{
"email": "[email protected]",
"name": "Mae Jemison"
}
],
"title": "30-min Coffee Meeting"
},
"expire_after": {
"date": 1633446000,
"uses": 5
},
"locale": "en",
"reminders": [
{
"delivery_method": "email",
"delivery_recipient": "customer",
"email_subject": "Your meeting is coming up!",
"minutes_before_event": 30,
"webhook_url": "https://your-webhook-url.com"
}
],
"timezone": "America/Chicago"
},
"name": "Coffee Meeting",
"slug": "dorothy-vaughan-30min"
}'

GET Return a Scheduling Page with Page Owner Response Example

This example response is for the Page Owner sample Scheduling Page.

{
"access_token_infos": [
{
"account_email": "[email protected]",
"account_name": "Sally Ride"
}
],
"app_client_id": "8gllz10jsrqdlwqwiyri33ryj",
"app_organization_id": 1,
"config": {
"appearance": {
"color": "#0068D3",
"company_name": "",
"logo": "",
"show_autoschedule": true,
"show_nylas_branding": false,
"show_timezone_options": true,
"show_week_view": true,
"submit_text": "Submit"
},
"booking": {
"additional_fields": [],
"additional_guests_hidden": false,
"available_days_in_future": 14,
"calendar_invite_to_guests": true,
"confirmation_emails_to_guests": true,
"confirmation_emails_to_host": true,
"confirmation_method": "automatic",
"min_booking_notice": 120,
"min_buffer": 30,
"min_cancellation_notice": 180,
"name_field_hidden": false,
"opening_hours": [
{
"days": [
"M",
"T",
"W",
"R",
"F"
],
"end": "17:00",
"start": "09:00"
}
],
"scheduling_method": "round-robin-maximize-availability"
},
"calendar_ids": {
"<ACCOUNT_ID>": {
"availability": [
"<CALENDAR_ID>"
],
"booking": "<CALENDAR_ID>"
}
},
"event": {
"capacity": -1,
"duration": 45,
"location": "Location TBD",
"participants": [
{
"confirmation_method": "calendar",
"email": "[email protected]",
"name": "Katherine Johnson"
},
{
"confirmation_method": "calendar",
"email": "[email protected]",
"name": "Dorothy Vaughan"
},
{
"confirmation_method": "calendar",
"email": "[email protected]",
"name": "Mae Jemison"
}
],
"title": "Meeting!"
},
"features": {
"collective_meetings": true,
"group_meetings": false
},
"locale": "en",
"reminders": [],
"timezone": "America/Los_Angeles"
},
"created_at": "2021-12-03",
"edit_token": "W9nfhXxNllWf2STRDfTXRqvJIA13z_qK",
"id": 42,
"modified_at": "2021-12-03",
"name": "Meeting!",
"slug": "slug-number-123"
}

Omit Page Owner from Invites

To remove the page owner automatically being added to all event invites, use the configuration below. Include the <ACCESS_TOKEN> value for all potential participants in order to avoid the page owner receiving all invites.

POST Create a Scheduling Page Request No Page Owner Example

This example uses multiple <ACCESS_TOKEN> values. These are used to populate the Scheduling Page's access_token_infos field with potential participants and not just the page owner.

curl --request POST \
--url https://api.schedule.nylas.com/manage/pages \
--header 'Accept: application/json' \
--header 'authorization: Bearer ACCESS_TOKEN' \
--data '{
"access_tokens": [
"<ACCESS_TOKEN_ONE>",
"<ACCESS_TOKEN_TWO>",
"<ACCESS_TOKEN_THREE>",
"<ACCESS_TOKEN_FOUR>"
],
"config": {
"appearance": {
"color": "#0068D3",
"company_name": "",
"logo": "",
"privacy_policy_redirect": "string",
"show_autoschedule": true,
"show_nylas_branding": false,
"show_timezone_options": true,
"show_week_view": true,
"submit_text": "Submit"
},
"booking": {
"additional_fields": [],
"additional_guests_hidden": true,
"available_days_in_future": 14,
"calendar_invite_to_guests": true,
"confirmation_emails_to_guests": true,
"confirmation_emails_to_host": true,
"confirmation_method": "automatic",
"min_booking_notice": 120,
"min_buffer": 30,
"min_cancellation_notice": 180,
"name_field_hidden": false,
"opening_hours": [
{
"account_id": "3aols9hb9fkqtso7zkzcmwgwv",
"days": [
"M",
"T",
"W",
"R",
"F"
],
"end": "17:00",
"start": "09:00"
}
],
"scheduling_method": "round-robin-maximize-fairness"
},
"calendar_ids": {
"<ACCOUNT_ID>": {
"availability": [
"<CALENDAR_ID>",
"<CALENDAR_ID>"
],
"booking": "<CALENDAR_ID>"
}
},
"event": {
"capacity": -1,
"duration": 45,
"location": "Coffee Shop",
"participants": [
{
"email": "[email protected]",
"name": "Katherine Johnson"
},
{
"email": "[email protected]",
"name": "Dorothy Vaughan"
},
{
"email": "[email protected]",
"name": "Mae Jemison"
}
],
"title": "30-min Coffee Meeting"
},
"expire_after": {
"date": 1633446000,
"uses": 5
},
"locale": "en",
"reminders": [
{
"delivery_method": "email",
"delivery_recipient": "customer",
"email_subject": "Your meeting is coming up!",
"minutes_before_event": 30,
"webhook_url": "https://your-webhook-url.com"
}
],
"timezone": "America/Chicago"
},
"name": "Coffee Meeting",
"slug": "dorothy-vaughan-30min"
}'

GET Return a Scheduling Page No Page Owner Response

This example response is for the No Page Owner sample Scheduling Page. When multiple participants are added, the access_token_infos, calendar_ids, and participants fields are updated. Including all potential participants allows for direct invitations for an event.

{
"access_token_infos": [
{
"account_email": "[email protected]",
"account_name": "Sally Ride"
},
{
"account_email": "[email protected]",
"account_name": "Katherine Johnson"
},
{
"account_email": "[email protected]",
"account_name": "Dorothy Vaughan"
},
{
"account_email": "[email protected]",
"account_name": "Mae Jemison"
}
],
"app_client_id": "8gllz10jsrqdlwqwiyri33ryj",
"app_organization_id": 1,
"config": {
"appearance": {
"color": "#0068D3",
"company_name": "",
"logo": "",
"show_autoschedule": true,
"show_nylas_branding": false,
"show_timezone_options": true,
"show_week_view": true,
"submit_text": "Submit"
},
"booking": {
"additional_fields": [],
"additional_guests_hidden": false,
"available_days_in_future": 14,
"calendar_invite_to_guests": true,
"confirmation_emails_to_guests": true,
"confirmation_emails_to_host": true,
"confirmation_method": "automatic",
"min_booking_notice": 120,
"min_buffer": 30,
"min_cancellation_notice": 180,
"name_field_hidden": false,
"opening_hours": [
{
"days": [
"M",
"T",
"W",
"R",
"F"
],
"end": "17:00",
"start": "09:00"
}
],
"scheduling_method": "round-robin-maximize-availability"
},
"calendar_ids": {
"<ACCOUNT_ID>": {
"availability": [
"<CALENDAR_ID>"
],
"booking": "<CALENDAR_ID>"
},
"<ACCOUNT_ID>": {
"availability": [
"<CALENDAR_ID>"
],
"booking": "<CALENDAR_ID>"
},
"<ACCOUNT_ID>": {
"availability": [
"<CALENDAR_ID>"
],
"booking": "<CALENDAR_ID>"
},
"<ACCOUNT_ID>": {
"availability": [
"<CALENDAR_ID>"
],
"booking": "<CALENDAR_ID>"
}
},
"event": {
"capacity": -1,
"duration": 45,
"location": "Location TBD",
"participants": [],
"title": "Meeting!"
},
"features": {
"collective_meetings": true,
"group_meetings": false
},
"locale": "en",
"reminders": [],
"timezone": "America/Los_Angeles"
},
"created_at": "2021-12-03",
"edit_token": "W9nfhXxNllWf2STRDfTXRqvJIA13z_qK",
"id": 42,
"modified_at": "2021-12-03",
"name": "Meeting!",
"slug": "slug-number-123"
}

Best Practices

Using a single <ACCESS_TOKEN> value results in that account receiving all invites to a Scheduling Page's events. Using multiple <ACCESS_TOKEN> values for potential participants results in direct invites each for an event.

What's Next