Can I build a real-time voice-interview bot for Teams meetings that captures a participant’s live audio, sends it to an external STT + LLM + TTS pipeline (via WebSocket or HTTPS), and plays the audio response back to the participant within the same Teams

Rathnakar Reddy 20 Reputation points
2025-10-19T02:12:47.9266667+00:00

We have a bot built with Azure Communication Services (ACS) that joins Teams meetings using a Teams meeting link.

The participant speaks from their Teams client (desktop/mobile/web).

We want to capture this audio stream in real time (not recordings), convert it via STT, generate a response via LLM, synthesize it using TTS, and play it back into the Teams meeting.

We have:

Graph API permissions: Calls.JoinGroupCall.All, Calls.AccessMedia.All, OnlineMeetings.ReadWrite, etc.

ACS Browser-based meeting bot that can join Teams meetings using meetingLink

Questions:

Is it possible to access live audio streams (media) of the Teams participant via ACS or Graph APIs in real time?

Is there a Microsoft-supported method to play audio back into the Teams meeting in real time via ACS or Graph-based bots?

Should we switch to the Microsoft Calling SDK with Cloud Communications APIs instead of ACS for real-time media routing?

Microsoft Teams | Development
Microsoft Teams | Development

Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs

0 comments No comments

Answer accepted by question author
Teddie-D 19,760 Reputation points Microsoft External Staff Moderator
2025-10-19T04:30:46.0633333+00:00

Hi @Rathnakar Reddy 

Thank you for posting your question in the Microsoft Q&A forum. 

If your goal is to build a real-time voice interview bot for Microsoft Teams, it's important to understand the limitations of Azure Communication Services (ACS) interoperability with Teams meetings. 

-ACS Teams Interop allows bots to join Teams meetings, but it does not provide access to raw, per-participant audio streams in real time. The ACS JS Calling SDK also does not support unmixed audio streams. You can read more at Teams meeting interoperability - An Azure Communication Services concept document | Microsoft Learn.
For real-time audio capture and processing (e.g., STT → LLM → TTS), you should use a Microsoft Graph Cloud Communications bot with the Real-time Media Platform. This approach supports: 
-Receiving raw RTP audio frames in real time.
-Frame-by-frame audio analysis.
-Sending audio back to Teams in real time.
You may refer to Real-time Media Call & Meeting for Bots - Teams | Microsoft Learn

-A Graph-based media bot built on the Real-time Media Platform can send audio frames back into a Teams meeting in real time, enabling dynamic and low latency playback through an application hosted media bot. 
While ACS Call Automation can play audio prompts (WAV/MP3 or TTS) into ACS-managed calls, it’s not suitable for real-time media interaction within Teams meetings.   Reference: Playing audio in call - An Azure Communication Services concept document | Microsoft Learn.

-If your goal is real-time voice interaction that involves capturing live audio, processing it with STT/LLM, and responding with TTS, the recommended approach is to build a Microsoft Graph Cloud Communications bot using the Real-time Media Platform.
Azure Communication Services works well for simpler use cases, but it does not support the low latency media workflows needed for interactive voice bots in Teams meetings. 

You might also find this related thread helpful: Can ACS Bots Join Microsoft Teams Meetings and Trigger Webhooks for Real-Time Audio Streaming? - Mi… 

I hope this information is helpful. 


If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".    

Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. 

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Rathnakar Reddy 20 Reputation points
    2025-10-20T05:27:19.95+00:00

    Thank you for the response

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.