Zoom 3rd Party Recording Token
Enable Zoom bots to record without using local recording permissions.
A 3rd party recording token is a closed beta Zoom feature that allows bots to join calls and start recording automatically, regardless of the user's local recording setting.
If a bot has 3rd party recording token access, there is no recording consent or recording notification presented by the Zoom client.
This is particularly useful for larger enterprises that cannot allow allow local recording for security purposes.
Setup
In practice, implementing this feature is done through an account-level Zoom OAuth application, which is supported through Recall's Zoom OAuth Integration.
Native bots
Currently, Zoom only supports this through the SDK used by Zoom Native Bots.
More info on this can be found below.
1. Create a Zoom Account-level OAuth App
Create an account-level app by going to the Zoom marketplace and selecting Develop > Build App:
Select General App:
Make sure to configure the app to be admin-managed (account-level):
2. Add scopes
Navigate to Build your App > Scopes and click Add Scopes
Add the following scopes:
Scope Name | Purpose |
---|---|
meeting_token:read:admin:3rdpartyrecording | This scope is used to retrieve the "3rd party recording token", which is provided to the bot to allow it to automatically begin recording without prompting the host for permission. |
meeting:read:list_meetings:admin | This scope is used to enumerate all users' scheduled meetings, so that a 3rd party recording token can be generated when a bot is sent to one of their meetings. |
user:read:list_users:admin | This scope is used to read the users' Personal Meeting ID (PMI), so that a 3rd party recording token can be generated when a bot is sent to their PMI. |
In the scope description, you should use the above to explain the purpose for each scope:
3. Create the OAuth App in Recall
Copy the following app details:
- Client ID
- Client Secret
- Webhook secret
Your client ID and client secret can be found under Build your app > Basic Information or in the Application Credentials card in the top left.
The Zoom App Secret Token can be found under Build your app > Features > Access
Use these values to create the OAuth app in Recall.
This can be done through the API Explorer dashboard. Links for each region can be found below:
Select Create App, fill out the app details, and click Create.
Make sure to select Admin-managed.
4. Add the Zoom Event Subscription
View your newly created app. On the resource card, select more and copy the webhook URL:
In your Zoom app, navigate to Build your app > Features > Access.
Toggle on Event Subscription, and click Add a subscription:
Paste the copied webhook URL into the Event notification endpoint URL field.
Click the Add Events button and add these two events:
Meeting > Meeting has been created
User > User's profile info has been updated
5. Implement the OAuth flow
Now that you have your app setup, the last step is to enable your users to authorize their accounts. The OAuth flow for the 3rd party recording token is the exact same as the normal Zoom OAuth integration, which you can find a guide for here.
Once a Zoom account goes through this flow and connects your OAuth app, Recall will continually sync Zoom meetings for all users in the account. 3rd party tokens will automatically be provided for any of the synced Zoom meetings for the account, and bots will be able to record without local recording permissions.
6. Request access and enable 3rd party recording
3rd party recording must be available and enabled on the Zoom account that will connect your app.
Important: 3rd party recording access
An admin must first contact Zoom support and request access for their Zoom account in order to access the 3rd party recording feature.
Before directing the Zoom admin through the OAuth flow, ensure 3rd party recording is available on their Zoom account.
They should also confirm this is enabled under: Account Settings → Recording → Allow 3rd-party recording
Once they've gone through the OAuth flow and authorized their Zoom account, 3rd party recording tokens will automatically be provided for all of their bots.
Bot configuration
Since the 3rd party recording token is only supported by the Zoom Native Bot, if you're currently using the default Web bot, you'll need to add one additional parameter.
For bots using the 3rd party recording token, you must configure your Create Bot requests to specify native Zoom bots by setting the variant.zoom
parameter to native
:
curl --request POST \
--url https://us-east-1.recall.ai/api/v1/bot/ \
--header 'Authorization: {RECALLAI_API_KEY}' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"variant": {
"zoom": "native"
},
"meeting_url": "...",
...
}
'
Updated 12 days ago