# Microsoft Teams setup for PopMCP

You register an app in the Microsoft Entra admin center, copy its Application (client) ID and a client secret Value into PopMCP, tick what PopMCP may do in Teams, then sign in with your work or school Microsoft account and approve access.

- Auth: OAuth authorization
- Setup time: 5 min
- API base URL: https://graph.microsoft.com/v1.0
- Credentials screen: https://entra.microsoft.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
- Provider docs: https://learn.microsoft.com/en-us/graph/teams-concept-overview

## Approval required before this works

Microsoft reviews nothing: an app you register in the Microsoft Entra admin center can sign in straight away. Your organization is the gate. Reading chats and meetings, ticked by default, needs an administrator wherever Microsoft manages consent, and channel messages, team management, transcripts, Shifts and apps always need one.

- Typical wait: None for teams, channels, your chat list, sending messages, people and presence. The other options wait until a Microsoft 365 administrator approves the app once.
- Cost: Free. Registering an app and the calls PopMCP makes as you cost nothing. It needs a work or school account on Microsoft 365 with Teams; personal Microsoft accounts and Teams (free) cannot use Teams through Microsoft Graph.
- Blocked until approved: Any option your administrator has not approved: Microsoft stops the whole sign-in with Need admin approval while one ticked option waits. The always-included part works without an administrator, unless your organization only lets admins approve apps at all.
- Works meanwhile: Register the app, add PopMCP's Redirect URI, create the client secret and connect with only the options you can approve yourself (untick Read chats and meetings if Microsoft asks for an admin). Reconnect with more options ticked once the admin approves.

## Before you begin

- A work or school Microsoft account on Microsoft 365 with Teams. Personal Microsoft accounts and Teams (free) cannot use Teams through Microsoft Graph.
- A Microsoft Entra tenant you can register apps in: your organization's (members can register apps unless an admin turned that off, and the Application Developer role always can).
- PopMCP's Redirect URI from the connect form: https://app.popmcp.com/api/providers/microsoft/callback
- For channel messages and files, team management, meeting transcripts and recordings, Shifts, or apps and tabs: a Microsoft 365 administrator who approves the app once. Reading chats and meetings needs one too in organizations where Microsoft manages consent.

## Get your credentials

### 1. Open App registrations

Go to entra.microsoft.com and sign in. If you belong to several tenants, use the Settings icon in the top bar to switch to the one that should own the app. Open Entra ID > App registrations and select New registration.

Screen: https://entra.microsoft.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

### 2. Register the app

Enter a Name people will recognize, such as `PopMCP`: Microsoft shows it when asking for access. Under Supported account types pick Multiple Entra ID tenants, then select Register. Teams works only with work or school accounts, so personal accounts are not needed. Single tenant only works too for your own organization, but then the app's Directory (tenant) ID goes into PopMCP as well.

Screen: https://entra.microsoft.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

### 3. Add PopMCP's Redirect URI

On the new app, open Authentication under Manage. On the Redirect URI configuration tab select Add Redirect URI, choose the Web tile, enter `https://app.popmcp.com/api/providers/microsoft/callback` exactly as PopMCP shows it, and select Configure.

### 4. Create a client secret

Open Certificates & secrets, stay on Client secrets and select New client secret. Enter a description such as `PopMCP`, choose when it expires (24 months at most; Microsoft recommends less than 12) and select Add. Copy the Value column straight away: Microsoft never shows it again. The Secret ID beside it is not the secret.

### 5. Copy the Application (client) ID

Open Overview and copy the Application (client) ID. You only need the Directory (tenant) ID if you chose Single tenant only.

### 6. Get an administrator's approval (only if needed)

Teams, channels, your chat list, sending messages, people and presence need no administrator. Read chats and meetings (ticked by default) needs one in organizations where Microsoft manages consent, and the other options always do. An administrator (Global Administrator or Cloud Application Administrator) opens API permissions on the app, selects Add a permission > Microsoft Graph > Delegated permissions, adds the permissions listed for the options you want (for example `Chat.Read`, `OnlineMeetings.Read` and `ChannelMessage.Read.All`) and selects Grant admin consent for the organization. Or the administrator connects Teams in PopMCP once with those options ticked and checks Consent on behalf of your organization on Microsoft's page.

### 7. Fill in PopMCP and sign in

In PopMCP put the ID in Application (client) ID and the secret's Value in Client secret Value (the Directory (tenant) ID under More options only for a Single tenant only app). Under What PopMCP may do in Teams keep Read chats and meetings ticked to read chats and meetings, and tick any option your administrator approved. Select Sign in with Microsoft, pick your work or school account and select Accept. If Microsoft says Need admin approval, untick the options marked as needing approval and sign in again, or ask your administrator first.

## Fields PopMCP asks for

- Application (client) ID (clientId) [required]: Only for your own app. In the Microsoft Entra admin center (entra.microsoft.com) open Entra ID, App registrations, New registration, pick Multiple Entra ID tenants under Supported account types (or Single tenant only, and fill in the Directory (tenant) ID below) and select Register, then copy the Application (client) ID from Overview.
- Client secret Value (clientSecret) [required]: In the app registration open Certificates & secrets, Client secrets, New client secret, then Add, and copy the Value column right away (it is shown once). Stored encrypted and used only on our server.
- Directory (tenant) ID (tenant): Only for an app registered as Single tenant only. Copy it from the app's Overview page.
- What PopMCP may do in Teams (extraAccess): Teams, channels, chat lists, sending messages, people and presence are always included. Tick what else you need; options marked as needing approval only work after a Microsoft 365 administrator approves PopMCP for your organization.

## Callback URL to register

https://app.popmcp.com/api/providers/microsoft/callback

## Scopes requested

- User.Read
- User.ReadBasic.All
- Team.ReadBasic.All
- Channel.ReadBasic.All
- Chat.ReadBasic
- Presence.Read.All
- ChannelMessage.Send
- ChatMessage.Send
- Chat.Create
- Presence.ReadWrite
- Chat.Read
- OnlineMeetings.Read
- OnlineMeetingArtifact.Read.All
- Chat.ReadWrite
- OnlineMeetings.ReadWrite
- offline_access
- openid
- profile
- email

## Verify

PopMCP shows Microsoft Teams as Connected under your sign-in address, with how many teams you are in, and teams_recent_chats lists your chats, newest first, with their latest message.

## Troubleshooting

### "The app's redirect URI does not match"

Cause: Microsoft answered AADSTS50011: PopMCP's callback is not registered as a Web redirect URI on the app, or differs by a character.

Fix: Open **Authentication**, select **Add Redirect URI**, choose **Web**, enter `https://app.popmcp.com/api/providers/microsoft/callback` and select **Configure**, then connect again.

### "Microsoft did not accept the app's client secret"

Cause: The **Secret ID** was pasted instead of the secret's **Value** (AADSTS7000215), or the Value was cut short when copying.

Fix: Under **Certificates & secrets** create a new client secret, copy its **Value** right away and paste it into PopMCP.

### "The app's client secret has expired"

Cause: Client secrets last at most 24 months (AADSTS7000222).

Fix: Create a new client secret under **Certificates & secrets** and reconnect Microsoft Teams with its Value.

### "Your app is registered for one organization only"

Cause: A Single tenant only app was used without its tenant (AADSTS50194).

Fix: Copy the **Directory (tenant) ID** from the app's **Overview**, enter it under **More options** in PopMCP and connect again.

### Microsoft says **Need admin approval**

Cause: An option you ticked needs an administrator (Read chats and meetings where Microsoft manages consent; the other options always), or your organization lets only admins approve apps (AADSTS65001 or AADSTS90094). Microsoft's consent is all or nothing, so one such option stops the whole sign-in.

Fix: Untick the options marked as needing approval and connect again, or ask an administrator to grant admin consent for those permissions (see the approval step), then connect with them ticked.

### "Microsoft Teams works with work or school accounts only"

Cause: You signed in with a personal Microsoft account (Outlook.com, Hotmail, Live or Teams free). Microsoft offers no Teams access through Microsoft Graph for those.

Fix: Connect again and sign in with the work or school account your organization gave you.

### "Microsoft signed in but would not list your teams"

Cause: A permission was declined on the consent screen, your organization still has to approve the app, or the account has no Teams license.

Fix: Connect again and approve every permission, ask your administrator to approve the app, or ask them to assign a license that includes Teams.

### A tool answers "This needs ChannelMessage.Read.All, which comes with Read channel messages and files"

Cause: The connection was made without that option, so PopMCP refuses before asking Microsoft. Other tools name their own option the same way.

Fix: Reconnect Microsoft Teams with the named option ticked under **What PopMCP may do in Teams**. Options marked as needing approval work once an administrator approves them.

### "Not approved yet (ask a Microsoft 365 administrator)" on the connection

Cause: You ticked an option, but the token Microsoft issued does not carry its permissions yet.

Fix: Ask an administrator to grant admin consent for the permissions of that option, then reconnect.

### 429 Too Many Requests

Cause: Teams limits each app per tenant, per team, chat or channel, and per user: for example 1 message a second per chat or channel, and listing chats about once a second per user.

Fix: Wait the time Microsoft gives and try again. teams_recent_chats, teams_read_chat, teams_read_channel and teams_batch_read do in one call what would otherwise take many.

---

Source: https://www.docs.popmcp.com/docs/integrations/microsoft-teams/