Conversation
Made-with: Cursor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| Microsoft auth, you must create a custom Auth Provider with your own Microsoft | ||
| OAuth 2.0 credentials as described below. | ||
| </Callout> | ||
| The Microsoft auth provider enables tools and agents to call the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/overview) on behalf of a user. It supports Arcade's MCP servers for [Outlook Calendar](/resources/integrations/productivity/outlook-calendar), [Outlook Mail](/resources/integrations/productivity/outlook-mail), [Microsoft Teams](/resources/integrations/social/microsoft-teams), and [SharePoint](/resources/integrations/productivity/sharepoint), as well as your own custom tools and app code. |
There was a problem hiding this comment.
Google.We: Replace first-person plural 'us' with more direct language
| The Microsoft auth provider enables tools and agents to call the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/overview) on behalf of a user. It supports Arcade's MCP servers for [Outlook Calendar](/resources/integrations/productivity/outlook-calendar), [Outlook Mail](/resources/integrations/productivity/outlook-mail), [Microsoft Teams](/resources/integrations/social/microsoft-teams), and [SharePoint](/resources/integrations/productivity/sharepoint), as well as your own custom tools and app code. | |
| The Microsoft auth provider enables tools and agents to call the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/overview) on behalf of a user. It supports Arcade's MCP servers for [Outlook Calendar](/resources/integrations/productivity/outlook-calendar), [Outlook Mail](/resources/integrations/productivity/outlook-mail), [Microsoft Teams](/resources/integrations/social/microsoft-teams), and [SharePoint](/resources/integrations/productivity/sharepoint), as well as your own custom tools and app code. |
| - Or, your [custom tools](#using-microsoft-auth-in-custom-tools) that need to call Microsoft Graph APIs | ||
| | | Option 1: Included provider | Option 2: Multi-tenant app | Option 3: Tenant-specific app | | ||
| | --- | --- | --- | --- | | ||
| | **Azure setup** | None — Arcade provisions the app | You register in Azure Portal | You register in Azure Portal | |
There was a problem hiding this comment.
Google.EmDash: Remove spaces around em dash
| | **Azure setup** | None — Arcade provisions the app | You register in Azure Portal | You register in Azure Portal | | |
| | **Azure setup** | None—Arcade provisions the app | You register in Azure Portal | You register in Azure Portal | |
| Without this, your end-users will not be able to use your app or agent in | ||
| production. | ||
| </Callout> | ||
| The fastest path. Arcade provides a pre-configured Microsoft OAuth app — no Azure app registration required. Your IT or security team approves the app in Microsoft Entra ID, and you're ready to go. |
There was a problem hiding this comment.
Google.EmDash: Remove spaces around em dash
| The fastest path. Arcade provides a pre-configured Microsoft OAuth app — no Azure app registration required. Your IT or security team approves the app in Microsoft Entra ID, and you're ready to go. | |
| The fastest path. Arcade provides a pre-configured Microsoft OAuth app—no Azure app registration required. Your IT or security team approves the app in Microsoft Entra ID, and you're ready to go. |
| | [Outlook Mail](/resources/integrations/productivity/outlook-mail) | `Mail.Read`<br/>`Mail.ReadWrite`<br/>`Mail.Send` | | ||
| | [Teams](/resources/integrations/social/microsoft-teams) | `Channel.ReadBasic.All`<br/>`ChannelMessage.Read.All`<br/>`ChannelMessage.Send`<br/>`Chat.Create`<br/>`Chat.Read`<br/>`ChatMessage.Read`<br/>`ChatMessage.Send`<br/>`People.Read`<br/>`Team.ReadBasic.All`<br/>`TeamMember.Read.All`<br/>`User.Read` | | ||
| | [SharePoint](/resources/integrations/productivity/sharepoint) | `Sites.Read.All` | | ||
| 1. Choose a unique **ID** for your provider (e.g., `my-microsoft-provider`) |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| 1. Choose a unique **ID** for your provider (e.g., `my-microsoft-provider`) | |
| 1. Choose a unique **ID** for your provider (for example, `my-microsoft-provider`) |
| 2. Search for **App Registrations** | ||
| 3. Click **+ New Registration** | ||
| 4. Configure: | ||
| - **Name:** Your preferred name (e.g., "Acme OAuth App") |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| - **Name:** Your preferred name (e.g., "Acme OAuth App") | |
| - **Name:** Your preferred name (for example, "Acme OAuth App") |
|
|
||
| 1. In your app registration, go to **Certificates & secrets** | ||
| 2. Click **+ New client secret** | ||
| 3. Add a description (e.g., "Acme Arcade Integration") |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| 3. Add a description (e.g., "Acme Arcade Integration") | |
| 3. Add a description (for example, "Acme Arcade Integration") |
| 3. Click **+ Add OAuth Provider** | ||
| 4. Select **Microsoft** from the included providers list | ||
| 5. Configure: | ||
| - **Provider ID:** Your preferred identifier (e.g., `acme-microsoft`) |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| - **Provider ID:** Your preferred identifier (e.g., `acme-microsoft`) | |
| - **Provider ID:** Your preferred identifier (for example, `acme-microsoft`) |
| 3. Click **+ Add OAuth Provider** | ||
| 4. Select **Custom Provider** | ||
| 5. Configure: | ||
| - **Provider ID:** Your preferred identifier (e.g., `acme-microsoft-tenant`) |
There was a problem hiding this comment.
Google.Latin: Replace 'e.g.' with 'for example'
| - **Provider ID:** Your preferred identifier (e.g., `acme-microsoft-tenant`) | |
| - **Provider ID:** Your preferred identifier (for example, `acme-microsoft-tenant`) |
|
|
||
| For Options 2 and 3, where you bring your own Azure app credentials, you must configure a [custom user verifier](/guides/user-facing-agents/secure-auth-production#build-a-custom-user-verifier) before deploying to production. | ||
|
|
||
| Without a custom verifier, your end-users would need an Arcade.dev account to complete the OAuth flow — which is not what you want in a production environment. The custom verifier lets your application handle user identity, so the auth flow stays within your own UX. |
There was a problem hiding this comment.
Google.EmDash: Remove spaces around em dash
| Without a custom verifier, your end-users would need an Arcade.dev account to complete the OAuth flow — which is not what you want in a production environment. The custom verifier lets your application handle user identity, so the auth flow stays within your own UX. | |
| Without a custom verifier, your end-users would need an Arcade.dev account to complete the OAuth flow—which is not what you want in a production environment. The custom verifier lets your application handle user identity, so the auth flow stays within your own UX. |
|
|
||
| This page provides a per-tool reference of every Microsoft Graph API scope required by Arcade's Microsoft MCP servers, along with the API endpoints each tool calls. For auth configuration, see the [Microsoft auth provider overview](/references/auth-providers/microsoft). | ||
|
|
||
| All four servers use the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/overview) with base URL `https://graph.microsoft.com/v1.0`, via the Microsoft Graph SDK for Python (`msgraph-sdk`). |
There was a problem hiding this comment.
Google.We: Removed 'en-us' from the Microsoft documentation URL to avoid first-person plural reference
| All four servers use the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/overview) with base URL `https://graph.microsoft.com/v1.0`, via the Microsoft Graph SDK for Python (`msgraph-sdk`). | |
| All four servers use the [Microsoft Graph API](https://learn.microsoft.com/graph/overview) with base URL `https://graph.microsoft.com/v1.0`, via the Microsoft Graph SDK for Python (`msgraph-sdk`). |
Made-with: Cursor