Associate zoom meeting participant with external id via join_url

Description
Details on your question, workflow or the problem you’re trying to solve.
This is a request that has come up in a few different tickets (Joining a Meeting with join_url, along with custom metadata). We need to be able to link a Zoom meeting participant to our internal user_id via the join_url link so we can receive the internal user_id in our meeting webhooks. We’ve been able to do this with other applications we integrate with, but not being able to do so with our Zoom meetings has become a big issue for us, resulting in a lack of personalization and limitations in bringing more of Zoom into our application.

Hey @danny.beyrer, hope you’ve been well. While we don’t have a plan to support external params in join URLs, meeting registration could be what you’re looking for.

When you add a meeting registrant, the API responds with a registrant ID and join URL. A user who joins a meeting using this URL (either via email invitation or your application) will match their registrant_id and participant_id , in events like meeting.participant_joined (use participant_uuid) or from endpoints like get past meeting participants, get meeting participant reports, etc.

If you intend to be distributing these links yourself you may want to disable email delivery for these registration email in the meeting settings (when creating the meeting via API for example).

We’ll work on a better guide for this.

Hi @michael.zoom , part of the problem we’re having is that the data we receive from a webhook depends on what account the user is authenticated with in the Zoom client. I want to make sure this would alleviate that problem. This is how I’m seeing the flow work:

  1. User clicks start/join Zoom meeting in Filo, which is linked to a specific unlicensed Zoom User
  2. We hit a Filo API endpoint with Zoom userID and Filo userID which does the following:
    1. Does a create if not exist for a Zoom user with the Filo user’s name and email. No matter what,
      updates photo
    2. Adds this user as a registrant to the Filo Zoom user’s meeting
    3. Filo user’s Zoom client opens and our webhooks get the data corresponding to the registrant we
      created, we display their photo in Filo as in the meeting
      1. Here is where it could break down in the same way it currently does. If the Filo user is authenticated in Filo to Zoom with an account that’s different than the one they’re logged into in their Zoom client, would we get the registrant information in the webhooks? I don’t think so. Thus, we’re in the same place we are now.

Unless there is something I’m missing, I don’t think that this solution will work for us. Is there a path forward to accomplish what we’re looking to do without requiring a Filo user to have a corresponding user in our Zoom account?

Ideally, we would be able to provide metadata for the zoom join link which we would then receive in our webhooks.

@danny.beyrer , thanks for the explanation. Just to understand, have you implemented registration and it does not match? I would expect the registrant URL to cause a registrant ID and participant_uuid to match regardless of the authenticated client user. We can test this, and will work to write better docs on it.

Another option would be to use ZAK tokens for the participants, appending their token to the join URL. Workflow would be -

  1. create a meeting for a licensed custCreate user, “User A”
  2. create a basic/unlicensed custCreate user on your account, “User B”
  3. get User B’s ZAK token,
  4. append User B’s ZAK token to the join URL of the meeting hosted by User A
  5. get participant meeting reports or listen for webhook meeting.participant_joined, participant_uuid matches User B’s userID (known to you because it’s on the same account as the host).

I’d need to test this for certainty, I’ll follow up.

If I’m understanding correctly, both of these solutions would require us to create a Zoom user in our account for every user who joins one of our meetings, which is not ideal for us as it would greatly increase the number of users we need to manage.

@michael.zoom would you be able to test the following two things and let me know the results?

I would expect the registrant URL to cause a registrant ID and participant_uuid to match regardless of the authenticated client user.

  1. create a meeting for a licensed custCreate user, “User A”
  2. create a basic/unlicensed custCreate user on your account, “User B”
  3. get User B’s ZAK token,
  4. append User B’s ZAK token to the join URL of the meeting hosted by User A
  5. get participant meeting reports or listen for webhook meeting.participant_joined, participant_uuid matches User B’s userID (known to you because it’s on the same account as the host).

@michael.zoom , any update here?

This topic was automatically closed 368 days after the last reply. New replies are no longer allowed.