Zoom OBF implementation in MeetStream

View as Markdown

This guide walks you through connecting your Zoom account to MeetStream so bots can join Zoom meetings using MeetStream’s hosted OBF (OAuth-based) flow. After setup, you enable Zoom on each bot by adding a small zoom block to your create bot request.


What you need

  • A Zoom account with permission to create apps in the Zoom App Marketplace.
  • Access to the MeetStream dashboard.
  • The same browser session for Zoom Marketplace configuration and for authorizing in the MeetStream dashboard (see below).

Step 1: Create a Zoom app and set the redirect URL

  1. Go to the Zoom App Marketplace and sign in.

  2. Create a new app (for example an OAuth app, following Zoom’s current marketplace flow for third-party integrations).

  3. In your Zoom app’s OAuth settings, add this Redirect URL for OAuth (also called callback or redirect URI in the Zoom UI). In the OAuth Information screen, put the same URL in OAuth Redirect URL and, if your app shows it, add it to OAuth Allow Lists:

    https://api.meetstream.ai/api/v1/admin/zoom/oauth/callback

    This must match the redirect URI MeetStream uses when sending users to Zoom; use the full path including /callback.

    Zoom App Marketplace: OAuth Information — OAuth Redirect URL and OAuth Allow Lists

    Development-stage example: enter MeetStream’s redirect URL in OAuth Redirect URL and list the same URL under OAuth Allow Lists.

  4. Complete any other required fields Zoom asks for (app name, scopes, etc.) and save the app according to Zoom’s documentation.

Use the exact URL above so MeetStream can complete the OAuth flow after you click Authorise in the dashboard.


Step 2: Connect Zoom in the MeetStream dashboard

Do this in the same browser you used for Zoom Marketplace setup, so cookies and redirects behave as expected.

  1. Open the MeetStream dashboard: https://app.meetstream.ai.
  2. Go to the Integrations tab.
  3. Choose the option to add your Zoom credential (the control labeled for connecting Zoom).
  4. Click Authorise (or the equivalent button) to start the Zoom consent flow.
  5. Approve access in Zoom when prompted. After a successful connection, MeetStream will show Zoom as connected for your account.

If authorisation fails, confirm the redirect URL in Step 1 matches exactly and try again from the Integrations tab.


Step 3: Enable Zoom on your bot (create_bot)

After Zoom is connected, include this in your create bot JSON body whenever you want MeetStream to use your connected Zoom account for joining the meeting:

1"zoom": {
2 "use_zoom_obf": true
3}

Example create_bot payload

1{
2 "meeting_link": "https://zoom.us/j/123456789?pwd=...",
3 "bot_name": "MeetStream Bot",
4 "audio_required": true,
5 "video_required": false,
6 "zoom": {
7 "use_zoom_obf": true
8 }
9}
  • meeting_link must be a Zoom meeting URL.
  • use_zoom_obf must be a boolean (true or false).

Do not send custom token server fields such as zoom.obf_url or zoom.zak_url; MeetStream supplies those when hosted Zoom auth is enabled.


Troubleshooting

IssueWhat to try
API returns an error about Zoom not being connectedReopen Integrations, confirm Zoom shows as connected, and run Authorise again if needed.
Redirect or “invalid redirect” from ZoomVerify the Zoom app redirect URL is exactly https://api.meetstream.ai/api/v1/admin/zoom/oauth/callback (including /callback), with no extra trailing slash unless Zoom requires it.
Error that use_zoom_obf is invalidEnsure it is a JSON boolean, not a string.
Bot created but meeting is not Zoomuse_zoom_obf is only for Zoom links; use a Zoom meeting_link.

Summary

  1. Zoom Marketplace: Create an app and set the OAuth redirect URL to https://api.meetstream.ai/api/v1/admin/zoom/oauth/callback.
  2. MeetStream dashboard: Integrations → add Zoom credential → Authorise (same browser as above).
  3. API: Add "zoom": { "use_zoom_obf": true } to your create_bot payload for Zoom meetings.