Webinars


Use the client.join() function to start and join Zoom webinars.

On this page

Prerequisites

Here are the properties for the client.join() function. You can get the Webinar number, password, and registrant tk from the Zoom Webinar APIs.

KeyValue Description
sdkKeyRequired, your SDK Key.
signatureRequired, your SDK JWT Signature.
meetingNumberRequired, the Zoom Meeting or Webinar Number.
passwordRequired, leave as empty string if the Meeting or Webinar only requires the waiting room.
userNameRequired, the name of the user starting or joining the Meeting or Webinar.
userEmailRequired for Webinar, optional for Meeting, required for Meeting and Webinar if registration is required. The email of the user starting or joining the Meeting or Webinar.
tkRequired, the registrant's token if your Meeting or Webinar requires registration.
zakRequired, the host's Zoom Access Key (ZAK) token if you are starting a Meeting or Webinar.

For the full set of client.init() and client.join() properties, as well as the Web Meeting SDK APIs and event listeners, see the Component View Reference.

Start Webinar

To start a Zoom Webinar, you must use a role value of 1 in your SDK Signature, include the userEmail property, and pass in the Webinar host's zak token. This enables your Web Meeting SDK to start the Webinar.

client.join({
  sdkKey: sdkKey,
  signature: signature, // role in SDK Signature needs to be 1
  meetingNumber: meetingNumber,
  password: password,
  userName: userName,
  userEmail: userEmail, // userEmail property required
  zak: zakToken // the host's zak token
})

Join Webinar

To join a Zoom Webinar, you must use a role value of 0 in your SDK Signature, and include the userEmail property. This enables your Web Meeting SDK to join any Webinar.

client.join({
  sdkKey: sdkKey,
  signature: signature, // role in SDK Signature needs to be 0
  meetingNumber: meetingNumber,
  password: password,
  userName: userName,
  userEmail: userEmail // userEmail property required
})

Join Webinar with Registration Required

Web Meeting SDK Component view v2.1.0 and above enables users to join registered webinars automatically. Your app handles the join process automatically using the registration token retrieved via the Zoom API.

This feature uses the registration token denoted by the tk value in the query parameter in the registrant's join_url:

"join_url": "https://example.zoom.us/w/12345?tk=TOKEN"

To get a registrant's token and join the webinar

  1. Call Add a webinar registrant, List webinar registrants, or Update registrant's status.
  2. Get the tk value from the response:
{
  "registrant_id": "ESJWWYqvTDWFGNUqJzB_bQ",
  "id": 96231721187,
  "topic": "My Registered websdk Webinar",
  "start_time": "2021-05-31T14:00:00Z",
  "join_url": "https://example.zoom.us/w/12345?tk=JtbsW3pp3KxPLLrE_y7-968kggkV7R5czHM9c0tVvgpM.DQIAAAAWZ9uI4xZFU0pXV1lxdlREV0ZHTlVxSnpCX2JRAzzzzzz&pwd=Ri0TkdxhXeWRUOITyT3ZDZmOOOGwxQT09&uuid=XX_pII1ZlzIQ42xx3zA2zYrrU"
}

The tk value above is JtbsW3pp3KxPLLrE_y7-968kggkV7R5czHM9c0tVvgpM.DQIAAAAWZ9uI4xZFU0pXV1lxdlREV0ZHTlVxSnpCX2JRAzzzzzz

JavaScript Example

var registrantToken = new URL(response.join_url).searchParams.get('tk')

// JtbsW3pp3KxPLLrE_y7-968kggkV7R5czHM9c0tVvgpM.DQIAAAAWZ9uI4xZFU0pXV1lxdlREV0ZHTlVxSnpCX2JRAzzzzzz
  1. Set the registrant token as the value for tk in client.join():
client.join({
  sdkKey: sdkKey,
  signature: signature,
  meetingNumber: meetingNumber,
  password: password,
  userName: userName,
  userEmail: userEmail, // userEmail property required
  tk: registrantToken // JtbsW3pp3KxPLLrE_y7-968kggkV7R5czHM9c0tVvgpM.DQIAAAAWZ9uI4xZFU0pXV1lxdlREV0ZHTlVxSnpCX2JRAzzzzzz
})

Next Steps

Need help?

If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.