# Outlook Calendar 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, then sign in with Microsoft 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/entra/identity-platform/quickstart-register-app

## Before you begin

- A Microsoft account with an Outlook calendar: a work or school account on Microsoft 365 (Exchange Online), or a personal Outlook.com, Hotmail or Live account.
- 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), or, with only a personal account, a tenant of your own such as the Default Directory of an Azure account.
- PopMCP's Redirect URI from the connect form: https://app.popmcp.com/api/providers/microsoft/callback
- For someone else's calendar: that person shares it with you (or makes you their delegate) in Outlook and you accept. Work or school accounts only.
- For Rooms and places: a work or school account and an administrator who approves the Place.Read.All permission.

## 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 Any Entra ID Tenant + Personal Microsoft accounts, so work, school and personal Outlook.com accounts can all sign in, then select Register. Single tenant only works too for your organization's calendars, 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. Paste both into 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). Also under More options: enter an address in Someone else's calendar to connect a calendar that person shared with you, or tick Shared and delegated calendars or Rooms and places under Extra access. Select Sign in with Microsoft, pick the account whose calendar you want, and select Accept.

## 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 Any Entra ID Tenant + Personal Microsoft accounts under Supported account types 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.
- Someone else's calendar (calendarOwner): Connect the calendar of a person who shared it with you or made you their delegate, instead of your own. Work or school accounts only.
- Extra access (extraAccess): 

## Callback URL to register

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

## Scopes requested

- User.Read
- Calendars.Read.Shared
- Calendars.ReadWrite
- MailboxSettings.ReadWrite
- offline_access
- openid
- profile
- email

## Verify

PopMCP shows Outlook Calendar as Connected under your account's address, and outlook_calendar_get_agenda lists today's events from every calendar, in your Outlook time zone.

## 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 Outlook Calendar with its Value.

### "This app does not accept the kind of Microsoft account you signed in with"

Cause: The app's **Supported account types** leaves out the account you signed in with, typically a personal Outlook.com account on an organization-only app.

Fix: Register the app with **Any Entra ID Tenant + Personal Microsoft accounts**, or sign in with an account from the app's own organization.

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

### "Your organization needs an administrator to approve this app"

Cause: Your organization lets only admins approve apps, or only apps from verified publishers (AADSTS65001 or AADSTS90094).

Fix: An admin opens the app in the Microsoft Entra admin center, **API permissions**, and selects **Grant admin consent** for the organization. Then connect again.

### "This Microsoft account has no Exchange Online mailbox, so it has no Outlook calendar Microsoft Graph can reach"

Cause: The account has no Microsoft 365 mailbox license, its mailbox is on an on-premises Exchange server, or it is a personal account without Outlook.com.

Fix: Sign in with the account that has the calendar, or ask your Microsoft 365 admin to assign an Exchange Online license.

### "The signed-in account cannot open manager@contoso.com's calendar"

Cause: The person has not shared their calendar with you or made you a delegate, you have not accepted their sharing invitation yet, or the address is wrong.

Fix: Ask them to share the calendar with you in Outlook (Share calendar, then your address), accept the invitation, and connect again.

### "Connecting someone else's calendar needs a work or school account"

Cause: Microsoft Graph does not open other people's calendars for personal Microsoft accounts.

Fix: Leave **Someone else's calendar** empty. A calendar someone shared with your personal account still appears in outlook_calendar_list_calendars and works by its id.

### "Rooms and places need the Place.Read.All permission, which an administrator must approve"

Cause: Room finding was used without the **Rooms and places** option, or an administrator has not approved Place.Read.All yet.

Fix: Reconnect with **Rooms and places** ticked under **More options**, and ask an administrator to grant admin consent for the app. Inviting a room by its address works without it.

### "Microsoft offers this only to work or school accounts (Microsoft 365)"

Cause: Free/busy of other people (get_schedule, find_meeting_times), rooms and Microsoft Places work only for work or school accounts.

Fix: Use outlook_calendar_find_free_time without attendees to find your own free time, or connect a work or school account.

### 429 with ApplicationThrottled or MailboxConcurrency

Cause: Outlook allows 10,000 requests per 10 minutes and 4 at a time per app per mailbox, shared by calendar and mail.

Fix: Wait the time Microsoft gives and try again. outlook_calendar_get_agenda, outlook_calendar_search_events and outlook_calendar_batch_read do in one call what would otherwise take many.

---

Source: https://www.docs.popmcp.com/docs/integrations/outlook-calendar/