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.

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

Step 2: Name the Config and Choose Composio Managed
1. Enter a Config Name for your auth config and click Next.

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

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.

Step 3: Connect Your Microsoft Account
1. Open the auth config and click Connect Account. Then open the generated link.

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

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.

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.

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.

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

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.

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

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.

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.

Step 3: Add Microsoft Graph Permissions
1. Open API permissions and click Add a permission.

2. Select Microsoft Graph.

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

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.

The set shown in the screenshots is:
Calendars.Read,Calendars.ReadWrite,Calendars.ReadWrite.SharedContacts.ReadWriteChat.ReadWriteMail.Read,Mail.ReadWrite,Mail.SendMailboxSettings.Read,MailboxSettings.ReadWriteoffline_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.

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.

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

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.

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

Step 5: Connect Your Microsoft Account
1. Open the auth config and click Connect Account. Then open the generated link.

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

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.

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.

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