# Troubleshooting Zoom Meetings

Source: https://developer.nylas.com/docs/provider-guides/zoom-meetings/troubleshoot-zoom/

This page describes common issues you might encounter when connecting to Zoom Meetings and how to troubleshoot them.

## Participants can't join round-robin meetings

If participants can't join round-robin meetings, check if `conf_settings.settings` has the following settings: `join_before_host: false` or `waiting_room: true`. You need to set these parameters to `join_before_host: true` or `waiting_room: false` to enable participant access.

## Zoom meeting updates or deletes fail with a scope error

If creating Zoom meetings works but updating or deleting them fails, your Zoom OAuth app is likely missing the newer granular scopes. Nylas now requires four scopes on your Zoom app:

- `meeting:write:meeting` (create)
- `meeting:update:meeting` (update)
- `meeting:delete:meeting` (delete)
- `user:read:user` (view user)

If you set up your Zoom app before these scopes were required, you may only have `meeting:write:meeting` and `user:read:user`. To fix this, go to your [Zoom App Marketplace](https://marketplace.zoom.us/) app, select **Scopes**, and add the missing scopes. Users who already authorized your app need to re-authorize to pick up the new scopes.

## Zoom meeting creation fails with invalid settings

If you try to create a Zoom meeting and Nylas returns an error message, you might have passed invalid settings to `conf_settings`. For more information about the valid parameter settings, see [Zoom's Create a Meeting API documentation](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/meetingCreate).

## Zoom rejects the Nylas redirect URI

If Zoom rejects `api.us.nylas.com` or `api.eu.nylas.com` when you try to save it as a redirect URI on your OAuth app, Zoom's automatic domain validation isn't recognizing the Nylas host. Zoom Support needs to manually allowlist the Nylas domain for your app, because their validation doesn't work with third-party OAuth hosts.

Post a request on the [Zoom Developer Forum](https://devforum.zoom.us/) and the Zoom developer relations team can help resolve it. See [If Zoom rejects your redirect URIs](/docs/provider-guides/zoom-meetings/#if-zoom-rejects-your-redirect-uris) for a forum post template you can adapt.

## Users from outside your organization can't authorize

If users from other domains get an error when trying to authorize with your Zoom app, your app likely needs to go through the [Zoom app review process](https://developers.zoom.us/docs/distribute/app-review-process/). Unpublished Zoom apps only work for users within your own organization. To allow external users, you must submit your app for review and publish it on the Zoom Marketplace.

## Zoom conferencing suddenly stops working

If Zoom conferencing was working and then stops, the user's Zoom refresh token may have expired. Zoom tokens expire after a period of inactivity. To fix this, the user needs to re-authenticate with Zoom through [Hosted OAuth](/docs/provider-guides/zoom-meetings/#connect-to-zoom-using-hosted-oauth) or [Bring Your Own Authentication](/docs/provider-guides/zoom-meetings/#connect-to-zoom-using-bring-your-own-authentication) to get a new token.

## Users can't authorize with an admin-managed app

If you selected **Admin-managed** instead of **User-managed** when creating your Zoom app, users in your organization need their Zoom admin to approve the app before they can authorize. Switch to **User-managed** in your Zoom app settings if you don't need organization-wide admin approval. See the [Zoom provider guide](/docs/provider-guides/zoom-meetings/#create-a-zoom-oauth-application) for the recommended setup.

## "Zoom Meeting" vs "zoom" provider value

Nylas uses two different provider values for Zoom depending on context:

- Use `zoom` when creating connectors and authenticating users.
- Use `Zoom Meeting` in the `conferencing.provider` field when creating events.

If you use the wrong value, the request may fail or Nylas may not recognize the provider.

## Orphaned Zoom meetings after event deletion

When you delete an event, Nylas deletes the calendar event first, then contacts Zoom to delete the meeting. If the Zoom delete fails (due to a missing `meeting:delete:meeting` scope, expired token, or Zoom API error), the calendar event is removed but the Zoom meeting persists. Check the [Zoom Meetings dashboard](https://zoom.us/meeting) directly to clean up orphaned meetings.

## Zoom meeting scheduled for the wrong time

If you create or update an event with a timestamp in the past, Nylas can update the calendar event, but Zoom can't schedule meetings in the past. Instead, Zoom creates the meeting for the time you made the API request. Make sure your event timestamps are in the future when using Zoom auto-conferencing.