# Microsoft Outlook Component

![](/docs/img/components/icons/60/bXMtb3V0bG9vaw==.png)

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

Component key: **ms-outlook**

[Changelog ↓](#changelog)

## Description[​](#description "Direct link to Description")

[Microsoft Outlook](https://outlook.live.com) is a productivity suite for managing email and calendar. This component allows you to read, send, and manage emails, as well as create, update, and manage calendar events and subscriptions.

#### API Documentation[​](#api-documentation "Direct link to API Documentation")

This component was built using the [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/api/overview) currently utilizing v1.0

## Connections[​](#connections "Direct link to Connections")

### OAuth 2.0 Authorization Code (Deprecated)[​](#oauth "Direct link to OAuth 2.0 Authorization Code (Deprecated)")

**key: oauth**

You will first need to create and configure a new "App Registration" within your [Azure Active Directory tenant](https://portal.azure.com/#home). 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.prismatic.io/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.

| Input               | Notes                                                                                                                                                                                                                                                                      | Example                                                                        |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| 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://learn.microsoft.com/en-us/graph/deployments#microsoft-graph-and-graph-explorer-service-root-endpoints). | 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[​](#oauthclientcredentials "Direct link to 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[​](#prerequisites "Direct link to Prerequisites")

* Access to [Microsoft Entra admin center](https://entra.microsoft.com/)
* Permissions to create App Registrations and grant admin consent
* Tenant ID for the organization

#### Setup Steps[​](#setup-steps "Direct link to Setup Steps")

1. Navigate to [Microsoft Entra](https://entra.microsoft.com/) **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](https://learn.microsoft.com/en-us/graph/permissions-reference) for available permissions

5. After applying all relevant permissions, select **Grant Admin Consent** to authorize the application permissions

#### Configure the Connection[​](#configure-the-connection "Direct link to 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.

| Input                       | Notes                                                                                                                                                                                                                                | Example                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- |
| Base URL                    | The base URL for the Microsoft Graph API. Depending on your cloud environment, you can choose the correct one [here](https://learn.microsoft.com/en-us/graph/deployments#microsoft-graph-and-graph-explorer-service-root-endpoints). | 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://learn.microsoft.com/en-us/graph/deployments#app-registration-and-token-service-root-endpoints).                 | 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[​](#templatedoauth "Direct link to 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[​](#prerequisites-1 "Direct link to Prerequisites")

* Access to a [Microsoft Entra admin center](https://entra.microsoft.com/) or [Azure Portal](https://portal.azure.com/#home)
* Permissions to create App Registrations

#### Setup Steps[​](#setup-steps-1 "Direct link to Setup Steps")

1. Navigate to [Azure Active Directory tenant](https://portal.azure.com/#home) 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[​](#configure-the-connection-1 "Direct link to 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:

  ```text
  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](https://learn.microsoft.com/en-us/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.

| Input                               | Notes                                                                                                                                                                                                                                                                                    | Example                                                                                                                                                                                    |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 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://learn.microsoft.com/en-us/graph/deployments#microsoft-graph-and-graph-explorer-service-root-endpoints).                                                     | 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](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints). | login.microsoftonline.com/common                                                                                                                                                           |
| Token URL                           | The OAuth 2.0 Token URL for Microsoft's Graph API.                                                                                                                                                                                                                                       | login.microsoftonline.com/common                                                                                                                                                           |

## Triggers[​](#triggers "Direct link to Triggers")

### Calendar Event Webhook[​](#webhooklifecycle "Direct link to 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**

| Input                | Notes                                                                                                                                                                                | Example                  |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------ |
| Allow Duplicates     | When true, allows more than one webhook subscription per endpoint.                                                                                                                   | false                    |
| Connection           | The Outlook connection to use.                                                                                                                                                       |                          |
| Expiration Date/Time | Expiration 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). | 2024-12-31T23:59:59.999Z |

The Calendar Event Webhook trigger can manage [Microsoft Graph webhook subscriptions](https://learn.microsoft.com/en-us/graph/api/resources/change-notifications-api-overview) 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[​](#flow-branches "Direct link to 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[​](#configuration-options "Direct link to 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[​](#supported-events "Direct link to 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[​](#scheduled-renewal "Direct link to 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[​](#important-notes "Direct link to 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](https://learn.microsoft.com/en-us/graph/outlook-change-notifications-overview) for more details about subscription management and lifecycle.

***

### Mail Message Webhook[​](#mailfolderwebhook "Direct link to 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**

| Input                | Notes                                                                                                                                                                                | Example                  |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------ |
| Allow Duplicates     | When true, allows more than one webhook subscription per endpoint.                                                                                                                   | false                    |
| Mail Change Types    | Types of changes to listen for on mail messages.                                                                                                                                     |                          |
| Connection           | The Outlook connection to use.                                                                                                                                                       |                          |
| Expiration Date/Time | Expiration 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). | 2024-12-31T23:59:59.999Z |
| Folder ID            | 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](https://learn.microsoft.com/en-us/graph/api/resources/change-notifications-api-overview) 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[​](#flow-branches-1 "Direct link to 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[​](#configuration-options-1 "Direct link to 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[​](#scheduled-renewal-1 "Direct link to 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[​](#important-notes-1 "Direct link to 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](https://learn.microsoft.com/en-us/graph/outlook-change-notifications-overview) for more details about subscription management and lifecycle.

***

### Webhook[​](#webhook "Direct link to Webhook")

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

<!-- -->

Microsoft Outlook [webhooks](https://learn.microsoft.com/en-us/graph/api/resources/change-notifications-api-overview) (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](https://learn.microsoft.com/en-us/graph/api/subscription-post-subscriptions) 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](https://learn.microsoft.com/en-us/graph/change-notifications-overview) for subscription lifetimes and additional resources.

***

## Data Sources[​](#data-sources "Direct link to Data Sources")

### Select Calendar[​](#selectcalendar "Direct link to Select Calendar")

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

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

### Select Event[​](#selectevent "Direct link to Select Event")

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

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

### Select Language[​](#selectlanguage "Direct link to Select Language")

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

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

### Select Mail Folder[​](#selectmailfolder "Direct link to Select Mail Folder")

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

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

### Select Message[​](#selectmessage "Direct link to Select Message")

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

| Input      | Notes                                                                                                                                                                                                                      | Example                                          |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| Connection | The Outlook connection to use.                                                                                                                                                                                             |                                                  |
| Filter     | OData filter expression to apply to the messages. Cannot be used with Search. Refer to [Microsoft Graph filter parameter documentation](https://learn.microsoft.com/en-us/graph/filter-query-parameter) for filter syntax. | from/emailAddress/address eq 'user\@example.com' |
| Folder ID  | Unique identifier of the folder. Omit to list all messages.                                                                                                                                                                | AAMkAGI2TGuLAAA=                                 |
| Search     | Search query to filter messages. Cannot be used with Filter. Refer to [Microsoft Graph search parameter documentation](https://learn.microsoft.com/en-us/graph/search-query-parameter) for query syntax.                   | subject:meeting                                  |

***

### Select Subscription[​](#selectsubscription "Direct link to Select Subscription")

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

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

### Select Timezone[​](#selecttimezone "Direct link to Select Timezone")

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

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

## Actions[​](#actions "Direct link to Actions")

### Cancel Event[​](#cancelevent "Direct link to Cancel Event")

Cancel an Event | **key: cancelEvent**

| Input      | Notes                                                | Example             |
| ---------- | ---------------------------------------------------- | ------------------- |
| Comment    | Comment about the cancellation sent to all attendees |                     |
| Connection | The Outlook connection to use.                       |                     |
| Event ID   | Unique identifier of the calendar event.             | AAMkAGIAAAoZDOFAAA= |

### Example Payload for <!-- -->Cancel Event

```json
{
  "data": ""
}

```

***

### Create Calendar[​](#createcalendar "Direct link to Create Calendar")

Create a new Calendar | **key: createCalendar**

| Input      | Notes                                                                                                                                                                                                  | Example          |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- |
| Color      | Color of the calendar; see 'color' in the [Microsoft Graph calendar resource documentation](https://learn.microsoft.com/en-us/graph/api/resources/calendar?view=graph-rest-1.0#properties) for details | lightRed         |
| Connection | The Outlook connection to use.                                                                                                                                                                         |                  |
| Name       | The name of the calendar.                                                                                                                                                                              | Project Calendar |

### Example Payload for <!-- -->Create Calendar

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/calendars('AAMkADJmMVAAA=')",
    "id": "AAMkADJmMVAAA=",
    "name": "Volunteer",
    "color": "auto",
    "changeKey": "DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
    "canShare": true,
    "canViewPrivateItems": true,
    "hexColor": "",
    "canEdit": true,
    "allowedOnlineMeetingProviders": [
      "teamsForBusiness"
    ],
    "defaultOnlineMeetingProvider": "teamsForBusiness",
    "isTallyingResponses": true,
    "isRemovable": false,
    "owner": {
      "name": "Samantha Booth",
      "address": "samanthab@adatum.onmicrosoft.com"
    }
  }
}

```

***

### Create Event[​](#createevent "Direct link to Create Event")

Create an Event on a Calendar | **key: createEvent**

| Input                     | Notes                                                                                                                                          | Example                                                                                       |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Type                      | 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 | Reference to data structures representing attendees. Will be merged with Attendees if both are specified.                                      | \[{ emailAddress: { address: 'john.doe\@example.com', name: 'John Doe' }, type: 'required' }] |
| Body (HTML)               | HTML body content of the event.                                                                                                                | \<p>Please join us for the team meeting.\</p>                                                 |
| Calendar ID               | 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                    | ISO 8601 formatted timestamp without timezone information.                                                                                     | 2024-01-15T14:00:00                                                                           |
| End Timezone              | Timezone for the end time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.             | Pacific Standard Time                                                                         |
| Location Name             | Name of the event location.                                                                                                                    | Conference Room A                                                                             |
| Start At                  | ISO 8601 formatted timestamp without timezone information.                                                                                     | 2024-01-15T12:00:00                                                                           |
| Start Timezone            | Timezone for the start time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.           | Pacific Standard Time                                                                         |
| Subject                   | Subject of the calendar event.                                                                                                                 | Team Meeting                                                                                  |

### Example Payload for <!-- -->Create Event

```json
{
  "data": {
    "subject": "Let's go for lunch",
    "body": {
      "contentType": "html",
      "content": "Does noon work for you?"
    },
    "start": {
      "dateTime": "2017-04-15T12:00:00",
      "timeZone": "Pacific Standard Time"
    },
    "end": {
      "dateTime": "2017-04-15T14:00:00",
      "timeZone": "Pacific Standard Time"
    },
    "location": {
      "displayName": "Conference Room A"
    },
    "attendees": [
      {
        "emailAddress": {
          "address": "john.doe@example.com",
          "name": "John Doe"
        },
        "type": "required"
      }
    ],
    "allowNewTimeProposals": true,
    "transactionId": "7E163156-7762-4BEB-A1C6-729EA81755A7"
  }
}

```

***

### Create Event Subscription[​](#createeventsubscription "Direct link to Create Event Subscription")

Create an Event subscription for Microsoft Outlook | **key: createEventSubscription**

| Input                | Notes                                                                                                                                                                                | Example                      |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
| Allow Duplicates     | When true, allows more than one webhook subscription per endpoint.                                                                                                                   | false                        |
| Connection           | The Outlook connection to use.                                                                                                                                                       |                              |
| Expiration Date/Time | Expiration 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). | 2024-12-31T23:59:59.999Z     |
| Notification URL     | URL where notification events will be sent.                                                                                                                                          | https\://example.com/webhook |

### Example Payload for <!-- -->Create Event Subscription

```json
{
  "data": {
    "id": "e9d5b726-4478-4412-bfba-268530484566",
    "resource": "me/events",
    "changeType": "updated",
    "notificationUrl": "https://example.com/webhook/",
    "expirationDateTime": "2024-12-31T23:59:59.999Z",
    "creatorId": "c8edbeda-c453-446c-91ce-c6d5c7310a6c",
    "latestSupportedTlsVersion": "v1_2"
  }
}

```

***

### Create Mail Folder[​](#createmailfolder "Direct link to Create Mail Folder")

Create a new mail folder | **key: createMailFolder**

| Input            | Notes                                                                         | Example          |
| ---------------- | ----------------------------------------------------------------------------- | ---------------- |
| Connection       | The Outlook connection to use.                                                |                  |
| Display name     | The display name of the folder.                                               | Project Files    |
| Parent Folder ID | Create a folder under this parent folder. Omit to create a root-level folder. | AAMkAGI2TGuLAAA= |

### Example Payload for <!-- -->Create Mail Folder

```json
{
  "data": {
    "displayName": "displayName-value",
    "parentFolderId": "parentFolderId-value",
    "childFolderCount": 0,
    "unreadItemCount": 0,
    "totalItemCount": 0,
    "id": "id-value",
    "isHidden": true
  }
}

```

***

### Create Mail Folder Subscription[​](#createmailfoldersubscription "Direct link to Create Mail Folder Subscription")

Create a Mail Folder subscription for Microsoft Outlook | **key: createMailFolderSubscription**

| Input                | Notes                                                                                                                                                                                | Example                      |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
| Mail Change Types    | Types of changes to listen for on mail messages.                                                                                                                                     |                              |
| Connection           | The Outlook connection to use.                                                                                                                                                       |                              |
| Expiration Date/Time | Expiration 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). | 2024-12-31T23:59:59.999Z     |
| Notification URL     | URL where notification events will be sent.                                                                                                                                          | https\://example.com/webhook |

### Example Payload for <!-- -->Create Mail Folder Subscription

```json
{
  "data": {
    "id": "7f105c7d-2dc5-4530-97cd-4e7ae6534c07",
    "resource": "me/mailFolders('Inbox')/messages",
    "changeType": "created,updated",
    "notificationUrl": "https://example.com/webhook/",
    "expirationDateTime": "2024-12-31T23:59:59.999Z",
    "creatorId": "c8edbeda-c453-446c-91ce-c6d5c7310a6c",
    "latestSupportedTlsVersion": "v1_2"
  }
}

```

***

### Delete All Instance Subscriptions[​](#deleteallinstancesubscriptions "Direct link to Delete All Instance Subscriptions")

Delete all subscriptions pointed at this instance | **key: deleteAllInstanceSubscriptions**

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

### Example Payload for <!-- -->Delete All Instance Subscriptions

```json
{
  "data": {
    "subscriptionsRemoved": [
      "26ebd1e9-c54a-4bbe-9583-fc05974952a4",
      "b9b27172-ee2e-4248-86df-fc98cb71d914"
    ]
  }
}

```

***

### Delete Calendar[​](#deletecalendar "Direct link to Delete Calendar")

Delete an existing Calendar | **key: deleteCalendar**

| Input       | Notes                                            | Example          |
| ----------- | ------------------------------------------------ | ---------------- |
| Connection  | The Outlook connection to use.                   |                  |
| Calendar ID | The unique identifier of the calendar to modify. | AAMkAGI2TGuLAAA= |

### Example Payload for <!-- -->Delete Calendar

```json
{
  "data": ""
}

```

***

### Delete Event[​](#deleteevent "Direct link to Delete Event")

Delete an Event | **key: deleteEvent**

| Input      | Notes                                    | Example             |
| ---------- | ---------------------------------------- | ------------------- |
| Connection | The Outlook connection to use.           |                     |
| Event ID   | Unique identifier of the calendar event. | AAMkAGIAAAoZDOFAAA= |

### Example Payload for <!-- -->Delete Event

```json
{
  "data": ""
}

```

***

### Delete Mail Folder[​](#deletemailfolder "Direct link to Delete Mail Folder")

Delete the specified mail folder | **key: deleteMailFolder**

| Input      | Notes                                | Example          |
| ---------- | ------------------------------------ | ---------------- |
| Connection | The Outlook connection to use.       |                  |
| Folder ID  | The unique identifier of the folder. | AAMkAGI2TGuLAAA= |

### Example Payload for <!-- -->Delete Mail Folder

```json
{
  "data": null
}

```

***

### Delete Message[​](#deletemessage "Direct link to Delete Message")

Delete message by ID | **key: deleteMessage**

| Input      | Notes                             | Example             |
| ---------- | --------------------------------- | ------------------- |
| Connection | The Outlook connection to use.    |                     |
| Message ID | Unique identifier of the message. | AAMkAGUAAAwTW09AAA= |

### Example Payload for <!-- -->Delete Message

```json
{
  "data": null
}

```

***

### Delete Subscription[​](#deletesubscription "Direct link to Delete Subscription")

Delete existing subscription for Microsoft Outlook | **key: deleteSubscription**

| Input           | Notes                                          | Example                              |
| --------------- | ---------------------------------------------- | ------------------------------------ |
| Connection      | The Outlook connection to use.                 |                                      |
| Subscription ID | Unique identifier of the webhook subscription. | e9d5b726-4478-4412-bfba-268530484566 |

### Example Payload for <!-- -->Delete Subscription

```json
{
  "data": ""
}

```

***

### Get Calendar Event[​](#getcalendarevent "Direct link to Get Calendar Event")

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

| Input      | Notes                                    | Example             |
| ---------- | ---------------------------------------- | ------------------- |
| Connection | The Outlook connection to use.           |                     |
| Event ID   | Unique identifier of the calendar event. | AAMkAGIAAAoZDOFAAA= |

### Example Payload for <!-- -->Get Calendar Event

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/calendars('AAMkAGI2TGuLAAA=')",
    "id": "AAMkAGI2TGuLAAA=",
    "name": "Calendar",
    "color": "auto",
    "isDefaultCalendar": false,
    "changeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
    "canShare": true,
    "canViewPrivateItems": true,
    "hexColor": "",
    "canEdit": true,
    "allowedOnlineMeetingProviders": [
      "teamsForBusiness"
    ],
    "defaultOnlineMeetingProvider": "teamsForBusiness",
    "isTallyingResponses": true,
    "isRemovable": false,
    "owner": {
      "name": "John Doe",
      "address": "john.doe@example.com"
    }
  }
}

```

***

### Get Current User[​](#getcurrentuser "Direct link to Get Current User")

Get the information and metadata of the user that is currently logged in | **key: getCurrentUser**

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

### Example Payload for <!-- -->Get Current User

```json
{
  "data": {
    "businessPhones": [
      "+1 555 555 5555"
    ],
    "displayName": "John Doe",
    "givenName": "John",
    "jobTitle": "Manager",
    "mail": "john.doe@example.com",
    "mobilePhone": "+1 555 555 5555",
    "officeLocation": "example",
    "preferredLanguage": "en-US",
    "surname": "Doe",
    "id": "3693-4789-a1c3-f4de565f"
  }
}

```

***

### Get Mail Message[​](#getmessagebyid "Direct link to Get Mail Message")

Fetch and parse a raw message by ID | **key: getMessageById**

| Input      | Notes                             | Example             |
| ---------- | --------------------------------- | ------------------- |
| Connection | The Outlook connection to use.    |                     |
| Message ID | Unique identifier of the message. | AAMkAGUAAAwTW09AAA= |

### Example Payload for <!-- -->Get Mail Message

```json
{
  "data": {
    "message": {
      "headers": {
        "mime-version": "1.0",
        "date": "2022-09-19T20:09:01.000Z",
        "message-id": "<Test-message-id@mail.outlook.com>",
        "subject": "Test Message",
        "from": {
          "value": [
            {
              "address": "example@outlook.com",
              "name": "Example Example"
            }
          ],
          "html": "<span class=\"mp_address_group\"><span class=\"mp_address_name\">Example Example</span> &lt;<a href=\"mailto:example@gmail.com\" class=\"mp_address_email\">example@gmail.com</a>&gt;</span>",
          "text": "Example Example <example@outlook.com>"
        },
        "to": {
          "value": [
            {
              "address": "example@outlook.com",
              "name": "Example Example"
            }
          ],
          "html": "<span class=\"mp_address_group\"><span class=\"mp_address_name\">Example Example</span> &lt;<a href=\"mailto:example@gmail.com\" class=\"mp_address_email\">example@gmail.com</a>&gt;</span>",
          "text": "Example Example <example@outlook.com>"
        },
        "content-type": {
          "value": "multipart/mixed",
          "params": {
            "boundary": "000000000000680fa005e90d488f"
          }
        }
      },
      "attachments": [],
      "text": "Example email body",
      "html": "<div dir=\"ltr\">Example email body<div><br></div></div>\n"
    },
    "rawMessage": "Raw MIME message"
  }
}

```

***

### Get Schedule Availability[​](#getschedule "Direct link to Get Schedule Availability")

Get the free/busy availability information for a collection of users | **key: getSchedule**

| Input                      | Notes                                                                                                                                | Example               |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------- |
| Availability View Interval | Duration of time slot to check availability for in minutes                                                                           | 60                    |
| Connection                 | The Outlook connection to use.                                                                                                       |                       |
| End At                     | ISO 8601 formatted timestamp without timezone information.                                                                           | 2024-01-15T14:00:00   |
| End Timezone               | Timezone for the end time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.   | Pacific Standard Time |
| Schedules                  | Collection of SMTP addresses of users, distribution lists, or resources to get availability information for                          | example\@example.com  |
| Start At                   | ISO 8601 formatted timestamp without timezone information.                                                                           | 2024-01-15T12:00:00   |
| Start Timezone             | Timezone for the start time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user. | Pacific Standard Time |

### Example Payload for <!-- -->Get Schedule Availability

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.scheduleInformation)",
    "value": [
      {
        "scheduleId": "user1@example.com",
        "availabilityView": "000220000",
        "scheduleItems": [
          {
            "isPrivate": false,
            "status": "busy",
            "subject": "Let's go for lunch",
            "location": "Conference Room A",
            "start": {
              "dateTime": "2019-03-15T12:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            },
            "end": {
              "dateTime": "2019-03-15T14:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            }
          }
        ],
        "workingHours": {
          "daysOfWeek": [
            "monday",
            "tuesday",
            "wednesday",
            "thursday",
            "friday"
          ],
          "startTime": "08:00:00.0000000",
          "endTime": "17:00:00.0000000",
          "timeZone": {
            "name": "Pacific Standard Time"
          }
        }
      },
      {
        "scheduleId": "user2@example.com",
        "availabilityView": "200220010",
        "scheduleItems": [
          {
            "status": "busy",
            "start": {
              "dateTime": "2019-03-15T08:30:00.0000000",
              "timeZone": "Pacific Standard Time"
            },
            "end": {
              "dateTime": "2019-03-15T09:30:00.0000000",
              "timeZone": "Pacific Standard Time"
            }
          },
          {
            "status": "busy",
            "start": {
              "dateTime": "2019-03-15T12:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            },
            "end": {
              "dateTime": "2019-03-15T14:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            }
          },
          {
            "status": "tentative",
            "start": {
              "dateTime": "2019-03-15T12:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            },
            "end": {
              "dateTime": "2019-03-15T13:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            }
          },
          {
            "status": "busy",
            "start": {
              "dateTime": "2019-03-15T13:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            },
            "end": {
              "dateTime": "2019-03-15T14:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            }
          },
          {
            "status": "tentative",
            "start": {
              "dateTime": "2019-03-15T16:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            },
            "end": {
              "dateTime": "2019-03-15T17:00:00.0000000",
              "timeZone": "Pacific Standard Time"
            }
          }
        ],
        "workingHours": {
          "daysOfWeek": [
            "monday",
            "tuesday",
            "wednesday",
            "thursday",
            "friday"
          ],
          "startTime": "08:00:00.0000000",
          "endTime": "17:00:00.0000000"
        }
      }
    ]
  }
}

```

***

### List Calendars[​](#listcalendars "Direct link to List Calendars")

List all Calendars for the user | **key: listCalendars**

| Input      | Notes                                                     | Example |
| ---------- | --------------------------------------------------------- | ------- |
| Connection | The Outlook connection to use.                            |         |
| Fetch All  | When true, fetches all pages of results using pagination. | false   |
| Page Limit | Maximum number of results to return per page.             | 100     |
| Page Skip  | Number of records to skip before returning results.       | 100     |

### Example Payload for <!-- -->List Calendars

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars",
    "value": [
      {
        "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/calendars('AAMkAGI2TGuLAAA=')",
        "id": "AAMkAGI2TGuLAAA=",
        "name": "Calendar",
        "color": "auto",
        "changeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
        "canShare": true,
        "canViewPrivateItems": true,
        "hexColor": "",
        "canEdit": true,
        "allowedOnlineMeetingProviders": [
          "teamsForBusiness"
        ],
        "defaultOnlineMeetingProvider": "teamsForBusiness",
        "isTallyingResponses": true,
        "isRemovable": false,
        "owner": {
          "name": "John Doe",
          "address": "john.doe@example.com"
        }
      }
    ]
  }
}

```

***

### List Events[​](#listevents "Direct link to List Events")

List all Events for the user | **key: listEvents**

| Input       | Notes                                                                                                        | Example          |
| ----------- | ------------------------------------------------------------------------------------------------------------ | ---------------- |
| Calendar ID | 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, fetches all pages of results using pagination.                                                    | false            |
| Page Limit  | Maximum number of results to return per page.                                                                | 100              |
| Page Skip   | Number of records to skip before returning results.                                                          | 100              |

### Example Payload for <!-- -->List Events

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events(subject,body,bodyPreview,organizer,attendees,start,end,location)",
    "value": [
      {
        "@odata.etag": "W/\"ZlnW4RIAV06KYYwlrfNZvQAAKGWwbw==\"",
        "id": "AAMkAGIAAAoZDOFAAA=",
        "subject": "Orientation ",
        "bodyPreview": "Please join us for the team orientation. Bring any questions you may have.",
        "body": {
          "contentType": "html",
          "content": "<html><head></head><body><p>Please join us for the team orientation. Bring any questions you may have.</p></body></html>"
        },
        "start": {
          "dateTime": "2017-04-21T10:00:00.0000000",
          "timeZone": "Pacific Standard Time"
        },
        "end": {
          "dateTime": "2017-04-21T12:00:00.0000000",
          "timeZone": "Pacific Standard Time"
        },
        "location": {
          "displayName": "Assembly Hall",
          "locationType": "default",
          "uniqueId": "Assembly Hall",
          "uniqueIdType": "private"
        },
        "locations": [
          {
            "displayName": "Assembly Hall",
            "locationType": "default",
            "uniqueIdType": "unknown"
          }
        ],
        "attendees": [
          {
            "type": "required",
            "status": {
              "response": "none",
              "time": "0001-01-01T00:00:00Z"
            },
            "emailAddress": {
              "name": "John Doe",
              "address": "john.doe@example.com"
            }
          },
          {
            "type": "required",
            "status": {
              "response": "none",
              "time": "0001-01-01T00:00:00Z"
            },
            "emailAddress": {
              "name": "Jane Smith",
              "address": "jane.smith@example.com"
            }
          }
        ],
        "organizer": {
          "emailAddress": {
            "name": "Samantha Booth",
            "address": "samanthab@a830edad905084922E17020313.onmicrosoft.com"
          }
        }
      }
    ]
  }
}

```

***

### List Mail Folders[​](#listmailfolders "Direct link to List Mail Folders")

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

| Input            | Notes                                                                           | Example          |
| ---------------- | ------------------------------------------------------------------------------- | ---------------- |
| Connection       | The Outlook connection to use.                                                  |                  |
| Fetch All        | When true, fetches all pages of results using pagination.                       | false            |
| Page Limit       | Maximum number of results to return per page.                                   | 100              |
| Page Skip        | Number of records to skip before returning results.                             | 100              |
| Parent Folder ID | List all folders contained within this folder. Omit to list root-level folders. | AAMkAGI2TGuLAAA= |

### Example Payload for <!-- -->List Mail Folders

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('68ca8ec0-11f8-456b-a785-70d9936650d5')/mailFolders",
    "value": [
      {
        "id": "AQMkADYAAAIBCgAAAA==",
        "displayName": "Deleted Items",
        "parentFolderId": "AQMkADYAAAIBCAAAAA==",
        "childFolderCount": 0,
        "unreadItemCount": 0,
        "totalItemCount": 0,
        "isHidden": false
      },
      {
        "id": "AQMkADYAAAIBDwAAAA==",
        "displayName": "Drafts",
        "parentFolderId": "AQMkADYAAAIBCAAAAA==",
        "childFolderCount": 0,
        "unreadItemCount": 0,
        "totalItemCount": 0,
        "isHidden": false
      },
      {
        "id": "AQMkADYAAAIBDAAAAA==",
        "displayName": "Inbox",
        "parentFolderId": "AQMkADYAAAIBCAAAAA==",
        "childFolderCount": 1,
        "unreadItemCount": 70,
        "totalItemCount": 71,
        "isHidden": false
      },
      {
        "@odata.type": "#microsoft.graph.mailSearchFolder",
        "id": "AAMkADYRAAAZg1yTAAA=",
        "displayName": "Weekly digests",
        "parentFolderId": "AQMkADYAAAIBDAAAAA==",
        "childFolderCount": 0,
        "unreadItemCount": 4,
        "totalItemCount": 5,
        "isHidden": false,
        "isSupported": true,
        "filterQuery": "contains(subject, 'weekly digest')"
      },
      {
        "id": "AQMkADYAAAIBGQAAAA==",
        "displayName": "Junk Email",
        "parentFolderId": "AQMkADYAAAIBCAAAAA==",
        "childFolderCount": 0,
        "unreadItemCount": 0,
        "totalItemCount": 0,
        "isHidden": false
      },
      {
        "id": "AQMkADYAAAIBCwAAAA==",
        "displayName": "Outbox",
        "parentFolderId": "AQMkADYAAAIBCAAAAA==",
        "childFolderCount": 0,
        "unreadItemCount": 0,
        "totalItemCount": 0,
        "isHidden": false
      },
      {
        "id": "AQMkADYAAAIBCQAAAA==",
        "displayName": "Sent Items",
        "parentFolderId": "AQMkADYAAAIBCAAAAA==",
        "childFolderCount": 0,
        "unreadItemCount": 0,
        "totalItemCount": 0,
        "isHidden": false
      }
    ]
  }
}

```

***

### List Mail Messages[​](#listmessages "Direct link to List Mail Messages")

List mail messages in a user's mailbox | **key: listMessages**

| Input      | Notes                                                                                                                                                                                                                      | Example                                          |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| Connection | The Outlook connection to use.                                                                                                                                                                                             |                                                  |
| Fetch All  | When true, fetches all pages of results using pagination.                                                                                                                                                                  | false                                            |
| Filter     | OData filter expression to apply to the messages. Cannot be used with Search. Refer to [Microsoft Graph filter parameter documentation](https://learn.microsoft.com/en-us/graph/filter-query-parameter) for filter syntax. | from/emailAddress/address eq 'user\@example.com' |
| Folder ID  | Unique identifier of the folder. Omit to list all messages.                                                                                                                                                                | AAMkAGI2TGuLAAA=                                 |
| Page Limit | Maximum number of results to return per page.                                                                                                                                                                              | 100                                              |
| Page Skip  | Number of records to skip before returning results.                                                                                                                                                                        | 100                                              |
| Search     | Search query to filter messages. Cannot be used with Filter. Refer to [Microsoft Graph search parameter documentation](https://learn.microsoft.com/en-us/graph/search-query-parameter) for query syntax.                   | subject:meeting                                  |

### Example Payload for <!-- -->List Mail Messages

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('bb8775a4-4d8c-42cf-a1d4-4d58c2bb668f')/messages(sender,subject)",
    "value": [
      {
        "@odata.etag": "W/\"CQAAABYAAADHcgC8Hl9tRZ/hc1wEUs1TAAAwR4Hg\"",
        "id": "AAMkAGUAAAwTW09AAA=",
        "subject": "You have late tasks!",
        "sender": {
          "emailAddress": {
            "name": "Microsoft Planner",
            "address": "noreply@Planner.Office365.com"
          }
        }
      }
    ]
  }
}

```

***

### List Subscriptions[​](#listsubscriptions "Direct link to List Subscriptions")

List all subscriptions for Microsoft Outlook | **key: listSubscriptions**

| Input                  | Notes                                                 | Example |
| ---------------------- | ----------------------------------------------------- | ------- |
| Connection             | The Outlook connection to use.                        |         |
| Fetch All              | Turn on to fetch all pages of results.                | true    |
| Show Instance Webhooks | Show only subscriptions for this instance's webhooks. | true    |

### Example Payload for <!-- -->List Subscriptions

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#subscriptions",
    "value": [
      {
        "id": "e9d5b726-4478-4412-bfba-268530484566",
        "resource": "me/events",
        "changeType": "updated",
        "clientState": null,
        "notificationUrl": "https://example.com/webhook/",
        "notificationQueryOptions": null,
        "lifecycleNotificationUrl": null,
        "expirationDateTime": "2024-12-31T23:59:59.999Z",
        "creatorId": "c8edbeda-c453-446c-91ce-c6d5c7310a6c",
        "includeResourceData": null,
        "latestSupportedTlsVersion": "v1_2",
        "encryptionCertificate": null,
        "encryptionCertificateId": null,
        "notificationUrlAppId": null
      }
    ]
  }
}

```

***

### List Supported Languages[​](#listsupportedlanguages "Direct link to List Supported Languages")

List supported languages for current user | **key: listSupportedLanguages**

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

### List Supported Timezones[​](#listsupportedtimezones "Direct link to List Supported Timezones")

List supported timezones for current user | **key: listSupportedTimezones**

| Input      | Notes                          | Example |
| ---------- | ------------------------------ | ------- |
| Connection | The Outlook connection to use. |         |

***

### Raw Request[​](#rawrequest "Direct link to Raw Request")

Send raw HTTP request to Microsoft Outlook | **key: rawRequest**

| Input                   | Notes                                                                                                                                                                                                                              | Example                                                       |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| Connection              |                                                                                                                                                                                                                                    |                                                               |
| 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                     | Input 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. | /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

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars",
    "value": [
      {
        "id": "AAMkAGI2TGuLAAA=",
        "name": "Calendar",
        "color": "auto",
        "changeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
        "canShare": true,
        "canViewPrivateItems": true,
        "canEdit": true,
        "owner": {
          "name": "John Doe",
          "address": "john.doe@example.com"
        }
      }
    ]
  }
}

```

***

### Send Message[​](#sendmessage "Direct link to Send Message")

Send a new message | **key: sendMessage**

| Input               | Notes                                                                                                                                                                     | Example                                                                                                                                                   |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Attachments         | 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                 | Blind carbon copy email addresses. Multiple addresses can be specified as a comma-separated list.                                                                         | \["bcc.recipient\@example.com"]                                                                                                                           |
| Message Body        | Plain text or HTML body content of the email message.                                                                                                                     | \<p>Hello, this is the email body.\</p>                                                                                                                   |
| Body Content Type   | Format of the message body content.                                                                                                                                       | html                                                                                                                                                      |
| CC                  | 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 | 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             | Subject line of the email message.                                                                                                                                        | Quarterly Report                                                                                                                                          |
| To                  | 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

```json
{
  "data": null
}

```

***

### Update Calendar[​](#updatecalendar "Direct link to Update Calendar")

Update an existing Calendar | **key: updateCalendar**

| Input       | Notes                                                                                                                                                                                                  | Example          |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- |
| Color       | Color of the calendar; see 'color' in the [Microsoft Graph calendar resource documentation](https://learn.microsoft.com/en-us/graph/api/resources/calendar?view=graph-rest-1.0#properties) for details | lightRed         |
| Connection  | The Outlook connection to use.                                                                                                                                                                         |                  |
| Calendar ID | The unique identifier of the calendar to modify.                                                                                                                                                       | AAMkAGI2TGuLAAA= |
| Name        | The name of the calendar.                                                                                                                                                                              | Project Calendar |

### Example Payload for <!-- -->Update Calendar

```json
{
  "data": {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/calendars('AAMkADJmMVAAA=')",
    "id": "AAMkADJmMVAAA=",
    "name": "Social events",
    "color": "auto",
    "isDefaultCalendar": false,
    "changeKey": "DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
    "canShare": true,
    "canViewPrivateItems": true,
    "hexColor": "",
    "canEdit": true,
    "allowedOnlineMeetingProviders": [
      "teamsForBusiness"
    ],
    "defaultOnlineMeetingProvider": "teamsForBusiness",
    "isTallyingResponses": true,
    "isRemovable": false,
    "owner": {
      "name": "Samantha Booth",
      "address": "samanthab@adatum.onmicrosoft.com"
    }
  }
}

```

***

### Update Event[​](#updateevent "Direct link to Update Event")

Update an existing Event | **key: updateEvent**

| Input                     | Notes                                                                                                                                          | Example                                                                                       |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Type                      | 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 | Reference to data structures representing attendees. Will be merged with Attendees if both are specified.                                      | \[{ emailAddress: { address: 'john.doe\@example.com', name: 'John Doe' }, type: 'required' }] |
| Body (HTML)               | HTML body content of the event.                                                                                                                | \<p>Please join us for the team meeting.\</p>                                                 |
| Connection                | The Outlook connection to use.                                                                                                                 |                                                                                               |
| End At                    | ISO 8601 formatted timestamp without timezone information.                                                                                     | 2024-01-15T14:00:00                                                                           |
| End Timezone              | Timezone for the end time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.             | Pacific Standard Time                                                                         |
| Event ID                  | Unique identifier of the calendar event.                                                                                                       | AAMkAGIAAAoZDOFAAA=                                                                           |
| Location Name             | Name of the event location.                                                                                                                    | Conference Room A                                                                             |
| Start At                  | ISO 8601 formatted timestamp without timezone information.                                                                                     | 2024-01-15T12:00:00                                                                           |
| Start Timezone            | Timezone for the start time of the event. Use the List Supported Timezones action for details on valid aliases/values for this user.           | Pacific Standard Time                                                                         |
| Subject                   | Subject of the calendar event.                                                                                                                 | Team Meeting                                                                                  |

### Example Payload for <!-- -->Update Event

```json
{
  "data": {
    "subject": "Let's go for lunch",
    "body": {
      "contentType": "html",
      "content": "Does noon work for you?"
    },
    "start": {
      "dateTime": "2017-04-15T12:00:00",
      "timeZone": "Pacific Standard Time"
    },
    "end": {
      "dateTime": "2017-04-15T14:00:00",
      "timeZone": "Pacific Standard Time"
    },
    "location": {
      "displayName": "Conference Room A"
    },
    "attendees": [
      {
        "emailAddress": {
          "address": "john.doe@example.com",
          "name": "John Doe"
        },
        "type": "required"
      }
    ],
    "allowNewTimeProposals": true,
    "transactionId": "7E163156-7762-4BEB-A1C6-729EA81755A7"
  }
}

```

***

### Update Event Subscription Expiration[​](#updateeventsubscription "Direct link to Update Event Subscription Expiration")

Update existing Event subscription expiration for Microsoft Outlook | **key: updateEventSubscription**

| Input                | Notes                                                                                                                                                                                | Example                              |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------ |
| Connection           | The Outlook connection to use.                                                                                                                                                       |                                      |
| Expiration Date/Time | Expiration 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). | 2024-12-31T23:59:59.999Z             |
| Subscription ID      | Unique identifier of the webhook subscription.                                                                                                                                       | e9d5b726-4478-4412-bfba-268530484566 |

### Example Payload for <!-- -->Update Event Subscription Expiration

```json
{
  "data": {
    "id": "e9d5b726-4478-4412-bfba-268530484566",
    "resource": "me/events",
    "changeType": "updated",
    "notificationUrl": "https://example.com/webhook/",
    "expirationDateTime": "2024-12-31T23:59:59.999Z",
    "creatorId": "c8edbeda-c453-446c-91ce-c6d5c7310a6c",
    "latestSupportedTlsVersion": "v1_2"
  }
}

```

***

## Changelog[​](#changelog "Direct link to Changelog")

### 2025-12-17[​](#2025-12-17 "Direct link to 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[​](#2025-12-05 "Direct link to 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[​](#2025-11-25 "Direct link to 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[​](#2025-11-04 "Direct link to 2025-11-04")

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

### 2025-10-03[​](#2025-10-03 "Direct link to 2025-10-03")

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

### 2025-08-12[​](#2025-08-12 "Direct link to 2025-08-12")

Added **OAuth 2.0 Client Credentials** connection type

### 2025-04-28[​](#2025-04-28 "Direct link to 2025-04-28")

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