> ## Documentation Index
> Fetch the complete documentation index at: https://docs.threetone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Communication Services

> Choose an identity model and prepare a custom Teams interoperability application before adding an agent media integration.

Azure Communication Services can support custom applications that interact with Teams. It does not provide an automatic bridge from a Teams meeting to a Threetone agent. No Threetone adapter for this path is currently released.

## Choose the identity model

Microsoft distinguishes external users authenticated by your application from Teams users authenticated through Microsoft Entra ID. The models differ in licensing, supported call scenarios, and policy behavior. Start with the current [Teams interoperability guide](https://learn.microsoft.com/en-us/azure/communication-services/concepts/teams-interop), including its service-lifecycle notice.

## Prepare the application

Before implementation, identify the Azure resource owner, Teams tenant owner, supported target clients, and intended interaction: joining a meeting or calling as a Teams user.

<Steps>
  <Step title="Specify the supported scenario">Document the chosen identity model and confirm that Microsoft supports the desired meeting or calling behavior for it. Do not assume an external identity has the capabilities of a licensed Teams user.</Step>
  <Step title="Design token issuance">Your backend must authorize the application user before issuing or exchanging Communication Services tokens. Keep resource credentials out of client code and define renewal and sign-out behavior.</Step>
  <Step title="Review meeting behavior">Plan admission, lobby handling, participant identity, disconnects, and recording or transcription indicators. Confirm applicable tenant policies with the administrator.</Step>
  <Step title="Define the agent boundary">Require a supported Threetone session transport and an explicit audio or text adapter. Establish how interruption, media loss, and agent failure will appear to the user before connecting the systems.</Step>
</Steps>

## Failure handling

Separate token rejection, meeting admission failure, unsupported calling scenarios, and media problems. Keep Microsoft call identifiers and application session identifiers distinct. Do not repeatedly mint new identities to work around a tenant policy or admission failure.

Before release, verify the exact Microsoft SDK and scenario against current lifecycle guidance. Review provider usage costs with the account owner before provisioning resources or testing calls.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Is this the same as putting a widget in Teams?" id="teams-acs-faq-tab">No. A [Teams tab](/agents-platform/deploy/telephony/microsoft-teams/widget-tab) hosts web content. Communication Services supplies a separate communications application model.</Accordion>
  <Accordion title="Will a working Teams meeting automatically start an agent?" id="teams-acs-faq-agent">No. The Threetone session, media adapter, and execution requirements must be implemented and verified separately.</Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.