Zoom Developer Forum

How to join registration-required meetings with a Zoom bot

Updated at:
October 14, 2025
Written By:
Aydin Schwartz

Question

People commonly ask on the Zoom Developer Forum:

How can I use the Zoom Meeting SDK headless Linux sample bot to join a meeting that requires registration? Using a registration join URL (with /w/ and tk params) leads to “connecting…disconnecting…meeting ended,” even though the meeting is active. Is there a way for the bot to join registration-required meetings?

Answer

When a meeting requires registration, your bot must join with both: - the meeting ID, and - the registration token (tk), plus a userEmail.

If you only pass a standard join link or omit tk, the SDK will fail to join and immediately disconnect.

What to do:

  1. Parse registration join URLs - Registration links are formatted like: https://{org}.zoom.us/w/{meeting_id}?tk={token}&pwd={password} - Ensure your parser handles the /w/ route and extracts:

    • meeting_id
    • tk (registration token)
    • pwd (if present)
    • In the headless Linux sample, adding "w" to the route check (e.g., include lastRoute == "w") clears the “Meeting ID cannot be blank” error.
  2. Include required parameters in the join request - Pass the meeting ID. - Include the tk token in the join request. - Include userEmail (required when registration is enabled).

  3. Linux Meeting SDK parameter note - The Linux Meeting SDK docs don’t explicitly list tk or userEmail for join. - Community workaround: pass tk using the webinarToken field in the join request.

If you follow the above (meeting ID + tk + userEmail), the bot can join registration-required meetings instead of immediately disconnecting.


Zoom Developer Forum Examples

Some examples of this question are:

Written By:
Aydin Schwartz