Meeting URL's

🚧

API Reference under construction

We're working on fixing how meeting_url is documented in our API reference. In the meantime, here is a reference for the shapes of various platform meeting URL's.

Meeting URL Regex

Zoom

# Bare Zoom meeting link with optional password/tk in query or legacy passcode text
zoom\.(us|com)\/(?:j|s|wc\/join)\/(?P<id>[0-9]+)
(
    (\?pwd=(?P<password>[^&#,<"\n ]+)) |
    (\?tk=(?P<tk>[^&#,<"\n ]+)) |
    (\ \(Password:\ (?P<password_legacy>.+)\)) |
    (\ \(Passcode:\ (?P<password_legacy_2>.+)\)) |
    ([?&=a-zA-Z0-9_\-%]{1,64}\&pwd=(?P<password_later_in_query_string>[^&#,<"\n ]+)) |
    ([?&=a-zA-Z0-9_\-%]{1,64}\&tk=(?P<tk_later_in_query_string>[^&#,<"\n ]+))
)?

# Zoom personal link (/my/...)
zoom\.(us|com)\/my\/(?P<id>\w+)

# Zoom webinar link (/w/<id>) with optional tk/pwd
zoom\.(us|com)\/w\/(?P<id>\w+)
(\?tk=(?P<tk>[^&#,<"\n ]+))?
((.*)pwd=(?P<password>[^&#,<"\n ]+))?

Google Meet

(http.+)?meet\.google\.com\/(?P<id>\w{3}-\w{4}-\w{3})

Microsoft Teams

# Teams meetup-join deep link with JSON context; captures thread_id, message_id, context
http.+meetup-join\/
(?P<thread_id>.+)\/
(?P<message_id>[0-9]+)
\?context=(?P<context>\{.+\})&?

# Teams message deep link with query string; captures thread_id, message_id, query
http.+message\/(?P<thread_id>.+)\/(?P<message_id>[0-9]+)\?(?P<query>[^<\s.]+)

# Teams meetup-join deep link with URL-encoded context; captures thread_id, message_id, context
http.+meetup-join\/(?P<thread_id>.+)\/(?P<message_id>[0-9]+)\?context=(?P<context>[^& ]+)

# Teams personal meeting invite (teams.live.com) with optional password parameter "p"
https://teams\.live\.com/meet/(?P<meeting_id>[0-9]+)((.*)p=(?P<meeting_password>[^&#,<"\n >]+))?

# Teams short business meeting invite (teams.microsoft.com) with optional password parameter "p"
https://teams\.microsoft\.com/meet/(?P<meeting_id>[0-9]+)((.*)p=(?P<meeting_password>[^&#,<"\n >]+))?

Webex

\.webex\.com\/(?P<path>.+)\/j\.php\?(.+)?MTID=(?P<mtid>[^&\s]+)

GoTo Meeting

(http.+)?(app\.goto\.com\/meeting|meet\.goto\.com|gotomeet\.me)\/(?P<id>[\w/-]*\w)

Meeting URL API Response

Zoom

"meeting_url": {
  "meeting_id": string,
  "meeting_password": string | null,
  "platform": "zoom"
}

Google Meet

"meeting_url": {
  "meeting_id": string,
  "platform": "google_meet"
}

Microsoft Teams

"meeting_url": {
  "meeting_id": string | null,
  "meeting_password": string | null,
  "organizer_id": string | null,
  "tenant_id": string | null,
  "message_id": string | null,
  "thread_id": string | null,
  "business_meeting_id": string | null,
  "business_meeting_password": string | null,
  "platform": "microsoft_teams" | "microsoft_teams_live"
}
📘

Microsoft Teams URL differences

Microsoft Teams meeting URL use different parameters depending on the Teams version being used.

The table below shows what you can expect for each Teams version meeting URL.

VersionBase URLNon-null Parameters
Teams for Businessteams.microsoft.comorganizer_id
tenant_id
message_id
thread_id
Teams for Personal useteams.live.commeeting_id
meeting_password

Webex

"meeting_url": {
  "meeting_subdomain": string,
  "meeting_mtid": string,
  "meeting_path": string,  
  "platform": "webex"
}

// or 

"meeting_url": {
  "meeting_subdomain": string,
  "meeting_personal_room_id": string,
  "platform": "webex"
}

GoTo

  "meeting_url": {
    "meeting_id": "680504437",
    "platform": "goto_meeting"
  }