Using server-to-server app and scopes to get transcripts

I’m doing discover work on enhancing our integration to pull transcripts from Zoom via the API. I defined a server-to-server app but some of the scopes needed cannot be added to a server-to-server app–

cloud_recording:read:

  • list_recording_files:admin
  • meeting:read:summary:admin
  • meeting:read:list_summaries:admin

I was able to add only –

  • cloud_recording:read:recording:admin
  • cloud_recording:read:meeting_transcript:admin

I haven’t completed the design yet so I’m not 100% certain what APIs and scopes I will need. From what I understand there are two types of transcripts, those from recordings and those from AI Companion. I want to try both.

I have read the only two work-arounds are to switch to a General App where a user will have to authorize or ask Zoom Support to remove the restriction on those scopes for server-to-server apps in the Account. And of course anyone of our customers that users our integration would then have to do that.

Anyone else experience this restriction have is so, can you related how you dealt with it?

Since you’re targeting external customers, S2S won’t work here as it’s intended for internal/private use only. You’ll need to create a General App with the following scopes and webhooks:

Scopes:
• cloud_recording:read:list_recording_files:admin
• meeting:read:summary:admin
• meeting:read:list_summaries:admin
• cloud_recording:read:recording:admin
• cloud_recording:read:meeting_transcript:admin

Webhooks:
• Recording Completed
• Summary Completed

For authorization level, if your customer authorizes as an admin, your integration will automatically have access to all users’ meetings, recordings, and transcripts under their entire account. If authorized at the user level, you’ll only get data for that individual user. So make sure your OAuth flow requests admin-level authorization from the customer to cover all sub-users under their Zoom account.

Also note, for external users to access your app, it must be published and approved on the Zoom Marketplace. Until then, you can build and test within your own account’s users.

Thanks,
Naeem Ahmed

I figured out the issue. My user was in a role that did not have two required permissions. That is why create server-to-server app failed. I was able to create a general app but then I got an error for the missing scopes at run time.

I had our Account Owner grant my role the two needed permissions. Now the General App does not fail at runtime. And it lets me save the server-to-server app and that works also.