---
title: How to set up the Zoom Meeting SDK for Join in browser in ZooMeet
description: "This guide sets up the **Meeting SDK** card in **ZooMeet** > **Settings** > **Connect**. With the Meeting SDK keys in place, ZooMeet adds a **Join in browser** button to every meeting page. Attendees type their name and join the meeting…"
url: "https://sovlix.com/docs/zoomeet-join-zoom-in-browser/"
updated: "2026-10-06"
category: ZooMeet / Setup
---

# How to set up the Zoom Meeting SDK for Join in browser in ZooMeet

This guide sets up the **Meeting SDK** card in **ZooMeet** > **Settings** > **Connect**. With the Meeting SDK keys in place, ZooMeet adds a **Join in browser** button to every meeting page. Attendees type their name and join the meeting inside your site, without installing the Zoom app.

This needs a second Zoom app, a General App with the Meeting SDK turned on, next to the Server-to-Server OAuth app you already connected. Keys from the Server-to-Server OAuth app do not work here. You set it up once.

By the end of this guide, you will have:

- A General App with the Meeting SDK turned on in the Zoom App Marketplace
- Your site's redirect URL added to that app
- The Meeting SDK **Client ID** and **Client secret** saved in ZooMeet, with a **Connected** badge
- A **Join in browser** button on your meeting pages
- A clear picture of what attendees see when they join in the browser

**Estimated setup time:** 5 to 10 minutes. The Meeting SDK is optional. Without it, meeting pages keep working and people join through the Zoom app or zoom.us.

## Before you begin

Make sure you have:

- Zoom connected with Server-to-Server OAuth first. See [How to connect Zoom with ZooMeet using Server-to-Server OAuth](https://sovlix.com/docs/connect-zoom-with-zoomeet/).
- A Zoom account where you are the owner or an admin, with permission to build apps in the Zoom App Marketplace
- An administrator account on your WordPress site
- A site served over **HTTPS**. Browsers only allow camera and microphone access on secure pages.

Let's get started.

## Step 1: Check whether the SDK keys are missing

While the Meeting SDK keys are empty, ZooMeet shows a notice at the top of **ZooMeet** > **Settings**.

[![Join In Browser Not Configured notice at the top of ZooMeet Settings](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-01-sdk-notice.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-01-sdk-notice.webp)
The notice reads "To allow joining events directly on your site, please configure the Zoom Meeting SDK credentials."

The clock icon hides the notice for a while, and the **×** dismisses it. Neither one adds the keys, so the in-browser join stays off until you finish this guide.

## Step 2: Open the Meeting SDK card

The card carries a short checklist of this guide and your site's redirect URL. Keep it open in its own tab while you work in Zoom.

1. Go to **ZooMeet** > **Settings** > **Connect**.
2. On the **Meeting SDK** card, marked **Optional**, click **Edit** (or the card itself if it is not connected yet).
3. Click **Where do I get these keys?** to open the built-in checklist.

## Step 3: Build a General App

Zoom now builds Meeting SDK apps as a **General App** with the Meeting SDK feature turned on.

1. Go to `https://marketplace.zoom.us/` and sign in with the same Zoom account.
2. In the left menu, click **Developers**, click **+** next to **Developer**, then **Build app**.
3. Select **General App** and click **Create**.

[![The app type dialog with General App selected and the Create button highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-02-zoom-choose-general-app.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-02-zoom-choose-general-app.webp)
General App is the first option in the dialog.

Zoom creates the app straight away with a default name such as **General app 123**.

1. Click the pencil icon next to the app name.
2. Type `ZooMeet SDK` and press **Enter**.

[![The app name field in edit mode with ZooMeet SDK typed in](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-03-zoom-name-general-app.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-03-zoom-name-general-app.webp)
Rename the app so you can tell it apart from the Server-to-Server OAuth app.

## Step 4: Make the app admin-managed

1. On **Basic Information**, under **Select how the app is managed**, choose **Admin-managed**.
2. Click **Save**.

[![Basic Information with Admin-managed selected and the Save button highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-04-zoom-admin-managed.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-04-zoom-admin-managed.webp)
Zoom warns that features and scopes need to be set up again. On a new app that is fine.

The subtitle under the app name changes to **Admin-managed app**.

## Step 5: Add your site's redirect URL

Zoom only redirects to addresses you register in advance. ZooMeet shows your site's exact address on the **Meeting SDK** card.

1. In the ZooMeet tab, in step 3 of the checklist, click **Copy** next to the redirect URL. The button briefly reads **Copied**.

[![The Meeting SDK card with the setup guide open and the Copy button next to the redirect URL highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-05-sdk-copy-redirect-url.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-05-sdk-copy-redirect-url.webp)
The redirect URL sits in step 3 of the checklist.

The URL looks like this:

```
https://brightpath.example.com/zmeet-zoom-oauth/
```

Your actual URL may look different. Always copy it from your own ZooMeet settings.

1. Back in Zoom, on **Basic Information**, scroll to **OAuth Information**.
2. Paste the URL into **OAuth Redirect URL** and click outside the field. Zoom saves it and adds the same URL under **OAuth Allow Lists** for you.
3. If **OAuth Allow Lists** stays empty, click **Add Allow List** and paste the URL there too.

[![OAuth Information with the redirect URL in OAuth Redirect URL and OAuth Allow Lists highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-06-zoom-redirect-url.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-06-zoom-redirect-url.webp)
The same address goes in both places. The OAuth URL below it is generated by Zoom.

**Important:** Never type this URL by hand. Zoom needs an exact match, including `https`, `www` and the trailing slash.

## Step 6: Turn on the Meeting SDK

1. In the left menu, under **Features**, click **Embed**.
2. Switch on **Meeting SDK**. Zoom shows **Saved** next to the app name.
3. Leave the other switches on this page off.

[![Embed page with the Meeting SDK switch turned on and highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-07-zoom-enable-meeting-sdk.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-07-zoom-enable-meeting-sdk.webp)
Only the Meeting SDK switch is needed. Contact Center SDK and Phone SDK stay off.

## Step 7: Add the ZAK scope

1. In the left menu, click **Scopes**, then **Add Scopes**.
2. Search for `user:read:zak:admin` and tick **View a user's Zoom Access Key**.
3. Click **Done**.

[![Add Scopes dialog with user:read:zak:admin searched and View a user's Zoom Access Key ticked](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-08-zoom-sdk-zak-scope.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-08-zoom-sdk-zak-scope.webp)
This is the only scope the Meeting SDK app needs.

After this, the status box on the right reads **Ready for local test**.

## Step 8: Add the app to your account

A General App only works on your account once you add it. Zoom calls this **Local Test**.

1. In the left menu, under **Add your app**, click **Local Test**.
2. Click **Add app now**.

[![Local Test page with the Add app now button highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-09-zoom-sdk-local-test.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-09-zoom-sdk-local-test.webp)
Add app now opens Zoom's permission screen in a new tab.

1. Check that Zoom asks for **View a user's Zoom Access Key** and nothing else.
2. Click **Allow**.

[![Zoom permission screen asking for permission to view a user's Zoom Access Key, with the Allow button highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-10-zoom-sdk-allow.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-10-zoom-sdk-allow.webp)
After you click Allow, Zoom sends you back to ZooMeet Settings through your redirect URL.

## Step 9: Copy the SDK keys and save them in ZooMeet

1. In Zoom, open **Basic Information** and scroll to **App Credentials**.
2. Click **Copy** next to **Client ID** and paste it into **Client ID** on the ZooMeet **Meeting SDK** card.
3. Click **Copy** next to **Client Secret** and paste it into **Client secret**.

[![App Credentials of the ZooMeet SDK app with the Client ID and Client Secret highlighted and their values hidden](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-11-zoom-sdk-credentials.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-11-zoom-sdk-credentials.webp)
Use the keys from this app, not the ones from ZooMeet Integration.

1. In ZooMeet, click **Save keys**. The button stays greyed out until both fields are filled.

[![The Meeting SDK card with the two masked key fields and the Save keys button highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-12-enter-sdk-keys.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-12-enter-sdk-keys.webp)
The keys stay hidden as dots once saved.

If you paste the Server-to-Server OAuth keys here by mistake, the card warns: **These match the Server-to-Server OAuth keys above. A Meeting SDK app issues its own pair.**

**Note:** Zoom cannot be asked whether SDK keys work, because they sign a token on your server rather than being swapped for one. **Connected** on this card means both keys are saved. The real test is joining a meeting, in Step 11.

## Step 10: Confirm both cards are connected

1. On **ZooMeet** > **Settings** > **Connect**, check that both cards show **Connected**.

[![Connect screen with Connected badges highlighted on the Server-to-Server OAuth and Meeting SDK cards](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-13-both-connected.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-13-both-connected.webp)
Both apps are connected. ZooMeet is ready to create meetings and run them in the browser.

## Step 11: Test the in-browser join

Open any public meeting page in a private browser window, the way a visitor sees it.

1. On the meeting page, click **Join in browser**. It opens in a new tab.

[![Meeting page card with Join in browser highlighted next to Join in Zoom app](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-14-join-in-browser-button.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-14-join-in-browser-button.webp)
Join in browser keeps people on your site. Join in Zoom app opens the desktop or mobile app instead.

1. Type your **Name**. **Email** is optional, and both are filled in for logged-in users.
2. Pick a **Language** for the Zoom controls.
3. Click **Join Event via Browser**.

[![Join form with Name, Email and Language fields and the Join Event via Browser button highlighted](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-15-join-form.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-15-join-form.webp)
The join page shows the meeting title and three fields.

If the host has not started yet, Zoom shows the meeting name, the scheduled time and **Waiting for the host to start the meeting.** The attendee is let in as soon as the host starts.

[![Zoom in-browser waiting screen reading Waiting for the host to start the meeting](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-16-waiting-for-host.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-16-waiting-for-host.webp)
Attendees wait inside your site. When the host starts, the meeting opens in the same tab.

To leave the waiting screen, click **Exit**. Zoom sends the attendee back to the meeting page.

## Inside the meeting

Once the meeting is running, attendees go through a short preview and then land in the meeting itself, all in the same browser tab.

1. On the preview screen, check the name on the tile. Use **Mute** and **Stop Video** to choose how you enter.
2. Click **Join**.

[![Zoom preview screen in the browser with the attendee name, Mute and Stop Video buttons, and the Join button](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-17-preview-before-join.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-17-preview-before-join.webp)
The preview lets attendees set their microphone and camera before they enter. Without a camera, Zoom shows a short warning and the name instead.

The meeting fills the tab. The person speaking or the active tile is shown large, and each tile carries the attendee's name.

[![In-browser Zoom meeting with a large name tile and the toolbar along the bottom](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-18-in-meeting.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-18-in-meeting.webp)
An attendee inside the meeting, on your own site.

The toolbar along the bottom holds every control:

- **Mute** turns your microphone on and off. The small arrow next to it picks the microphone and speaker.
- **Video** turns your camera on and off. A warning sign on it means the browser cannot find or use a camera.
- **Participants** shows who is in the meeting. The number shows how many people are there.
- **Share Screen** shares a window, a tab or your whole screen, if the host allows it.
- **Chat** opens the meeting chat.
- **Show Captions** turns on live captions, when the account has them.
- **Reactions** sends a quick emoji reaction.
- **Settings** and **More** hold audio, video and view options.
- **Leave**, at the far right, leaves the meeting.

To see who is in the meeting, click **Participants**. The panel opens on the right with each person's initials, name and microphone and camera status. Your own row ends in **(Me)**.

[![Participants panel open on the right, listing Liam Carter (Me) and Noah Kim with their microphone and camera status](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-19-participants.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-19-participants.webp)
The Participants panel lists everyone in the meeting.

To talk in writing, click **Chat**, type in the box at the bottom of the panel and press **Enter**. Messages go to everyone in the meeting.

[![Chat panel open on the right with the message Hi everyone, ready when you are, sent to Meeting Group Chat](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-20-chat.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-20-chat.webp)
Messages sent here reach everyone in the meeting.

**Tip:** If **Participants**, **Chat** or **Leave** does not respond to the first click, click it once more. The browser client sometimes needs a moment to take focus.

When you are done:

1. Click **Leave**.
2. Click **Leave Meeting** to confirm, or **Cancel** to stay.

[![Leave Meeting confirmation button above Cancel at the bottom right of the meeting](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-21-leave-meeting.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-21-leave-meeting.webp)
Zoom asks once before you leave.

After leaving, Zoom sends the attendee back to the meeting page on your site.

On a phone, the meeting uses the full screen. The toolbar shrinks to **Mute**, **Video**, **More** and **Leave**, and **More** holds participants, chat and the other controls.

[![Phone view of the in-browser meeting with a large name tile and the Mute, Video, More and Leave buttons](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-22-phone-in-meeting.webp)](https://sovlix.com/wp-content/uploads/2026/10/zoomeet-join-in-browser-22-phone-in-meeting.webp)
The same meeting on a phone browser.

## What visitors see

- On the meeting page: **Join in browser**, **Join in Zoom app**, the meeting link with a **Copy** button, and a calendar button.
- After **Join in browser**: a short form, then the Zoom meeting itself, with camera, microphone, chat and screen sharing in the browser.
- When they leave the meeting, Zoom sends them back to the meeting page.

Join buttons only appear to people who are allowed to join. If a meeting needs registration, a purchase or a course enrolment, visitors see that step first.

## Benefits of joining in the browser

- **No download:** Attendees join from any modern browser, even on locked-down computers.
- **People stay on your site:** The meeting runs inside your own page, under your address.
- **Same access rules:** The browser join checks the same rules as the meeting page, so a private meeting stays private.
- **The secret stays on your server:** ZooMeet signs each join on the server. The SDK secret is never sent to the browser.

## Troubleshooting

### There is no Join in browser button

ZooMeet only shows **Join in browser** when both Meeting SDK keys are saved, the visitor can join, and the meeting has a Zoom join link.

Check that:

- The **Meeting SDK** card shows **Connected**.
- You clicked **Save keys** after pasting the keys.
- The meeting is published, has not ended, and the visitor passes its access rules.

### "Zoom SDK credentials are not configured."

The join page could not find both SDK keys. Open **Settings** > **Connect** > **Meeting SDK**, paste the **Client ID** and **Client secret**, and click **Save keys**.

### "You do not have access to this event."

The meeting is limited to certain people, for example students enrolled in a course, and the visitor is not one of them. This is expected. Log in as an allowed user to test.

### "Cannot detect your camera" or a warning sign on Video

The browser cannot reach a camera. Check that a camera is connected, that no other app is using it, and that the browser has permission for this site (the camera icon in the address bar). Attendees can still join with audio only.

### "An unknown error has occurred, please try to refresh this page to rejoin the meeting."

This usually means the page was opened over plain **http**. The Zoom browser client needs **HTTPS**. Open the meeting page with `https://` and join again.

### Join in browser fails to start or the meeting never loads

The Meeting SDK app is not set up the way Zoom expects.

Check that:

- **OAuth Redirect URL** and **OAuth Allow Lists** contain the exact URL you copied from ZooMeet.
- **Meeting SDK** is switched on under **Embed** in the Zoom app.
- You added the app on **Local Test** and clicked **Allow**.
- The keys on the **Meeting SDK** card come from the **ZooMeet SDK** app, not from the Server-to-Server OAuth app.
- Your site uses **HTTPS**.
- Another Zoom plugin is not active on the same site. Two Zoom SDKs on one site can clash.

### Zoom asks attendees to sign in

The meeting has **Require authentication to join** turned on. Turn it off on the meeting's **Access and controls** step if guests should join without a Zoom account.

## Frequently asked questions

### Is the Meeting SDK required?

**No.** Without it, meeting pages still work and people join through the Zoom app or zoom.us.

### Can I use the same keys for both cards?

**No.** Each app issues its own **Client ID** and **Client Secret**. ZooMeet warns you if you paste the same pair into both cards.

### Does the browser join work on phones?

**Yes**, in a modern mobile browser. Many people on phones still prefer **Join in Zoom app**, which ZooMeet shows right below.

### Can hosts start the meeting from the browser join page?

**No.** The browser join always signs people in as attendees. Hosts start the meeting with **Start meeting** on the meeting page, or from Zoom.

## Security best practices

- Keep the SDK **Client secret** private. ZooMeet keeps it on the server and never prints it in the page.
- Use a separate Meeting SDK app for each site.
- If the secret leaks, regenerate it in Zoom, paste the new one, and click **Save keys**.
- Keep **Waiting room** or a passcode on for meetings that are not meant to be public.
- Deactivate or delete the Meeting SDK app in Zoom if you stop using **Join in browser**.

## You're ready to let people join in the browser

Your meeting pages now offer **Join in browser** next to **Join in Zoom app**, and attendees can join without installing anything. Next, create a meeting and try it end to end.

- [How to create your first Zoom meeting with ZooMeet](https://sovlix.com/docs/zoomeet-create-zoom-meeting/)
- [How to connect Zoom with ZooMeet using Server-to-Server OAuth](https://sovlix.com/docs/connect-zoom-with-zoomeet/)
- [How to set default meeting settings with ZooMeet](https://sovlix.com/docs/zoomeet-default-meeting-settings/)
