You create an event from your app, and it needs a video link. Generating that link per provider, Meet for Google, a Zoom API call, a Teams meeting through Graph, is a separate integration for each. You just want the link to appear on the event.
The Nylas Events API adds conferencing as one field on the event. You either let it create the link automatically, or pass details you already have, and it lands on the event for every attendee.
How do I add a meeting link automatically?
Section titled “How do I add a meeting link automatically?”Add a conferencing object with an autocreate block and a provider to your event create or update request. Nylas generates a fresh meeting link and attaches it to the event. The provider is one of 3 providers: Google Meet, Zoom Meeting, or Microsoft Teams. The request below creates an event with an automatically generated conference link.
curl --request POST \ --url 'https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/events?calendar_id=<CALENDAR_ID>' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "title": "Team sync", "conferencing": { "provider": "Google Meet", "autocreate": {} }, "when": { "start_time": 1730000000, "end_time": 1730003600 } }'If the requested provider differs from the account the user authenticated with, or for any Zoom event, you also pass a conf_grant_id pointing to the grant that owns the conferencing account.
How do I add my own conferencing details?
Section titled “How do I add my own conferencing details?”When you already have a meeting link, use conferencing.details instead of autocreate to attach it manually, passing the URL and any access code or phone numbers. You can’t use autocreate and details in the same request, since they’re 2 fields you can’t combine, and Nylas returns an error if you include both. The request below attaches a pre-existing link with details.
curl --compressed --request POST \ --url 'https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/events?calendar_id=<CALENDAR_ID>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <NYLAS_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "title": "Annual Philosophy Club Meeting", "busy": true, "conferencing": { "provider": "Google Meet", "details": { "url": "https://meet.google.com/***-****-***", "pin": "xyz", "phone": ["+1 234 555 6789"] } }, "participants": [ { "name": "Leyah Miller", "email": "[email protected]" }, { "name": "Nyla", "email": "[email protected]" } ], "description": "Come ready to talk philosophy!", "when": { "start_time": 1674604800, "end_time": 1722382420, "start_timezone": "America/New_York", "end_timezone": "America/New_York" }, "location": "New York Public Library, Cave room", "recurrence": [ "RRULE:FREQ=WEEKLY;BYDAY=MO", "EXDATE:20211011T000000Z" ],}'To strip conferencing from an event later, set conferencing to {} and remove the matching conference text from the description. See add conferencing for the full field reference.
Things to know about event conferencing
Section titled “Things to know about event conferencing”A couple of provider rules matter. Zoom always requires a conf_grant_id, and your Zoom OAuth app needs 3 meeting scopes: meeting:write:meeting to create, meeting:update:meeting to update, and meeting:delete:meeting to remove the conference when the event changes or is deleted. Without those, the autocreate call fails.
Automatic conferencing covers the same 3 providers as Scheduler conferencing, Google Meet, Zoom, and Teams, so a link generated here behaves like one from a booking page. Manual details work on any event regardless of provider, since you supply the link yourself.
What’s next
Section titled “What’s next”- Add conferencing reference for the full conferencing schema
- Create Google events to create the events you add conferencing to
- Update and delete calendar events to change or remove a conference link
- Create a Scheduler booking config to create links automatically on booked meetings