Zoom feedback and Meeting API - no participant mail address in the API response

1st API enhancement :

I need help in finding an effective and fool proof way to find the participant’s mail address using participant’s name.

Using below feedback API , i am fetching the feedback of the users experience in zoom meetings. the critical information that i see missing here in the API response is participant mail address.

Right now there is no fool proof way to find the mail address using the participants name. As the name could be the same within multiple users within Zoom.

API enhancement is to have field called “participant_mailid” as part of the response along with the participant name. This helps in fetching the participant mail id using automation and reach out to user using mail address by sending notification for further troubleshooting.

for example, below is the participant name in the API JSON response but there is no participant mail address.

‘participant_name’: ‘Inti Ramos’

API being used :

Meetings Client Feedback Detail API
GET /v2/metrics/client/feedback/{feedbackId}

{‘from’: ‘2019-01-20’, ‘to’: ‘2019-01-21’, ‘page_size’: 300, ‘next_page_token’: ‘’, ‘client_feedback_details’: [{‘participant_name’: ‘Inti Ramos’, ‘meeting_id’: ‘416151466’, ‘time’: ‘2019-01-21T03:48:57Z’}, {‘participant_name’: ‘Suresh Bose’, ‘meeting_id’: ‘132133336’, ‘time’: ‘2019-01-21T04:54:06Z’}, {‘participant_name’: ‘Surya Erlapati’, ‘meeting_id’: ‘749461811’, ‘time’: ‘2019-01-21T05:23:14Z’}, {‘participant_name’: ‘Pranaya Sagar Adati’, ‘meeting_id’: ‘863500082’, ‘time’: ‘2019-01-21T07:20:49Z’}, {‘participant_name’: ‘Leonid Suslov’, ‘meeting_id’: ‘559035948’, ‘time’: ‘2019-01-21T15:35:55Z’}, {‘participant_name’: ‘Bianca Vaccarini’, ‘meeting_id’: ‘766192187’, ‘time’: ‘2019-01-21T16:50:27Z’}, {‘participant_name’: ‘Eric Simon’, ‘meeting_id’: ‘979339396’, ‘time’: ‘2019-01-21T17:34:58Z’}, {‘participant_name’: ‘Nick Fabbri’, ‘meeting_id’: ‘528458161’, ‘time’: ‘2019-01-21T17:35:04Z’}, {‘participant_name’: ‘Prasad Kunigiri’, ‘meeting_id’: ‘5103660581’, ‘time’: ‘2019-01-21T18:07:47Z’}, {‘participant_name’: ‘Jennifer Holland’, ‘meeting_id’: ‘207461996’, ‘time’: ‘2019-01-21T18:09:28Z’}, {‘participant_name’: ‘Shruthi Cherian’, ‘meeting_id’: ‘238911697’, ‘time’: ‘2019-01-21T19:40:21Z’}, {‘participant_name’: ‘Marie Green’, ‘meeting_id’: ‘823118464’, ‘time’: ‘2019-01-21T20:46:06Z’}]}

========== ===========

2nd API enhancement :

Raised below support case but eventually this has to be a API enhancement request.
https://support.zoom.us/hc/en-us/requests/956738

Also, request API enhancement for the below mentioned API too. The enhancement is to add “participant_mailid” as part of the API json response. below are the details

our main goal in gathering email address is to be able to reach out to participants that experienced network issues to get their feedback. This is done in a automated way and not manually.

Now to explain the issue better.

  1. fetching the participants details using API (/v2/metrics/meeting/{meetingId}/participants/)
  2. in this API output there is no mail address of the participant. once we identify participant has the network issues, we would want to reach out to reach out to user using the mail address. But mail_id doesn’t exist in the API output .

API output has the below parameter

user_id
user_name
ip_address

  1. Now to find mail address of the parameter, we have to rely on “user_name” of the participant to map.
  2. fetching the all users using another API (v2/users?status=active)
  3. This API output doesn’t have “user_name” but has first_name and last_name. now to map the user based on the “user_name” we need to split the name into first and last name then map to find mail address. This mapping doesn’t work all the time as the “user_name” might not be unique and splitting of “user_name” to first and last name is also difficult for some of the names. If mapping works then we are able to fetch mail id , but mapping doesn’t work then we can’t fetch mail address of the user.

Hence, mapping of an user using “user_name” by splitting the name to first and last name is difficult and doesn’t work all the time. It would be straight forward if we can have “mail_id” parameter directly in the API (/v2/metrics/meeting/{meetingId}/participants/ ) output.

Note: if the user is external to our organisation (or) doesn’t have any mail address then the “mail_id” parameter can be a empty string.

2 Likes

Hi @Dilip_Reddy_Guda,

Thanks for API enhancement suggestion, we’ll reach out to our Engineers about this. Be on the lookout for https://devforum.zoom.us/c/new-releases, we’ll post the new API releases there.

Thanks

Hi @Dilip_Reddy_Guda,

Also, please keep in mind that unless its a breaking change, any change request to APIs usually takes a couple API release cycles (a month or two) to be available.

Thanks

@michael_p.zoom

I definitely can wait for the requested enhancement to be implemented and made available to the users.
what i would prefer is, the confirmation by when the API enhancement would be made available so that we can plan our application development accordingly.

Thanks
Dilip

Hi,
any update on the request #2 ? re-visiting the thread to know the status.

Regards
Dilip

Hey @Dilip_Reddy_Guda,

You can use the user_id to call the GET /users/{ userID} to get the users email.

Does that help?

Thanks,
Tommy

This is STILL needed! This is exactly why the Salesforce package cannot link to the correct contacts or owners without a manual step, because it can’t figure out the email addresses based on names, and the Names in Zoom are rarely the same as they are in Salesforce. These would fix this, when will this be looked at?

Hey @jgradman, I replied to your post (linked below) on how to get meeting / webinar participants emails.

Thanks,
Tommy

Hi,

Thanks for all those hints @tommy. Unfortunately this does not help.

The GET /users/{userId} endpoint only works for people on the same Zoom Account. As soon as you have participants joining from another account, you’ll be stuck again. There’s no way to identify a user joining a meeting (other than comparing the user_name, which is not really unique).

What we’d need would be adding the mail address to the meeting webhooks, but it should be probably also included in all other api requests that return a participant.

Thanks,
Matthias

Hey @matthias.klass,

The email is included in the Past Meeting Participants endpoint:

https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/pastmeetingparticipants

Thanks,
Tommy

Hey @tommy,

cool, that’s a start. Still, would it be possible to also add it to the meetings webhooks? We are creating a status page for rooms with live updates on what participants have joined which rooms (https://github.com/greimela/virtual-office) - in the end we would need this information in real time, not when the meeting has ended.

Thanks,
Matthias

Hey @matthias.klass,

We could probably make that happen! Which exact webhooks do you want to have the email field? Please share the link to them.

Thanks,
Tommy

Hey @tommy,

this would be really cool :-). Interesting would be the following events:

https://marketplace.zoom.us/docs/api-reference/webhook-reference/meeting-events (I cannot provide direct links, as I can only add two of them)

  • Participant Join
  • Participant Left
  • Join Before Host
  • Join after Host

Thanks,
Matthias

1 Like

Thanks @matthias.klass,

I have created a feature request for this. (ZOOM-148656)

Stay updated here: https://marketplace.zoom.us/docs/changelog

Thanks,
Tommy

1 Like

Hey @matthias.klass,

After speaking with engineering, we have decided to close this feature request.

You can retrieve the meeting registrants and then map the participants reports to get the email.

Thanks,
Tommy

Hey @tommy,

I am really sory to hear that. This solution does not work for us. But maybe I should explain why to justify adding another field in the webhooks.

The thing is - we have a zoom account with roundabout 400 members. There are separate clients, and we want to push the room notification only for a small part of the rooms (roundabout 10) to the client, so the client himself cannot see what happens on the other rooms.
That’s why we’ve introduced a small proxy which filters the room notifications and redirects only notifications which are relevant.

Now what has this to do with the email address in the webhooks?

Well - if we followed your suggestion, we’d have to add a JWT token to the client evaluation the webhook and then enriching it with additional data. This also means that the client had access to all the account’s room - that’s not what we want.

I can understand your engineering team - it’s another field and what comes next? You don’t want to add all fields to the webhook - and I totally agree. However, the email address allows to identify the user also to other external tools, like Slack or in general OAuth based logins. A user id is not enough to do this, just as a unique participant id in a meeting.

So if you keep standing to this opinion, we’ll have to stick with this heuristic matching approach.

Matthias

P.S.: I guess meeting registrants are not the same as meeting attendees, right? And the participants report is only available for “past” meetings - so I guess this also does not work for currently running meetings, correct?

Hey @matthias.klass,

I understand there would be more development involved, but this is what we have chosen.

If you need to limit what API access you have to an account, use an OAuth app with scopes.

Correct, you can’t get the email in realtime.

-Tommy

Hi @tommy,

As far as I understand the oauth scopes you can only limit available endpoints, not restrict them to specific rooms. So that’s also not useful for us.
In addition, we’d need the email in real time - otherwise the info is not relevant for us.

Matthias

Gotcha. Apologies for the inconvenience.

-Tommy