The application-hosted-media flag — this bot owns its media socket (vs service-hosted media).
The bot's display name in the participant list.
Always 'meeting' — the bot joins an existing scheduled/online meeting (vs a peer-to-peer call).
The original Teams join URL (Graph meetingInfo.joinWebUrl).
OptionalOrganizerThe meeting organizer's id, when resolved (helps Graph bind the call to the right meeting).
OptionalTenantThe Azure tenant id, when joining cross-tenant.
The parsed meeting thread id (the durable meeting coordinate + chat target).
The Graph
POST /communications/callsrequest body (the subset we construct for a join-by-URL bot call).