Zoom Developer Forum

How to join a Zoom meeting using the Zoom Meeting SDK

Published:
March 1, 2026
Updated:
June 23, 2026

Question: How do I use the Zoom Meeting SDK to join a meeting?

People commonly ask on the Zoom Developer Forum:

How do I join a Zoom meeting using the Zoom Meeting SDK? What steps are do I need to take to authenticate and connect to a meeting?

Answer

Joining a Zoom meeting with the Zoom Meeting SDK is straightforward once your SDK is initialized and authenticated correctly. Whether you are building a bot, embedding Zoom into your app, or creating a custom meeting experience, the flow follows a clear sequence.

Here is what you need to know.

Initialize and Authenticate the SDK

Before joining any meeting, you must initialize the Meeting SDK in your application and complete SDK authentication. This step ensures your app is authorized to interact with Zoom’s meeting infrastructure.

If you are hosting a meeting as a non-logged-in or API user, you must retrieve two values from the Zoom REST API:

  • User ID: This can be your email address or retrieved by sending a GET request to https://api.zoom.us/v2/users

  • Zoom Access Key (ZAK): Retrieve this by sending a GET request to /users/me/zak or /users/{userId}/token

Important: Even though the ZAK token is short-lived, do not expose or share the ZAK token after retrieving it.

To learn how to generate a ZAK token or what a ZAK token is, check out our blog on Zoom ZAK tokens.

Join a Meeting

To join a meeting as any user, you only need the meeting number and, if required, the meeting password.

Once your SDK instance is ready, call joinMeeting on the Meeting SDK instance:

const zoom = useZoom();

await zoom.joinMeeting({
  userName: displayName,
  meetingNumber: meetingNumber,
  password: meetingPassword,
});

That is it. After this call succeeds, the SDK connects your application to the specified meeting.

Start a Meeting (Optional)

If instead you are starting a meeting as a host using a ZAK token, call startMeeting:

const zoom = useZoom();

await zoom.startMeeting({
  userName: DisplayName,
  meetingNumber: MeetingNumber,
  zoomAccessToken: ZakToken,
});

The ZAK token is required when starting a meeting as a non-logged-in or API user.

Meeting Number vs Vanity ID

You can start a meeting using either a meeting number or a vanity ID, depending on your configuration. For joining, the meeting number is typically used along with the meeting password if the meeting requires one.

Summary: Joining a Zoom meeting using the SDK

To join a Zoom meeting using the Zoom Meeting SDK:

  1. Initialize and authenticate the SDK

  2. Ensure you have the meeting number (and password if required)

  3. Call joinMeeting with the appropriate parameters

  4. If you are hosting as a non-logged-in or API user, retrieve and securely handle the ZAK token before calling startMeeting.

How do you Join Multiple Zoom Meetings Using the SDK?

People sometimes ask if they can have a single Meeting SDK bot attend multiple Zoom meetings at the same time using the same SDK credentials. However, a single instance of the Zoom Meeting SDK cannot join multiple meetings concurrently. The SDK is designed to support only one active meeting session per instance or process. Therefore, if you attempt to join a second meeting from the same instance, you will encounter the error SDKERR_WRONG_USAGE.

To have a bot attend multiple meetings at the same time, you must run multiple SDK instances, with each instance joining exactly one meeting.

1. Run Separate Instances for Each Meeting:

  • You need to create a separate bot instance for each meeting you want to join. This can be achieved by starting separate processes or using containers (like Docker) on the same server. Each instance should independently execute the SDK initialization flow (InitSDK → SDKAuth → Join). The blog on how to join a Zoom meeting using an SDK provides a step-by-step tutorial on how to use the Meeting SDK.

2. Isolate Each Meeting:

  • Ensure that each meeting is fully isolated in its own process or container. Avoid sharing any global or singleton state across different meetings within the same process. This means that you should not attempt to multiplex multiple meetings through a single SDK initialization.

3. Manage Recording and Data:

  • Each bot instance will need to manage its own raw data and recording. After successfully joining a meeting, you can call CanStartRawRecording followed by StartRawRecording, and subscribe to the necessary audio and video streams as required.

4. Using the Same SDK Credentials:

  • You can run multiple instances of the bot concurrently, all using the same Zoom Meeting SDK credentials. The SDK supports high concurrency, so no special implementation is -needed to utilize the same credentials across different instances.

If managing multiple bot instances manually is not ideal for your use case, consider using a third-party API like Recall.ai, which can programmatically spin up meeting bots across different meetings.

By following these steps, you can effectively manage multiple meetings with your bot while adhering to the limitations of the Zoom Meeting SDK.

Check out our other blogs if you have more questions about Zoom SDK credentials or Zoom recording permissions.