> ## 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.

# Graph media bot

> Prepare Microsoft Graph application-hosted media requirements, instance lifecycle, and agent boundaries for a future Teams bot.

An application-hosted media bot processes call or meeting media in its own service. Threetone does not ship a Teams media bot or an adapter for this interface.

## Platform prerequisites

Microsoft's current [application-hosted media guidance](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/calls-and-meetings/requirements-considerations-application-hosted-media-bots) requires C#/.NET with `Microsoft.Graph.Communications.Calls.Media` and Windows Server hosting in Azure for production. It does not support this media path as a Node.js API or an Azure web app. The documented platform remains subject to preview requirements.

Identify the tenant and application registration owners, hosting team, selected calling scenario, and permissions it needs. A chat bot registration alone does not establish real-time media support.

## Prepare the implementation review

<Steps>
  <Step title="Review permissions and terms">Map the intended call or meeting operations to the necessary Microsoft permissions and administrator consent. Review the [cloud communications guidance](https://learn.microsoft.com/en-us/graph/cloud-communications-concept-overview) and applicable media-use terms before planning persistence of audio or derived content.</Step>
  <Step title="Design the media host">Use Microsoft's supported hosting and networking requirements. Plan per-instance media reachability and capacity. Keep the media library within its supported update window.</Step>
  <Step title="Handle instance lifecycle">Media calls remain attached to the instance that accepted or created them. Plan admission limits, deployment draining, and caller-visible failure behavior; stopping that instance can terminate active calls.</Step>
  <Step title="Define the Threetone adapter">Specify the released agent session contract, audio conversion, interruption behavior, and teardown. None of these is supplied merely by creating a Graph application registration.</Step>
</Steps>

## Failure handling

Distinguish permission rejection, call-control errors, inaccessible media ports, and overloaded instances. Correlate Graph call identifiers with the media host and future agent session. Keep the existing human call path available during evaluation.

Before rollout, demonstrate invitation or joining behavior, two-way media, hangup, capacity limits, and host replacement with authorized test participants. Do not assume a generic messaging-bot emulator proves media behavior.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Can I host this in my existing JavaScript web app?" id="teams-graph-faq-host">Not as the application-hosted media service described here. Follow Microsoft's C#/.NET and Windows Server requirements for that component.</Accordion>
  <Accordion title="Does Graph registration enable Threetone meeting access?" id="teams-graph-faq-registration">No. Tenant authorization, the media service, and a supported Threetone adapter are separate release requirements.</Accordion>
</AccordionGroup>


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