Webhook Partcipant joined event payload contains null value for participant id

Hi We are integrating Zoom conferencing into our system. We are using Webhook events to update our database parts. I have multiple questions regarding this.

  1. When Participant joined , payload doesn’t have email id.
  2. If the user belong to same account payload contains zoomId. But sometimes that is also coming as empty string

here is an example

{
  "event": "meeting.participant_joined",
  "payload": {
    "account_id": "U9D7NqiISd-cfmIMEFcx-A",
    "object": {
      "duration": 60,
      "start_time": "2019-07-25T05:47:03Z",
      "timezone": "UTC",
      "topic": "22",
      "id": "200262191",
      "type": 2,
      "uuid": "8v1eR64ORn2qwy4VGQkdOA==",
      "host_id": "_oLLD19CTTSTYAOrHCN9MA",
      "participant ": {
        "user_id ": "16779264",
        "user_name ": "OnePlus 5",
        "id": "",
        "join_time ": "2019 - 07 - 25 T05: 48: 33 Z"
      }
    }
  }
}

In this particular case how to know which user joined to that meeting?

  1. When a user who is not part of the same account joined into conference , payload doesn’t contain email id. how to know which user joined into conference?

Any help is much appreciated.

Hey @yln99517,

What do you mean by “email id”?

If the user is not signed in to a Zoom Account and joins via the Zoom Client, then the id will be blank.

Thanks,
Tommy

There are 2 cases.

case #1.

The user already signed in to zoom. When user gets meeting invitation, on clicking of that email link zoom native client is opening. The payload of “Meeting.participant_joined” often contains empty Id. In the given example payload , users is already signed in but id is missing.

case #2. Participant not part of the same zoom account.
When host adding participant(s) to meeting with emails ( not part of the account but different account) using REST api and zoom sending meeting invitation to that email. If that person joined into meeting, how to know which person joined into meeting?. The payload doesn’t contain any information. Below is payload for “meeting.registrant_created” and “meeting.participant.joined”. We don’t have any common parameter between these payloads.

{
"event": "meeting.registration_created",
"payload": {
	"account_id": "U9D7NqiISd-cfmIMEFcx-A",
	"object": {
		"uuid": "GZPbcCnhRUOztkoCp/uHkA==",
		"id": 140914160,
		"host_id": "oryUAqXYS6emaLDExSmFCQ",
		"topic": "INC000505",
		"type": 2,
		"start_time": "2019-07-25T15: 32: 34Z",
		"duration": 60,
		"timezone": "UTC",
		"registrant": {
			"id": "eqbEHRyPTGyYyyQCKuddkQ",
			"first_name": "Anonymous",
			"last_name": "Anonymous",
			"email": "ylndummy@gmail.om",
			"address": "",
			"city": "",
			"country": "",
			"zip": "",
			"state": "",
			"phone": "",
			"industry": "",
			"org": "",
			"job_title": "",
			"purchasing_time_frame": "",
			"role_in_purchase_process": "",
			"no_of_employees": "",
			"comments": "",
			"custom_questions": [],
			"status": "approved",
			"join_url": "*********************************"
		}
	}
}

}

Meeting.participant_joined.

{
"event": "meeting.participant_joined",
"payload": {
	"account_id": "U9D7NqiISd-cfmIMEFcx-A",
	"object": {
		"duration": 60,
		"start_time": "2019-07-25T15:33:31Z",
		"timezone": "UTC",
		"topic": "INC0000505",
		"id": "14091410",
		"type": 2,
		"uuid": "GZPbcCnhRUOztkoCp/uHkA==",
		"host_id": "oryUAqXYS6emaLDExSmFCQ",
		"participant": {
			"user_id": "33555456",
			"user_name": "yln dummy",
			"id": "qw8myrvZSwGTg5FAkRA5og",
			"join_time": "2019-07-25T15: 4: 54Z"
		}
	}
}

}

-thanksPreformatted text

Hey @yln99517,

For Case #1:

I will look into why the id is missing when the user is already signed in.

For Case #2:

The only way to identify a participant that joins your meeting that’s not apart of your Zoom account is the user_name field. You can even see the Retrieve Past Meeting Participants only returns the participant UUID which is the user_id on the meeting.participant_joined webhook and the user_name field.

Possible duplicate:

Hey @tommy we are seeing events without a user_id in participant, yet the user is indeed logged in. This happened to about 4 users on a call. Is this a Zoom bug?

{
  "event": "meeting.participant_joined",
  "payload": {
    "account_id": "SG7cyaTzRoqSEyRnb4Djeg",
    "object": {
      "duration": 30,
      "start_time": "2019-11-07T14:31:11Z",
      "timezone": "America/New_York",
      "topic": "xxx",
      "id": "123980138",
      "type": 3,
      "uuid": "AJODMKwiRxCzNUSg+Oi5Iw==",
      "participant": {
        "id": "",
        "user_id": "16796672",
        "user_name": "xxx",
        "join_time": "2019-11-07T14:34:14Z"
      },
      "host_id": "1fdj-Wn4Q7avbyg52ddQ0w"
    }
  }
}

Hey @jimig,

Are the 4 users who user_id’s are blank joining via the Web Client or Native Client? Can you share what devices, browsers, and versions of the Zoom Apps?

Also if you could private message me the full payload with all the data present I can take a deeper look.

Thanks,
Tommy

It’s been 6 months since the last message in this thread and I see the same issue.

  1. I create a meeting with registration required
  2. I register participants (just registered participants, not zoom users)
  3. Registered participant joins using their own unique join url
  4. The participant_joined or participant_left webhooks have empty string as payload.object.participant.id. The participant object on the webhook payload has user_id set though, which I’m not sure what user_id that is.

Is this a bug?

@tommy This is only a problem for meeting.participant_joined and meetingh.participant_left webhooks. webinar.participant_joined and webinar.participant_left work correctly and contain payload.object.participant.id value, which matches the registered participant id.

Unfortunately meeting webhooks are way more important to us than webinar webhooks.

I just noticed something in that webhook documentation.

“If participant joins without logging into Zoom, the value of this field will be blank.”

How can I then track registered guest participants? The participant is registered and joins via registered join link, therefore registrant doesn’t have to be logged in to Zoom to join. Why is the id field blank if someone is not logged in to Zoom.

Is there any chance that meeting.participant_joined/left were created before support for registered guest participants was developed on Zoom and these webhooks have not been updated accordingly to add registrant id?

Hey @bartosz.blimke,

You can use the email to track.

Thanks,
Tommy

@tommy email is not available in the meeting.participant_joined webhook either.
For the time being I use user_name available in the webhook which is first name plus last name, but this only works if everyone in the meeting has different name.

1 Like

Hey @bartosz.blimke,

Okay, glad you are able to use the user_name. We will work on making a consistent registration > participant tracking flow.

Thanks,
Tommy