Skip to main content

Microsoft Outlook Connector

Microsoft Outlook Manage emails, calendar events, and subscriptions in Microsoft Outlook.

Connections

OAuth 2.0 Authorization Code

Authenticates actions in all Microsoft's Graph API services.

To connect to Microsoft Outlook using OAuth 2.0, create an App Registration in Microsoft Entra (formerly Azure Active Directory).

Prerequisites

Setup Steps

  1. Navigate to Azure Active Directory tenant and create a new App Registration
  2. When creating the application, select Supported account types:
    • Choose Accounts in any organizational directory (Any Azure AD directory - Multitenant) to allow users from other organizations to authenticate
  3. Under Platforms, add the Web platform:
    • Add https://oauth2.integrations.acme.com/callback as a Redirect URI
  4. Navigate to Certificates & Secrets and create a new Client Secret:
    • Copy the Value of the client secret (this will only be shown once)
  5. Navigate to the Overview page and copy the Application (client) ID

Configure the Connection

  • Enter the Application (client) ID value into the Client ID field

  • Enter the Client Secret value into the same named field

  • The default scopes are pre-configured for common use cases:

    https://graph.microsoft.com/User.Read https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/Mail.ReadWrite https://graph.microsoft.com/Mail.Send offline_access
    • https://graph.microsoft.com/User.Read - Read basic user data
    • https://graph.microsoft.com/Calendars.ReadWrite - Manage Outlook calendar
    • https://graph.microsoft.com/Mail.ReadWrite - Manage email
    • https://graph.microsoft.com/Mail.Send - Send email
    • offline_access - Maintain OAuth connection and receive refresh tokens
    • Refer to Microsoft Graph permissions reference for additional scope information
  • Additional Authorization Parameters (optional) - Query string parameters appended to the OAuth authorization URL:

    • Use prompt=consent to force Microsoft to display the consent screen, which is useful when you've changed the requested scopes and need users to re-authorize
    • Use login_hint=user@example.com to pre-fill the user's email address on the sign-in page
    • Multiple parameters can be combined with & (e.g., prompt=consent&login_hint=user@example.com)
Single-Tenant Applications

For single-tenant applications (not Multitenant), tenant-specific URLs are required. The connection will automatically handle tenant-specific configuration when a Tenant ID is provided.

Cloud Environments

The connection supports different Microsoft cloud environments (Commercial, Government, China). The Base URL will automatically adjust based on the selected cloud environment.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Base URLThe base URL for the Microsoft Graph API. Depending on your cloud environment, you can choose the correct one here.https://graph.microsoft.com
Tenant URLThe tenant URL for the Microsoft Graph API. This is the URL of the tenant that you are connecting to. You can find this in the Azure portal or here.login.microsoftonline.com/common
ScopesMicrosoft Graph API permission scopes are set on the OAuth application.https://graph.microsoft.com/User.Read https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/Mail.ReadWrite https://graph.microsoft.com/Mail.Send offline_access
Client IDClient Id of your Azure application.
Client secret valueClient Secret generated under 'Certificates & Secrets' in your Azure application.
Additional Authorization ParametersQuery string parameters to append to the OAuth authorization URL. Common parameters include prompt=consent to force the consent screen or login_hint=user@example.com to pre-fill the login email.

OAuth 2.0 Authorization Code (Deprecated)

OAuth 2.0 Authorization Code Connectivity for Microsoft Outlook

You will first need to create and configure a new "App Registration" within your Azure Active Directory tenant. When creating the application you will be prompted to select the 'Supported account types'. Under this section, be sure to select 'Accounts in any organizational directory (Any Azure AD directory - Multitenant)'.

You will need to go to "Platforms" and add the "Web" platform. In that section you should add the OAuth 2.0 callback URL - https://oauth2.integrations.acme.com/callback - as a Redirect URI.

Next, go to "Certificates & Secrets" for the app and add a new Client Secret. Note this value as you will need to supply it to the connection.

You will also need the Application (client) ID from the "Overview" page.

Now, configure the OAuth 2.0 connection. Add an Microsoft Outlook OAuth 2.0 connection config variable:

  • Use the Application (client) ID value for the Client ID field.
  • Use the Client Secret for the same named field.
  • If you didn't select Multitenant when creating the Azure application, you will need to replace the Authorize URL and Token URL with ones specific to your tenant.
  • The default scopes are as follows. You can remove scopes that you don't need:
    • https://graph.microsoft.com/User.Read for reading basic user data
    • https://graph.microsoft.com/Calendars.ReadWrite for managing Outlook calendar
    • https://graph.microsoft.com/Mail.ReadWrite for managing email
    • https://graph.microsoft.com/Mail.Send for sending email
    • Ensure the offline_access scope is included in your app registration. It is essential to maintain your OAuth connection and receive refresh tokens. Without it, users will need to re-authenticate every hour.

Save your integration and you should be able to authenticate a user with OAuth 2.0 to access their Microsoft Outlook data.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Base URLBase URL for the Microsoft Graph API. Depending on the cloud environment, choose the correct endpoint from the Microsoft Graph deployments documentation.https://graph.microsoft.com
Authorize URLOAuth 2.0 Authorization URL for Microsoft Outlook authentication.https://login.microsoftonline.com/common/oauth2/v2.0/authorize?prompt=consent
Token URLOAuth 2.0 Token URL for Microsoft Outlook authentication.https://login.microsoftonline.com/common/oauth2/v2.0/token
ScopesList of OAuth permission scopes. These scopes should be configured in the Microsoft Entra App Registration.https://graph.microsoft.com/User.Read https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/Mail.ReadWrite https://graph.microsoft.com/Mail.Send offline_access
Client IDApplication (client) ID from the Microsoft Entra App Registration.
Client secret valueClient secret value from the Microsoft Entra App Registration. This value is only shown once when created.

OAuth 2.0 Client Credentials

Authenticates actions in all Microsoft's Graph API services.

To connect to Microsoft Outlook using OAuth 2.0 Client Credentials flow, create an App Registration with application permissions in Microsoft Entra.

The Client Credentials flow is used for server-to-server authentication without user interaction, requiring application-level permissions and admin consent.

Prerequisites

Setup Steps

  1. Navigate to Microsoft Entra Identity > Applications > App registrations and select New registration:
    • Set Supported Account types to Accounts in any organizational directory (Any Azure AD directory - Multitenant) to allow access from other organizations
    • Set the Redirect URI dropdown to Web platform and add https://oauth2.integrations.acme.com/callback as a Redirect URI
    • Select Register to complete
  2. From the App menu, navigate to Certificates & Secrets and add a new Client Secret:
    • Copy the Value for the Client Secret (this will only be shown once)
  3. Navigate to the Overview page and copy the Application (client) ID
  4. Navigate to API Permissions and configure application permissions:
    • Select Add Permission > Microsoft Graph > Application permissions
    • Add all permissions required for the use case (e.g., Mail.ReadWrite, Calendars.ReadWrite, User.Read.All)
    • Refer to Microsoft Graph permissions reference for available permissions
  5. After applying all relevant permissions, select Grant Admin Consent to authorize the application permissions

Configure the Connection

  • Enter the Tenant ID for the organization being accessed
  • Enter the Application (client) ID value into the Client ID field
  • Enter the Client Secret value into the same named field
  • Enter the User ID of the user whose data will be accessed (required for user-specific endpoints)
  • The default scope https://graph.microsoft.com/.default is pre-configured for the connection
Client Credentials vs Authorization Code

The Client Credentials flow uses application permissions and does not require user login. This is ideal for background services and automated processes. For user-delegated permissions, use the OAuth 2.0 Authorization Code connection instead.

User ID Required

All actions using the client credentials flow require a User ID to specify which user's data to access. This is required because application permissions operate on behalf of the application, not a signed-in user.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
Base URLThe base URL for the Microsoft Graph API. Depending on your cloud environment, you can choose the correct one here.https://graph.microsoft.com
Microsoft Entra ID EndpointThe Microsoft Entra ID endpoint for the Microsoft Graph API. You can find this in the Azure portal or here.https://login.microsoftonline.com
TenantThe tenant ID or name for the Microsoft Graph API. This is the ID or name of the tenant that you are connecting to.
Client IDClient Id of your Azure application.
Client SecretClient Secret generated under 'Certificates & Secrets' in your Azure application.
ScopesMicrosoft Graph API Scopes.https://graph.microsoft.com/.default
User IDUnique identifier of the user whose data will be accessed. Required for client credentials authentication to work with user-specific endpoints.

Triggers

Calendar Event Webhook

Receive calendar event notifications from Outlook. Automatically creates and manages a webhook subscription for calendar events when the instance is deployed, and removes the subscription when the instance is deleted. Supports scheduled renewal to keep the subscription active.

InputCommentsDefault
ConnectionThe Outlook connection to use.
Expiration Date/TimeExpiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10070 minutes (maximum permitted by the Graph API).
Allow DuplicatesWhen true, allows more than one webhook subscription per endpoint.false

Mail Message Webhook

Receive mail message notifications from Outlook. Automatically creates and manages a webhook subscription for mail messages when the instance is deployed, and removes the subscription when the instance is deleted. Supports scheduled renewal to keep the subscription active.

InputCommentsDefault
ConnectionThe Outlook connection to use.
Mail Change TypesTypes of changes to listen for on mail messages.
Folder IDThe mail folder to monitor for changes. Leave empty to monitor the entire mailbox.
Expiration Date/TimeExpiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10070 minutes (maximum permitted by the Graph API).
Allow DuplicatesWhen true, allows more than one webhook subscription per endpoint.false

Webhook

Receive and validate webhook requests from Outlook for manually configured webhook subscriptions.

Actions

Cancel Event

Cancel an Event

InputCommentsDefault
ConnectionThe Outlook connection to use.
Event IDUnique identifier of the calendar event.
CommentComment about the cancellation sent to all attendees

Create Calendar

Create a new Calendar

InputCommentsDefault
ConnectionThe Outlook connection to use.
NameThe name of the calendar.
ColorColor of the calendar; see 'color' in the Microsoft Graph calendar resource documentation for detailsauto

Create Event

Create an Event on a Calendar

InputCommentsDefault
ConnectionThe Outlook connection to use.
Calendar IDUnique identifier of the calendar to list events from. Lists all events for the current user if unspecified.
Location NameName of the event location.
SubjectSubject of the calendar event.
Body (HTML)HTML body content of the event.
Attendees Data CollectionReference to data structures representing attendees. Will be merged with Attendees if both are specified.
TypeEvent attendees as key-value pairs. Specify the email address as the key and the attendee type (required, optional, or resource) as the value.
Start AtISO 8601 formatted timestamp without timezone information.
Start TimezoneTimezone for the start time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.UTC
End AtISO 8601 formatted timestamp without timezone information.
End TimezoneTimezone for the end time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.UTC

Create Event Subscription

Create an Event subscription for Microsoft Outlook

InputCommentsDefault
ConnectionThe Outlook connection to use.
Notification URLURL where notification events will be sent.
Expiration Date/TimeExpiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10070 minutes (maximum permitted by the Graph API).
Allow DuplicatesWhen true, allows more than one webhook subscription per endpoint.false

Create Mail Folder

Create a new mail folder

InputCommentsDefault
ConnectionThe Outlook connection to use.
Parent Folder IDCreate a folder under this parent folder. Omit to create a root-level folder.
Display nameThe display name of the folder.

Create Mail Folder Subscription

Create a Mail Folder subscription for Microsoft Outlook

InputCommentsDefault
ConnectionThe Outlook connection to use.
Mail Change TypesTypes of changes to listen for on mail messages.
Notification URLURL where notification events will be sent.
Expiration Date/TimeExpiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10070 minutes (maximum permitted by the Graph API).

Delete All Instance Subscriptions

Delete all subscriptions pointed at this instance

InputCommentsDefault
ConnectionThe Outlook connection to use.

Delete Calendar

Delete an existing Calendar

InputCommentsDefault
ConnectionThe Outlook connection to use.
Calendar IDThe unique identifier of the calendar to modify.

Delete Event

Delete an Event

InputCommentsDefault
ConnectionThe Outlook connection to use.
Event IDUnique identifier of the calendar event.

Delete Mail Folder

Delete the specified mail folder

InputCommentsDefault
ConnectionThe Outlook connection to use.
Folder IDThe unique identifier of the folder.

Delete Message

Delete message by ID

InputCommentsDefault
ConnectionThe Outlook connection to use.
Message IDUnique identifier of the message.

Delete Subscription

Delete existing subscription for Microsoft Outlook

InputCommentsDefault
ConnectionThe Outlook connection to use.
Subscription IDUnique identifier of the webhook subscription.

Get Calendar Event

Gets information about a specific calendar event

InputCommentsDefault
ConnectionThe Outlook connection to use.
Event IDUnique identifier of the calendar event.

Get Current User

Get the information and metadata of the user that is currently logged in

InputCommentsDefault
ConnectionThe Outlook connection to use.

Get Mail Message

Fetch and parse a raw message by ID

InputCommentsDefault
ConnectionThe Outlook connection to use.
Message IDUnique identifier of the message.

Get Schedule Availability

Get the free/busy availability information for a collection of users

InputCommentsDefault
ConnectionThe Outlook connection to use.
Availability View IntervalDuration of time slot to check availability for in minutes30
SchedulesCollection of SMTP addresses of users, distribution lists, or resources to get availability information for
Start AtISO 8601 formatted timestamp without timezone information.
Start TimezoneTimezone for the start time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.UTC
End AtISO 8601 formatted timestamp without timezone information.
End TimezoneTimezone for the end time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.UTC

List Calendars

List all Calendars for the user

InputCommentsDefault
ConnectionThe Outlook connection to use.
Page LimitMaximum number of results to return per page.
Page SkipNumber of records to skip before returning results.
Fetch AllWhen true, fetches all pages of results using pagination.false

List Events

List all Events for the user

InputCommentsDefault
ConnectionThe Outlook connection to use.
Calendar IDUnique identifier of the calendar to list events from. Lists all events for the current user if unspecified.
Page LimitMaximum number of results to return per page.
Page SkipNumber of records to skip before returning results.
Fetch AllWhen true, fetches all pages of results using pagination.false

List Mail Folders

Get the mail folder collection directly under the root folder of the signed-in user, or under the specified parent folder.

InputCommentsDefault
ConnectionThe Outlook connection to use.
Parent Folder IDList all folders contained within this folder. Omit to list root-level folders.
Page LimitMaximum number of results to return per page.
Page SkipNumber of records to skip before returning results.
Fetch AllWhen true, fetches all pages of results using pagination.false

List Mail Messages

List mail messages in a user's mailbox

InputCommentsDefault
ConnectionThe Outlook connection to use.
Folder IDUnique identifier of the folder. Omit to list all messages.
SearchSearch query to filter messages. Cannot be used with Filter. Refer to Microsoft Graph search parameter documentation for query syntax.
FilterOData filter expression to apply to the messages. Cannot be used with Search. Refer to Microsoft Graph filter parameter documentation for filter syntax.
Page LimitMaximum number of results to return per page.
Page SkipNumber of records to skip before returning results.
Fetch AllWhen true, fetches all pages of results using pagination.false

List Subscriptions

List all subscriptions for Microsoft Outlook

InputCommentsDefault
ConnectionThe Outlook connection to use.
Show Instance WebhooksShow only subscriptions for this instance's webhooks.true
Fetch AllTurn on to fetch all pages of results.true

List Supported Languages

List supported languages for current user

InputCommentsDefault
ConnectionThe Outlook connection to use.

List Supported Timezones

List supported timezones for current user

InputCommentsDefault
ConnectionThe Outlook connection to use.

Raw Request

Send raw HTTP request to Microsoft Outlook

InputCommentsDefault
Connection
URLInput the path only (/me/calendars), The base URL is already included (https://graph.microsoft.com/v1.0). For example, to connect to https://graph.microsoft.com/v1.0/me/calendars, only /me/calendars is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Send Message

Send a new message

InputCommentsDefault
ConnectionThe Outlook connection to use.
ToRecipient email addresses. Multiple addresses can be specified as a comma-separated list.
CCCarbon copy email addresses. Multiple addresses can be specified as a comma-separated list.
BCCBlind carbon copy email addresses. Multiple addresses can be specified as a comma-separated list.
SubjectSubject line of the email message.
Message BodyPlain text or HTML body content of the email message.
Body Content TypeFormat of the message body content.html
AttachmentsFile attachments as key-value pairs. Specify the file name as the key (e.g., my-file.pdf) and the file data as the value.
Dynamic AttachmentsArray of objects with "key" and "value" properties, where "key" is the file name and "value" is the binary file data. Typically used as a reference from a previous step.

Update Calendar

Update an existing Calendar

InputCommentsDefault
ConnectionThe Outlook connection to use.
Calendar IDThe unique identifier of the calendar to modify.
NameThe name of the calendar.
ColorColor of the calendar; see 'color' in the Microsoft Graph calendar resource documentation for detailsauto

Update Event

Update an existing Event

InputCommentsDefault
ConnectionThe Outlook connection to use.
Event IDUnique identifier of the calendar event.
Location NameName of the event location.
SubjectSubject of the calendar event.
Body (HTML)HTML body content of the event.
Attendees Data CollectionReference to data structures representing attendees. Will be merged with Attendees if both are specified.
TypeEvent attendees as key-value pairs. Specify the email address as the key and the attendee type (required, optional, or resource) as the value.
Start AtISO 8601 formatted timestamp without timezone information.
Start TimezoneTimezone for the start time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.UTC
End AtISO 8601 formatted timestamp without timezone information.
End TimezoneTimezone for the end time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.UTC

Update Event Subscription Expiration

Update existing Event subscription expiration for Microsoft Outlook

InputCommentsDefault
ConnectionThe Outlook connection to use.
Subscription IDUnique identifier of the webhook subscription.
Expiration Date/TimeExpiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10070 minutes (maximum permitted by the Graph API).