AxioRankDocs
Integrations

Microsoft Teams

Bring AxioRank into Microsoft Teams. Route high-risk AI-agent alerts to a chat or channel and approve or deny held tool calls right in Teams, with Bot Framework verified callbacks and a tamper-evident audit trail.

The AxioRank Microsoft Teams app brings AI-agent governance into Teams: high-risk alerts and approvals you can resolve in place. Approve and deny in Teams run through the same dual-control path as the dashboard and signed email links, so a two-person hold needs two distinct Teams users when your policy requires it.

What is stored, and what is read

The bot acts only on the conversation it was added to. It stores that conversation reference so it can post alerts and approval prompts, plus the one short-lived link code you paste to bind the chat to your workspace. It reads no message content and requests no message-history permissions. The bot credentials (TEAMS_APP_ID, TEAMS_APP_PASSWORD) live in deployment configuration, never on the channel row.

Why a Bot Framework app, not a connector

Classic Office 365 incoming-webhook connectors are one-way and cannot receive button callbacks, and Microsoft is retiring them. Two-way Approve and Deny needs an Azure Bot (Bot Framework) with a messaging endpoint, so AxioRank ships as a Teams app backed by an Azure Bot. That is what lets a held tool call show up as an Adaptive Card you can act on, with the verdict flowing back to AxioRank.

Connect a Teams chat

  1. Install the AxioRank app into a Teams chat or channel from your organization's app catalog. The bot greets the chat and captures the conversation it was added to.
  2. In the AxioRank dashboard, open Channels, choose Microsoft Teams, and copy the link code.
  3. Paste the code into that Teams chat. The bot verifies it, binds the chat to your workspace, and confirms. The channel now appears in Channels and starts receiving alerts and approval prompts.

The Add to Microsoft Teams option appears when the deployment has the Azure Bot configured (TEAMS_APP_ID and TEAMS_APP_PASSWORD). Without it, route alerts and approvals to your other channels instead.

The link code is workspace-scoped and short-lived

A Teams bot install does not carry your AxioRank workspace identity. The signed link code, valid for 30 minutes, proves which workspace a conversation belongs to. Reopen the Add channel dialog for a fresh code.

Approve and deny in Teams

When a policy holds a risky action, an Adaptive Card with Approve and Deny lands in the linked chat. The action callback is verified with a Bot Framework JWT, checked against the bot's app id and the conversation's service URL on /api/teams/messages, then resolved through AxioRank's approval engine. Two distinct Teams users are needed to clear a hold that requires two approvals, and the prompt updates in place to show who decided.

What you can subscribe to

A Teams channel can receive high-risk alerts, escalated approvals, security config changes, platform-degradation notices, incident lifecycle updates, and daily or weekly digests. The initial approval prompt is always sent to every linked Teams channel, the same as Slack.

Set up the Azure Bot (operators)

  1. Create a multi-tenant Azure Bot resource and note its Microsoft App ID and a client secret. Set TEAMS_APP_ID and TEAMS_APP_PASSWORD on the deployment.
  2. Enable the Microsoft Teams channel on the bot.
  3. Set the bot's Messaging endpoint to https://<your-host>/api/teams/messages.
  4. Build the Teams app manifest (see packages/teams-app), sideload it for a pilot, or publish it to your org's app catalog or the Teams Store.

Until the credentials and a published app are in place, the feature is inert: the messaging endpoint returns 503 and the connect option is hidden, so there is no dead path.

On this page