Create a Zoom Integration
You’ll learn how to create a Zoom integration with Nylas.
You'll need to repeat the process for each account you want to connect.
Prerequisites
- Make sure you go through the steps in Create a Zoom App.
- Zoom client ID and secret
- Redirect URI used when creating a Zoom app.
- You have a Nylas authenticated account.
- Use the correct base 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:CLIENT_SECRET>
for basic authentication. You can use Shell or Bash to convert to base64 encoded.
echo ‘<NYLAS_CLIENT_ID:CLIENT_SECRET>’ | base64
4oCYZDU3OTYzZDU1OGQxOmIzNTU5MmU1MTAxNuKAmQo=
Make sure there is a colon between NYLAS_CLIENT_ID
and NYLAS_CLIENT_SECRET
.
Step 1: 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:
Name | Type | Description |
---|---|---|
name | string | Name of the integration. This is for your own identification. |
provider | string | Always zoom |
settings.client_id | string | The Zoom client ID from Create a Zoom App. |
settings.client_secret | string | The Zoom client secret from Create a Zoom App |
redirect_uris | array of strings | An array of redirect URIs. You can have multiple URIs here. At least one needs to match the Redirect URL for OAuth in your Zoom integration. One should be the URL that users go to after authentication. This is a web address you set up. |
expires_in | string | Issue the JWT token with the specified expiration date. Defaults to 14 days (1,209,600 seconds) optional. |
Example Create Integration Request
curl --location --request POST 'https://beta.us.nylas.com/connect/integrations' \
--header 'Authorization: Basic <NYLAS_CLIENT_ID:CLIENT_SECRET>' \
--header 'Content-Type: application/json' \
--data-raw '
{
"name": "<APP_NAME>",
"provider": "zoom",
"settings": {
"client_id": "<ZOOM_CLIENT_ID>",
"client_secret": "<ZOOM_CLIENT_SECRET>"
},
"redirect_uris": [
"https://some-url.com/connect/callback",
"https://another-url.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://some-url.com/connect/callback",
"https://another-url.com/callback-handler"
],
"expires_in": 1209600
}
}
Learn More
Step 2: Create a Zoom Auth Request
Now that you have a Zoom integration, you’ll need to grant account access to Zoom.
During this step, you’ll pass in a Nylas account_id
to associate Zoom to the correct account. The response returns the authentication URL. Make sure to review the Grant endpoint for more optional fields.
Name | Type | Description |
---|---|---|
provider | string | Always zoom |
redirect_uri | string | Needs to match the Redirect URL for OAuth in your Zoom integration. |
expires_in | string | Issue the JWT token with the specified expiration date. Defaults to 14 days (1,209,600 seconds) optional. You're able to overwrite at the grant level |
account_id | string | Nylas account_id that can use the Zoom integration. |
You’ll notice some of the fields you used for Integration are also in Grants. You can set Integration defaults but override them at the Grant level.
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:CLIENT_SECRET>' \
--header 'Content-Type: application/json' \
--data-raw '{
"provider": "zoom",
"redirect_uri": "https://some-url.com/connect/callback",
"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 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://some-url.com/callback-handler",
"account_id": "7keuifv5667vz4c3cvshe9lsm"
}
}
}
Learn More
Step 3: Redirect the User
In Step 2 - Create a Zoom Grant, Nylas returned an authentication URL. 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.
Step 4: Nylas Directs the User
Once the user has been authenticated, Nylas will send the user to the redirect URI specified in Step 1 or Step 2. We’ll also include the status of the grant, grant ID, and provider.
/?success=true&provider=zoom&grant_id=9459b732-7165-4a1a-a1cd-8f88a6bda3fa
Success!
At this point, the authentication is successful, and the user can start creating Zoom Meetings.