---
title: "Outlook Integration"
description: "Manage Outlook mail, calendars, and contacts"
---
The Outlook integration provides access to manage Outlook mail, calendars, and contacts through the Integrate MCP server.

## Installation

The Outlook integration is included with the SDK:

```typescript
import { outlookIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create an Outlook OAuth App

1. Go to [Azure Portal — App Registrations](https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps)
2. Create a new OAuth application
3. Configure your redirect URI
4. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the Outlook integration to your server configuration. The integration automatically reads `OUTLOOK_CLIENT_ID` and `OUTLOOK_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, outlookIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    outlookIntegration({
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
outlookIntegration({
  clientId: process.env.CUSTOM_OUTLOOK_ID,
  clientSecret: process.env.CUSTOM_OUTLOOK_SECRET,
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("outlook");
const result = await client.outlook.listMessages({});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, outlookIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [outlookIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/outlook.ts"
  name="OutlookIntegrationConfig"
/>


## Tools

### `outlook_accept_event`

Accept a calendar event invitation

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookAcceptEventParams"
/>

### `outlook_create_draft`

Create a draft message (not sent)

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookCreateDraftParams"
/>

### `outlook_create_event`

Create a new calendar event

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookCreateEventParams"
/>

### `outlook_decline_event`

Decline a calendar event invitation

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookDeclineEventParams"
/>

### `outlook_delete_event`

Delete a calendar event

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookDeleteEventParams"
/>

### `outlook_delete_message`

Delete a message permanently

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookDeleteMessageParams"
/>

### `outlook_find_meeting_times`

Find available meeting times for a set of attendees

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookFindMeetingTimesParams"
/>

### `outlook_forward_message`

Forward a message to one or more recipients

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookForwardMessageParams"
/>

### `outlook_get_contact`

Get a specific contact by ID

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookGetContactParams"
/>

### `outlook_get_event`

Get a specific calendar event by ID

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookGetEventParams"
/>

### `outlook_get_message`

Get a specific message by ID

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookGetMessageParams"
/>

### `outlook_get_schedule`

Get free/busy schedule for a set of users or resources

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookGetScheduleParams"
/>

### `outlook_list_calendars`

List all calendars for the authenticated user

_No parameters._

### `outlook_list_contacts`

List contacts in the address book

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookListContactsParams"
/>

### `outlook_list_events`

List calendar events

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookListEventsParams"
/>

### `outlook_list_mail_folders`

List mail folders in the mailbox

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookListMailFoldersParams"
/>

### `outlook_list_messages`

List messages in the mailbox

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookListMessagesParams"
/>

### `outlook_mark_message_read`

Mark a message as read or unread

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookMarkMessageReadParams"
/>

### `outlook_move_message`

Move a message to another folder

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookMoveMessageParams"
/>

### `outlook_reply_all_message`

Reply all to a message

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookReplyAllMessageParams"
/>

### `outlook_reply_message`

Reply to a message

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookReplyMessageParams"
/>

### `outlook_search_messages`

Search messages by keyword query

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookSearchMessagesParams"
/>

### `outlook_send_message`

Send a new email message

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookSendMessageParams"
/>

### `outlook_tentatively_accept_event`

Tentatively accept a calendar event invitation

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookTentativelyAcceptEventParams"
/>

### `outlook_update_event`

Update an existing calendar event

<AutoTypeTable
  path="generated/tool-params/outlook.ts"
  name="OutlookUpdateEventParams"
/>

## Notes

- Category: Communication
- Authentication mode: OAuth
