Identify Meeting Participants Uniquely

Depending on your use case, you might want to be able to identify participants across meetings.

Meeting platforms don't expose the email addresses of participants, though there are some some ways to achieve identify participants uniquely across meetings.

Calendar integration

If you're using the calendar integration, you can map users to emails of calendar invites to get their emails. See Participants & Metadata on how to get participant emails

  • Benefit: Works across meeting platforms
  • Con: doesn't work 100% of the time

Zoom: user_conf_id

The conf_user_id is a unique identifier for a Zoom account that can be relied upon to be consistent across meetings. The user_guid field is not consistent across meetings, and should not be relied upon to track Zoom accounts.

{
  "id": 16998240,
  "name": "John Smith",
  "is_host": true,
  "platform": "desktop",
  "extra_data": {
    "zoom": {
      "os": 2,
      "guest": false,
      "user_guid": "EF3AL77C-49AB-6F8A-A947-61C6AB57D6E6",
			"conf_user_id": "RiajKBaChMxzJAmuF90nln"
    }
  }
}

Teams: user_id

The user_id is a unique identifier for a Teams account that can be relied upon to be consistent across meetings.

{
  "id": 300
  "name": "John Smith",
  "is_host": true,
  "extra_data": {
    "microsoft_teams": {
      "role": "organizer",
      "meeting_role": "organizer",
      "participant_type": "inTenant",
      "user_id": "8:orgid:780027c1-2d8e-4783-849f-8eeaf1f08525",
      "tenant_id": "c21986f7-3c64-43ba-83f8-df1c6b90ec77",
      "client_version": "CallSignalingAgent (...)"
    }
  }
}



The meeting_role can be organizer, attendee, or presenter. For more information on each of these roles, see Microsoft's documentation.

For information about Teams participant_type's, please see User Types in Teams.

Google Meet: static_participant_id

If the user is signed into a Google account, the participant's extra_data.google_meet object will contain a static_participant_id that is consistent across meetings.

{
    "id": 100,
    "name": "Jane Doe",
    "is_host": true,
    "platform": "unknown",
    "extra_data": {
        "google_meet": {
            "static_participant_id": "njm0oRencczub04zwV5qEiGQ4ucSz4mrV0FqGmpLUFq="
        }
    }
}

❗️

Opt-in for customers before July 2025

The static_participant_id field was introduced as of July 2025. Since extra_data was previously null for Google Meet, to prevent breaking API changes this is opt-in for any Recall users created before July 2025.

This means:

  • Recall users created prior to July 2025 can opt-in to this behavior by messaging in our shared slack channel, or by reaching out to our support email for pay-as-you-go customers.
  • Recall users created July 2025 onward will receive this field by default, with no action needed.