Add conferencing to events
While online calendar events can reflect in-person meetings, they're often used to schedule virtual and phone conferencing meetings. The Nylas Calendar API allows you to read conferencing details from an event, and create conferences automatically when you create events.
Nylas can natively read conferencing information, and you can manually write conferencing details into an event when you create it. You can also use a provider connector to automatically create and attach conferencing information when you create an event.
🔍 Nylas v3 supports automatic conference creation with Google Meet and Microsoft Teams. Autocreate with other conferencing providers is coming soon.
The Conferencing object
Events contain conference details in the conferencing
sub-object, as in the JSON snippet below.
"conferencing": {
"provider": "Google Meet",
"details": {
"url": "meet.google.com/***-****-***",
"pin": "xyz",
"phone": [
"+1 234 555 6789",
"+1 456 555 7890"
]
}
}
Each conferencing service provider structures the details differently, so the content of the conferencing
object can vary. See the Create Event schema for per-provider details.
Read conferencing details
Nylas automatically reads conferencing details on an event when they're available. (Remember, not all events will have an associated conference!) Regardless of how they're formatted on the provider's Event, Nylas parses them into the conferencing
object for easier reading.
Nylas v3 can currently read conferencing details from the following providers:
- Microsoft Teams
- Google Meet
- Zoom
- WebEx
- GoToMeeting
Manually add conferencing to an event
You can manually add conferencing to a meeting that you create by adding the conferencing
object with the required details — usually the provider and URL. This option requires no additional setup from you, and can be the most flexible if you work with many different conferencing providers.
When you manually add conferencing details, you must first create the conference on the provider, then copy the required details to the event before you make a Create Event request. Nylas does not create the conference instance for you when you manually add the information.
curl --request POST \
--url https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/events?calendar_id=<NYLAS_CALENDAR_ID> \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <NYLAS_API_KEY_OR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Annual Philosophy Club Meeting",
"status": "confirmed",
"busy": true,
"participants": [
{
"name": "Aristotle",
"email": "[email protected]"
},
{
"name": "Jane Stephens",
"email": "[email protected]"
}
],
"description": "Come ready to talk philosophy!",
"when": {
"time": 1700060400
},
"location": "New York Public Library, Cave room",
"recurrence": [
"RRULE:FREQ=WEEKLY;BYDAY=MO",
"EXDATE:20211011T000000Z"
],
}'
⚠️ Nylas validates only that the required fields are included and that they contain a value in the expected format. Nylas cannot validate that the details are valid conference lines or URLs.
You can create events that contain metadata. Nylas' response includes the conferencing details object.
Enable autocreate for conferencing
If you want your provider to automatically create a conference for you when you create an event, you can specify autocreate
in the provider
field instead of passing the details
object. You must still pass the provider
.
"conferencing": {
"provider": "Google Meet",
"autocreate": {}
}
The autocreate
object is an optional dictionary of additional parameters that you can use to customize the conference. Because these are provider-specific, Nylas does not validate any additional parameters that you pass in this object.
Get event conference information
When available, Nylas fetches conferencing information from the conferenceData
field on Google Calendar, or from location/description
on Microsoft Graph. It then parses that data into the conferencing
object in Nylas.
To view the conferencing
object, make either a Get Events request or a Get Event request.
The following examples show a Get Event request and a response from Nylas with the conference details.
curl --request GET \
--url https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/events?calendar_id=<NYLAS_CALENDAR_ID>&start=<EPOCH_TIMESTAMP>&end=<EPOCH_TIMESTAMP> \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <NYLAS_API_KEY_OR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json'
{
"request_id": "cbd60372-df33-41d3-b203-169ad5e3AAAA",
"data": [{
"busy": true,
"calendar_id": "primary",
"conferencing": {
"details": {
"meeting_code": "ist-****-tcz",
"url": "https://meet.google.com/ist-****-tcz"
},
"provider": "Google Meet"
},
"created_at": 1701974804,
"creator": {
"email": "[email protected]",
"name": ""
},
"description": null,
"grant_id": "1e3288f6-124e-405d-a13a-635a2ee54eb2",
"hide_participants": false,
"html_link": "https://www.google.com/calendar/event?eid=NmE0dXIwabQAAAA",
"ical_uid": "[email protected]",
"id": "6aaaaaaame8kpgcid6hvd",
"object": "event",
"organizer": {
"email": "[email protected]",
"name": ""
},
"participants": [
{
"email": "[email protected]",
"status": "yes"
},
{
"email": "[email protected]",
"status": "yes"
}
],
"read_only": true,
"reminders": {
"overrides": null,
"use_default": true
},
"status": "confirmed",
"title": "Holiday check in",
"updated_at": 1701974915,
"when": {
"end_time": 1701978300,
"end_timezone": "America/Los_Angeles",
"object": "timespan",
"start_time": 1701977400,
"start_timezone": "America/Los_Angeles"
}
}]
}
Conferencing limitations
- Nylas can read, but cannot create, Zoom, WebEx, and GoToMeeting conference details.
- Nylas doesn't support autocreate for cross-platform conferencing. This means that if you create a Google Calendar event, you cannot autocreate a Microsoft Teams conference for the event.
- If you need to create a cross-platform conference, you can manually add the conferencing details instead.