Zoom (Server-to-Server app)

Connect Zoom to your Workspace to schedule, change, and cancel meetings, see who attended, find cloud recordings, read meeting transcripts, and list webinars — by asking the assistant or from features in your workspace.

Zoom connects through a Server-to-Server OAuth app that you create in your own Zoom account. It’s an internal app: only your Zoom account can use it, and it doesn’t need to be published or reviewed.

What Luo can do

What Luo can do depends on the scope groups you add to the app:

  • Users — list the users in your Zoom account and look up a user’s profile and timezone
  • Meetings — list a user’s scheduled, live, upcoming, and past meetings, read a meeting’s details, and create, change, or cancel meetings, including recurring meetings and single occurrences
  • Attendees — see who joined a past meeting, and when they joined and left
  • Recordings — list a user’s cloud recordings and the files of a recorded meeting
  • Transcripts — read the transcript of a recorded meeting, with who said what
  • Webinars — list a user’s webinars and read their details

Luo asks for your confirmation before it creates, changes, or deletes a meeting, and shows you what it’s about to do. You can choose to always allow an action: for creating meetings this covers new meetings for that host, and for changing or deleting it covers only that one meeting. Reading doesn’t ask for confirmation.

What Luo can’t do

  • Download recording files. Luo links to a recording’s playback and share pages, which open in Zoom. Use the transcript for what was said.
  • See local recordings. Only cloud recordings are available to apps.
  • Share host start links. Luo returns a meeting’s join link for participants, never the link that starts the meeting as host.

Each group you add covers your whole Zoom account

A Server-to-Server OAuth app isn’t tied to one person. What it can reach depends on the scope groups you add, but each group you add covers every user in your Zoom account. For example:

  • Meetings lets Luo read the meetings of every user, and — with the write, update, and delete scopes — create, change, or delete meetings for any of them.
  • Past meeting participants shows who attended any user’s past meetings.
  • Recordings & transcripts reaches every user’s cloud recordings and meeting transcripts.
  • Webinars reaches every user’s webinars.

Zoom connects as a workspace integration, so every member of the Luo workspace can use that access through the assistant and through your workspace’s features. Before you connect, add only the groups you need, and make sure everyone in the workspace should see that Zoom data. Luo still asks for confirmation before it creates, changes, or deletes a meeting.

Before you start

  • Who can create the app: a Zoom account owner or admin, or a user whose role has the Server-to-Server OAuth app permission and permission for the scopes you add in step 4.
  • Recordings, transcripts, and attendee lists need a paid Zoom plan with cloud recording. For transcripts, also turn on Create audio transcript in the Zoom web portal under Settings → Recording → Cloud recording. Only meetings recorded after you turn it on have a transcript.
  • Webinars need a Zoom Webinars license.

Meetings work on any Zoom plan.

How to connect

1. Create a Server-to-Server OAuth app in Zoom

  1. Sign in to the Zoom App Marketplace.
  2. Click the blue + button next to Developer, then click Build app.
  3. Choose Server-to-Server OAuth app and click Create.
  4. Name the app, for example Luo.

2. Copy the app credentials

On the App Credentials page, copy the Account ID, Client ID, and Client Secret. You’ll paste them into Luo in step 6.

3. Fill in the app information

On the Information page, fill in the required Company name and the Developer contact name and email.

4. Add the scopes

Scopes are grouped by feature. On the Scopes page, click Add Scopes and add the Users scopes, plus the scopes of each group you want Luo to use:

Group Scopes
Users (required)
Finding users in your Zoom account, and the Default Zoom user dropdown
user:read:user:admin
user:read:list_users:admin
Meetings
Listing and viewing meetings; creating, changing, and deleting them. For read-only meetings, add only the two read scopes.
meeting:read:list_meetings:admin
meeting:read:meeting:admin
meeting:write:meeting:admin
meeting:update:meeting:admin
meeting:delete:meeting:admin
Past meeting participants
Who attended a past meeting
meeting:read:list_past_participants:admin
Recordings & transcripts
Cloud recordings and meeting transcripts
cloud_recording:read:list_user_recordings:admin
cloud_recording:read:list_recording_files:admin
cloud_recording:read:meeting_transcript:admin
Webinars
Listing and viewing webinars
webinar:read:list_webinars:admin
webinar:read:webinar:admin

Luo refuses to connect only when a Users scope is missing, and names the missing scope. The other groups are up to you:

  • After connecting, the connection shows which groups are on, for example Zoom account … (Meetings, Webinars). (partial) after a group means only some of its scopes were added — for example read-only meetings. users only means no optional group is on.
  • To add a group later, add its scopes on the app’s Scopes page in Zoom. They take effect in Luo within about a minute, with no need to reconnect. The groups shown on the connection update the next time you connect.
  • If someone asks Luo for something the app’s scopes don’t cover, Luo replies with the exact scope a Zoom admin needs to add.

5. Activate the app

On the Activation page, click Activate your app. The app’s credentials don’t work until it’s activated.

6. Connect Zoom in Luo

  1. Open your workspace in Luo, go to Settings → Integrations, and click Add Integration.
  2. Select Zoom (Server-to-Server app). It connects as a workspace integration, shared across members.
  3. Paste the Account ID, Client ID, and Client Secret from step 2.
  4. Click Create Integration. Luo checks the credentials and scopes with Zoom before saving them.

Optionally, set a Default Zoom user — the user whose meetings, recordings, and webinars Luo uses when a request doesn’t name one. Once Zoom is connected, select Zoom (Server-to-Server app) under Settings → Integrations, click Edit settings, and pick the user. Without a default, name the user in each request.

Using Zoom in Luo

Ask the assistant in plain words. Name the Zoom user (by name or email) when a request isn’t about the default user. For example:

  • “Schedule a 30-minute Zoom meeting for anna@example.com with the design team tomorrow at 10am.”
  • “Set up a weekly Zoom check-in every Monday at 9:00 for the next two months.”
  • “What Zoom meetings does Mark have this week?”
  • “Move Thursday’s product review to 3pm.”
  • “Cancel next Monday’s check-in, but keep the rest of the series.”
  • “Summarize the transcript of yesterday’s customer call.”
  • “Who attended this morning’s all-hands, and who left early?”
  • “List Anna’s cloud recordings from last month.”
  • “What webinars does our marketing account have coming up?”

You can also ask the assistant to build features on top of Zoom — for example a page that lists the team’s upcoming meetings, or a task that summarizes each recorded meeting and saves the notes to a table.

Good to know

  • Transcripts take time. Zoom creates the transcript after the recording finishes processing — usually minutes after the meeting ends, sometimes hours. If a transcript isn’t ready yet, the assistant tells you; try again later.
  • Recurring meetings share one meeting ID. Asking about “the last” session of a recurring meeting gets the most recent one. To work with an earlier session, ask for it by date.
  • Zoom’s daily limit. Zoom allows up to 100 meeting creates and changes per user per day, and resets the limit at midnight UTC.

Troubleshooting

  • “The Zoom app is missing required scopes …” — a Users scope is missing. Add the scopes named in the message on the app’s Scopes page (step 4), then connect again.
  • “This Zoom connection doesn’t include …” — the request needs a scope group the app doesn’t have. Add the scope named in the message on the app’s Scopes page; it works within about a minute, without reconnecting.
  • Luo can’t connect, or Zoom stopped working — check that the app is activated (step 5) and that the Account ID, Client ID, and Client Secret match the app’s App Credentials page. If someone regenerated the client secret or deactivated the app, see Rotating the client secret.
  • Luo asks which user — the request didn’t name a Zoom user and no Default Zoom user is set. Name the user, or set a default under Edit settings (step 6).
  • No recordings, attendees, or transcripts — these need a paid Zoom plan with cloud recording. For transcripts, check that Create audio transcript is on and that the meeting was recorded to the cloud.
  • No webinars — the Zoom user needs a Webinars license.

Rotating the client secret

Regenerating the client secret on the app’s App Credentials page breaks Luo’s connection until Luo has the new secret. To reconnect, remove the integration in Luo (Settings → Integrations → Zoom (Server-to-Server app) → Remove integration) and connect it again with the new client secret. Workspace features that use Zoom need it connected again before they work.

Removing Zoom

  1. In Luo: open Settings → Integrations, select Zoom (Server-to-Server app), and click Remove integration. Luo deletes the stored Account ID, Client ID, and Client Secret, and Zoom is disconnected for everyone in the workspace.
  2. In Zoom: in the Zoom App Marketplace, open the app you created under Created apps and deactivate it on its Activation page, or delete it. Its credentials then stop working.

Removing Zoom doesn’t delete what Luo has already read — for example answers in your conversations with the assistant, or meeting notes your workspace saved to a table. You can delete those yourself at any time. To have Luo delete all data it holds from your Zoom account, email support@luo.app; see Support.

Privacy and data handling

Luo stores the app credentials encrypted and uses them only to talk to Zoom when you or your workspace ask. Data flowing through Luo is governed by Luo’s security and privacy practices and the Privacy Policy.