Troubleshooting

If you've followed all the steps to set up the Zoom OAuth integration and your bot is still asking for permission to record your meetings, there are a few common pitfalls that you may be encountering. This guide is intended to help you debug these issues.

In order for a Zoom bot to fetch a join token for a specific meeting, Recall maintains a mapping of Zoom meeting ID's to Zoom OAuth Credentials. The first step in debugging issues with your Zoom OAuth integration should be to check whether a mapping exists between a meeting and your Zoom OAuth Credential.

Recall provides a debugging endpoint specifically to help with this. You should call this endpoint and include in the request body the meeting ID of the Zoom meeting where the bot failed to start recording automatically. For example, if a bot failed to join this meeting: https://zoom.us/j/2521853916, you would query the debugging endpoint and include 2521853916 as the meeting_id.

After this, there are two possible scenarios:

1. The Mapping Exists

If the meeting-to-credential mapping exists, it's likely that your problem is with the join token itself. If you're using Customer-Managed OAuth, you may be providing the join token from your endpoint in the wrong format or throwing an error when Recall calls your endpoint. A common mistake here is returning the token as JSON when you should be returning it as plaintext. You should check the logs on your server and the logs of the failed bot to find out more information.

2. The Mapping Does Not Exist

If you don't see any results after calling this endpoint, it means that Recall either didn't receive a webhook when this meeting was created, or that the webhook was sent to the wrong OAuth app. In that case, here's what you should do next:

Double Check Your Event Notification URL

Zoom will send a webhook to your event notification URL every time one of your OAuth'd users creates a new meeting. If the OAuth app ID in the event notification URL is incorrect or for the wrong OAuth app, Recall won't receive a webhook, and won't be able to fetch a join token for this meeting.

For simplicitly, we recommend ensuring you have only one Zoom OAuth app created in Recall. You can check this by calling the List Zoom OAuth Apps endpoint and making sure that the id of your OAuth app matches the id in your event notification URL.


Regenerate Your Zoom Authorization URL

If your Zoom app is showing the following banner:

Your Zoom app will not function properly until this is fixed. You'll need to go to the "Beta Test" section of your Zoom app and click "Regenerate" for the authorization URL:


Confirm Matching Client Secret and Webhook Secret

Your OAuth app created in Recall contains a hardcoded client secret and webhook secret. However, these can both be regenerated from the Zoom application. If you've regenerated either your client secret or webhook secret, the credentials in your Recall app are now out of sync with the new credentials, and will no longer work. Please reach out to support if this has happened to you.