Skip to content

Create a Zoom integration

In this guide, you’ll learn how to create a Zoom integration with Nylas.

Prerequisites

  • Make sure you create a Zoom app and make note of the following as it will be needed later on:
    • Zoom client ID and secret.
    • The redirect URI used when you create a Zoom app.
  • You have a Nylas authenticated account.
    • You can follow our guides on hosted and native authentication if you need to authenticate a Nylas account.
  • Use the correct URL based on your location:
    • United States - https://beta.us.nylas.com
    • EU - https://beta.eu.nylas.com

Authenticate the Request

To authenticate the request, use your base64 encoded <NYLAS_CLIENT_ID:NYLAS_CLIENT_SECRET> for basic authentication. You can use the shell or Bash to encode your client ID and secret.

echo ‘<NYLAS_CLIENT_ID:NYLAS_CLIENT_SECRET>’ | base64
4oCYZDU3OTYzZDU1OGQxOmIzNTU5MmU1MTAxNuKAmQo=

Make a POST Request to connect/integrations

In this step, you’ll associate the Zoom integration with your Nylas application.

The request includes the following required fields.

ParameterTypeDescription
namestringThe name of the integration.
providerstringThe provider name (in this case, zoom).
settings.client_idstringYour Zoom app’s client ID.
settings.client_secretstringYour Zoom app’s client secret.
redirect_urisarrayAn array containing a list of redirect URIs. You can include multiple URIs, but at least one must match the Redirect URL for OAuth listed in your Zoom app, and one should be the URL that your end users are directed to after authentication.
expires_instringThe expiration date of the issued JWT. Defaults to 14 days (1,209,600 seconds).

Example Create Integration Request

curl --location --request POST 'https://beta.us.nylas.com/connect/integrations' \
--header 'Authorization: Basic <NYLAS_CLIENT_ID:NYLAS_CLIENT_SECRET>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Test Zoom app",
"provider": "zoom",
"settings":
{
"client_id": "<ZOOM_CLIENT_ID>",
"client_secret": "<ZOOM_CLIENT_SECRET>"
},
"redirect_uris": [
"https://your-app.com/callback-handler"
],
"expires_in": 1209600
}'

Example Create Integration Response

{
"success": true,
"data": {
"id": "a6fc8cad-f2dc-4d18-aee5-2fd8be988ece",
"name": "<APP_NAME>",
"provider": "zoom",
"redirect_uris": ["https://your-app.com/callback-handler"],
"expires_in": 1209600
}
}

Check out our guide on creating an integration endpoint.

Create a Zoom Authentication Request

Now that you have a Zoom integration set up, you’ll need to grant account access to Zoom.

During this step, you’ll pass in a Nylas account_id to have Zoom associate with the correct account. The response returns the authentication URL. Make sure to review the grant endpoint for more optional fields.

ParameterTypeDescription
providerstringThe provider name (in this case, zoom).
redirect_uristringThe URL that your end users are directed to after authentication. This should match the Redirect URL for OAuth in your Zoom app.
expires_instringThe expiration date of the issued JWT. Defaults to 14 days (1,209,600 seconds).
account_idstringThe ID of the Nylas account that can use the Zoom integration.

Example Create a Zoom Auth Request

The redirect_uri must match the Redirect URL for OAuth in Zoom.

curl --location --request POST 'https://beta.us.nylas.com/connect/auth' \
--header 'Authorization: Basic <NYLAS_CLIENT_ID:NYLAS_CLIENT_SECRET>' \
--header 'Content-Type: application/json' \
--data-raw '{
"provider": "zoom",
"redirect_uri": "https://your-app.com/callback-handler",
"expires_in": 43200,
"account_id": "<NYLAS_ACCOUNT_ID>"
}'

Example Create a Zoom Auth Response

The url is where the user will be directed to authenticate against Zoom. The redirect_uri is where they will be sent after authentication.

{
"success": true,
"data": {
"url": "https://example.com/connect/login?id=DTocdJxOIChnqgQe7KGxuM8Qxs2xiifQeCRG",
"id": "DTocdJxOIChnqgQe7KGxuM8Qxs2xiifQeCRG",
"expires_at": 1627543615,
"request": {
"provider": "zoom",
"redirect_uri": "https://your-app.com/callback-handler",
"account_id": "7keuifv5667vz4c3cvshe9lsm"
}
}
}

Check out our guide on the hosted authentication endpoint.

Redirect the User

In the previous step, Nylas returned an authentication URL. You’ll need to direct your user to that URL so they can authenticate the account against Zoom. The user will need to give consent so that the app is authorized to create conferencing objects on behalf of the user.

Nylas Directs the User

Once the user’s been authenticated, Nylas will send the user to the redirect URI specified earlier. We’ll also include the status of the grant, the grant_id, and the provider. An example of this is shown below:

/?success=true&provider=zoom&grant_id=9459b732-7165-4a1a-a1cd-8f88a6bda3fa

What’s Next?