Unable to map meeting registrant id with live participant id

@tommy Is there a resolution to the original topic of this thread?

Thank you

Hey @tommy,

Any update on the Registrant ID being overwritten with a user ID when an attendee joins with their url while signed-in Zoom for a registration required meeting?

Actually, it looks like when a registrant joins a meeting without signing-in Zoom, the Participant ID is blank

Hi @tommy ,

Hope you are well!

We are also looking for this.

In the meeting.registration_created webhook, a Registrant ID and join_url is returned in the payload. We would expect that if a user joins the meeting from that same join_url, that the Registrant ID would be in the returned payload from the meeting.participant_joined webhook. This way we can reliably map registered users to users that join the meeting.

Thank you for your help with this

Hey @fred, @neecholai,

Per the docs,

We are working on persisting the registration id even if they have not logged in, while using the registration join_url in a future release.


Hi @tommy,

Do you have an update on this issue?

Our current workaround is to use the registrant email for registration required meetings to map to the original registration and it works for 90% of cases if they login Zoom or not, but if they login Zoom with a different email it obviously doesn’t work.

The fix would be to simply emit the original registrant id even if they don’t login Zoom to join the meeting.

Let me know - thanks!

Hey @fred,

No updates yet, but that is the scenario we are considering while developing this.


OK, thanks for the update.

Eagerly awaiting good news :slight_smile:

Participant email is now encrypted!

So as of this morning, it looks like you are now returning Participant emails encrypted? So our workaround isn’t working anymore because we can’t even match the original registrant to an email.

I didn’t see this change announced or in the change log. Can we be given a heads up before things change drastically like this? It breaks our solution for hundreds of customers.


1 Like

Hi @tommy,

Looks like these rules from the docs aren’t accurate anymore.

Here’s what I found with my testing this AM (anonymized real info):

  • Case 1: John Doe johndoe@domainone.com - using Zoom without logging in (iMac)

    • Registrant ID when registering: OwWzMgReRdu-aGu68QEflB
    • Participant ID when meeting completed: OwWzMgReRdu-aGu68QEflB
    • Participant name when meeting completed: John Doe
    • Participant email when meeting completed: Lgd_R8DXZNfTj2L0XzKZMiSUsN-kaKilevRS4S4ENa6g7Wssfyr6.H-GFuoxOBffzYFot@domainone.com
    • Conclusions
      • Same name is reported
      • Registrant ID & Participant ID are the same
      • Email is encrypted except the domain name (same as registrant)
  • Case 2: Lisa Cargill (lisa@domaintwo.com) - Using Zoom logging in Zoom with another email: Ben Salem ben@domainthree.com (iPhone)

    • Registrant ID when registering: _oGEOFoNTLqC9soQU_BGPf
    • Participant ID when meeting completed: JXJdhVT4TvKp6yMIZrj6nb
    • Participant name when meeting completed: Lisa Cargill
    • Participant email when meeting completed: 9Uj3SNO9k6jpH_VGilPyhovgoF0gzs_wjwqh4bMHvRh8qfrr.eelaTcsnFrfy-h7V@domaintwo.com
    • Conclusions
      • Same name is reported
      • Registrant ID & Participant ID are different
      • Email is encrypted except the domain name (same as registrant)
  • Case 3: Jerry Seinfeld (jerry@domainfour.com) - Using Zoom logging in with the same email on Mac)

    • Registrant ID when registering: ngyeNHW1S7mFnuyyqwlnmB
    • Participant ID when meeting completed: FjUFBPVhQs6ISiowyqaTDB
    • Participant name when meeting completed: Jerry Seinfeld
    • Participant email when meeting completed: TyWQUWetzsv6A3-fMWn8PQoTBT-JJo1Ubd1CBlNQBayhAcU.RTAhV8W_1XKgdaN0@domainfour.com
    • Conclusions
      • Same name is reported
      • Registrant ID & Participant ID are different
      • Email is encrypted except the domain name (same as registrant)
  • Additional conclusions:

    • All Participants’ name showed accurately.
    • Host shows up as a participant as well

I’m seeing the exact same thing as Fred. Even though the doc says Participant ID = Registrant ID when registration required, it doesn’t. That gives me no way of matching a registrant created through /meetings/{meetingId}/registrants to the participant delivered in meeting.participant_joined webhook.

What’s the current recommendation to do this? For my scenario, it has to be 100% reliable and secure, as I’m charging a fee when we detect someone has joined the meeting. It can’t be an email, or if I had your email I could just charge all my office visits to you.

Hey @fred,

Are you saying the email is encrypted in the Participant Joined Webhook and Get Participant Report API?

What you found in your testing is correct, although maybe not optimal for case 1 and 2.

Basically if you register for a meeting, and you are logged into a Zoom account when joining said meeting, your Zoom user ID overrides the registrant ID.

We will work on improving this or adding another field so there is always a mappable id. (ZOOM-125626) (ZOOM-181169)

CC @saurabh @alden @neecholai


Yes, I believe that is the issue. In short, what I need is to have the Registration ID that is returned from the Add Registration endpoint appear in the participant.joined webhook and Participants Report endpoint whenever a registration was made. We make all registration from the Add Registration endpoint. If no registration was made, I understand this field will not be available (anonymous or joined without registration).

Alden Gannon
Six Fish, LLC

Hi @tommy

As the emails are encrypted now, we are left with no workaround for identifying participants. It also breaks our solution and customers are affected.

Till the time there is no possible way to map participants, can you revert this change of email encryption as we were not given a heads up before this drastic change?


Hey @alden, @saurabh,

We are working on fixing the email encrypted issue asap:



Hey @alden,

Got it thanks! :slight_smile: We are working on a solution.


@tommy The change to the encrypted emails was reverted last Tuesday it looks like but we didn’t get notified, so our workaround broke again.

Do you have a reliable changelog we can consult for your API? I am not seeing the encryption of the email or the reversal mentioned in this changelog?

Hey @fred,

Apologies for not mentioning this change. It was a hotfix on the product side so it was not in the developer platform release life cycle. We will work on communicating all changes that affect the APIs even if they originate outside of the developer platform.


1 Like

Same issue. I’m trying to reliably track users as they pay a subscription fee for our service.

I’m noticing the same issues as the other users have posted.

I register the user via the API and log their registrant_id. However if the user logs into Zoom with a different email address using the join URL I get a different participants[0].id in the resulting webhook.

The join URL should always log them in with the original registrant_id no matter what email they use to connect to Zoom. This seems very basic to me otherwise there is no way to track users.

You can sort of use email but what if the email the user decides to use isn’t in your database?


Hey @FutureX,

Thanks for sharing, yes this is the case we are working on improving. Right now the constant is the email they register with, it will pass through to the Get participants APIs: