# Outlook on boxd

> Outlook is Microsoft's email and calendaring platform integrating contacts and scheduling, enabling users to manage communications and events in a unified workspace.

- Page: https://boxd.sh/integrations/outlook/
- CLI: `run outlook` (300 commands, 41 marked common)
- SDK: `import { outlook } from "@boxd/run"`; every parameter and response type is at `@boxd/run/outlook`
- Triggers: 5
- Connect: `run auth outlook` (Sign in with Outlook), or https://app.boxd.sh/integrations/detail/outlook
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth outlook      # once: prints a link to connect your account
run outlook           # list its commands
run outlook get-profile
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { outlook } from "@boxd/run";

const result = await outlook.getProfile({});
console.log(result);

outlook.on("contact", async (event) => {
  // New Contact Added: runs on this machine, once per event
  console.log(event);
});
```

Run it with `run outlook.run.ts`. A script that calls `.on()` keeps running as a job and handles each event.

## Commands

Required flags are listed; `run outlook <command> --help` lists the optional ones. "common" marks what `run outlook` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `accept-event` ·common | `outlook.acceptEvent()` | `--event-id` | 4 | Accepts or tentatively accepts a calendar meeting invite on behalf of a user |
| `add-event-attachment` | `outlook.addEventAttachment()` | `--event-id` `--name` `--odata-type` | 3 | Adds an attachment to a specific Outlook calendar event |
| `add-mail-attachment` ·common | `outlook.addMailAttachment()` | `--message-id` | 10 | Add an attachment to an email message |
| `batch-move-messages` ·common | `outlook.batchMoveMessages()` | `--destination-id` `--message-ids` | 2 | Batch-move up to 20 Outlook messages to a destination folder in a single Microsoft Graph $batch call |
| `batch-update-messages` ·common | `outlook.batchUpdateMessages()` | `--updates` | 2 | Batch-update up to 20 Outlook messages per call using Microsoft Graph JSON batching |
| `calendar-create-event` ·common | `outlook.calendarCreateEvent()` | `--end-datetime` `--start-datetime` `--subject` `--time-zone` | 12 | Creates a new Outlook calendar event, ensuring `start_datetime` is chronologically before `end_datetime` |
| `cancel-calendar-event` | `outlook.cancelCalendarEvent()` | `--calendar-id` `--event-id` `--user-id` | 1 | Cancel an event in a specific calendar for a specified user and send cancellation notifications to all attendees |
| `cancel-calendar-group-calendar-event` | `outlook.cancelCalendarGroupCalendarEvent()` | `--calendar-group-id` `--calendar-id` `--event-id` `--user-id` | 1 | Cancel an event in a user's calendar within a calendar group and send cancellation notifications to all attendees |
| `cancel-event` | `outlook.cancelEvent()` | `--event-id` `--user-id` | 1 | Cancel a calendar event for a specified user and send cancellation notifications to all attendees |
| `copy-mail-folder` | `outlook.copyMailFolder()` | `--destination-id` `--mail-folder-id` `--user-id` | 0 | Copy a user's mail folder and its contents to another folder |
| `copy-me-mail-folder` | `outlook.copyMeMailFolder()` | `--child-folder-id` `--destination-id` `--mail-folder-id` | 1 | Copy a child mail folder to a destination folder |
| `copy-message` ·common | `outlook.copyMessage()` | `--destination-id` `--message-id` | 1 | Copy an email message to another folder within the user's mailbox |
| `copy-message-from-child-folder` | `outlook.copyMessageFromChildFolder()` | `--child-folder-id` `--destinationId` `--mail-folder-id` `--message-id` | 1 | Copy an email message from a child folder (nested folder) to another folder within the user's mailbox |
| `copy-message-from-mail-folder` | `outlook.copyMessageFromMailFolder()` | `--destinationId` `--mail-folder-id` `--message-id` | 1 | Copy a message from a specific user's mail folder to another folder |
| `create-attachment-upload-session` | `outlook.createAttachmentUploadSession()` | `--attachment-item` `--message-id` | 1 | Create an upload session for large (>3 MB) message attachments |
| `create-attachment-upload-session-in-child-folder` | `outlook.createAttachmentUploadSessionInChildFolder()` | `--attachment-item` `--child-folder-id` `--mail-folder-id` `--message-id` | 1 | Create an upload session for large (>3 MB) message attachments in child mail folders |
| `create-cal-group-event-attach-upload` | `outlook.createCalGroupEventAttachUpload()` | `--attachment-item` `--calendar-group-id` `--calendar-id` `--event-id` `--user-id` | 0 | Create an upload session for large calendar group event attachments |
| `create-calendar` | `outlook.createCalendar()` | `--name` | 3 | Create a new calendar in the signed-in user's mailbox |
| `create-calendar-event` ·deprecated | `outlook.createCalendarEvent()` | `--calendar-id` `--end-datetime` `--start-datetime` `--subject` `--time-zone` | 11 | Use OUTLOOK_CREATE_USER_CALENDAR_CALENDAR_EVENT instead |
| `create-calendar-event-attachment` | `outlook.createCalendarEventAttachment()` | `--calendar-id` `--event-id` `--name` `--odata-type` | 2 | Create a new attachment for an event in a specific calendar |
| `create-calendar-event-attachment-upload-session` | `outlook.createCalendarEventAttachmentUploadSession()` | `--attachment-item` `--calendar-id` `--event-id` | 1 | Create an upload session for large calendar event attachments in a specific calendar |
| `create-calendar-event-in-calendar` | `outlook.createCalendarEventInCalendar()` | `--calendar-id` `--end` `--start` `--subject` `--user-id` | 7 | Create a new event in a specific calendar for a user |
| `create-calendar-group` | `outlook.createCalendarGroup()` | `--name` `--user-id` | 0 | Create a new calendar group for a user |
| `create-calendar-group-calendar-event-attachment` | `outlook.createCalendarGroupCalendarEventAttachment()` | `--calendar-group-id` `--calendar-id` `--event-id` `--name` `--odata-type` | 3 | Create a new attachment for an event in a calendar within a calendar group for a specific user |
| `create-calendar-group-calendar-event-extension` | `outlook.createCalendarGroupCalendarEventExtension()` | `--calendar-group-id` `--calendar-id` `--event-id` `--extension-name` | 2 | Create a new open extension on a calendar event within a specific calendar group and calendar |
| `create-calendar-permission` | `outlook.createCalendarPermission()` | `--calendar-group-id` `--calendar-id` `--emailAddress` `--role` | 3 | Create a calendar permission for a specific calendar in a calendar group |
| `create-contact` ·common | `outlook.createContact()` | — | 15 | Creates a new contact in a Microsoft Outlook user's contacts folder |
| `create-contact-folder` | `outlook.createContactFolder()` | `--display-name` | 2 | Create a new contact folder in the user's mailbox |
| `create-contact-folder-child-folder` | `outlook.createContactFolderChildFolder()` | `--contact-folder-id` `--displayName` `--user-id` | 0 | Create a child contact folder within a parent contact folder for a specific user |
| `create-draft` ·common | `outlook.createDraft()` | `--body` `--subject` | 6 | Creates a new Outlook email draft with subject, body, recipients, and an optional attachment |
| `create-draft-reply` | `outlook.createDraftReply()` | `--message-id` | 4 | Creates a draft reply in the specified user's Outlook mailbox to an existing message (identified by a valid `message_id`), optionally including a `comment` and CC/BCC recipients |
| `create-email-rule` ·common | `outlook.createEmailRule()` | `--actions` `--conditions` `--display-name` | 3 | Create email rule filter with conditions and actions |
| `create-event-attachment` | `outlook.createEventAttachment()` | `--event-id` `--name` `--odata-type` `--user-id` | 2 | Create a new attachment for a user's calendar event |
| `create-event-attachment-upload-session` | `outlook.createEventAttachmentUploadSession()` | `--attachmentItem` `--event-id` | 1 | Create an upload session for large calendar event attachments |
| `create-forward-draft` | `outlook.createForwardDraft()` | `--mail-folder-id` `--message-id` | 3 | Create a forward draft of an Outlook message for a specific user |
| `create-mail-folder` | `outlook.createMailFolder()` | `--display-name` | 3 | Create a new mail folder |
| `create-mail-folder-message` | `outlook.createMailFolderMessage()` | `--folder-id` | 6 | Create a new message in a specific mail folder |
| `create-mail-folder-message-attachment` | `outlook.createMailFolderMessageAttachment()` | `--mail-folder-id` `--message-id` | 10 | Add an attachment to a message in a specific mail folder |
| `create-mail-folder-message-attachment-upload-session` | `outlook.createMailFolderMessageAttachmentUploadSession()` | `--attachment-item` `--mail-folder-id` `--message-id` | 1 | Create an upload session for large (>3 MB) message attachments in a specific mail folder |
| `create-mail-folder-message-rule` | `outlook.createMailFolderMessageRule()` | `--actions` `--display-name` `--mail-folder-id` `--sequence` | 4 | Create a message rule in a user's mail folder |
| `create-master-category` ·deprecated | `outlook.createMasterCategory()` | `--display-name` | 2 | Use create-user-master-category instead |
| `create-me-calendar-event-extension` | `outlook.createMeCalendarEventExtension()` | `--calendar-id` `--event-id` `--extension-name` | 2 | Create a new open extension on a calendar event for a specific user |
| `create-me-calendar-permission` | `outlook.createMeCalendarPermission()` | `--calendar-id` `--emailAddress` `--role` `--user-id` | 2 | Create a new calendar permission for a specific user's calendar |
| `create-me-child-folder-message` | `outlook.createMeChildFolderMessage()` | `--child-folder-id` `--mail-folder-id` `--user-id` | 7 | Create a new draft message in a child folder within a user's mail folder |
| `create-me-contact-folders-contacts` | `outlook.createMeContactFoldersContacts()` | `--contactFolderId` `--userId` | 14 | Create a new contact in a specific user's contact folder |
| `create-me-contact-folders-contacts-extensions` | `outlook.createMeContactFoldersContactsExtensions()` | `--contact-folder-id` `--contact-id` `--extension-name` `--user-id` | 1 | Create a new open extension on a contact within a user's contact folder |
| `create-me-contact-folders-extensions` | `outlook.createMeContactFoldersExtensions()` | `--child-folder-id` `--contact-folder-id` `--contact-id` `--extension-name` | 2 | Create a new open extension on a contact within a child folder |
| `create-me-contact-in-child-folder` | `outlook.createMeContactInChildFolder()` | `--child-folder-id` `--contact-folder-id` | 15 | Create a new contact in a child folder within a contact folder |
| `create-me-event` | `outlook.createMeEvent()` | `--end` `--start` `--subject` | 7 | Create a new calendar event for a specific user |
| `create-me-event-attachment-upload-session` | `outlook.createMeEventAttachmentUploadSession()` | `--attachment-item` `--event-id` | 1 | Create an upload session for large event attachments |
| `create-me-forward-draft` | `outlook.createMeForwardDraft()` | `--message-id` | 2 | Create a draft forward of an existing message |
| `create-me-inference-classification-override` | `outlook.createMeInferenceClassificationOverride()` | `--classify-as` `--sender-email-address` `--user-id` | 0 | Create a Focused Inbox override for a sender identified by SMTP address for a specific user |
| `create-me-mail-folder-message-reply-all-draft` ·deprecated | `outlook.createMeMailFolderMessageReplyAllDraft()` | `--mail-folder-id` `--message-id` | 2 | Use create-reply-all-draft instead, which supports both /me and /users/{user_id} endpoints with timezone support |
| `create-me-message-reply-all-draft` | `outlook.createMeMessageReplyAllDraft()` | `--message-id` `--user-id` | 1 | Create a draft reply-all to a user's message |
| `create-me-reply-all-draft` | `outlook.createMeReplyAllDraft()` | `--child-folder-id` `--mail-folder-id` `--message-id` | 2 | Create a draft reply-all to a message in a child folder |
| `create-me-reply-draft` ·deprecated | `outlook.createMeReplyDraft()` | `--message-id` | 1 | Use create-draft-reply instead, which adds comment, cc_emails, and bcc_emails support |
| `create-message-attachment` | `outlook.createMessageAttachment()` | `--message-id` `--name` `--odata-type` | 9 | Create an attachment for a message |
| `create-reply-all-draft` | `outlook.createReplyAllDraft()` | `--mail-folder-id` `--message-id` | 2 | Create a reply-all draft for a message in a mail folder |
| `create-task` ·common | `outlook.createTask()` | `--title` `--todo-task-list-id` | 7 | Create a new task in Microsoft To Do within a specified task list |
| `create-user-calendar-event-attachment` | `outlook.createUserCalendarEventAttachment()` | `--calendar-id` `--event-id` `--name` `--odata-type` `--user-id` | 2 | Create a new attachment for an event in a specific user's calendar |
| `create-user-calendar-group-calendar` | `outlook.createUserCalendarGroupCalendar()` | `--calendar-group-id` `--name` | 2 | Create a new calendar in a calendar group for a specific user |
| `create-user-calendar-group-event` | `outlook.createUserCalendarGroupEvent()` | `--calendar-group-id` `--calendar-id` `--end` `--start` `--subject` `--user-id` | 8 | Create a new calendar event in a specific user's calendar within a calendar group |
| `create-user-contacts-extensions` | `outlook.createUserContactsExtensions()` | `--contact-id` `--extension-name` `--user-id` | 1 | Create a new open extension on a specific user's contact |
| `create-user-event-attachment-upload-session` ·deprecated | `outlook.createUserEventAttachmentUploadSession()` | `--attachment-item` `--event-id` `--user-id` | 0 | Use create-me-event-attachment-upload-session instead, which supports both /me and /users/{user_id} endpoints |
| `create-user-event-calendar-permission` | `outlook.createUserEventCalendarPermission()` | `--emailAddress` `--event-id` `--role` | 3 | Create a calendar permission via an event's calendar |
| `create-user-mail-child-folder-msg-ext` | `outlook.createUserMailChildFolderMsgExt()` | `--child-folder-id` `--extension-name` `--mail-folder-id` `--message-id` | 2 | Create a new open extension on a message in a child mail folder for any user |
| `create-user-mail-folder-message-extension` | `outlook.createUserMailFolderMessageExtension()` | `--extension-name` `--mail-folder-id` `--message-id` `--user-id` | 1 | Create a new open extension on a message in a user's mail folder |
| `create-user-mail-folder-message-reply-draft` | `outlook.createUserMailFolderMessageReplyDraft()` | `--mail-folder-id` `--message-id` `--user-id` | 1 | Create a reply draft for a message in a user's mail folder |
| `create-user-mail-folders-child-folders` | `outlook.createUserMailFoldersChildFolders()` | `--displayName` `--mailFolderId` `--userId` | 1 | Create a new child folder under a specified mail folder for a user |
| `create-user-master-category` | `outlook.createUserMasterCategory()` | `--display-name` | 2 | Create a new category in a user's master category list |
| `create-user-message` | `outlook.createUserMessage()` | — | 11 | Create a new draft message in a user's mailbox |
| `create-user-message-attachment` | `outlook.createUserMessageAttachment()` | `--mail-folder-id` `--message-id` `--name` `--odata-type` `--user-id` | 6 | Create an attachment on a message in a user's mail folder |
| `decline-event` ·common | `outlook.declineEvent()` | `--event-id` | 4 | Decline an invitation to a calendar event |
| `delete-calendar` ·common | `outlook.deleteCalendar()` | `--calendar-id` | 1 | Delete a calendar other than the default calendar from a user's mailbox |
| `delete-calendar-event` | `outlook.deleteCalendarEvent()` | `--event-id` | 1 | Delete a calendar event from a user's Outlook calendar |
| `delete-calendar-event-attachment` | `outlook.deleteCalendarEventAttachment()` | `--attachment-id` `--calendar-id` `--event-id` | 1 | Delete an attachment from an event in a specific user's calendar |
| `delete-calendar-event-from-specific-calendar` | `outlook.deleteCalendarEventFromSpecificCalendar()` | `--calendar-id` `--event-id` | 1 | Delete an event from a specific calendar in Outlook |
| `delete-calendar-from-group` | `outlook.deleteCalendarFromGroup()` | `--calendar-group-id` `--calendar-id` `--user-id` | 0 | Delete a calendar from a specific user's calendar group in Microsoft Outlook |
| `delete-calendar-group` | `outlook.deleteCalendarGroup()` | `--calendar-group-id` | 1 | Delete a calendar group other than the default calendar group |
| `delete-calendar-group-calendar-event` | `outlook.deleteCalendarGroupCalendarEvent()` | `--calendar-group-id` `--calendar-id` `--event-id` `--user-id` | 0 | Delete a calendar event from a specific user's calendar within a calendar group |
| `delete-calendar-group-event-attachment` | `outlook.deleteCalendarGroupEventAttachment()` | `--attachment-id` `--calendar-group-id` `--calendar-id` `--event-id` | 1 | Delete an attachment from an event in a calendar within a calendar group |
| `delete-calendar-group-event-permanently` | `outlook.deleteCalendarGroupEventPermanently()` | `--calendar-group-id` `--calendar-id` `--event-id` | 1 | Permanently delete a calendar event from a calendar within a calendar group |
| `delete-calendar-permanently` | `outlook.deleteCalendarPermanently()` | `--calendar-id` | 1 | Permanently deletes a calendar from a user's mailbox |
| `delete-calendar-permission` | `outlook.deleteCalendarPermission()` | `--calendar-group-id` `--calendar-id` `--permission-id` | 1 | Delete a calendar permission from a user's calendar within a calendar group |
| `delete-child-contact-folder-permanently` | `outlook.deleteChildContactFolderPermanently()` | `--child-folder-id` `--contact-folder-id` | 1 | Permanently deletes a child contact folder |
| `delete-child-folder-message` | `outlook.deleteChildFolderMessage()` | `--child-folder-id` `--mail-folder-id` `--message-id` | 1 | Delete a message from a child mail folder in Outlook |
| `delete-contact` | `outlook.deleteContact()` | `--contact-id` | 1 | Permanently deletes an existing contact, using its `contact_id` (obtainable via 'List User Contacts' or 'Get Contact'), from the Outlook contacts of the user specified by `user_id` |
| `delete-contact-folder` | `outlook.deleteContactFolder()` | `--contact-folder-id` | 1 | Delete a contact folder from the user's mailbox |
| `delete-contact-folder-child-folder` | `outlook.deleteContactFolderChildFolder()` | `--child-folder-id` `--contact-folder-id` | 1 | Delete a child contact folder from a parent contact folder for a specific user |
| `delete-contact-folder-contact` | `outlook.deleteContactFolderContact()` | `--contact-folder-id` `--contact-id` | 1 | Permanently delete a contact from a specific contact folder |
| `delete-contact-folder-permanently` | `outlook.deleteContactFolderPermanently()` | `--contact-folder-id` | 1 | Permanently deletes a contact folder |
| `delete-contact-from-child-folder-permanently` | `outlook.deleteContactFromChildFolderPermanently()` | `--child-folder-id` `--contact-folder-id` `--contact-id` `--user-id` | 0 | Permanently delete a contact from a child folder for a specific user |
| `delete-contact-from-folder-permanently` | `outlook.deleteContactFromFolderPermanently()` | `--contact-folder-id` `--contact-id` | 1 | Permanently deletes a contact from a specific contact folder |
| `delete-contact-permanently` | `outlook.deleteContactPermanently()` | `--contact-id` | 1 | Permanently deletes a contact |
| `delete-contacts-extensions` | `outlook.deleteContactsExtensions()` | `--child-folder-id` `--contact-folder-id` `--contact-id` `--extension-id` | 1 | Delete a navigation property extension from a contact within a child folder |
| `delete-email-rule` | `outlook.deleteEmailRule()` | `--rule-id` | 1 | Delete an email rule permanently; deletion is irreversible |
| `delete-event` ·deprecated | `outlook.deleteEvent()` | `--event-id` | 1 | Use delete-calendar-event instead |
| `delete-event-attachment` | `outlook.deleteEventAttachment()` | `--attachment-id` `--event-id` | 1 | Delete an attachment from an Outlook calendar event |
| `delete-event-extension` | `outlook.deleteEventExtension()` | `--calendar-group-id` `--calendar-id` `--event-id` `--extension-id` | 1 | Delete an open extension from a calendar event in a calendar group |
| `delete-event-permanently` | `outlook.deleteEventPermanently()` | `--event-id` | 1 | Permanently deletes a calendar event |
| `delete-mail-folder` ·common | `outlook.deleteMailFolder()` | `--folder-id` | 1 | Delete a mail folder from the user's mailbox |
| `delete-mail-folder-message` | `outlook.deleteMailFolderMessage()` | `--mail-folder-id` `--message-id` | 1 | Delete a message from a specific mail folder in Outlook |
| `delete-master-category` | `outlook.deleteMasterCategory()` | `--category-id` | 1 | Delete a category from the user's master category list |
| `delete-me-calendar-permission` | `outlook.deleteMeCalendarPermission()` | `--calendar-id` `--permission-id` | 1 | Delete a calendar permission from a specific user's calendar |
| `delete-me-contact-extension` | `outlook.deleteMeContactExtension()` | `--contact-id` `--extension-id` | 1 | Delete an open extension from a contact |
| `delete-me-contact-folder-contact-extension` | `outlook.deleteMeContactFolderContactExtension()` | `--contact-folder-id` `--contact-id` `--extension-id` | 1 | Delete an extension from a contact in a user's contact folder |
| `delete-me-event-extension` | `outlook.deleteMeEventExtension()` | `--event-id` `--extension-id` | 1 | Delete an open extension from a user's calendar event |
| `delete-me-events-attachments` | `outlook.deleteMeEventsAttachments()` | `--attachment-id` `--event-id` | 1 | Delete an attachment from a user's Outlook event |
| `delete-me-inference-classification-override` | `outlook.deleteMeInferenceClassificationOverride()` | `--override-id` | 1 | Delete an inference classification override for a specific sender |
| `delete-me-mail-folder-child-folder` | `outlook.deleteMeMailFolderChildFolder()` | `--child-folder-id` `--mail-folder-id` | 1 | Delete a child mail folder from a parent mail folder |
| `delete-me-mail-folder-child-folder-permanently` | `outlook.deleteMeMailFolderChildFolderPermanently()` | `--child-folder-id` `--mail-folder-id` | 1 | Permanently deletes a child mail folder from a parent mail folder |
| `delete-me-mail-folder-message-rule` | `outlook.deleteMeMailFolderMessageRule()` | `--mail-folder-id` `--rule-id` | 1 | Delete a message rule from a specific mail folder |
| `delete-me-mail-folders-child-folders-messages-extens` | `outlook.deleteMeMailFoldersChildFoldersMessagesExtens()` | `--child-folder-id` `--extension-id` `--mail-folder-id` `--message-id` `--user-id` | 0 | Delete user message extension |
| `delete-me-mail-folders-messages-attachments` ·deprecated | `outlook.deleteMeMailFoldersMessagesAttachments()` | `--attachment-id` `--mail-folder-id` `--message-id` | 1 | Use delete-message-attachment instead |
| `delete-me-mail-folders-messages-extensions` | `outlook.deleteMeMailFoldersMessagesExtensions()` | `--extension-id` `--mail-folder-id` `--message-id` | 1 | Delete a navigation property extension from a message within a mail folder |
| `delete-me-messages-attachments` | `outlook.deleteMeMessagesAttachments()` | `--attachment-id` `--message-id` | 1 | Delete an attachment from a message |
| `delete-message` | `outlook.deleteMessage()` | `--message-id` | 1 | Permanently delete an Outlook email message by its message_id |
| `delete-message-attachment` | `outlook.deleteMessageAttachment()` | `--attachment-id` `--mail-folder-id` `--message-id` | 2 | Delete an attachment from a message in a nested mail folder structure |
| `delete-message-extension` | `outlook.deleteMessageExtension()` | `--extension-id` `--message-id` | 1 | Delete an open extension from an Outlook message |
| `delete-message-permanently-from-folder` ·deprecated | `outlook.deleteMessagePermanentlyFromFolder()` | `--mail-folder-id` `--message-id` `--user-id` | 0 | Use permanent-delete-message instead |
| `delete-primary-calendar-permission` | `outlook.deletePrimaryCalendarPermission()` | `--permission-id` `--user-id` | 0 | Delete a calendar permission from a specific user's calendar |
| `delete-todo-task` | `outlook.deleteTodoTask()` | `--task-id` `--todo-task-list-id` | 1 | Permanently delete a task from a Microsoft To Do task list |
| `delete-user-calendar-event-permanently` | `outlook.deleteUserCalendarEventPermanently()` | `--calendar-id` `--event-id` | 1 | Permanently delete a calendar event from a specific user's calendar |
| `delete-user-child-folder-contact` | `outlook.deleteUserChildFolderContact()` | `--child-folder-id` `--contact-folder-id` `--contact-id` `--user-id` | 0 | Delete a contact from a child folder in a user's contact folder |
| `delete-user-child-folder-message-permanently` | `outlook.deleteUserChildFolderMessagePermanently()` | `--child-folder-id` `--mail-folder-id` `--message-id` | 1 | Permanently delete a message from a user's child mail folder in Outlook |
| `delete-user-contact-extension` ·deprecated | `outlook.deleteUserContactExtension()` | `--child-folder-id` `--contact-folder-id` `--contact-id` `--extension-id` `--user-id` | 0 | Use delete-contacts-extensions instead, which supports both /me and /users/{user_id} endpoints |
| `delete-user-event-permanently` | `outlook.deleteUserEventPermanently()` | `--event-id` `--user-id` | 0 | Permanently delete a calendar event for a specified user |
| `delete-user-mail-folder-permanently` | `outlook.deleteUserMailFolderPermanently()` | `--mail-folder-id` `--user-id` | 0 | Permanently deletes a mail folder for a specific user |
| `delete-user-message-attachment` ·deprecated | `outlook.deleteUserMessageAttachment()` | `--attachment-id` `--message-id` | 1 | Use delete-me-messages-attachments instead, which supports both /me and /users/{user_id} endpoints |
| `dismiss-calendar-event-reminder` | `outlook.dismissCalendarEventReminder()` | `--calendar-id` `--event-id` `--user-id` | 0 | Dismiss a reminder for a specific event in a user's calendar |
| `dismiss-event-reminder` | `outlook.dismissEventReminder()` | `--event-id` | 1 | Dismiss a reminder for a specific calendar event |
| `dismiss-event-reminder-from-group` | `outlook.dismissEventReminderFromGroup()` | `--calendar-group-id` `--calendar-id` `--event-id` `--user-id` | 0 | Dismiss a reminder for an event in a user's calendar within a calendar group |
| `dismiss-user-event-reminder` | `outlook.dismissUserEventReminder()` | `--event-id` `--user-id` | 0 | Dismiss a reminder for a specific user's calendar event |
| `download-attachment` ·common | `outlook.downloadAttachment()` | `--attachment-id` `--file-name` `--message-id` | 1 | Downloads a specific file attachment from an email message in a Microsoft Outlook mailbox; the attachment must contain 'contentBytes' (binary data) and not be a link or embedded item |
| `find-meeting-times` ·common | `outlook.findMeetingTimes()` | — | 10 | Suggests meeting times based on organizer and attendee availability, time constraints, and duration requirements |
| `forward-message` ·common | `outlook.forwardMessage()` | `--message-id` `--to-recipients` | 2 | Forward a message |
| `forward-user-calendar-event` ·common | `outlook.forwardUserCalendarEvent()` | `--calendar-id` `--event-id` `--to-recipients` | 2 | Forward a calendar event from a specific user's calendar to new recipients |
| `get-calendar` ·deprecated | `outlook.getCalendar()` | `--calendar-id` | 0 | Use get-user-calendar instead, which supports both /me and /users/{user_id} endpoints and adds $select field filtering |
| `get-calendar-event` | `outlook.getCalendarEvent()` | `--calendar-id` `--event-id` | 1 | Retrieve a specific event from a specified calendar |
| `get-calendar-event-attachment` | `outlook.getCalendarEventAttachment()` | `--attachment-id` `--calendar-id` `--event-id` | 1 | Retrieve a specific attachment from an event within a calendar |
| `get-calendar-from-event` | `outlook.getCalendarFromEvent()` | `--calendar-id` `--event-id` | 1 | Retrieve the parent calendar that contains a specific event |
| `get-calendar-from-group` | `outlook.getCalendarFromGroup()` | `--calendar-group-id` `--calendar-id` `--user-id` | 0 | Retrieve a specific calendar from a calendar group in Microsoft Outlook |
| `get-calendar-group` | `outlook.getCalendarGroup()` | `--calendar-group-id` | 3 | Retrieve the properties and relationships of a calendar group object |
| `get-calendar-group-calendar-event-extension` | `outlook.getCalendarGroupCalendarEventExtension()` | `--calendar-group-id` `--calendar-id` `--event-id` `--extension-id` | 1 | Retrieve an open extension from a calendar event within a specific calendar group and calendar |
| `get-calendar-group-event-attachment` ·deprecated | `outlook.getCalendarGroupEventAttachment()` | `--attachment-id` `--calendar-group-id` `--calendar-id` `--event-id` | 1 | Use get-user-calendar-group-event-attachment instead, which supports both /me and /users/{user_id} endpoints |
| `get-calendar-group-schedule` | `outlook.getCalendarGroupSchedule()` | `--calendar-group-id` `--calendar-id` `--endTime` `--schedules` `--startTime` `--user-id` | 1 | Retrieve free/busy schedule information for a specific user's calendar within a calendar group |
| `get-calendar-permission` | `outlook.getCalendarPermission()` | `--permission-id` `--user-id` | 0 | Retrieve a specific calendar permission for a user's calendar |
| `get-calendar-permission-from-calendar` | `outlook.getCalendarPermissionFromCalendar()` | `--calendar-id` `--permission-id` `--user-id` | 0 | Retrieve a specific calendar permission from a user's calendar |
| `get-calendar-schedule` | `outlook.getCalendarSchedule()` | `--endTime` `--schedules` `--startTime` | 2 | Get free/busy schedule information for users, distribution lists, or resources |
| `get-calendar-view` ·common | `outlook.getCalendarView()` | `--end-datetime` `--start-datetime` | 6 | Get events ACTIVE during a time window (includes multi-day events) |
| `get-child-folder-message` | `outlook.getChildFolderMessage()` | `--child-folder-id` `--mail-folder-id` `--message-id` | 2 | Retrieve a specific email message from a child mail folder |
| `get-child-folder-message-content` | `outlook.getChildFolderMessageContent()` | `--child-folder-id` `--mail-folder-id` `--message-id` | 1 | Get the MIME content of a message from a child mail folder |
| `get-child-mail-folder` | `outlook.getChildMailFolder()` | `--child-folder-id` `--mail-folder-id` | 2 | Retrieve a specific child mail folder from a parent mail folder |
| `get-contact-extension` | `outlook.getContactExtension()` | `--contact-folder-id` `--contact-id` `--extension-id` | 1 | Retrieve an open extension from a contact in Microsoft Graph |
| `get-contact-folder` | `outlook.getContactFolder()` | `--contact-folder-id` | 2 | Retrieve a specific contact folder by ID |
| `get-contact-folders` | `outlook.getContactFolders()` | `--user-id` | 7 | Retrieve contact folders from a specific user's mailbox |
| `get-contact-from-folder` | `outlook.getContactFromFolder()` | `--contact-folder-id` `--contact-id` | 3 | Retrieve a specific contact from a contact folder by its ID |
| `get-drafts-mail-folder` | `outlook.getDraftsMailFolder()` | — | 2 | Get the drafts mail folder |
| `get-event` ·common | `outlook.getEvent()` | `--event-id` | 1 | Retrieves the full details of a specific calendar event by its ID from a user's Outlook calendar, provided the event exists |
| `get-event-attachment` | `outlook.getEventAttachment()` | `--attachment-id` `--event-id` | 1 | Retrieve a specific attachment from an Outlook calendar event by attachment ID |
| `get-event-calendar-from-group` | `outlook.getEventCalendarFromGroup()` | `--calendar-group-id` `--calendar-id` `--event-id` | 1 | Retrieve the calendar that contains a specific event within a calendar group |
| `get-inference-classification` | `outlook.getInferenceClassification()` | — | 1 | Get inference classification settings for the authenticated user |
| `get-mail-delta` ·common | `outlook.getMailDelta()` | — | 7 | Retrieve incremental changes (delta) of messages in a mailbox |
| `get-mail-folder` | `outlook.getMailFolder()` | `--mail-folder-id` | 2 | Retrieve a mail folder by ID or well-known name |
| `get-mail-folder-message` | `outlook.getMailFolderMessage()` | `--mail-folder-id` `--message-id` | 2 | Retrieve a specific message from a mail folder by its ID |
| `get-mail-folder-message-rule` | `outlook.getMailFolderMessageRule()` | `--mail-folder-id` `--rule-id` `--user-id` | 0 | Retrieve a specific message rule from a user's mail folder |
| `get-mail-tips` ·common | `outlook.getMailTips()` | `--EmailAddresses` `--MailTipsOptions` | 1 | Retrieve mail tips such as automatic replies and mailbox full status |
| `get-mailbox-settings` | `outlook.getMailboxSettings()` | — | 2 | Retrieve mailbox settings |
| `get-master-categories` | `outlook.getMasterCategories()` | — | 6 | Retrieve the user's master category list |
| `get-master-category` | `outlook.getMasterCategory()` | `--category-id` | 1 | Retrieve properties of a specific category from the user's master category list |
| `get-me-calendar` | `outlook.getMeCalendar()` | — | 1 | Get the properties and relationships of the signed-in user's default calendar |
| `get-me-contact-folders-child-folder` | `outlook.getMeContactFoldersChildFolder()` | `--child-folder-id` `--contact-folder-id` `--user-id` | 1 | Retrieve a specific child contact folder for a user by ID |
| `get-me-contact-from-child-folder` | `outlook.getMeContactFromChildFolder()` | `--child-folder-id` `--contact-folder-id` `--contact-id` `--user-id` | 2 | Retrieve a specific contact from a nested child folder within a contact folder |
| `get-me-contact-photo` | `outlook.getMeContactPhoto()` | `--contact-id` | 1 | Get the binary media content of a contact's profile photo |
| `get-me-contacts` ·common | `outlook.getMeContacts()` | `--contact-id` | 1 | Retrieves a specific Outlook contact by its `contact_id` from the contacts of a specified `user_id` (defaults to 'me' for the authenticated user) |
| `get-me-contacts-extensions` | `outlook.getMeContactsExtensions()` | `--contact-id` `--extension-id` `--user-id` | 0 | Retrieve a specific open extension from a user's contact |
| `get-me-event-attachment` | `outlook.getMeEventAttachment()` | `--attachment-id` `--event-id` `--user-id` | 0 | Retrieve a specific attachment from a user's calendar event |
| `get-me-event-calendar` | `outlook.getMeEventCalendar()` | `--event-id` | 1 | Retrieve the calendar that contains a specific event |
| `get-me-mail-folder-message-attachment` ·deprecated | `outlook.getMeMailFolderMessageAttachment()` | `--attachment-id` `--mail-folder-id` `--message-id` | 2 | Use get-user-messages-attachments instead |
| `get-me-mail-folders-messages-extensions` | `outlook.getMeMailFoldersMessagesExtensions()` | `--extension-id` `--mail-folder-id` `--message-id` | 1 | Retrieve a specific extension from a message in a user's mailbox |
| `get-me-message-mime-content` | `outlook.getMeMessageMimeContent()` | `--message-id` | 1 | Get the MIME content of a message |
| `get-me-outlook` | `outlook.getMeOutlook()` | — | 1 | Retrieve the outlookUser object for a specified user |
| `get-message` | `outlook.getMessage()` | `--message-id` | 2 | Retrieves a specific email message by its ID from the specified user's Outlook mailbox |
| `get-message-extension` | `outlook.getMessageExtension()` | `--extension-id` `--message-id` | 1 | Retrieve a specific extension from a user's message |
| `get-nested-folder-message-attachment` | `outlook.getNestedFolderMessageAttachment()` | `--attachment-id` `--child-folder-ids` `--mail-folder-id` `--message-id` `--user-id` | 0 | Retrieve a specific attachment from a message located in a nested mail folder structure |
| `get-profile` ·common | `outlook.getProfile()` | — | 2 | Retrieves the Microsoft Outlook profile for a specified user |
| `get-schedule` | `outlook.getSchedule()` | `--endTime` `--schedules` `--startTime` | 2 | Retrieves free/busy schedule information for specified email addresses within a defined time window |
| `get-supported-languages` | `outlook.getSupportedLanguages()` | — | 1 | Retrieve supported languages in the user's mailbox |
| `get-supported-time-zones` | `outlook.getSupportedTimeZones()` | — | 2 | Get the list of time zones supported for a user as configured on their mailbox server |
| `get-user-by-email` ·common | `outlook.getUserByEmail()` | `--email` | 1 | Retrieves user details from Microsoft Graph by email address (userPrincipalName) |
| `get-user-calendar` | `outlook.getUserCalendar()` | `--calendar-id` | 2 | Get the properties and relationships of a specific calendar for a user |
| `get-user-calendar-allowed-sharing-roles` | `outlook.getUserCalendarAllowedSharingRoles()` | `--User` `--calendar-id` `--user-id` | 0 | Retrieve allowed calendar sharing roles for a specific user on a given calendar |
| `get-user-calendar-event` ·common | `outlook.getUserCalendarEvent()` | `--event-id` `--user-id` | 0 | Retrieve a specific calendar event from a user's primary calendar |
| `get-user-calendar-group-calendar-permission` | `outlook.getUserCalendarGroupCalendarPermission()` | `--calendar-group-id` `--calendar-id` `--permission-id` `--user-id` | 0 | Retrieve a specific calendar permission for a user's calendar within a calendar group |
| `get-user-calendar-group-event` | `outlook.getUserCalendarGroupEvent()` | `--calendar-group-id` `--calendar-id` `--event-id` | 1 | Retrieve a specific event from a user's calendar within a calendar group |
| `get-user-calendar-group-event-attachment` | `outlook.getUserCalendarGroupEventAttachment()` | `--attachment-id` `--calendar-group-id` `--calendar-id` `--event-id` | 1 | Retrieve a specific attachment from an event within a calendar group for a user |
| `get-user-child-folder-message` | `outlook.getUserChildFolderMessage()` | `--child-folder-id` `--mail-folder-id` `--message-id` `--user-id` | 1 | Retrieve a specific message from a child folder within a user's mail folder hierarchy |
| `get-user-event-extension` | `outlook.getUserEventExtension()` | `--event-id` `--extension-id` | 1 | Retrieve a specific open type extension from a user's calendar event by its extension ID or name |
| `get-user-messages-attachments` | `outlook.getUserMessagesAttachments()` | `--attachment-id` `--mail-folder-id` `--message-id` `--user-id` | 1 | Retrieve a specific attachment from a message in a mail folder hierarchy |
| `list-attachments` | `outlook.listAttachments()` | `--message-id` | 2 | Lists metadata (name, size, contentType, isInline, but not `contentBytes`) for all attachments of a specified Outlook email message |
| `list-calendar-calendar-view` ·deprecated | `outlook.listCalendarCalendarView()` | `--endDateTime` `--startDateTime` | 3 | Use OUTLOOK_LIST_ME_CALENDARS_CALENDAR_VIEW instead |
| `list-calendar-event-attachments` | `outlook.listCalendarEventAttachments()` | `--calendar-id` `--event-id` `--user-id` | 5 | List attachments for a calendar event within a specific calendar for a user |
| `list-calendar-group-calendar-events` | `outlook.listCalendarGroupCalendarEvents()` | `--calendar-group-id` `--calendar-id` `--user-id` | 7 | List events from a specific calendar within a calendar group for a user |
| `list-calendar-group-calendars` | `outlook.listCalendarGroupCalendars()` | `--calendar-group-id` | 7 | Retrieve calendars belonging to a specific calendar group |
| `list-calendar-group-event-attachments` | `outlook.listCalendarGroupEventAttachments()` | `--calendar-group-id` `--calendar-id` `--event-id` | 6 | List attachments for a calendar event within a specific calendar group for a user |
| `list-calendar-groups` | `outlook.listCalendarGroups()` | — | 7 | List calendar groups in the signed-in user's mailbox |
| `list-calendar-permissions` | `outlook.listCalendarPermissions()` | `--calendar-group-id` `--calendar-id` | 4 | List calendar permissions for a specific calendar within a calendar group |
| `list-calendar-view-delta` | `outlook.listCalendarViewDelta()` | `--end-datetime` `--start-datetime` | 3 | Get calendar events that have been added, deleted, or updated in a calendar view |
| `list-calendars` ·common | `outlook.listCalendars()` | — | 7 | List calendars in the signed-in user's mailbox |
| `list-chat-messages` | `outlook.listChatMessages()` | `--chat-id` | 4 | List messages in a Teams chat |
| `list-chats` | `outlook.listChats()` | — | 6 | List Teams chats |
| `list-child-folder-contacts` | `outlook.listChildFolderContacts()` | `--child-folder-id` `--contact-folder-id` `--user-id` | 6 | Retrieve contacts from a user's child contact folder |
| `list-child-folder-messages` | `outlook.listChildFolderMessages()` | `--child-folder-id` `--mail-folder-id` | 7 | List messages from a child folder within a parent mail folder |
| `list-child-mail-folders` | `outlook.listChildMailFolders()` | `--parent-folder-id` | 7 | List subfolders (childFolders) under a specified Outlook mail folder |
| `list-contact-folder-child-folders` | `outlook.listContactFolderChildFolders()` | `--folder-id` | 8 | List child folders under a specified contact folder |
| `list-contact-folders-delta` | `outlook.listContactFoldersDelta()` | — | 4 | Get contact folders that have been added, deleted, or updated |
| `list-contacts` ·deprecated | `outlook.listContacts()` | — | 8 | Use list-user-contacts instead |
| `list-contacts-delta` | `outlook.listContactsDelta()` | `--contact-folder-id` | 4 | Retrieve incremental changes (delta) of contacts in a specified folder |
| `list-email-rules` | `outlook.listEmailRules()` | — | 3 | List all email rules from inbox |
| `list-event-attachments` | `outlook.listEventAttachments()` | `--event-id` | 6 | List attachments for a specific Outlook calendar event |
| `list-event-calendar-calendar-permissions` | `outlook.listEventCalendarCalendarPermissions()` | `--event-id` | 7 | List calendar permissions for the calendar containing a specific event |
| `list-event-instances` | `outlook.listEventInstances()` | `--endDateTime` `--event-id` `--startDateTime` | 10 | Retrieve individual occurrences of a recurring calendar event within a specified time range |
| `list-events` ·common | `outlook.listEvents()` | — | 10 | Retrieves events from a user's Outlook calendar via Microsoft Graph API |
| `list-inference-classification-overrides` | `outlook.listInferenceClassificationOverrides()` | — | 3 | List inference classification overrides that control Focused Inbox sender rules |
| `list-mail-folder-message-attachments` | `outlook.listMailFolderMessageAttachments()` | `--mail-folder-id` `--message-id` | 4 | Get attachments from a message in a specific mail folder |
| `list-mail-folder-message-rules` | `outlook.listMailFolderMessageRules()` | `--mail-folder-id` | 3 | List message rules for a specific mail folder |
| `list-mail-folder-messages` ·common | `outlook.listMailFolderMessages()` | `--mail-folder-id` | 7 | List messages from a specific mail folder including subfolders |
| `list-mail-folders` ·common | `outlook.listMailFolders()` | — | 9 | List a user's top-level mail folders |
| `list-mail-folders-delta` | `outlook.listMailFoldersDelta()` | — | 4 | Get incremental changes to mail folders |
| `list-master-categories` ·deprecated | `outlook.listMasterCategories()` | — | 1 | Use get-master-categories instead, which adds pagination (top/skip), filtering, field selection, and sorting |
| `list-me-calendar-permissions` | `outlook.listMeCalendarPermissions()` | `--user-id` | 3 | List calendar permissions for a specific user's calendar |
| `list-me-event-instances` ·deprecated | `outlook.listMeEventInstances()` | `--end-date-time` `--event-id` `--start-date-time` | 3 | Use list-event-instances instead |
| `list-message-attachments-from-child-folder` | `outlook.listMessageAttachmentsFromChildFolder()` | `--child-folder-id` `--mail-folder-id` `--message-id` | 4 | List attachments from a message in a nested child mail folder |
| `list-messages` ·common | `outlook.listMessages()` | — | 25 | Retrieves a list of email messages from a specified mail folder in an Outlook mailbox, with options for filtering (including by conversationId to get all messages in a thread), pagination, and… |
| `list-places` | `outlook.listPlaces()` | `--placeType` | 7 | Retrieves a collection of place objects defined in a tenant by type |
| `list-primary-calendar-permissions` | `outlook.listPrimaryCalendarPermissions()` | — | 4 | List calendar permissions from a user's primary calendar |
| `list-reminders` | `outlook.listReminders()` | `--endDateTime` `--startDateTime` | 1 | Retrieve reminders for events occurring within a specified time range |
| `list-sent-items-messages` | `outlook.listSentItemsMessages()` | — | 7 | List all messages in the SentItems mail folder of the signed-in user's mailbox |
| `list-to-do-lists` ·common | `outlook.listToDoLists()` | — | 7 | List Microsoft To Do task lists for the signed-in user |
| `list-todo-tasks` ·common | `outlook.listTodoTasks()` | `--todo-task-list-id` | 6 | List tasks within a specified Microsoft To Do task list, including status and due dates |
| `list-user-calendar-event-instances` | `outlook.listUserCalendarEventInstances()` | `--calendar-id` `--endDateTime` `--event-id` `--startDateTime` `--user-id` | 3 | Retrieve instances (occurrences) of a recurring event from a specific calendar within a date range |
| `list-user-calendar-events-attachments` | `outlook.listUserCalendarEventsAttachments()` | `--event-id` | 6 | List attachments for a user's calendar event |
| `list-user-calendar-group-event-instances` | `outlook.listUserCalendarGroupEventInstances()` | `--calendar-group-id` `--calendar-id` `--endDateTime` `--event-id` `--startDateTime` `--user-id` | 3 | List instances (occurrences) of a recurring event within a specified date range from a user's calendar in a calendar group |
| `list-user-calendar-groups-calendar-view` | `outlook.listUserCalendarGroupsCalendarView()` | `--calendar-group-id` `--calendar-id` `--endDateTime` `--startDateTime` `--user-id` | 3 | Get calendar view from a specific calendar within a calendar group for a user |
| `list-user-calendar-view` | `outlook.listUserCalendarView()` | `--calendar-id` `--endDateTime` `--startDateTime` `--user-id` | 3 | Get calendar view from a specific user's calendar |
| `list-user-calendars-calendar-permissions` | `outlook.listUserCalendarsCalendarPermissions()` | `--calendar-id` `--user-id` | 3 | List calendar permissions for a specific user's specific calendar |
| `list-user-calendars-events` | `outlook.listUserCalendarsEvents()` | `--calendar-id` `--user-id` | 7 | Retrieve events from a specific calendar for a user |
| `list-user-contacts` | `outlook.listUserContacts()` | `--user-id` | 8 | Retrieve contacts from a specific user's mailbox |
| `list-users` | `outlook.listUsers()` | — | 5 | List users in Microsoft Entra ID |
| `move-mail-folder` | `outlook.moveMailFolder()` | `--destination-id` `--folder-id` | 1 | Move a mail folder and its contents to another mail folder |
| `move-me-mail-folder` | `outlook.moveMeMailFolder()` | `--child-folder-id` `--destination-id` `--mail-folder-id` | 1 | Move a child mail folder to a different parent folder |
| `move-message` ·common | `outlook.moveMessage()` | `--destination-id` `--message-id` | 1 | Move a message to another folder within the specified user's mailbox |
| `move-message-from-child-folder` | `outlook.moveMessageFromChildFolder()` | `--child-folder-id` `--destinationId` `--mail-folder-id` `--message-id` `--user-id` | 0 | Move a message from a child folder to another destination folder |
| `move-message-from-folder` | `outlook.moveMessageFromFolder()` | `--destinationId` `--mail-folder-id` `--message-id` | 1 | Move a message from a specific mail folder to another destination folder |
| `permanent-delete-message` | `outlook.permanentDeleteMessage()` | `--message-id` | 2 | Permanently deletes an Outlook message by moving it to the Purges folder in the dumpster |
| `pin-message` ·common | `outlook.pinMessage()` | `--chat-id` `--message-url` | 1 | Pin a message in an Outlook chat |
| `query-emails` ·common | `outlook.queryEmails()` | — | 8 | Query Outlook emails within a SINGLE folder using OData filters |
| `reply-email` ·common | `outlook.replyEmail()` | `--comment` `--message-id` | 5 | Sends a reply to an Outlook email message with optional HTML formatting, attachments, CC, and BCC recipients |
| `search-events` ·common | `outlook.searchEvents()` | `--query` | 2 | Searches for calendar events in the authenticated user's primary calendar using the Microsoft Graph Search API |
| `search-messages` | `outlook.searchMessages()` | — | 9 | Search Outlook messages using powerful KQL syntax |
| `send-draft` | `outlook.sendDraft()` | `--message-id` | 1 | Send an existing draft message |
| `send-email` ·common | `outlook.sendEmail()` | `--body` `--subject` `--to` | 8 | Sends an email with subject, body, recipients, and optional attachments via Microsoft Graph API |
| `snooze-calendar-group-event-reminder` | `outlook.snoozeCalendarGroupEventReminder()` | `--calendar-group-id` `--calendar-id` `--event-id` `--newReminderTime` | 1 | Snooze a reminder for a user's calendar event within a calendar group to a new time |
| `snooze-event-reminder` | `outlook.snoozeEventReminder()` | `--event-id` `--newReminderTime` | 1 | Postpone an event reminder until a new time |
| `snooze-user-calendar-event-reminder` | `outlook.snoozeUserCalendarEventReminder()` | `--calendar-id` `--event-id` `--newReminderTime` | 1 | Snooze a reminder for a calendar event in a specific user calendar to a new time |
| `snooze-user-event-reminder` | `outlook.snoozeUserEventReminder()` | `--event-id` `--new-reminder-time` | 1 | Snooze a reminder for a user's calendar event to a new time |
| `update-calendar-event` | `outlook.updateCalendarEvent()` | `--event-id` | 11 | Updates specified fields of an existing Outlook calendar event |
| `update-calendar-event-in-calendar` | `outlook.updateCalendarEventInCalendar()` | `--calendar-id` `--event-id` | 17 | Update an event in a specific Outlook calendar |
| `update-calendar-group` | `outlook.updateCalendarGroup()` | `--calendar-group-id` `--name` | 1 | Update the properties of a calendar group object |
| `update-calendar-group-calendar-permission` | `outlook.updateCalendarGroupCalendarPermission()` | `--calendar-group-id` `--calendar-id` `--permission-id` `--role` | 1 | Update a calendar permission within a calendar group |
| `update-calendar-groups-calendars` | `outlook.updateCalendarGroupsCalendars()` | `--calendar-group-id` `--calendar-id` | 5 | Update a calendar within a calendar group in a user's mailbox |
| `update-calendar-groups-calendars-events` | `outlook.updateCalendarGroupsCalendarsEvents()` | `--calendar-group-id` `--calendar-id` `--event-id` `--user-id` | 11 | Update an event in a calendar within a calendar group for a specific user |
| `update-calendar-permission` | `outlook.updateCalendarPermission()` | `--calendar-id` `--permission-id` `--role` | 1 | Update calendar permission levels for share recipients or delegates |
| `update-child-folder-contact` | `outlook.updateChildFolderContact()` | `--child-folder-id` `--contact-folder-id` `--contact-id` | 29 | Update a contact in a child contact folder within a parent contact folder |
| `update-contact` | `outlook.updateContact()` | `--contact-id` | 15 | Updates an existing Outlook contact, identified by `contact_id` for the specified `user_id`, requiring at least one other field to be modified |
| `update-contact-folder` | `outlook.updateContactFolder()` | `--contact-folder-id` `--user-id` | 2 | Update the properties of a contact folder for a specific user |
| `update-contact-folder-child-folder` | `outlook.updateContactFolderChildFolder()` | `--child-folder-id` `--contact-folder-id` `--user-id` | 2 | Update a child folder within a contact folder for a specific user |
| `update-contact-folders-contacts` | `outlook.updateContactFoldersContacts()` | `--contact-folder-id` `--contact-id` | 18 | Update a contact within a specific contact folder |
| `update-email` ·common | `outlook.updateEmail()` | `--message-id` | 17 | Updates specified properties of an existing email message; `message_id` must identify a valid message within the specified `user_id`'s mailbox |
| `update-email-rule` | `outlook.updateEmailRule()` | `--ruleId` | 6 | Update an existing email rule |
| `update-event-extension` | `outlook.updateEventExtension()` | `--calendar-id` `--event-id` `--extension-id` `--extension-name` | 2 | Update an open extension on a calendar event in Microsoft Graph |
| `update-event-extension-in-calendar-group` | `outlook.updateEventExtensionInCalendarGroup()` | `--calendar-group-id` `--calendar-id` `--event-id` `--extension-id` `--extension-name` | 2 | Update an open extension on a calendar event within a calendar group |
| `update-inference-classification` | `outlook.updateInferenceClassification()` | — | 1 | Update the inferenceClassification resource for a user |
| `update-mail-folder` | `outlook.updateMailFolder()` | `--display-name` `--mail-folder-id` | 1 | Update the display name of a mail folder |
| `update-mailbox-settings` ·common | `outlook.updateMailboxSettings()` | — | 5 | Update mailbox settings for the signed-in user |
| `update-master-category` | `outlook.updateMasterCategory()` | `--category-id` `--color` | 1 | Update the color of a category in the user's master category list |
| `update-me-contacts-extensions` | `outlook.updateMeContactsExtensions()` | `--contact-folder-id` `--contact-id` `--extension-id` `--extension-name` | 2 | Update an open extension on a contact in a contact folder |
| `update-todo-task` ·common | `outlook.updateTodoTask()` | `--task-id` `--todo-task-list-id` | 9 | Update an existing task in Microsoft To Do |
| `update-user-calendar` | `outlook.updateUserCalendar()` | `--user-id` | 2 | Update the properties of a user's calendar |
| `update-user-calendar-calendar-event` ·deprecated | `outlook.updateUserCalendarCalendarEvent()` | `--calendar-id` `--event-id` `--user-id` | 15 | Use update-calendar-event-in-calendar instead, which supports both /me and /users/{user_id} endpoints and additional fields (is_all_day, importance, sensitivity, reminders) |
| `update-user-calendar-event` | `outlook.updateUserCalendarEvent()` | `--event-id` `--user-id` | 15 | Update an event in a specific user's calendar |
| `update-user-calendar-permission` | `outlook.updateUserCalendarPermission()` | `--permission-id` `--role` `--user-id` | 1 | Update calendar permission levels for a specific user's calendar |
| `update-user-calendars` | `outlook.updateUserCalendars()` | `--calendar-id` `--user-id` | 3 | Update properties of a specific calendar by ID for a specific user |
| `update-user-child-folder-message` | `outlook.updateUserChildFolderMessage()` | `--child-folder-id` `--mail-folder-id` `--message-id` `--user-id` | 16 | Update a message in a child folder within a user's mailbox |
| `update-user-contact-extension` | `outlook.updateUserContactExtension()` | `--contact-folder-id` `--contact-id` `--extension-id` `--extension-name` `--user-id` | 1 | Update an open extension on a contact in a user's contact folder |
| `update-user-contacts-extensions` | `outlook.updateUserContactsExtensions()` | `--child-folder-id` `--contact-folder-id` `--contact-id` `--extension-id` `--extension-name` `--user-id` | 1 | Update an open extension on a contact in a user's contact folder |
| `update-user-contacts-extensions-direct` | `outlook.updateUserContactsExtensionsDirect()` | `--contact-id` `--extension-id` `--extension-name` | 2 | Update an open extension on a contact directly under a user's contacts collection |
| `update-user-event-extension` ·deprecated | `outlook.updateUserEventExtension()` | `--calendar-group-id` `--calendar-id` `--event-id` `--extension-id` `--extension-name` `--user-id` | 1 | Use update-event-extension-in-calendar-group instead, which supports both /me and /users/{user_id} endpoints and uses the correct @odata.type prefix |
| `update-user-events-extensions` | `outlook.updateUserEventsExtensions()` | `--event-id` `--extension-id` `--extension-name` `--user-id` | 1 | Update an open extension on a user's calendar event |
| `update-user-inference-classification-override` | `outlook.updateUserInferenceClassificationOverride()` | `--classifyAs` `--override-id` `--user-id` | 0 | Update the classification of messages from a specific sender in a user's Focused Inbox |

## Triggers

`outlook.on("<event>", handler)` in a script; required config goes before the handler as an object.

| Event | Name | Required config | Description |
|---|---|---|---|
| `"contact"` | New Contact Added | — | Triggered when a new contact is added in the Outlook contacts |
| `"event-change"` | Calendar Event Changes | — | Triggered when a new calendar event occurs (created, updated, or deleted) in the Outlook calendar |
| `"event"` | New Calendar Event | — | Triggered when a new calendar event is created in the Outlook calendar |
| `"message"` | New Outlook Message | — | Triggered when a new message is received in the Outlook mailbox |
| `"sent-message"` | New Sent Message | — | Triggered when a new message is sent from the Outlook mailbox |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
