Skip to main content

Microsoft Outlook Component

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

Component key: ms-outlook ·
· Changelog ↓

Description

Microsoft Outlook is a productivity suite for managing email and calendar. This component allows reading, sending, and managing emails, as well as creating, updating, and managing calendar events and subscriptions.

API Documentation

This component was built using the Microsoft Graph API currently utilizing v1.0

Connections

OAuth 2.0 Authorization Code (Deprecated)

key: oauth
Deprecated

This connection type is deprecated. Use the OAuth 2.0 Authorization Code connection instead, which provides the same functionality with improved configuration.

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)'.

Prerequisites

Setup Steps

  1. Create and configure a new App Registration within the Azure Active Directory tenant
  2. When creating the application, select Supported account types:
    • Choose Accounts in any organizational directory (Any Azure AD directory - Multitenant) to allow access from other organizations
  3. Under Platforms, add the Web platform:
    • Add the OAuth 2.0 callback URL — https://oauth2.prismatic.io/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
  • If Multitenant was not selected when creating the Azure application, replace the Authorize URL and Token URL with tenant-specific values
  • The default scopes are pre-configured (any scopes not needed can be removed):
    • https://graph.microsoft.com/User.Read — reads basic user data
    • https://graph.microsoft.com/Calendars.ReadWrite — manages Outlook calendar
    • https://graph.microsoft.com/Mail.ReadWrite — manages email
    • https://graph.microsoft.com/Mail.Send — sends email
    • Ensure the offline_access scope is included in the app registration. It is essential to maintain the OAuth connection and receive refresh tokens. Without it, users will need to re-authenticate every hour.

After saving the integration, users can authenticate with OAuth 2.0 to access their Microsoft Outlook data.

Microsoft requires Azure AD app registrations used in multi-tenant deployments to complete a publisher verification process. This review confirms the app developer's identity, giving end users confidence that they are authorizing a legitimate, verified application.

Azure AD app registrations have two distinct verification concepts that affect how users experience the authentication flow.

Publisher Verification

Complete publisher verification before deploying to end users. Without it, the Microsoft consent screen displays "Unverified" next to the app name. This reduces user trust and may prevent users in organizations with strict Azure AD policies from being able to authorize the app at all.

To verify the publisher:

  1. Ensure the organization has a Microsoft Partner Network (MPN) account
  2. In the Microsoft Entra Admin Center, open the app registration
  3. Under Branding & properties, click Add a verified publisher
  4. Enter the MPN ID and confirm

Once verified, the consent screen displays the organization name with a verified badge instead of "Unverified."

Apps requesting application permissions (permissions that act without a signed-in user) or high-privilege delegated permissions require admin consent before any user in a Microsoft 365 tenant can authenticate. Without admin consent, users see a "Need admin approval" error.

A tenant administrator can grant consent using either method:

Method 1 — Admin Consent URL:

Navigate to the following URL, replacing {tenant} with the Directory tenant ID and {client_id} with the Application client ID:

https://login.microsoftonline.com/{tenant}/adminconsent?client_id={client_id}

Method 2 — Microsoft Entra Admin Center:

  1. Navigate to Microsoft Entra Admin CenterEnterprise applications
  2. Select the app registration
  3. Under Permissions, click Grant admin consent for [organization name]
Delegated vs. Application Permissions

Delegated permissions (user-level) typically do not require admin consent unless they are classified as high privilege. Application permissions always require admin consent. Review the Microsoft Graph permissions reference to identify which permissions require consent.

InputNotesExample
Authorize URL

OAuth 2.0 Authorization URL for Microsoft Outlook authentication.

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?prompt=consent
Base URL

Base 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
Client ID

Application (client) ID from the Microsoft Entra App Registration.

12345678-1234-1234-1234-123456789abc
Client secret value

Client secret value from the Microsoft Entra App Registration. This value is only shown once when created.

Scopes

List 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/Mail.Read
Token URL

OAuth 2.0 Token URL for Microsoft Outlook authentication.

https://login.microsoftonline.com/common/oauth2/v2.0/token

OAuth 2.0 Client Credentials

key: oauthClientCredentials

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.prismatic.io/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.

InputNotesExample
Base URL

The base URL for the Microsoft Graph API. Depending on your cloud environment, you can choose the correct one here.

https://graph.microsoft.com
Client ID

Client Id of your Azure application.

11111111-2222-3333-4444-555555555555
Client Secret

Client Secret generated under 'Certificates & Secrets' in your Azure application.

11111111-2222-3333-4444-555555555555
Microsoft Entra ID Endpoint

The Microsoft Entra ID endpoint for the Microsoft Graph API. You can find this in the Azure portal or here.

https://login.microsoftonline.com
Scopes

Microsoft Graph API Scopes.

https://graph.microsoft.com/.default
Tenant

The tenant ID or name for the Microsoft Graph API. This is the ID or name of the tenant that you are connecting to.

11111111-2222-3333-4444-555555555555
Token URL

Provide a tenant specific OAuth 2.0 token endpoint.

{{#entraIdEndpoint}}/{{#tenant}}/oauth2/v2.0/token
User ID

Unique identifier of the user whose data will be accessed. Required for client credentials authentication to work with user-specific endpoints.

user@example.com

OAuth 2.0 Authorization Code

key: templatedOauth

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.prismatic.io/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 the requested scopes have changed and users need 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.

InputNotesExample
Authorize URL

The OAuth 2.0 Authorization URL for Microsoft's Graph API.

login.microsoftonline.com/common
Base URL

The base URL for the Microsoft Graph API. Depending on your cloud environment, you can choose the correct one here.

https://graph.microsoft.com
Client ID

Client Id of your Azure application.

11111111-2222-3333-4444-555555555555
Client secret value

Client Secret generated under 'Certificates & Secrets' in your Azure application.

11111111-2222-3333-4444-555555555555
Additional Authorization Parameters

Query 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.

prompt=consent
Scopes

Microsoft 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
Tenant URL

The 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
Token URL

The OAuth 2.0 Token URL for Microsoft's Graph API.

login.microsoftonline.com/common

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. | key: webhookLifecycle

InputNotesExample
Allow Duplicates

When true, allows more than one webhook subscription per endpoint.

false
Connection

The Outlook connection to use.

Expiration Date/Time

The expiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10,070 minutes (the maximum permitted by the Graph API).

2024-12-31T23:59:59.999Z

The Calendar Event Webhook trigger can manage Microsoft Graph webhook subscriptions for calendar events on an instance. Unlike traditional webhook setups that require manual subscription creation and management, this trigger handles the entire webhook lifecycle automatically.

When the trigger is used in a flow:

  • On Instance Deploy: The trigger automatically creates a webhook subscription in Microsoft Graph for calendar events (me/events) with the updated change type. The subscription points to the instance's unique webhook URL. If the Allow Duplicates option is set to false and a matching subscription already exists, the trigger reuses the existing subscription instead of creating a new one.
  • On Instance Deletion: The trigger automatically removes the webhook subscription from Microsoft Graph, ensuring no orphaned subscriptions remain.
  • On Scheduled Execution: The trigger can renew the subscription before it expires, enabling continuous monitoring beyond Microsoft Graph's maximum subscription duration of approximately 7 days.

Flow Branches

This trigger routes incoming requests to different branches based on their type:

  • Notification: Receives actual calendar event notifications when events are modified
  • URL Validation: Handles Microsoft Graph's initial validation request when a subscription is created
  • Scheduled Renewal: Handles scheduled executions to renew the webhook subscription before expiration

Configuration Options

  • Connection: OAuth 2.0 connection for authenticating with Microsoft Graph
  • Expiration Date/Time: When the subscription should expire (ISO 8601 format). Defaults to approximately 7 days from creation.
  • Allow Duplicates: When set to true, allows multiple webhook subscriptions for the same endpoint. When false, reuses existing subscriptions to prevent duplication.

Supported Events

This trigger monitors calendar events for the following change type:

  • updated - Triggered when calendar events are created, modified, or deleted

For monitoring other Outlook resources or different change types, use the manual Webhook trigger with custom subscription configuration.

Scheduled Renewal

Microsoft Graph webhook subscriptions have a maximum lifetime of approximately 7 days. To maintain continuous monitoring:

  1. Configure the trigger with a schedule (e.g., daily)
  2. Scheduled executions route to the Scheduled Renewal branch
  3. The trigger automatically extends the subscription expiration

This approach ensures uninterrupted calendar monitoring without manual intervention.

Important Notes

  • Resource Monitored: This trigger specifically monitors me/events (calendar events for the authenticated user)
  • Change Type: Only the updated change type is configured, which captures creates, updates, and deletes

Refer to the Microsoft Graph change notifications for Outlook resources for more details about subscription management and lifecycle.

Example Payload for Calendar Event Webhook
Loading…

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. | key: mailFolderWebhook

InputNotesExample
Allow Duplicates

When true, allows more than one webhook subscription per endpoint.

false
Mail Change Types

The types of changes to listen for on mail messages.

Connection

The Outlook connection to use.

Expiration Date/Time

The expiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10,070 minutes (the maximum permitted by the Graph API).

2024-12-31T23:59:59.999Z
Folder ID

The unique identifier of the mail folder to monitor for changes. Leave empty to monitor the entire mailbox.

AAMkAGI2TGuLAAA=

The Mail Message Webhook trigger can manage Microsoft Graph webhook subscriptions for mail messages on an instance. Unlike traditional webhook setups that require manual subscription creation and management, this trigger handles the entire webhook lifecycle automatically.

When the trigger is used in a flow:

  • On Instance Deploy: The trigger automatically creates a webhook subscription in Microsoft Graph for mail messages. The subscription points to the instance's unique webhook URL. If the Allow Duplicates option is set to false and a matching subscription already exists, the trigger reuses the existing subscription instead of creating a new one.
  • On Instance Deletion: The trigger automatically removes the webhook subscription from Microsoft Graph, ensuring no orphaned subscriptions remain.
  • On Scheduled Execution: The trigger can renew the subscription before it expires, enabling continuous monitoring beyond Microsoft Graph's maximum subscription duration of approximately 7 days.

Flow Branches

This trigger routes incoming requests to different branches based on their type:

  • Notification: Receives actual mail event notifications when messages are created, updated, or deleted
  • URL Validation: Handles Microsoft Graph's initial validation request when a subscription is created
  • Scheduled Renewal: Handles scheduled executions to renew the webhook subscription before expiration

Configuration Options

  • Connection: OAuth 2.0 connection for authenticating with Microsoft Graph
  • Mail Change Types: Types of changes to monitor. Select one or more: created, updated, deleted.
  • Folder ID: Specific mail folder to monitor. Leave empty to monitor the entire mailbox (me/messages)
  • Expiration Date/Time: When the subscription should expire (ISO 8601 format). Defaults to approximately 7 days from creation, which is the maximum allowed by Microsoft Graph
  • Allow Duplicates: When set to true, allows multiple webhook subscriptions for the same endpoint. When false, reuses existing subscriptions to prevent duplication

Scheduled Renewal

Microsoft Graph webhook subscriptions have a maximum lifetime of approximately 7 days. To maintain continuous monitoring:

  1. Configure the trigger with a schedule (e.g., daily)
  2. Scheduled executions route to the Scheduled Renewal branch
  3. The trigger automatically extends the subscription expiration

This approach ensures uninterrupted mail monitoring without manual intervention.

Important Notes

  • Resource Monitored: Monitors me/messages (or me/mailFolders/{folderId}/messages when a folder is specified)
  • Change Types: Unlike the Calendar Event Webhook, this trigger allows selecting specific change types to reduce unnecessary notifications.

Refer to the Microsoft Graph change notifications for Outlook resources for more details about subscription management and lifecycle.

Example Payload for Mail Message Webhook
Loading…

New and Updated Messages

Checks for new and updated mail messages in Microsoft Outlook on a configured schedule. | key: pollChangesTrigger

InputNotesExample
Connection

The Outlook connection to use.

Mail Folder ID

The unique identifier of a mail folder to limit polling to (e.g., Inbox). Leave empty to poll all folders in the mailbox.

AAMkAGI2TGuLAAA=
Show New Messages

When true, messages created since the last poll are included in the trigger output.

true
Show Updated Messages

When true, messages updated since the last poll are included in the trigger output.

true

The New and Updated Messages polling trigger checks Microsoft Outlook on a configured schedule for mail messages that were created or modified since the last poll. Unlike webhook-based triggers, polling does not require webhook subscription management and works reliably for low-frequency monitoring scenarios.

How It Works

On each scheduled execution, the trigger:

  1. Reads the last poll timestamp from the polling state (or uses the current time on the first run)
  2. Queries Microsoft Graph for messages where lastModifiedDateTime is greater than the last poll timestamp, optionally scoped to a single mail folder
  3. Partitions the returned messages into created and updated buckets by comparing createdDateTime against the last poll timestamp
  4. Persists the current execution time as the new last-poll timestamp for the next run
  5. Emits the partitioned results in the trigger payload, filtered by the Show New Messages and Show Updated Messages toggles

If both Show New Messages and Show Updated Messages are disabled, the trigger skips the API call entirely.

Returned Data

The trigger emits a payload with two arrays — created and updated — each containing message resources from Microsoft Graph.

Example Payload
{
"data": {
"created": [
{
"id": "AAMkAGI2TGuLAAA=",
"subject": "Welcome to the team",
"from": {
"emailAddress": {
"name": "Megan Brown",
"address": "megan.brown@example.com"
}
},
"receivedDateTime": "2024-11-01T15:32:10Z",
"createdDateTime": "2024-11-01T15:32:10Z",
"lastModifiedDateTime": "2024-11-01T15:32:10Z",
"isRead": false
}
],
"updated": [
{
"id": "AAMkAGI2TGuLBBB=",
"subject": "Re: Project status",
"isRead": true,
"lastModifiedDateTime": "2024-11-01T15:45:22Z",
"createdDateTime": "2024-10-30T09:12:04Z"
}
]
}
}

Fields shown are representative. The full response object includes additional properties.

When to Use Polling vs. Webhooks

  • Use polling when the integration needs to run on a fixed schedule, when webhook subscription management is not desired, or when the volume of changes is low enough that polling latency is acceptable.
  • Use the Mail Message Webhook or Webhook triggers when near real-time delivery is required and the integration can manage subscription lifecycles.

Refer to the Microsoft Graph message resource for the complete schema of returned message fields.

Example Payload for New and Updated Messages
Loading…

Webhook

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

Microsoft Outlook webhooks (also called change notifications or subscriptions) send notifications to the flow's webhook URL when Outlook resources change.

Microsoft Graph sends a validation request when the subscription is first configured. This validation is routed to the URL Validation branch. The trigger automatically responds with the validation token to complete setup. All subsequent event notifications are routed to the Notification branch.

To configure a webhook subscription, use the accompanying Subscription actions provided in the component.

Supported resources: Calendar events (me/events), mail messages (me/messages), mail folders (me/mailFolders), contacts (me/contacts)

Refer to the Microsoft Graph change notifications overview for subscription lifetimes and additional resources.

Example Payload for Webhook
Loading…

Data Sources

Select Calendar

Select a calendar from the list of calendars. | key: selectCalendar | type: picklist

InputNotesExample
Connection

The Outlook connection to use.


Select Event

Select an event from the list of events. | key: selectEvent | type: picklist

InputNotesExample
Connection

The Outlook connection to use.


Select Language

Select a language from the list of supported languages. | key: selectLanguage | type: picklist

InputNotesExample
Connection

The Outlook connection to use.


Select Mail Folder

Select a mail folder from the list of folders. | key: selectMailFolder | type: picklist

InputNotesExample
Connection

The Outlook connection to use.


Select Message

Select a message from the list of messages. | key: selectMessage | type: picklist

InputNotesExample
Connection

The Outlook connection to use.

Filter

The OData filter expression to apply to the messages. Cannot be used together with Search. Refer to the Microsoft Graph filter parameter documentation for filter syntax.

from/emailAddress/address eq 'user@example.com'
Folder ID

The unique identifier of the mail folder. Omit to list all messages.

AAMkAGI2TGuLAAA=
Search

The search query to filter messages. Cannot be used together with Filter. Refer to the Microsoft Graph search parameter documentation for query syntax.

subject:meeting

Select Subscription

Select a subscription from the list of subscriptions. | key: selectSubscription | type: picklist

InputNotesExample
Connection

The Outlook connection to use.


Select Timezone

Select a timezone from the list of supported timezones. | key: selectTimezone | type: picklist

InputNotesExample
Connection

The Outlook connection to use.


Actions

Cancel Event

Cancels an event. | key: cancelEvent

InputNotesExample
Comment

An optional comment about the cancellation sent to all attendees.

Meeting rescheduled to next week.
Connection

The Outlook connection to use.

Event ID

The unique identifier of the calendar event.

AAMkAGIAAAoZDOFAAA=
Example Payload for Cancel Event
Loading…

Create Calendar

Creates a new calendar. | key: createCalendar

InputNotesExample
Color

The color of the calendar. See the color property in the Microsoft Graph calendar resource documentation for the supported values.

lightRed
Connection

The Outlook connection to use.

Name

The display name shown for the calendar.

Project Calendar
Example Payload for Create Calendar
Loading…

Create Event

Creates an event on a calendar. | key: createEvent

InputNotesExample
Type

The event attendees as key-value pairs. Specify the email address as the key and the attendee type (required, optional, or resource) as the value.

{"john.doe@example.com": "required", "jane.smith@example.com": "optional"}
Attendees Data Collection

A reference to data structures representing attendees. Merged with Attendees if both are specified.

[{ emailAddress: { address: 'john.doe@example.com', name: 'John Doe' }, type: 'required' }]
Body (HTML)

The HTML body content of the event.

<p>Please join us for the team meeting.</p>
Calendar ID

The unique identifier of the calendar to list events from. Lists all events for the current user if unspecified.

AAMkAGI2TGuLAAA=
Connection

The Outlook connection to use.

End At

The end timestamp in ISO 8601 format without timezone information. Format: YYYY-MM-DDTHH:mm:ss.

2024-01-15T14:00:00
End Timezone

The timezone applied to the end time of the event. Use the List Supported Timezones action for valid aliases or values for this user.

Pacific Standard Time
Location Name

The name of the event location.

Conference Room A
Start At

The start timestamp in ISO 8601 format without timezone information. Format: YYYY-MM-DDTHH:mm:ss.

2024-01-15T12:00:00
Start Timezone

The timezone applied to the start time of the event. Use the List Supported Timezones action for valid aliases or values for this user.

Pacific Standard Time
Subject

The subject of the calendar event.

Team Meeting
Example Payload for Create Event
Loading…

Create Event Subscription

Creates an event subscription for Microsoft Outlook. | key: createEventSubscription

InputNotesExample
Allow Duplicates

When true, allows more than one webhook subscription per endpoint.

false
Connection

The Outlook connection to use.

Expiration Date/Time

The expiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10,070 minutes (the maximum permitted by the Graph API).

2024-12-31T23:59:59.999Z
Notification URL

The URL where notification events will be sent.

https://example.com/webhook
Example Payload for Create Event Subscription
Loading…

Create Mail Folder

Creates a new mail folder. | key: createMailFolder

InputNotesExample
Connection

The Outlook connection to use.

Display Name

The display name shown for the folder in the mailbox.

Project Files
Parent Folder ID

The unique identifier of the parent folder. Creates the folder under this parent. Omit to create a root-level folder.

AAMkAGI2TGuLAAA=
Example Payload for Create Mail Folder
Loading…

Create Mail Folder Subscription

Creates a mail folder subscription for Microsoft Outlook. | key: createMailFolderSubscription

InputNotesExample
Mail Change Types

The types of changes to listen for on mail messages.

Connection

The Outlook connection to use.

Expiration Date/Time

The expiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10,070 minutes (the maximum permitted by the Graph API).

2024-12-31T23:59:59.999Z
Notification URL

The URL where notification events will be sent.

https://example.com/webhook
Example Payload for Create Mail Folder Subscription
Loading…

Delete All Instance Subscriptions

Deletes all subscriptions pointed at this instance. | key: deleteAllInstanceSubscriptions

InputNotesExample
Connection

The Outlook connection to use.

Example Payload for Delete All Instance Subscriptions
Loading…

Delete Calendar

Deletes an existing calendar. | key: deleteCalendar

InputNotesExample
Connection

The Outlook connection to use.

Calendar ID

The unique identifier of the calendar.

AAMkAGI2TGuLAAA=
Example Payload for Delete Calendar
Loading…

Delete Event

Deletes an event. | key: deleteEvent

InputNotesExample
Connection

The Outlook connection to use.

Event ID

The unique identifier of the calendar event.

AAMkAGIAAAoZDOFAAA=
Example Payload for Delete Event
Loading…

Delete Mail Folder

Deletes the specified mail folder. | key: deleteMailFolder

InputNotesExample
Connection

The Outlook connection to use.

Folder ID

The unique identifier of the mail folder.

AAMkAGI2TGuLAAA=
Example Payload for Delete Mail Folder
Loading…

Delete Message

Deletes a message by ID. | key: deleteMessage

InputNotesExample
Connection

The Outlook connection to use.

Message ID

The unique identifier of the email message.

AAMkAGUAAAwTW09AAA=
Example Payload for Delete Message
Loading…

Delete Subscription

Deletes an existing subscription for Microsoft Outlook. | key: deleteSubscription

InputNotesExample
Connection

The Outlook connection to use.

Subscription ID

The unique identifier of the webhook subscription.

e9d5b726-4478-4412-bfba-268530484566
Example Payload for Delete Subscription
Loading…

Get Calendar Event

Gets information about a specific calendar event. | key: getCalendarEvent

InputNotesExample
Connection

The Outlook connection to use.

Event ID

The unique identifier of the calendar event.

AAMkAGIAAAoZDOFAAA=
Example Payload for Get Calendar Event
Loading…

Get Current User

Gets the information and metadata of the user that is currently logged in. | key: getCurrentUser

InputNotesExample
Connection

The Outlook connection to use.

Example Payload for Get Current User
Loading…

Get Mail Message

Fetches and parses a raw message by ID. | key: getMessageById

InputNotesExample
Connection

The Outlook connection to use.

Message ID

The unique identifier of the email message.

AAMkAGUAAAwTW09AAA=
Example Payload for Get Mail Message
Loading…

Get Schedule Availability

Gets the free/busy availability information for a collection of users. | key: getSchedule

InputNotesExample
Availability View Interval

The duration of each time slot used to check availability, in minutes.

60
Connection

The Outlook connection to use.

End At

The end timestamp in ISO 8601 format without timezone information. Format: YYYY-MM-DDTHH:mm:ss.

2024-01-15T14:00:00
End Timezone

The timezone applied to the end time of the event. Use the List Supported Timezones action for valid aliases or values for this user.

Pacific Standard Time
Schedules

The collection of SMTP addresses of users, distribution lists, or resources to get availability information for.

example@example.com
Start At

The start timestamp in ISO 8601 format without timezone information. Format: YYYY-MM-DDTHH:mm:ss.

2024-01-15T12:00:00
Start Timezone

The timezone applied to the start time of the event. Use the List Supported Timezones action for valid aliases or values for this user.

Pacific Standard Time
Example Payload for Get Schedule Availability
Loading…

List Calendars

Lists all calendars for the user. | key: listCalendars

InputNotesExample
Connection

The Outlook connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Page Limit

The maximum number of results to return per page.

100
Page Skip

The number of records to skip before returning results.

100
Example Payload for List Calendars
Loading…

List Events

Lists all events for the user. | key: listEvents

InputNotesExample
Calendar ID

The unique identifier of the calendar to list events from. Lists all events for the current user if unspecified.

AAMkAGI2TGuLAAA=
Connection

The Outlook connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Page Limit

The maximum number of results to return per page.

100
Page Skip

The number of records to skip before returning results.

100
Example Payload for List Events
Loading…

List Mail Folders

Gets the mail folder collection directly under the root folder of the signed-in user, or under the specified parent folder. | key: listMailFolders

InputNotesExample
Connection

The Outlook connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Page Limit

The maximum number of results to return per page.

100
Page Skip

The number of records to skip before returning results.

100
Parent Folder ID

The unique identifier of the parent folder. Lists all folders contained within this folder. Omit to list root-level folders.

AAMkAGI2TGuLAAA=
Example Payload for List Mail Folders
Loading…

List Mail Messages

Lists mail messages in a user's mailbox. | key: listMessages

InputNotesExample
Connection

The Outlook connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter

The OData filter expression to apply to the messages. Cannot be used together with Search. Refer to the Microsoft Graph filter parameter documentation for filter syntax.

from/emailAddress/address eq 'user@example.com'
Folder ID

The unique identifier of the mail folder. Omit to list all messages.

AAMkAGI2TGuLAAA=
Page Limit

The maximum number of results to return per page.

100
Page Skip

The number of records to skip before returning results.

100
Search

The search query to filter messages. Cannot be used together with Filter. Refer to the Microsoft Graph search parameter documentation for query syntax.

subject:meeting
Example Payload for List Mail Messages
Loading…

List Subscriptions

Lists all subscriptions for Microsoft Outlook. | key: listSubscriptions

InputNotesExample
Connection

The Outlook connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Show Instance Webhooks

When true, returns only subscriptions for this instance's webhooks.

true
Example Payload for List Subscriptions
Loading…

List Supported Languages

Lists supported languages for the current user. | key: listSupportedLanguages

InputNotesExample
Connection

The Outlook connection to use.

Example Payload for List Supported Languages
Loading…

List Supported Timezones

Lists supported timezones for the current user. | key: listSupportedTimezones

InputNotesExample
Connection

The Outlook connection to use.

Example Payload for List Supported Timezones
Loading…

Raw Request

Sends a raw HTTP request to Microsoft Outlook. | key: rawRequest

InputNotesExample
Connection

The Microsoft Outlook connection to use.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A 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.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If 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
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

The path of the Microsoft Graph endpoint to call (e.g., /me/calendars). The base URL https://graph.microsoft.com/v1.0 is added automatically. For example, to call https://graph.microsoft.com/v1.0/me/calendars, enter /me/calendars.

/me/calendars
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false
Example Payload for Raw Request
Loading…

Send Message

Sends a new message. | key: sendMessage

InputNotesExample
Attachments

The file attachments as key-value pairs. Specify the file name as the key (e.g., my-file.pdf) and the file data as the value.

{ "my-file.pdf": { "type": "Buffer", "data": [ 102, 105, 108, 101, 32, 99, 111, 110, 116, 101, 110, 116 ] } }
BCC

The blind carbon copy email addresses. Multiple addresses can be specified as a comma-separated list.

["bcc.recipient@example.com"]
Message Body

The plain text or HTML body content of the email message.

<p>Hello, this is the email body.</p>
Body Content Type

The format of the message body content.

html
CC

The carbon copy email addresses. Multiple addresses can be specified as a comma-separated list.

["cc.recipient@example.com"]
Connection

The Outlook connection to use.

Dynamic Attachments

An array 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.

[ { "key": "my-attachment.pdf", "value": "<BINARY FILE DATA TO ATTACH>" }, { "key": "another-attachment.xlsx", "value": "<BINARY EXCEL FILE DATA>" } ]
Subject

The subject line of the email message.

Quarterly Report
To

The recipient email addresses. Multiple addresses can be specified as a comma-separated list.

["john.doe@example.com", "jane.smith@example.com"]
Example Payload for Send Message
Loading…

Update Calendar

Updates an existing calendar. | key: updateCalendar

InputNotesExample
Color

The color of the calendar. See the color property in the Microsoft Graph calendar resource documentation for the supported values.

lightRed
Connection

The Outlook connection to use.

Calendar ID

The unique identifier of the calendar.

AAMkAGI2TGuLAAA=
Name

The display name shown for the calendar.

Project Calendar
Example Payload for Update Calendar
Loading…

Update Event

Updates an existing event. | key: updateEvent

InputNotesExample
Type

The event attendees as key-value pairs. Specify the email address as the key and the attendee type (required, optional, or resource) as the value.

{"john.doe@example.com": "required", "jane.smith@example.com": "optional"}
Attendees Data Collection

A reference to data structures representing attendees. Merged with Attendees if both are specified.

[{ emailAddress: { address: 'john.doe@example.com', name: 'John Doe' }, type: 'required' }]
Body (HTML)

The HTML body content of the event.

<p>Please join us for the team meeting.</p>
Connection

The Outlook connection to use.

End At

The end timestamp in ISO 8601 format without timezone information. Format: YYYY-MM-DDTHH:mm:ss.

2024-01-15T14:00:00
End Timezone

The timezone applied to the end time of the event. Use the List Supported Timezones action for valid aliases or values for this user.

Pacific Standard Time
Event ID

The unique identifier of the calendar event.

AAMkAGIAAAoZDOFAAA=
Location Name

The name of the event location.

Conference Room A
Start At

The start timestamp in ISO 8601 format without timezone information. Format: YYYY-MM-DDTHH:mm:ss.

2024-01-15T12:00:00
Start Timezone

The timezone applied to the start time of the event. Use the List Supported Timezones action for valid aliases or values for this user.

Pacific Standard Time
Subject

The subject of the calendar event.

Team Meeting
Example Payload for Update Event
Loading…

Update Event Subscription Expiration

Updates the expiration of an existing event subscription for Microsoft Outlook. | key: updateEventSubscription

InputNotesExample
Connection

The Outlook connection to use.

Expiration Date/Time

The expiration date and time for the webhook subscription in ISO 8601 format. If unspecified, defaults to the current date/time plus 10,070 minutes (the maximum permitted by the Graph API).

2024-12-31T23:59:59.999Z
Subscription ID

The unique identifier of the webhook subscription.

e9d5b726-4478-4412-bfba-268530484566
Example Payload for Update Event Subscription Expiration
Loading…

Changelog

2026-05-26

Added New and Updated Messages polling trigger that checks for new and updated mail messages in Microsoft Outlook on a configured schedule, with optional filtering by mail folder and toggles for showing new or updated messages

2026-04-30

Updated spectral version

2025-12-17

Added Mail Message Webhook trigger with automatic subscription lifecycle management. This trigger monitors mail messages in your Outlook mailbox and automatically creates webhook subscriptions when instances deploy and removes them when instances are deleted. Supports:

  • Monitoring a specific mail folder or the entire mailbox
  • Filtering by change types (created, updated, deleted)
  • Scheduled renewal to maintain active subscriptions beyond Microsoft Graph API's maximum subscription duration

Enhanced Calendar Event Webhook and Mail Message Webhook triggers with scheduled renewal support, enabling long-running webhook subscriptions that automatically renew before expiration to maintain continuous monitoring

2025-12-05

Added Additional Authorization Parameters field to OAuth 2.0 Authorization Code connection, enabling custom query string parameters in the authorization URL to control OAuth behavior such as forcing the consent screen or pre-filling user email addresses

2025-11-25

Fixed Webhook trigger to function correctly when no connection input is configured, resolving "Cannot read properties of undefined" errors during manual webhook execution

2025-11-04

Added Calendar Event Webhook trigger with automatic subscription creation and deletion on instance deploy/delete functionality

2025-10-03

Added fetch all support for subscription list actions to improve handling of large subscription datasets

2025-08-12

Added OAuth 2.0 Client Credentials connection type

2025-04-28

Fixed handling of null cc and bcc inputs to prevent errors when optional email fields are empty