How to connect Outlook to Composio

5 min read

Composio connects AI agents to Outlook so they can read and send email, manage contacts, and work with calendars. Access is limited by the permissions you approve and your account’s existing access.

This guide shows you how to set up OAuth credentials and connect Outlook to Composio.

Part 1: Connect Outlook with Composio Managed OAuth

Step 1: Create an Auth Config and Select Outlook

1. Go to Auth Configs in the Composio Dashboard and click Create.

Auth Configs page in the Composio Dashboard with the Create button

2. Search for Outlook and select it from the results.

Create Auth Config dialog with Outlook selected

Step 2: Name the Config and Choose Composio Managed

1. Enter a Config Name for your auth config and click Next.

Config Name field for the Outlook auth config

2. Under Authentication Method, select OAuth 2.0. Under Credentials, select Composio Managed.

OAuth 2.0 and Composio Managed selected in the auth config form

3. Under Scopes, choose permissions required by your integration and supported by your app registration. Click Create Auth Config.

Permission reference. For reading full message content, Mail.Read is the minimum data permission; sending requires Mail.Send. User.Read supports profile access and offline_access continued access. Calendar, contact and other operations have their own permissions. Choose for your own workflow; the screenshots are examples. Microsoft permission reference.

Scopes list for the Outlook auth config

Step 3: Connect Your Microsoft Account

1. Open the auth config and click Connect Account. Then open the generated link.

Connect Account button on the Outlook auth config

2. Select the Microsoft account you want to connect and sign in.

Microsoft Pick an account page

3. If Microsoft asks for permissions, review them and click Accept. You may not see this prompt if the account has already consented to these permissions. If your organization restricts app consent, an administrator may need to approve the request before the connection can complete.

Microsoft Permissions requested page for Composio Outlook

Step 4: Confirm the Connected Account Is Active

1. Back in Composio, open the Accounts tab on the auth config. The connected account should show an Active status. The Enabled status at the top of the page refers to the auth config itself, not to a connected account.

Connected Outlook account showing Active status in Composio

Part 2: Use your own OAuth credentials

Step 1: Register an App in Microsoft Entra ID

1. Sign in to the Azure portal, open App registrations, and click New registration.

App registrations page in the Azure portal

2. Enter a Name for the app (the screenshots use Composio OAuth Guides). Under Supported account types, choose Any Entra ID Tenant + Personal Microsoft accounts. Under Redirect URI, select Web and paste Composio’s callback URL exactly as shown, then click Register.

https://backend.composio.dev/api/v1/auth-apps/add

Register an application form with name, supported account types and Web redirect URI

Step 2: Copy the Client ID and Create a Client Secret

1. On the app’s Overview page, copy the Application (client) ID. This is the Client ID you will enter in Composio.

App Overview page showing the Application (client) ID

2. Open Certificates & secrets and click New client secret.

Certificates and secrets page with the New client secret button

3. Add a description and choose an expiry, then click Add. The screenshots use the description Composio OAuth Guides and the recommended 180-day expiry. Plan to rotate the secret before it expires.

Add a client secret panel with description and expiry

4. Copy the secret Value immediately and store it securely. Use the Value, not the Secret ID. Azure shows the Value only once, so if you leave the page without copying it you will need to create a new secret.

Client secrets list showing the Value and Secret ID columns

Step 3: Add Microsoft Graph Permissions

1. Open API permissions and click Add a permission.

API permissions page with the Add a permission button

2. Select Microsoft Graph.

Microsoft Graph selected in Request API permissions

3. Choose Delegated permissions, so the app acts on behalf of the signed-in user.

Delegated permissions option in Request API permissions

4. Search for and select each permission that matches the scopes you will choose in Composio in Step 4. Only request what your workflow actually uses. The screenshots keep Composio’s current default Outlook scopes as an example; they are not a universal minimum and not a reason to request access you do not need.

Mail.Read selected in the Request API permissions search

The set shown in the screenshots is:

  • Calendars.Read, Calendars.ReadWrite, Calendars.ReadWrite.Shared

  • Contacts.ReadWrite

  • Chat.ReadWrite

  • Mail.Read, Mail.ReadWrite, Mail.Send

  • MailboxSettings.Read, MailboxSettings.ReadWrite

  • offline_access, User.Read

If users will sign in with personal Outlook.com accounts, request only scopes those accounts support. Organization-only features such as Chat.ReadWrite (Teams chat) are not available to personal Microsoft accounts, so leave them out of a personal-account setup.

5. Click Add permissions. The Configured permissions list should now show your selected Microsoft Graph delegated permissions.

Configured permissions list showing the selected Microsoft Graph delegated permissions

Step 4: Create the Auth Config with Your Own Credentials

1. In the Composio Dashboard, go to Auth Configs, click Create, and select Outlook. Enter a Config Name (the screenshots use Outlook Custom Guide) and click Next.

Config Name field for the custom Outlook auth config

2. Under Authentication Method, select OAuth 2.0. Under Credentials, select Your Own Credentials.

OAuth 2.0 and Your Own Credentials selected in the auth config form

3. Paste the Client id and the secret Value from your Entra app into Client secret. Leave the Redirect URI exactly as shown; it must match the redirect URI you registered in Step 1. For Microsoft cloud environment, keep global for the commercial Microsoft 365 cloud.

Credentials fields, Redirect URI and Microsoft cloud environment set to global

4. Under Scopes, select the same scopes you added as Graph permissions in Step 3, then click Create Auth Config.

Scopes selected for the custom Outlook auth config

Step 5: Connect Your Microsoft Account

1. Open the auth config and click Connect Account. Then open the generated link.

Connect Account button on the custom Outlook auth config

2. Select the Microsoft account you want to connect and sign in.

Microsoft Pick an account page

3. Review the permissions your custom app is requesting and click Accept only if they are appropriate for this account. The unverified label is expected for an unpublished custom app. Leave Consent on behalf of your organisation unchecked unless you are an administrator who intends to grant tenant-wide consent. If your organization restricts user consent, an administrator may need to approve the app first.

Microsoft Permissions requested page for the unverified custom app

Step 6: Confirm the Connected Account Is Active

1. Back in Composio, open the Accounts tab on the auth config. The connected account should show an Active status. The Enabled status at the top of the page refers to the auth config itself and does not mean an account is connected.

Connected account with Active status on the custom Outlook auth config

Your Outlook auth config is ready. Copy the Auth Config ID (ac_...) and use it in your application code or secret manager.

Share