Supported URL formats
Vexa supports all major Teams meeting link formats:| Format | Example | Support |
|---|---|---|
| Personal (teams.live.com) | https://teams.live.com/meet/1234567890123?p=PASSCODE | Full |
| Enterprise short URL | https://teams.microsoft.com/meet/1234567890123?p=PASSCODE | Full |
| Enterprise deep link | https://teams.microsoft.com/v2/?meetingjoin=true#/meet/1234567890123?p=PASSCODE | Full |
| Legacy enterprise | https://teams.microsoft.com/l/meetup-join/19%3ameeting_... | Full (via MCP) |
| US Government | https://gov.teams.microsoft.us/meet/... | Full |
| DoD | https://dod.teams.microsoft.us/meet/... | Full |
Native meeting ID and passcode
For Teams, you must pass:native_meeting_id: the numeric meeting ID (10-15 digits)passcode: the value of the?p=query parameter from the URL (4-20 alphanumeric characters)
- URL:
https://teams.live.com/meet/1234567890123?p=YOUR_PASSCODE native_meeting_id:1234567890123passcode:YOUR_PASSCODE
Legacy enterprise URLs (
/l/meetup-join/...) do not contain an extractable numeric meeting ID. When using the MCP tool, these are handled automatically — the URL is passed directly to the bot. For direct API usage, a raw URL endpoint is planned (#161).API example
Common issues
Bot does not join
Most often:- wrong
native_meeting_id(must be numeric only) - missing/wrong
passcode(thep=value)
Bot joins but you see no transcript
Common causes:transcribe_enabled=false- meeting audio not available to capture
Known Limitations
- Bot avatar/virtual camera is not visible to other participants. Teams SFU returns
a=inactivefor video from anonymous guest bots. Use screen share for visual content instead. (#124) - Intermittent false rejection on pre-join screen. In rare cases the bot may incorrectly conclude it was rejected by the meeting admin. Retrying usually succeeds. (#123)