Can ACS Bots Join Microsoft Teams Meetings and Trigger Webhooks for Real-Time Audio Streaming?
I've spent over 15 hours trying to get an Azure Communication Services (ACS) bot to both join a Microsoft Teams meeting and trigger the media streaming webhook to access real-time audio for transcription.
Here’s what I’ve tried:
- Following this GitHub sample: https://github.com/Azure-Samples/acs-teams-recording It says the bot should auto-join a Teams meeting if added by its ACS ID or phone number.
- I tried adding the ACS user ID through the Teams UI — it says “no matches found.”
- Note: The ACS resource has VoIP and Chat enabled, and a system-assigned identity and I configured the event subscription for
/acs/events
.
- Graph API attempt to create the meeting and add the ACS user as an attendee:
bash Copy curl -X POST https://graph.microsoft.com/v1.0/users/{userId}/onlineMeetings ...
- I used
"identityProvider": "ACS"
in the request body for the attendee and included the correct acs bot id. - Got error:
"Invalid meeting attendee"
- I used
- Server-side SDK (Call Automation)
- I can create a new call and see it “answered” on the provided dashboard from the github repo.
- But I cannot join an existing Teams meeting using that SDK — there doesn’t seem to be an API for it.
- If I invite a Teams user to the ACS call, no ring/notification happens on their end.
- Client-side SDK
- Using the browser SDK, the ACS bot can join a Teams meeting by meeting link.
- However, the webhook is not triggered, and I can't access media streams.
- I believe audio streams are not exposed in the client SDK anymore due to privacy restrictions?
What I Need to Know:
Is it currently possible to use Azure Communication Services to:
Join an actual Teams meeting (not a separate call), and
Trigger the media streaming webhook (for real-time transcription)?
If not, is this a known limitation?
I would love to find any working solution — whether through ACS, Graph API, or other supported methods — that allows me to get real-time audio or transcription streams from regular Microsoft Teams meetings.