Skip to main content
Connect Microsoft Teams to Athena to read channel conversations and chats in chat, summarize threads, and send messages back to Teams — using your own Teams identity, with no bot to install and no personal token to paste.
Athena connects to Teams with a tenant-restricted, per-user OAuth flow against Microsoft Graph. Each channel or chat you connect becomes a catalog you can open in Drive, reference in chat with @, and use with Athena’s tools and agents.

What connecting Teams unlocks

  • Read channel threads — list your teams and channels, read messages and their replies.
  • Read chats — list and read your 1:1 and group chats.
  • Send messages — post to a channel or reply in a chat from a session or an agent.
  • Teams toolkit in any session — list_teams_channels, read_teams_channel, send_teams_message, list_teams_chats, read_teams_chat, send_teams_chat_message.
Athena only ever sees the Teams content the signed-in user can already see: tokens are delegated (per user), so Microsoft enforces your existing Teams permissions on every request. Athena requires no application (app-only) Graph permissions and no Teams app or bot manifest. Setup is two steps: an admin registers an Entra ID app once, then each member connects their channels and chats.

Step 1 — Register the Entra ID app (admin, once)

Athena uses the customer’s own Entra ID (Azure AD) app registration, so your tenant keeps full control of consent, conditional access, and revocation.
1

Create the app registration

In the Azure Portal, go to App registrations → New registration.
  • Name: e.g. Athena Microsoft Teams
  • Supported account types: Accounts in this organizational directory only (single tenant)
  • Redirect URI: platform Web, value:
2

Add the Microsoft Graph delegated permissions

Under API permissions → Add a permission → Microsoft Graph → Delegated permissions, add every permission below, then click Grant admin consent for <tenant>.
Athena requests the https://graph.microsoft.com/.default scope, so the permissions above must be present on the registration and admin-consented before anyone connects — there is no incremental consent at sign-in time. For a read-only connection, omit ChannelMessage.Send and ChatMessage.Send; everything else still works.
3

Create a client secret

Under Certificates & secrets → New client secret, create a secret and copy its Value immediately (Azure only shows it once).
4

Collect the three values Athena needs

From the app’s Overview page plus the secret you just created:
  • Directory (tenant) ID
  • Application (client) ID
  • Client secret

Step 2 — Enable Teams in Athena (admin, once)

This step is done by an Athena workspace admin or owner, and it applies to the entire workspace — the app registration from Step 1 is saved once, centrally, and every member then connects against it. Individual members cannot do this themselves: until an Athena admin completes this step, the Microsoft Teams connect option stays unavailable for everyone in the workspace. This is a separate person from the Entra ID (Azure) administrator in Step 1, though it may be the same person if they hold both roles.
Go to Workspace Settings → Treasury → Integrations and find the Microsoft Teams (Direct OAuth) card.
1

Turn the integration on

Toggle Microsoft Teams on. The connect card only appears on the Integrations page for members while this toggle is on.
2

Fill in the credentials and save

  • Azure AD Tenant ID — restricts sign-in to accounts in your tenant only
  • Client ID
  • Client Secret — stored encrypted at rest; never returned by the API
Click Save Configuration. To rotate the secret later, enter the new value and save again; leave the field empty to keep the existing one.

Step 3 — Connect your channels and chats (each member)

Go to Integrations and click Microsoft Teams (Direct OAuth) → Connect Microsoft Teams (Direct).
1

Sign in with Microsoft

A Microsoft sign-in popup opens, restricted to your tenant. Approve the requested access.
2

Pick channels and chats

Athena shows the teams, channels, and chats your account can see. Select the ones you want to connect — each becomes a catalog you can open in Drive, reference with @ in chat, and use with the Teams toolkit and agents.
Use Add Another Channel on the same card to connect more later.
Your tokens are encrypted at rest, are scoped to your own Teams identity, and refresh silently in the background. You can disconnect a channel or chat at any time from the Integrations page, and your Azure admin can revoke the app’s consent tenant-wide at any point.

Troubleshooting

  • “Configuration Required” dialog on Connect — the workspace toggle is on but the tenant ID / client ID / secret have not been saved yet. Finish Step 2.
  • Sign-in fails with a tenant error — the account is not in the tenant configured in Step 2, or the app registration is not single-tenant.
  • Sign-in succeeds but no teams or channels are listed — admin consent has not been granted for Team.ReadBasic.All and Channel.ReadBasic.All.
  • Reading a channel fails while listing worksChannelMessage.Read.All is missing or not admin-consented.
  • Redirect / reply URL mismatch — the app registration must have https://api.athenaintel.com/api/teams-direct/oauth/callback registered under the Web platform.