---
layout: integration
title: OAuth with Zoom
description: Authenticate users with an existing Zoom account
date: 2026-11-06
featured: false
isPartner: true
isNew: true
cover: /images/integrations/oauth-zoom/cover.avif
category: auth
product:
    vendor: Zoom
    description: "Zoom is a communications platform for video meetings, team chat, phone, and webinars."
platform:
    - 'Self-hosted'
    - 'Cloud'
---

Zoom is a communications platform for video meetings, team chat, phone, and webinars. Apps built on the [Zoom App Marketplace](https://marketplace.zoom.us/) use OAuth 2.0 to sign users in with their Zoom account and work with their meetings and profile.

# How does the integration work?

You can use the Zoom OAuth adapter in Appwrite Auth for user authentication and management. This can be convenient for users because they can start using your app without creating a new account, and it suits scheduling tools, meeting assistants, and other apps for people who already work in Zoom.

Appwrite requests the `user_info:read` scope and reads the user's ID, name, and email address from Zoom's `/v2/users/me` endpoint. The email address is marked as verified only when Zoom reports the account as verified. Zoom also shares the user's profile picture, which Appwrite uses for [user photos](/docs/products/avatars/user-photos) in Appwrite Avatars.

# How to implement

To implement the Zoom OAuth adapter in Appwrite Auth, there are several steps you must complete:

## Step 1: Create a Zoom app

First, sign in to the [Zoom App Marketplace](https://marketplace.zoom.us/), open **Develop**, and choose **Build an app**. Select **General app** and click **Create**. On the **Basic Info** page, under **Select how the app is managed**, choose **User-managed**, so each user authorizes the app for their own account.

Still on **Basic Info**, save the **Client ID** and **Client Secret** from **App Credentials**. Zoom generates development credentials for building and testing and production credentials for when you publish the app. You will set the redirect URL under **OAuth Information** in the next step.

Then open the **Scopes** page and add the scope that lets your app read the signed-in user's own profile, which Appwrite requests as `user_info:read` when it calls Zoom's `/v2/users/me` endpoint.

## Step 2: Add the Zoom OAuth adapter to your Appwrite project

For this step, you must [create an account on Appwrite Cloud](/sign-up) or [self-host Appwrite](/docs/advanced/self-hosting) if you haven't already. In your Appwrite project, head over to the **Auth** page, open the **Settings** tab, and click **Zoom** under the **OAuth2 Providers** section.

Enter the **Client ID** and **Client Secret** you saved from Zoom, turn the provider on, and click **Update**.

Copy the **Redirect URI** shown in the provider settings. It follows this format:

```text
https://<REGION>.cloud.appwrite.io/v1/account/sessions/oauth2/callback/zoom/<PROJECT_ID>
```

The URI starts with the API endpoint your app uses, so on self-hosted Appwrite it starts with your own domain. Always copy the exact value from the Console. Back on your Zoom app's **Basic Info** page, paste it into the **OAuth redirect URL** field under **OAuth Information**, add it to the **OAuth allow list**, and save.

## Step 3: Test the provider

Follow the [OAuth 2 login](/docs/products/auth/oauth2#init) flow to test your provider. Pass `OAuthProvider.Zoom` as the provider when you call `createOAuth2Session` from a client app or `createOAuth2Token` from a server. Add your app's domain as a platform in your Appwrite project so Appwrite accepts your `success` and `failure` URLs.

# Read more about Zoom and Appwrite Auth

If you would like to learn more about Zoom and Appwrite Auth, we have some resources that you should visit:

- [Create a Zoom app](https://developers.zoom.us/docs/integrations/create/)
- [Implement OAuth login in your apps using Appwrite Auth](/docs/products/auth/oauth2)
- [Understanding OAuth and OpenID Connect](/blog/post/oauth-openid)
- [Appwrite Auth API reference](/docs/references/cloud/client-web/account)
