[BUG] participant_joined event omits email field for authenticated users in consecutive meetings
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reproducing the sequence with a new rtms.Client(): let a guest join before an authenticated user, then compare the meeting.participant_joined payload with the reverse order. Investigate how the RTMS webhook service populates participant identity fields; done means authenticated users consistently receive their email regardless of join order while guests remain empty.
Written by the indexing model from the issue text.
Description
Bug Description
When an unauthenticated (guest) participant is the first to join a Zoom RTMS meeting, all subsequent meeting.participant_joined webhook events for authenticated users will omit the email field, even though those users are logged in.
If an authenticated user joins first (before any guest participants), their email field is correctly included in the webhook event. This suggests the RTMS webhook service may be setting a meeting-level flag or metadata based on the first participant who joins, which affects how participant identity information is populated for all subsequent participants.
Language/Runtime
Python
SDK Version
1.1.0
Environment Details
- OS: Ubuntu 24.04.4 LTS
- Node.js version: v24.14.0
Steps To Reproduce
- Create a new
rtms.Client()instance and connect to a meeting. - Have an unauthenticated (guest) participant join the meeting first.
- Then have an authenticated Zoom user join the same meeting.
- Observe the
meeting.participant_joinedwebhook event for the authenticated user. - Note that the
emailfield is empty in the participant data. - For comparison, join a new meeting where the authenticated user joins first (before any guest).
- Observe the
meeting.participant_joinedwebhook event — theemailfield is now correctly populated.
Expected Behavior
The meeting.participant_joined webhook event should always include the email field for authenticated Zoom users, regardless of the order in which participants join the meeting.
Actual Behavior
Case 1: Guest joins first, then authenticated user — email is MISSING:
09:56:54 - sss 123() has been joined. ← Guest, no email (expected)
09:57:10 - user1() has been joined. ← Authenticated user, but email is EMPTY (BUG!)
Webhook payload for authenticated user:
{
"event": "meeting.participant_joined",
"payload": {
"participant": {
"user_id": "xxxxx",
"user_name": "user1",
"email": ""
}
}
}
Case 2: Authenticated user joins first — email is PRESENT:
09:58:31 - user1(user1@email.com) has been joined. ← Authenticated user, email is present
Webhook payload for authenticated user:
{
"event": "meeting.participant_joined",
"payload": {
"participant": {
"user_id": "xxxxx",
"user_name": "user1",
"email": "user1@email.com"
}
}
}
Code Example
Relevant Log Output
Additional Context
- This issue is specifically triggered when an unauthenticated (guest) participant is the first to join a meeting.
- The bug affects only the authenticated user's
participant_joinedevent — subsequent events (e.g.,on_audio,on_transcript) may still work correctly. - Guest participants correctly have empty email fields in all cases — this is expected behavior.
- This bug prevents downstream features that rely on participant email addresses, such as transcription email notifications.
Verification
- I've searched existing issues to ensure this bug hasn't already been reported
- I've verified this bug still exists in the latest version of the SDK
- I've included all necessary information to reproduce this issue
- Dominant language
- C++
- Stars
- 41
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from zoom/rtms
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
cloud deploy documentation v1.2
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 50/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·