> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoom

> Schedule and manage Zoom meetings and access cloud recordings

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: OAuth 2.0.
* **Connection**: A user authorizes the connection in the provider's consent screen.
* **Scopes**: `user:read:user`, `meeting:read:meeting`, `meeting:read:list_meetings`, `meeting:write:meeting`, `cloud_recording:read:list_user_recordings`.
* **Docs**: [https://developers.zoom.us/docs/integrations/oauth/](https://developers.zoom.us/docs/integrations/oauth/)

## Credentials

Set these per environment. See [Connect an integration](/cloud/integrations).

With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.

| Variable             | Required | Description                                                                                                                   |
| -------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `ZOOM_CLIENT_ID`     | Yes      | Zoom OAuth Client ID (from your app in the Zoom App Marketplace) [Docs](https://developers.zoom.us/docs/integrations/oauth/). |
| `ZOOM_CLIENT_SECRET` | Yes      | Zoom OAuth Client Secret [Docs](https://developers.zoom.us/docs/integrations/oauth/).                                         |

## Setup

1. **Create a Zoom app**: Sign in at [https://marketplace.zoom.us/](https://marketplace.zoom.us/) (a free Zoom account works) and choose Develop → Build App → General App (user-managed).
2. **Configure the redirect URL**: In the app's OAuth settings, set the OAuth Redirect URL to your app URL ending in /api/auth/zoom/callback and add it to the allow list.
3. **Add scopes**: Under Scopes, add the granular scopes user:read:user, meeting:read:meeting, meeting:read:list\_meetings, meeting:write:meeting, and cloud\_recording:read:list\_user\_recordings.
4. **Copy credentials and verify**: Copy the Client ID and Client Secret into ZOOM\_CLIENT\_ID and ZOOM\_CLIENT\_SECRET, connect your account, and run the Get My Profile tool.

* The token endpoint authenticates the client with HTTP Basic (base64 of client\_id:client\_secret)
* Access tokens expire after 1 hour; refresh tokens are issued and expire after 90 days
* Apps created since 2024 use granular scopes (e.g. meeting:read:list\_meetings) instead of classic scopes like meeting:read

Provider API reference: [https://developers.zoom.us/docs/api/](https://developers.zoom.us/docs/api/)

## Tools

| Tool            | Access | Description                                                         |
| --------------- | ------ | ------------------------------------------------------------------- |
| List Meetings   | Read   | List scheduled or upcoming Zoom meetings for the authenticated user |
| Get Meeting     | Read   | Get details of a Zoom meeting by ID                                 |
| Create Meeting  | Write  | Schedule a new Zoom meeting for the authenticated user              |
| List Recordings | Read   | List cloud recordings for the authenticated user                    |
| Get My Profile  | Read   | Get the authenticated Zoom user's profile                           |

## Example prompts

* List my upcoming Zoom meetings with their start times and join links.
* Schedule a Zoom meeting with a topic, start time, and duration.
