Participants with an id, but no email, or an email, but no id

Our app uses webhooks to put participants in Zoom meetings onto a map in a virtual space. We currently listen for meeting.participant_joined and meeting.participant_joined_waiting_room for this. None of our meetings require registration, so I don’t believe there’s any registration going on.

We’ve noticed a few odd behaviors:

Sometimes the participant object in the webhook has an id but no email. From the docs it seems like this could happen when we get the meeting.participant_joined_waiting_room webhook: if they’re not logged in, and they join a waiting room, we’d get a random id, and no email (“If participant joins without logging into Zoom, the value of this field will be randomly assigned.”). Three questions:

  1. Is the documentation correct? Should we expect random ids when a user is not logged in and they’re joining a waiting room?
  2. Are there any other situations when we’d expect to get an id but no email? Could this ever happen in meeting.participant_joined?
  3. What is the rational behind the random ids when a participant joins a waiting room?

We’ve also noticed that we sometimes get a participant object with an email, but no id. This situation doesn’t seem to be referenced by the docs (I have a pair of join/leave webhooks that exhibit this issue that I can share privately). The docs for email say the following:

Email address of the participant. This field is returned if the participant joined the meeting by logging into their Zoom account.

Given this, I would expect to always have an id whenever I have an email, and would expect this to be true for joining and leaving both meetings and waiting rooms.

  1. Should we ever expect to get email without an id in these webhooks? If so, in what situations should we expect to get this?

Thanks,
Dave

Hey @davidbalbert,

Thank you for reaching out to the Zoom Developer Forum. That’s correct, when a participant isn’t logged in, you won’t receive an email and they will have an ID assigned to them.

This is because Zoom isn’t able to map an unauthenticated guest to a real participant or user ID. It’s also difficult to tell if multiple users are joining from one IP or the same user it attempting to reconnect.

For that reason, we assign a new ID on join instead of attempting to map the users.

However, I’m not aware of a scenario where you would receive an email but not an ID. Please send an email to developersupport@zoom.us with a link to this thread. In that email, please include the webhook events that you referenced and I’ll look into this further.

Thanks,
Max

Hi Max,

Thanks. Will email developersupport shortly.

D

Thanks @davidbalbert,

Our team will be in touch with you there shortly!

Best,
Will