# Microsoft Outlook Calendar — Pipedream Connect

> The calendar and scheduling component of Outlook that is fully integrated with email, contacts, and other features

- API slug: `microsoft_outlook_calendar` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://learn.microsoft.com/en-us/graph/outlook-calendar-concept-overview
- Managed OAuth scopes: `User.Read` · `email` · `offline_access` · `openid` · `profile` · `Calendars.ReadWrite` · `People.Read`
- This page (HTML): https://pipedream.com/apps/microsoft-outlook-calendar
- Tools: 16 actions · 4 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: microsoft_outlook_calendar`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "microsoft_outlook_calendar",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Accept Event:
const result = await mcp.callTool({
  name: "microsoft_outlook_calendar-accept-event",
  arguments: {
    eventId: "Event ID",
    comment: "Comment",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Microsoft Outlook Calendar endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://graph.microsoft.com/v1.0/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjAvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "microsoft_outlook_calendar-accept-event",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    microsoft_outlook_calendar: { authProvisionId: "apn_xxxxxxx" },
    eventId: "Event ID",
    comment: "Comment",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (16)

### `microsoft_outlook_calendar-accept-event` — Accept Event (Write)

Accept a calendar event invitation and optionally send a response to the organizer. Use List Events or Get Event to find the event ID. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/accept-event.md

### `microsoft_outlook_calendar-create-calendar-event` — Create Calendar Event (Write)

Create an event in the user's default calendar. Supports one-time and recurring events. See the documentation and recurring event example.

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/create-calendar-event.md

### `microsoft_outlook_calendar-decline-event` — Decline Event (Write)

Decline a calendar event invitation and optionally propose an alternate time. Use List Events or Get Event to find the event ID. To propose a new time, pass proposedNewTime as a JSON string with start and end objects (each with dateTime in ISO 8601 format and timeZone as a Windows timezone name…

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/decline-event.md

### `microsoft_outlook_calendar-delete-calendar-event` — Delete Calendar Event (Write)

Delete an event in the user's default calendar. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/delete-calendar-event.md

### `microsoft_outlook_calendar-delete-recurring-event-instance` — Delete Recurring Event Instance (Write)

Delete an individual instance of a recurring event in the user's default calendar. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/delete-recurring-event-instance.md

### `microsoft_outlook_calendar-find-meeting-times` — Find Meeting Times (Read-only)

Suggest meeting times and locations based on organizer and attendee availability. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/find-meeting-times.md

### `microsoft_outlook_calendar-get-current-user` — Get Current User (Read-only)

Returns the authenticated Microsoft user's ID, display name, email, and principal name via Microsoft Graph. Call this first when the user says 'my calendar', 'my events', or needs to identify themselves as organizer/attendee. Use id or mail to filter results from List Events or set the organizer in…

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/get-current-user.md

### `microsoft_outlook_calendar-get-event` — Get Event (Read-only)

Retrieve a calendar event by its Microsoft Graph event ID. Pass the id from List Events when you need full details (for example body, attendees, or recurrence) that list responses may omit or truncate. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/get-event.md

### `microsoft_outlook_calendar-get-schedule` — Get Free/Busy Schedule (Read-only)

Get the free/busy availability information for a collection of users, distributions lists, or resources (rooms or equipment) for a specified time period. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/get-schedule.md

### `microsoft_outlook_calendar-list-events` — List Events (Read-only)

Get a list of event objects in the user's mailbox. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/list-events.md

### `microsoft_outlook_calendar-list-time-zone-options` — List Time Zone Options (Read-only)

Retrieves available options for the Time Zone field.

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/list-time-zone-options.md

### `microsoft_outlook_calendar-search-contacts` — Search Contacts (Read-only)

Search for contacts by name from your saved contacts list and retrieve their email addresses. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/search-contacts.md

### `microsoft_outlook_calendar-search-people` — Search People (Read-only)

Retrieve a collection of person objects ordered by their relevance to the user, based on communication and collaboration patterns and business relationships. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/search-people.md

### `microsoft_outlook_calendar-tentatively-accept-event` — Tentatively Accept Event (Write)

Tentatively accept a calendar event invitation and optionally propose an alternate time. Use List Events or Get Event to find the event ID. To propose a new time, pass proposedNewTime as a JSON string with start and end objects (each with dateTime in ISO 8601 format and timeZone as a Windows…

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/tentatively-accept-event.md

### `microsoft_outlook_calendar-update-calendar-event` — Update Calendar Event (Write)

Update an event in the user's default calendar. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/update-calendar-event.md

### `microsoft_outlook_calendar-update-recurring-event-instance` — Update Recurring Event Instance (Write)

Update an individual instance of a recurring event in the user's default calendar. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/actions/update-recurring-event-instance.md

## Triggers (4)

### `microsoft_outlook_calendar-deleted-calendar-event` — Calendar Event Deleted (Instant) (Polling)

Emit new event when a Microsoft Outlook Calendar event is deleted. Because deleted events cannot be re-fetched from the Outlook API after deletion, this trigger emits notification metadata only (not the full event object). The emitted payload includes the deleted event identifier (eventId)…

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/triggers/deleted-calendar-event.md

### `microsoft_outlook_calendar-new-calendar-event` — New Calendar Event (Instant) (Polling)

Emit new event when a new Calendar event is created

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/triggers/new-calendar-event.md

### `microsoft_outlook_calendar-updated-calendar-event` — New Calendar Event Update (Instant) (Polling)

Emit new event when a Calendar event is updated

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/triggers/updated-calendar-event.md

### `microsoft_outlook_calendar-new-upcoming-event-polling` — New Upcoming Calendar Event (Polling) (Polling)

Emit new event based on a time interval before an upcoming calendar event. See the documentation

Full schema: https://pipedream.com/apps/microsoft-outlook-calendar/triggers/new-upcoming-event-polling.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
