The Outlook connector lets your AI agent act in each user's Outlook account. Each user signs in to Outlook once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 126 tools.
- Tools
- 126
- What they doRead · write · destructive
- 50 · 57 · 1950 read57 write19 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Outlook connection
In AgentKit > Connections, create an Outlook connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Outlook, so you don't need to register an OAuth app. To show your own app on the consent screen, use your own credentials instead.
Use your own OAuth app
Register your Scalekit environment with the Outlook connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:
-
Create the Outlook connection in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Search for Outlook and click Create.

-
In the Configure Outlook Connection dialog, copy the Redirect URI. You will need this when registering your app in Azure.

-
-
Register an application in Azure
-
Sign into portal.azure.com and go to Microsoft Entra ID → App registrations.

-
Click New registration. Enter a name for your app (for example, “Scalekit Outlook Connector”).
-
Under Supported account types, select Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts.
-
Under Redirect URI, select Web and paste the redirect URI you copied from the Scalekit dashboard. Click Register.

-
-
Get your client credentials
-
From the app’s Overview page, copy the Application (client) ID.

-
Go to Certificates & secrets in the left sidebar, then click + New client secret.

-
Enter a description (for example, “Secret for Scalekit Agent Actions”), set an expiry period, and click Add. Copy the secret Value immediately — it is only shown once.

-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections and open the Outlook connection you created.
-
Enter your credentials:
- Client ID — the Application (client) ID from the Azure app overview
- Client Secret — the secret value from Certificates & secrets
- Scopes — select the permissions your app needs (for example,
Calendars.Read,Calendars.ReadWrite,Mail.Read,Mail.ReadWrite,Mail.Send,Contacts.Read,Contacts.ReadWrite,User.Read,offline_access). See Microsoft Graph permissions reference for the full list.
-
Click Save.
-
-
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'outlook'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Outlook:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'outlook_list_calendar_events',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "outlook"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Outlook:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="outlook_list_calendar_events",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooloutlook_find_meeting_timesFind available meeting time slots for a set of attendees using Microsoft Graph's findMeetingTimes API.Read-onlyFind Meeting Times
Find available meeting time slots for a set of attendees using Microsoft Graph's findMeetingTimes API. Returns a list of suggested meeting times when all required attendees are available within the given time window.
Inputs
attendee_emailsarrayrequired- Array of attendee email addresses to check availability for. Example: ["alice@example.com", "bob@example.com"]
end_date_timestringrequired- End of the time window to search for meeting times, in ISO 8601 format (e.g., 2025-01-15T18:00:00). The API will not suggest slots after this time.
meeting_durationstringrequired- Duration of the desired meeting in ISO 8601 duration format (e.g., PT30M for 30 minutes, PT1H for 1 hour, PT1H30M for 1.5 hours).
start_date_timestringrequired- Start of the time window to search for meeting times, in ISO 8601 format (e.g., 2025-01-15T08:00:00). The API will look for available slots at or after this time.
is_organizer_optionalboolean- Whether the meeting organizer's presence is optional. When true, the organizer's calendar is not checked for availability. Defaults to false.default
false max_candidatesinteger- Maximum number of meeting time suggestions to return. Defaults to 20. Acceptable range: 1-40.default
20 time_zonestring- IANA time zone identifier for interpreting start_date_time and end_date_time (e.g., "UTC", "America/New_York", "Europe/London"). Defaults to UTC.default
UTC
outlook_get_attachmentDownload a specific attachment from an Outlook email message by attachment ID.Read-onlyGet Attachment
Download a specific attachment from an Outlook email message by attachment ID. Returns the full attachment including base64-encoded file content in the contentBytes field. Use List Attachments to get the attachment ID first.
Inputs
attachment_idstringrequired- The ID of the attachment to download.
message_idstringrequired- The ID of the message containing the attachment.
outlook_get_calendarRetrieve a single calendar by ID, including its name, color, and owner information.Read-onlyGet Calendar
Retrieve a single calendar by ID, including its name, color, and owner information.
Inputs
calendar_idstringrequired- The unique identifier of the calendar to retrieve.
outlook_get_calendar_eventRetrieve an existing calendar event by ID from the user's Outlook calendar.Read-onlyGet Calendar Event
Retrieve an existing calendar event by ID from the user's Outlook calendar.
Inputs
event_idstringrequired- No description.
outlook_get_calendar_groupRetrieve a single calendar group by ID.Read-onlyGet Calendar Group
Retrieve a single calendar group by ID.
Inputs
group_idstringrequired- The unique ID of the calendar group to retrieve.
outlook_get_calendar_viewRetrieve a collection of calendar events within a specific time range from the user's primary Outlook calendar.Read-onlyGet Calendar View
Retrieve a collection of calendar events within a specific time range from the user's primary Outlook calendar. Returns all occurrences, exceptions, and single instances of events whose start/end times fall within the specified window.
Inputs
endDateTimestringrequired- End of the time range in ISO 8601 format (e.g., 2025-01-31T23:59:59). The calendar view returns events that end or overlap with this time.
startDateTimestringrequired- Start of the time range in ISO 8601 format (e.g., 2025-01-01T00:00:00). The calendar view returns events that start or overlap with this time.
$filterstring- OData filter expression to further narrow results (e.g., "subject eq 'Team Sync'").
$orderbystring- OData orderby expression to sort results (e.g., "start/dateTime asc").
$selectstring- Comma-separated list of properties to include in the response (e.g., "subject,start,end,location"). Reduces payload size.
$topinteger- Maximum number of events to return (1-1000). Defaults to 10 if omitted.
outlook_get_contactRetrieve a specific contact by ID.Read-onlyGet Contact
Retrieve a specific contact by ID.
Inputs
contact_idstringrequired- Contact ID.
expandstring- Expand relationships.
selectstring- Select properties.
Also accepts
schema_versionandtool_versionto pin a version.outlook_get_contact_folderRetrieve a single contact folder by ID, including its display name and parent folder.Read-onlyGet Contact Folder
Retrieve a single contact folder by ID, including its display name and parent folder.
Inputs
contact_folder_idstringrequired- The ID of the contact folder to retrieve.
outlook_get_contact_photoRetrieve the profile photo of a specific contact in the signed-in user's mailbox.Read-onlyGet Contact Photo
Retrieve the profile photo of a specific contact in the signed-in user's mailbox. Returns binary image data (JPEG). A 404 response indicates no photo is set for this contact.
Inputs
contact_idstringrequired- The unique ID of the contact whose photo to retrieve (e.g., 'AAMkAGI2...'). Obtain from List Contacts or Get Contact.
outlook_get_event_attachmentDownload a specific attachment from a calendar event by attachment ID.Read-onlyGet Event Attachment
Download a specific attachment from a calendar event by attachment ID. Returns the full attachment including base64-encoded file content in the contentBytes field.
Inputs
attachment_idstringrequired- The ID of the attachment to download.
event_idstringrequired- The ID of the event containing the attachment.
outlook_get_free_busy_scheduleRetrieve the free/busy availability schedule for one or more users, rooms, or resources within a specific time window.Read-onlyGet Free/Busy Schedule
Retrieve the free/busy availability schedule for one or more users, rooms, or resources within a specific time window. Returns availability view, schedule items, and working hours for each requested address.
Inputs
end_date_timestringrequired- End of the time window to retrieve schedule availability, in ISO 8601 format (e.g., 2025-01-15T18:00:00).
schedulesarrayrequired- Array of SMTP email addresses of users, distribution lists, or resources to get free/busy information for. Example: ["alice@example.com", "room@example.com"]
start_date_timestringrequired- Start of the time window to retrieve schedule availability, in ISO 8601 format (e.g., 2025-01-15T08:00:00).
availability_view_intervalinteger- Duration in minutes of each time slot in the availability view string. Valid values: 5, 6, 10, 15, 20, 30, 60 (default), 120, 240, 480, or 1440.default
60 time_zonestring- IANA time zone identifier for interpreting start and end times (e.g., "UTC", "America/New_York", "Europe/London"). Defaults to UTC.default
UTC
outlook_get_mail_folderRetrieve a single mail folder by ID, including its display name, parent folder, and item/unread counts.Read-onlyGet Mail Folder
Retrieve a single mail folder by ID, including its display name, parent folder, and item/unread counts.
Inputs
folder_idstringrequired- The ID or well-known name of the mail folder to retrieve (e.g., 'inbox', 'drafts', or a folder ID).
outlook_get_messageRetrieve a specific email message by ID from the user's Outlook mailbox, including full body content, sender, recipients, attachments info, and metadata.Read-onlyGet Message
Retrieve a specific email message by ID from the user's Outlook mailbox, including full body content, sender, recipients, attachments info, and metadata.
Inputs
message_idstringrequired- The ID of the message to retrieve.
outlook_get_message_ruleRetrieve a single inbox message rule by ID, including its conditions, actions, exceptions, and enabled state.Read-onlyGet Message Rule
Retrieve a single inbox message rule by ID, including its conditions, actions, exceptions, and enabled state.
Inputs
rule_idstringrequired- The ID of the inbox message rule to retrieve.
outlook_get_user_presenceGet the presence status of a specific user.Read-onlyGet User Presence
Get the presence status of a specific user.
Inputs
user_idstringrequired- User ID or email.
Also accepts
schema_versionandtool_versionto pin a version.outlook_list_attachmentsList all attachments on a specific Outlook email message.Read-onlyList Attachments
List all attachments on a specific Outlook email message. Returns attachment metadata including ID, name, size, and content type. Use the attachment ID with Get Attachment to download the file content.
Inputs
message_idstringrequired- The ID of the message to list attachments for.
outlook_list_calendar_eventsList calendar events from the user's Outlook calendar with filtering, sorting, pagination, and field selection.Read-onlyList Calendar Events
List calendar events from the user's Outlook calendar with filtering, sorting, pagination, and field selection.
Inputs
filterstring- OData filter expression to filter events (e.g., startsWith(subject,'All'))
orderbystring- OData orderby expression to sort events (e.g., start/dateTime desc)
selectstring- Comma-separated list of properties to include in the response
skipnumber- Number of events to skip for pagination
topnumber- Maximum number of events to return
outlook_list_calendar_groupsList all calendar groups in the signed-in user's mailbox.Read-onlyList Calendar Groups
List all calendar groups in the signed-in user's mailbox. Calendar groups are containers that organize multiple calendars together in Outlook.
Inputs
$selectstring- Comma-separated list of properties to return (e.g., 'name,classId'). Reduces response size.
$topinteger- Maximum number of calendar groups to return (1–200, default: 10).
outlook_list_calendar_permissionsList all sharing permissions for a specific Outlook calendar.Read-onlyList Calendar Permissions
List all sharing permissions for a specific Outlook calendar. Returns the set of users and their assigned roles (e.g., freeBusyRead, read, write, delegate) for the given calendar.
Inputs
calendar_idstringrequired- The unique identifier of the calendar whose permissions to list. Use 'primary' for the default calendar or a specific calendar ID from the list calendars endpoint.
$topinteger- Maximum number of permission entries to return (1-1000). Defaults to all entries if omitted.
outlook_list_calendarsRetrieve all calendars in the user mailbox.Read-onlyList Calendars
Retrieve all calendars in the user mailbox.
Inputs
skipinteger- Skip count.
topinteger- Page size.
Also accepts
schema_versionandtool_versionto pin a version.outlook_list_categoriesList all Outlook master categories defined for the signed-in user.Read-onlyList Outlook Categories
List all Outlook master categories defined for the signed-in user. Categories can be applied to messages, events, and contacts for color-coded organization.
Inputs
$selectstring- Comma-separated list of category properties to return (e.g., 'displayName,color').
$topinteger- Maximum number of categories to return (1–200).
outlook_list_child_foldersList the immediate child folders nested under a mail folder.Read-onlyList Child Folders
List the immediate child folders nested under a mail folder.
Inputs
folder_idstringrequired- The ID or well-known name of the parent mail folder (e.g., 'inbox' or a folder ID).
skipinteger- Number of child folders to skip for pagination.
topinteger- Maximum number of child folders to return.
outlook_list_contact_foldersList all contact folders in the signed-in user's mailbox.Read-onlyList Contact Folders
List all contact folders in the signed-in user's mailbox. Supports OData query parameters for filtering, field selection, and pagination.
Inputs
$filterstring- OData filter expression to narrow results (e.g., "displayName eq 'Favorites'").
$selectstring- Comma-separated list of properties to return (e.g., 'displayName,parentFolderId'). Reduces response size.
$topinteger- Maximum number of contact folders to return (1–200, default: 10).
outlook_list_contactsList all contacts in the user's mailbox with support for filtering, pagination, and field selection.Read-onlyList Contacts
List all contacts in the user's mailbox with support for filtering, pagination, and field selection.
Inputs
$filterstring- Filter expression to narrow results (e.g., "emailAddresses/any(a:a/address eq 'user@example.com')")
$orderbystring- Property to sort by (e.g., "displayName")
$selectstring- Comma-separated list of properties to return (e.g., "displayName,emailAddresses,phoneNumbers")
$skipinteger- Number of contacts to skip for pagination
$topinteger- Number of contacts to return (default: 10)
outlook_list_event_attachmentsList all attachments on a specific calendar event.Read-onlyList Event Attachments
List all attachments on a specific calendar event. Returns attachment metadata including ID, name, size, and content type.
Inputs
event_idstringrequired- The ID of the event to list attachments for.
outlook_list_event_instancesList all instances (occurrences) of a recurring calendar event within a specified date-time range.Read-onlyList Event Instances
List all instances (occurrences) of a recurring calendar event within a specified date-time range. Requires the master recurring event ID and a start/end window in ISO 8601 format.
Inputs
end_date_timestringrequired- End of the time window to query for instances, in ISO 8601 format (e.g., '2024-12-31T23:59:59Z'). Required by Microsoft Graph.
event_idstringrequired- The unique ID of the master recurring event whose instances to list (e.g., 'AAMkAGI2...'). This must be the series master event ID, not an individual occurrence.
start_date_timestringrequired- Start of the time window to query for instances, in ISO 8601 format (e.g., '2024-01-01T00:00:00Z'). Required by Microsoft Graph.
$selectstring- Comma-separated list of event properties to return (e.g., 'subject,start,end'). Reduces response size.
$topinteger- Maximum number of event instances to return (1–200, default: 10).
outlook_list_focused_inbox_overridesList all Focused Inbox overrides for the signed-in user.Read-onlyList Focused Inbox Overrides
List all Focused Inbox overrides for the signed-in user. Overrides define how messages from specific senders are classified — either into the Focused inbox or the Other inbox — overriding the automatic machine learning classification.
Inputs
$selectstring- Comma-separated list of properties to return (e.g., 'classifyAs,senderEmailAddress').
$topinteger- Maximum number of overrides to return per page.
outlook_list_folder_deltaGet incremental changes (delta sync) for mail folders in the user's mailbox using Microsoft Graph delta query.Read-onlyList Mail Folder Delta
Get incremental changes (delta sync) for mail folders in the user's mailbox using Microsoft Graph delta query. Returns new, updated, and deleted folders since the last sync. The response includes @odata.nextLink for pagination or @odata.deltaLink for the next delta call.
Inputs
$deltatokenstring- Delta token from a previous @odata.deltaLink response to retrieve only folder changes since the last sync. Omit on first call to get a full initial sync.
$selectstring- Comma-separated list of folder properties to return (e.g., 'displayName,parentFolderId,totalItemCount,unreadItemCount').
$topinteger- Maximum number of folders to return per page (1–250).
outlook_list_mail_foldersList all mail folders in the user mailbox.Read-onlyList Mail Folders
List all mail folders in the user mailbox.
Inputs
include_hiddenboolean- Include hidden folders.
skipinteger- Skip count.
topinteger- Page size.
Also accepts
schema_versionandtool_versionto pin a version.outlook_list_message_deltaGet incremental changes (delta sync) for messages in a specific mail folder using Microsoft Graph delta query.Read-onlyList Message Delta
Get incremental changes (delta sync) for messages in a specific mail folder using Microsoft Graph delta query. Returns new, updated, and deleted messages since the last sync. The response includes @odata.nextLink for pagination or @odata.deltaLink for the next delta call. Pass $deltatoken from a previous deltaLink to get only changes since then.
Inputs
folder_idstringrequired- The mail folder ID or well-known name to sync (e.g., 'inbox', 'sentitems', 'drafts', or a specific folder ID).
$deltatokenstring- Delta token from a previous @odata.deltaLink response to retrieve only changes since the last sync. Omit on first call to get a full initial sync.
$selectstring- Comma-separated list of properties to return (e.g., 'subject,from,receivedDateTime,isRead'). Reduces response size.
$skiptokenstring- Skip token from a previous @odata.nextLink response to continue paginating through a large delta result set.
$topinteger- Maximum number of messages to return per page (1–1000).
outlook_list_message_rulesList all inbox message rules for the user.Read-onlyList Message Rules
List all inbox message rules for the user.
Inputs
This tool takes no inputs.
Also accepts
schema_versionandtool_versionto pin a version.outlook_list_messagesList all messages in the user's mailbox with support for filtering, pagination, and field selection.Read-onlyList Messages
List all messages in the user's mailbox with support for filtering, pagination, and field selection. Returns 10 messages by default.
Inputs
$filterstring- Filter expression to narrow results (e.g., "from/emailAddress/address eq 'user@example.com'")
$orderbystring- Property to sort by (e.g., "receivedDateTime desc")
$selectstring- Comma-separated list of properties to return (e.g., "subject,from,receivedDateTime")
$skipinteger- Number of messages to skip for pagination
$topinteger- Number of messages to return (1-1000, default: 10)
outlook_mailbox_settings_getRetrieve the mailbox settings for the signed-in user.Read-onlyGet Mailbox Settings
Retrieve the mailbox settings for the signed-in user. Returns automatic replies (out-of-office) configuration, language, timezone, working hours, date/time format, and delegate meeting message delivery preferences.
Inputs
This tool takes no inputs.
outlook_search_messagesSearch messages by keywords across subject, body, sender, and other fields.Read-onlySearch Messages
Search messages by keywords across subject, body, sender, and other fields. Returns matching messages with support for pagination.
Inputs
querystringrequired- Search query string (searches across subject, body, from, to)
$selectstring- Comma-separated list of properties to return (e.g., "subject,from,receivedDateTime")
$skipinteger- Number of messages to skip for pagination
$topinteger- Number of messages to return (1-1000, default: 10)
outlook_search_peopleSearch for people relevant to the signed-in user by name or email.Read-onlySearch People
Search for people relevant to the signed-in user by name or email.
Inputs
filterstring- OData filter.
order_bystring- Order by field.
searchstring- Search query.
selectstring- Select properties.
skipinteger- Skip count.
topinteger- Page size.
Also accepts
schema_versionandtool_versionto pin a version.outlook_todo_checklist_items_getGet a specific checklist item (subtask) from a task in a Microsoft To Do task list.Read-onlyGet Checklist Item
Get a specific checklist item (subtask) from a task in a Microsoft To Do task list.
Inputs
checklist_item_idstringrequired- The ID of the checklist item.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
outlook_todo_checklist_items_listList all checklist items (subtasks) for a specific task in a Microsoft To Do task list.Read-onlyList Checklist Items
List all checklist items (subtasks) for a specific task in a Microsoft To Do task list.
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
outlook_todo_lists_getGet a specific Microsoft To Do task list by ID.Read-onlyGet To Do List
Get a specific Microsoft To Do task list by ID.
Inputs
list_idstringrequired- The ID of the task list.
outlook_todo_lists_listList all Microsoft To Do task lists for the current user.Read-onlyList To Do Lists
List all Microsoft To Do task lists for the current user.
Inputs
This tool takes no inputs.
outlook_todo_tasks_getGet a specific task from a Microsoft To Do task list.Read-onlyGet To Do Task
Get a specific task from a Microsoft To Do task list.
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
outlook_todo_tasks_listList all tasks in a Microsoft To Do task list with optional filtering and pagination.Read-onlyList To Do Tasks
List all tasks in a Microsoft To Do task list with optional filtering and pagination.
Inputs
list_idstringrequired- The ID of the task list.
$filterstring- OData filter expression (e.g. "status eq 'notStarted'").
$orderbystring- Property to sort by (e.g. "createdDateTime desc").
$skipinteger- Number of tasks to skip for pagination.
$topinteger- Number of tasks to return (default: 10).
outlook_accept_eventAccept a calendar event invitation.WriteAccept Event
Accept a calendar event invitation.
Inputs
event_idstringrequired- Event ID.
commentstring- Response comment.
send_responseboolean- Send response.
Also accepts
schema_versionandtool_versionto pin a version.outlook_add_event_attachmentAttach a small file (under 3 MB) directly to a calendar event by uploading base64-encoded content.WriteAdd Event Attachment
Attach a small file (under 3 MB) directly to a calendar event by uploading base64-encoded content.
Inputs
attachment_namestringrequired- The filename of the attachment, including its extension.
content_bytesstringrequired- The base64-encoded content of the file to attach.
event_idstringrequired- The ID of the event to attach the file to.
content_typestring- MIME type of the file (e.g., 'application/pdf'). Defaults to application/octet-stream if omitted.
outlook_add_message_attachmentAttach a small file (under 3 MB) directly to a message by uploading base64-encoded content.WriteAdd Message Attachment
Attach a small file (under 3 MB) directly to a message by uploading base64-encoded content. For files larger than 3 MB, use Create Attachment Upload Session instead.
Inputs
attachment_namestringrequired- The filename of the attachment, including its extension.
content_bytesstringrequired- The base64-encoded content of the file to attach.
message_idstringrequired- The ID of the message to attach the file to.
content_typestring- MIME type of the file (e.g., 'application/pdf'). Defaults to application/octet-stream if omitted.
outlook_batch_move_messagesMove up to 20 Outlook messages to a destination folder in a single Microsoft Graph batch request.WriteBatch Move Messages
Move up to 20 Outlook messages to a destination folder in a single Microsoft Graph batch request. Builds a $batch envelope where each subrequest POSTs to /me/messages/{id}/move. Returns a 200 response with per-subrequest status codes inside the responses array.
Inputs
destination_folder_idstringrequired- The ID or well-known name of the destination folder (e.g., 'inbox', 'deleteditems', 'drafts', or a specific folder ID like 'AAMkAGI2...').
message_idsarrayrequired- Array of message IDs to move (max 20). Each ID is an Outlook message ID string.
outlook_batch_update_messagesUpdate properties on up to 20 Outlook messages in a single Microsoft Graph batch request.WriteBatch Update Messages
Update properties on up to 20 Outlook messages in a single Microsoft Graph batch request. Builds a $batch envelope where each subrequest PATCHes /me/messages/{id} with the provided updates object. Common use: mark messages as read by passing {"isRead": true}. Returns a 200 response with per-subrequest status codes inside the responses array.
Inputs
message_idsarrayrequired- Array of message IDs to update (max 20). Each ID is an Outlook message ID string.
updatesobjectrequired- Free-form object of message properties to update on all specified messages. Example: {"isRead": true} to mark as read, or {"isRead": false, "flag": {"flagStatus": "flagged"}} for multiple changes.
outlook_copy_mail_folderCopy a mail folder, along with its contents and any child folders, into another folder.WriteCopy Mail Folder
Copy a mail folder, along with its contents and any child folders, into another folder. The original folder is left in place.
Inputs
destination_folder_idstringrequired- The ID or well-known name of the folder to copy into (e.g., 'inbox' or a folder ID).
folder_idstringrequired- The ID of the mail folder to copy.
outlook_copy_messageCopy a message to another mail folder.WriteCopy Message
Copy a message to another mail folder. The original message is left in place and a new copy is created in the destination folder.
Inputs
destination_folder_idstringrequired- The ID or well-known name of the folder to copy the message into (e.g., 'inbox', 'drafts', or a folder ID).
message_idstringrequired- The ID of the message to copy.
outlook_create_calendarCreate a new calendar in the signed-in user's default calendar group.WriteCreate Calendar
Create a new calendar in the signed-in user's default calendar group. Use Create Calendar Group first if you want a dedicated group for related calendars.
Inputs
namestringrequired- The display name of the new calendar.
colorstring- Color theme to associate with the calendar.one of
autolightBluelightGreenlightOrangelightGraylightYellowlightTeallightPinklightBrownlightRedmaxColordarkBluedarkGreendarkOrangedarkGraydarkYellowdarkTealdarkPinkdarkBrowndarkRed
outlook_create_calendar_eventCreate a new calendar event in the user's Outlook calendar.WriteCreate Calendar Event
Create a new calendar event in the user's Outlook calendar. Supports attendees, recurrence, reminders, online meetings, multiple locations, and event properties.
Inputs
end_datetimestringrequired- No description.
end_timezonestringrequired- No description.default
UTC start_datetimestringrequired- No description.
start_timezonestringrequired- No description.default
UTC subjectstringrequired- No description.
attendees_optionalstring- Array of email addresses for optional attendees
attendees_requiredstring- Array of email addresses for required attendees
attendees_resourcestring- Array of email addresses for resources (meeting rooms, equipment)
body_contentstring- No description.
body_contentTypestring- No description.one of
HTMLTextdefaultHTML hideAttendeesboolean- When true, each attendee only sees themselves
importancestring- Event importance levelone of
lownormalhighdefaultnormal isAllDayboolean- Mark as all-day event
isOnlineMeetingboolean- Create an online meeting (Teams/Skype)
isReminderOnboolean- Enable or disable reminderdefault
true locationstring- No description.
locationsstring- JSON array of location objects with displayName, address, coordinates
onlineMeetingProviderstring- Online meeting providerone of
teamsForBusinessskypeForBusinessskypeForConsumer recurrence_days_of_weekstring- Days of week for weekly recurrence (comma-separated)
recurrence_end_datestring- End date for recurrence (YYYY-MM-DD), required if range_type is endDate
recurrence_intervalinteger- How often the event recurs (e.g., every 2 weeks = 2)
recurrence_occurrencesinteger- Number of occurrences, required if range_type is numbered
recurrence_range_typestring- How the recurrence endsone of
endDatenoEndnumbered recurrence_start_datestring- Start date for recurrence (YYYY-MM-DD)
recurrence_typestring- Recurrence pattern typeone of
dailyweeklymonthlyyearly reminderMinutesBeforeStartinteger- Minutes before event start to show reminderdefault
15 sensitivitystring- Event sensitivity/privacy levelone of
normalpersonalprivateconfidentialdefaultnormal showAsstring- Free/busy statusone of
freetentativebusyoofworkingElsewheredefaultbusy
outlook_create_calendar_groupCreate a new calendar group in the signed-in user's mailbox.WriteCreate Calendar Group
Create a new calendar group in the signed-in user's mailbox. Calendar groups organize multiple calendars together in Outlook.
Inputs
namestringrequired- The name of the new calendar group (e.g., 'Work Calendars'). Must be unique among calendar groups for the user.
outlook_create_calendar_permissionGrant a user access to a specific Outlook calendar by creating a calendar permission entry.WriteCreate Calendar Permission
Grant a user access to a specific Outlook calendar by creating a calendar permission entry. Specify the user's email address and the role level (e.g., freeBusyRead, read, write, delegate).
Inputs
calendar_idstringrequired- The unique identifier of the calendar to share. Use a specific calendar ID from the list calendars endpoint.
email_addressstringrequired- The email address of the user to grant calendar access to. Example: colleague@example.com
rolestringrequired- The permission role to grant. Valid values: freeBusyRead (see free/busy only), limitedRead (see title and location), read (see all event details), write (create/edit/delete events), delegateWithoutPrivateEventAccess (delegate, no private events), delegateWithPrivateEventAccess (delegate including private events), custom (custom role).one of
freeBusyReadlimitedReadreadwritedelegateWithoutPrivateEventAccessdelegateWithPrivateEventAccesscustom namestring- Display name of the user to grant access to. Optional; the Graph API will resolve it from the email if omitted.
outlook_create_categoryCreate a new Outlook master category for the signed-in user.WriteCreate Outlook Category
Create a new Outlook master category for the signed-in user. Categories have a display name and a color preset (none or preset0–preset24). Once created, categories can be applied to messages, events, and contacts.
Inputs
display_namestringrequired- The display name of the new category. Must be unique among the user's categories.
colorstring- The color assigned to the category. Use 'none' for no color, or 'preset0' through 'preset24' for a specific color slot. Defaults to preset0.one of
nonepreset0preset1preset2preset3preset4preset5preset6preset7preset8preset9preset10preset11preset12preset13preset14preset15preset16preset17preset18preset19preset20preset21preset22preset23preset24defaultpreset0
outlook_create_child_folderCreate a new mail folder nested directly under an existing mail folder.WriteCreate Child Folder
Create a new mail folder nested directly under an existing mail folder.
Inputs
display_namestringrequired- The display name for the new child folder.
folder_idstringrequired- The ID or well-known name of the parent mail folder to create the child folder under.
outlook_create_contactCreate a new contact in the user's mailbox with name, email addresses, and phone numbers.WriteCreate Contact
Create a new contact in the user's mailbox with name, email addresses, and phone numbers.
Inputs
givenNamestringrequired- First name of the contact
surnamestringrequired- Last name of the contact
businessPhonesarray- Array of business phone numbers
companyNamestring- Company name
emailAddressesarray- Array of email address objects with 'address' and optional 'name' fields
jobTitlestring- Job title
mobilePhonestring- Mobile phone number
outlook_create_contact_folderCreate a new contact folder in the signed-in user's mailbox.WriteCreate Contact Folder
Create a new contact folder in the signed-in user's mailbox. Optionally nest it under an existing parent folder by providing a parent folder ID.
Inputs
display_namestringrequired- The display name for the new contact folder (e.g., 'Work Contacts').
parent_folder_idstring- Optional ID of the parent contact folder under which to create this folder. If omitted, the folder is created at the top level.
outlook_create_draft_messageCreate a new email draft in the mailbox.WriteCreate Draft Message
Create a new email draft in the mailbox. Supports setting a follow-up flag.
Inputs
bcc_recipientsstring- BCC recipients.
bodystring- Email body content.
body_typestring- Body content type.
cc_recipientsstring- CC recipients.
flag_statusstring- Follow-up flag status.
importancestring- Importance.
subjectstring- Email subject.
to_recipientsstring- To recipients.
Also accepts
schema_versionandtool_versionto pin a version.outlook_create_focused_inbox_overrideCreate a Focused Inbox override that classifies all messages from a specific sender into either the Focused or Other inbox.WriteCreate Focused Inbox Override
Create a Focused Inbox override that classifies all messages from a specific sender into either the Focused or Other inbox. This overrides the automatic machine learning classification for that sender.
Inputs
classify_asstringrequired- How to classify messages from this sender: 'focused' to route to Focused inbox, 'other' to route to Other inbox.one of
focusedother sender_emailstringrequired- The email address of the sender to create an override for (e.g., 'newsletter@example.com').
sender_namestring- Optional display name for the sender (e.g., 'Weekly Newsletter'). Used for display purposes only.
outlook_create_forward_draftCreate a forward draft for a specific message.WriteCreate Forward Draft
Create a forward draft for a specific message.
Inputs
message_idstringrequired- Message ID.
commentstring- Forward comment.
to_recipientsstring- To recipients.
Also accepts
schema_versionandtool_versionto pin a version.outlook_create_mail_folderCreate a new mail folder in the mailbox.WriteCreate Mail Folder
Create a new mail folder in the mailbox.
Inputs
display_namestringrequired- Folder name.
is_hiddenboolean- Hidden folder.
Also accepts
schema_versionandtool_versionto pin a version.outlook_create_message_ruleCreate a new inbox message rule.WriteCreate Message Rule
Create a new inbox message rule.
Inputs
display_namestringrequired- Rule name.
actionsobject- Rule actions.
conditionsobject- Rule conditions.
exceptionsobject- Exception conditions for the rule.
is_enabledboolean- Enable rule.
sequenceinteger- Rule sequence.
Also accepts
schema_versionandtool_versionto pin a version.outlook_create_reply_all_draftCreate a reply-all draft for a specific message.WriteCreate Reply-All Draft
Create a reply-all draft for a specific message.
Inputs
message_idstringrequired- Message ID.
commentstring- Reply comment.
Also accepts
schema_versionandtool_versionto pin a version.outlook_create_reply_draftCreate a reply draft for a specific message.WriteCreate Reply Draft
Create a reply draft for a specific message.
Inputs
message_idstringrequired- Message ID.
commentstring- Reply comment.
Also accepts
schema_versionandtool_versionto pin a version.outlook_create_upload_sessionCreate an upload session for attaching a large file to an Outlook message using Microsoft Graph.WriteCreate Attachment Upload Session
Create an upload session for attaching a large file to an Outlook message using Microsoft Graph. Returns an uploadUrl and expiration time. Use the uploadUrl to upload file content in chunks via PUT requests. Required for attachments larger than 3 MB.
Inputs
attachment_namestringrequired- The filename of the attachment (e.g., 'report.pdf'). Must include the file extension.
attachment_sizeintegerrequired- The total size of the attachment in bytes. Must be the exact file size before uploading.
message_idstringrequired- The ID of the draft Outlook message to attach the file to.
outlook_decline_eventDecline a calendar event invitation.WriteDecline Event
Decline a calendar event invitation.
Inputs
event_idstringrequired- Event ID.
commentstring- Response comment.
proposed_new_timeobject- Proposed new meeting time.
send_responseboolean- Send response.
Also accepts
schema_versionandtool_versionto pin a version.outlook_forward_eventForward a calendar event to other people.WriteForward Event
Forward a calendar event to other people.
Inputs
commentstringrequired- Forward comment.
event_idstringrequired- Event ID.
to_recipientsstringrequired- To recipients.
Also accepts
schema_versionandtool_versionto pin a version.outlook_forward_messageImmediately forward an existing message to new recipients, without creating a draft first.WriteForward Message
Immediately forward an existing message to new recipients, without creating a draft first. Use Create Forward Draft instead if you want to review or edit before sending.
Inputs
message_idstringrequired- The ID of the message to forward.
to_recipientsstringrequired- Comma-separated email addresses to forward the message to.
commentstring- Optional comment to include above the forwarded message content.
outlook_get_mail_tipsGet mail tips for a list of recipients before sending an email.WriteGet Mail Tips
Get mail tips for a list of recipients before sending an email.
Inputs
email_addressesarrayrequired- Recipient email addresses.
mail_tips_optionsstringrequired- Mail tip types.
Also accepts
schema_versionandtool_versionto pin a version.outlook_mailbox_settings_updateUpdate mailbox settings for the signed-in user.WriteUpdate Mailbox Settings
Update mailbox settings for the signed-in user. Supports configuring automatic replies (out-of-office), language, timezone, working hours, date/time format, and delegate meeting message delivery preferences. Only fields provided will be updated.
- Idempotent
Inputs
automaticRepliesSettingobject- Configuration for automatic replies (out-of-office). Set status, internal/external reply messages, and optional scheduled time window.
dateFormatstring- Preferred date format string for the mailbox (e.g., 'MM/dd/yyyy', 'dd/MM/yyyy', 'yyyy-MM-dd').
delegateMeetingMessageDeliveryOptionsstring- Controls how meeting messages are delivered when a delegate is configured.one of
sendToDelegateAndInformationToPrincipalsendToDelegateAndPrincipalsendToDelegateOnly languageobject- Language and locale for the mailbox. Object with locale (e.g., 'en-US') and displayName.
timeFormatstring- Preferred time format string for the mailbox (e.g., 'hh:mm tt' for 12-hour, 'HH:mm' for 24-hour).
timeZonestring- Preferred time zone for the mailbox (e.g., 'UTC', 'Pacific Standard Time', 'Eastern Standard Time').
workingHoursobject- Working hours configuration including days of week, start/end times, and time zone.
outlook_move_mail_folderMove a mail folder, along with its contents and any child folders, under another folder.WriteMove Mail Folder
Move a mail folder, along with its contents and any child folders, under another folder.
Inputs
destination_folder_idstringrequired- The ID or well-known name of the folder to move into (e.g., 'inbox' or a folder ID).
folder_idstringrequired- The ID of the mail folder to move.
outlook_move_messageMove a message to a different mail folder.WriteMove Message
Move a message to a different mail folder.
Inputs
destination_idstringrequired- Destination folder ID.
message_idstringrequired- Message ID.
Also accepts
schema_versionandtool_versionto pin a version.outlook_reply_all_messageImmediately reply to the sender and all recipients of a message, without creating a draft first.WriteReply All to Message
Immediately reply to the sender and all recipients of a message, without creating a draft first. Use Create Reply All Draft instead if you want to review or edit before sending.
Inputs
message_idstringrequired- The ID of the message to reply to.
commentstring- Comment to include in the reply body, added above the quoted original message.
outlook_reply_to_messageReply to an existing email message.WriteReply to Message
Reply to an existing email message. The reply is automatically sent to the original sender and saved in the Sent Items folder.
Inputs
commentstringrequired- Reply message content
messageIdstringrequired- The unique identifier of the message to reply to
outlook_send_draft_messageSend an existing draft message, such as one created with Create Draft Message.WriteSend Draft Message
Send an existing draft message, such as one created with Create Draft Message. The message is delivered to its recipients and moved to Sent Items.
Inputs
message_idstringrequired- The ID of the draft message to send.
outlook_send_messageSend an email message using Microsoft Graph API.WriteSend Email
Send an email message using Microsoft Graph API. The message is saved in the Sent Items folder by default.
Inputs
bodystringrequired- Body content of the email
subjectstringrequired- Subject line of the email
toRecipientsarrayrequired- Array of email addresses to send to
bccRecipientsarray- Array of email addresses to BCC
bodyTypestring- Content type of the body (Text or HTML)
ccRecipientsarray- Array of email addresses to CC
saveToSentItemsboolean- Save the message in Sent Items folder (default: true)
outlook_tentatively_accept_eventTentatively accept a calendar event invitation.WriteTentatively Accept Event
Tentatively accept a calendar event invitation.
Inputs
event_idstringrequired- Event ID.
commentstring- Response comment.
proposed_new_timeobject- Proposed new meeting time.
send_responseboolean- Send response.
Also accepts
schema_versionandtool_versionto pin a version.outlook_todo_checklist_items_createAdd a checklist item (subtask) to a specific task in a Microsoft To Do task list.WriteCreate Checklist Item
Add a checklist item (subtask) to a specific task in a Microsoft To Do task list.
Inputs
display_namestringrequired- The display name of the checklist item.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task to add the checklist item to.
is_checkedboolean- Whether the checklist item is already checked/completed.default
false
outlook_todo_checklist_items_updateUpdate a checklist item (subtask) in a Microsoft To Do task.WriteUpdate Checklist Item
Update a checklist item (subtask) in a Microsoft To Do task. Only provided fields are changed.
- Idempotent
Inputs
checklist_item_idstringrequired- The ID of the checklist item to update.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
display_namestring- New display name for the checklist item.
is_checkedboolean- Whether the checklist item is checked/completed.
outlook_todo_lists_createCreate a new Microsoft To Do task list.WriteCreate To Do List
Create a new Microsoft To Do task list.
Inputs
display_namestringrequired- The name of the task list.
outlook_todo_lists_updateRename a Microsoft To Do task list.WriteUpdate To Do List
Rename a Microsoft To Do task list.
- Idempotent
Inputs
display_namestringrequired- The new name for the task list.
list_idstringrequired- The ID of the task list to update.
outlook_todo_tasks_createCreate a new task in a Microsoft To Do task list with optional body, due date, importance, and reminder.WriteCreate To Do Task
Create a new task in a Microsoft To Do task list with optional body, due date, importance, and reminder.
Inputs
list_idstringrequired- The ID of the task list to add the task to.
titlestringrequired- The title of the task.
bodystring- The body/notes of the task (plain text).
categoriesarray- Array of category names to assign to the task.
due_datestring- Due date in YYYY-MM-DD format (e.g. "2026-04-15").
due_time_zonestring- Time zone for the due date (e.g. "UTC", "America/New_York"). Defaults to UTC.
importancestring- The importance of the task: low, normal, or high.one of
lownormalhigh reminder_date_timestring- Reminder date and time in ISO 8601 format (e.g. "2026-04-15T09:00:00").
reminder_time_zonestring- Time zone for the reminder (e.g. "UTC"). Defaults to UTC.
statusstring- The status of the task: notStarted, inProgress, completed, waitingOnOthers, or deferred.one of
notStartedinProgresscompletedwaitingOnOthersdeferred
outlook_todo_tasks_updateUpdate a task in a Microsoft To Do task list.WriteUpdate To Do Task
Update a task in a Microsoft To Do task list. Only provided fields are changed.
- Idempotent
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task to update.
bodystring- New body/notes for the task (plain text).
categoriesarray- Array of category names to assign to the task.
due_datestring- Due date in YYYY-MM-DD format.
due_time_zonestring- Time zone for the due date. Defaults to UTC.
importancestring- The importance: low, normal, or high.one of
lownormalhigh statusstring- The status: notStarted, inProgress, completed, waitingOnOthers, or deferred.one of
notStartedinProgresscompletedwaitingOnOthersdeferred titlestring- New title for the task.
outlook_update_calendarRename or recolor an existing calendar.WriteUpdate Calendar
Rename or recolor an existing calendar.
- Idempotent
Inputs
calendar_idstringrequired- The unique identifier of the calendar to update.
colorstring- New color theme for the calendar.one of
autolightBluelightGreenlightOrangelightGraylightYellowlightTeallightPinklightBrownlightRedmaxColordarkBluedarkGreendarkOrangedarkGraydarkYellowdarkTealdarkPinkdarkBrowndarkRed namestring- New display name for the calendar.
outlook_update_calendar_eventUpdate an existing Outlook calendar event.WriteUpdate Calendar Event
Update an existing Outlook calendar event. Only provided fields will be updated. Supports time, attendees, location, reminders, online meetings, recurrence, and event properties.
- Idempotent
Inputs
event_idstringrequired- The ID of the calendar event to update
attendees_optionalstring- Comma-separated optional attendee emails
attendees_requiredstring- Comma-separated required attendee emails
attendees_resourcestring- Comma-separated resource emails (meeting rooms, equipment)
body_contentstring- Event description/body
body_contentTypestring- Content type of bodyone of
HTMLText categoriesstring- Comma-separated categories
end_datetimestring- Event end time in RFC3339 format
end_timezonestring- Timezone for end time
hideAttendeesboolean- When true, each attendee only sees themselves
importancestring- Event importance levelone of
lownormalhigh isAllDayboolean- Mark as all-day event
isOnlineMeetingboolean- Create an online meeting (Teams/Skype)
isReminderOnboolean- Enable or disable reminder
locationstring- Physical or virtual location
locationsstring- JSON array of location objects with displayName, address, coordinates
onlineMeetingProviderstring- Online meeting providerone of
teamsForBusinessskypeForBusinessskypeForConsumer recurrence_days_of_weekstring- Days of week for weekly recurrence (comma-separated)
recurrence_end_datestring- End date for recurrence (YYYY-MM-DD)
recurrence_intervalinteger- How often the event recurs (e.g., every 2 weeks = 2)
recurrence_occurrencesinteger- Number of occurrences
recurrence_range_typestring- How the recurrence endsone of
endDatenoEndnumbered recurrence_start_datestring- Start date for recurrence (YYYY-MM-DD)
recurrence_typestring- Recurrence pattern typeone of
dailyweeklymonthlyyearly reminderMinutesBeforeStartinteger- Minutes before event start to show reminder
sensitivitystring- Event sensitivity/privacy levelone of
normalpersonalprivateconfidential showAsstring- Free/busy statusone of
freetentativebusyoofworkingElsewhere start_datetimestring- Event start time in RFC3339 format
start_timezonestring- Timezone for start time
subjectstring- Event title/summary
outlook_update_calendar_groupUpdate the name of an existing calendar group in the signed-in user's mailbox.WriteUpdate Calendar Group
Update the name of an existing calendar group in the signed-in user's mailbox.
- Idempotent
Inputs
group_idstringrequired- The unique ID of the calendar group to update (e.g., 'AAMkAGI2...'). Obtain from List Calendar Groups.
namestringrequired- The new name for the calendar group (e.g., 'Personal Calendars').
outlook_update_calendar_permissionUpdate the role of an existing calendar permission entry.WriteUpdate Calendar Permission
Update the role of an existing calendar permission entry. Use this to change a user's access level (e.g., upgrade from read to write, or downgrade from delegate to read) on a specific calendar.
- Idempotent
Inputs
calendar_idstringrequired- The unique identifier of the calendar that contains the permission to update.
permission_idstringrequired- The unique identifier of the calendar permission entry to update. Retrieve from the list calendar permissions endpoint.
rolestringrequired- The new permission role to assign. Valid values: freeBusyRead (see free/busy only), limitedRead (see title and location), read (see all event details), write (create/edit/delete events), delegateWithoutPrivateEventAccess (delegate, no private events), delegateWithPrivateEventAccess (delegate including private events), custom (custom role).one of
freeBusyReadlimitedReadreadwritedelegateWithoutPrivateEventAccessdelegateWithPrivateEventAccesscustom
outlook_update_categoryUpdate the display name or color of an existing Outlook master category.WriteUpdate Outlook Category
Update the display name or color of an existing Outlook master category. Provide the category ID and at least one of display_name or color to update.
- Idempotent
Inputs
category_idstringrequired- The unique ID of the Outlook category to update. Retrieve it from the list_categories tool.
colorstring- New color for the category. Use 'none' for no color, or 'preset0' through 'preset24' for a specific color slot.one of
nonepreset0preset1preset2preset3preset4preset5preset6preset7preset8preset9preset10preset11preset12preset13preset14preset15preset16preset17preset18preset19preset20preset21preset22preset23preset24 display_namestring- New display name for the category. Must be unique among the user's categories if provided.
outlook_update_contactUpdate properties of an existing contact.WriteUpdate Contact
Update properties of an existing contact.
Inputs
contact_idstringrequired- Contact ID.
company_namestring- Company name.
email_addressesstring- Email addresses.
given_namestring- First name.
job_titlestring- Job title.
mobile_phonestring- Mobile phone.
surnamestring- Last name.
Also accepts
schema_versionandtool_versionto pin a version.outlook_update_contact_folderUpdate the display name of an existing contact folder in the signed-in user's mailbox.WriteUpdate Contact Folder
Update the display name of an existing contact folder in the signed-in user's mailbox.
- Idempotent
Inputs
display_namestringrequired- The new display name for the contact folder (e.g., 'Updated Contacts').
folder_idstringrequired- The unique ID of the contact folder to update (e.g., 'AAMkAGI2...'). Obtain from List Contact Folders.
outlook_update_focused_inbox_overrideUpdate an existing Focused Inbox override to change how messages from a specific sender are classified.WriteUpdate Focused Inbox Override
Update an existing Focused Inbox override to change how messages from a specific sender are classified. Use this to switch a sender between Focused and Other inbox routing.
- Idempotent
Inputs
classify_asstringrequired- Updated classification for the sender: 'focused' to route to Focused inbox, 'other' to route to Other inbox.one of
focusedother override_idstringrequired- The unique ID of the Focused Inbox override to update. Retrieve it from the list_focused_inbox_overrides tool.
outlook_update_mail_folderRename or update a mail folder.WriteUpdate Mail Folder
Rename or update a mail folder.
Inputs
display_namestringrequired- New folder name.
folder_idstringrequired- Folder ID.
Also accepts
schema_versionandtool_versionto pin a version.outlook_update_messageUpdate properties of an email message (e.g.WriteUpdate Message
Update properties of an email message (e.g. mark as read, set importance, set a follow-up flag).
Inputs
message_idstringrequired- Message ID.
bodystring- Message body content.
body_content_typestring- Body content type.
categoriesarray- Categories.
flag_statusstring- Follow-up flag status.
importancestring- Importance.
inference_classificationstring- Inference classification.
is_delivery_receipt_requestedboolean- Delivery receipt requested.
is_readboolean- Mark as read.
is_read_receipt_requestedboolean- Read receipt requested.
subjectstring- Updated subject.
Also accepts
schema_versionandtool_versionto pin a version.outlook_update_message_ruleUpdate an existing inbox message rule.WriteUpdate Message Rule
Update an existing inbox message rule.
Inputs
rule_idstringrequired- Rule ID.
actionsobject- Rule actions.
conditionsobject- Rule conditions.
display_namestring- Rule name.
exceptionsobject- Exception conditions for the rule.
is_enabledboolean- Enable rule.
is_read_onlyboolean- Mark rule as read-only.
sequenceinteger- Rule sequence.
Also accepts
schema_versionandtool_versionto pin a version.outlook_cancel_eventCancel a meeting as the organizer.DestructiveCancel Event
Cancel a meeting as the organizer. Sends a cancellation message to all attendees and removes the event from the calendar. Only available to the event organizer.
Inputs
event_idstringrequired- The ID of the event to cancel.
commentstring- Optional message to include in the cancellation notice sent to attendees.
outlook_delete_calendarPermanently delete a calendar and all of the events it contains.DestructiveDelete Calendar
Permanently delete a calendar and all of the events it contains. The default calendar cannot be deleted.
Inputs
calendar_idstringrequired- The unique identifier of the calendar to delete. Cannot be the user's default calendar.
outlook_delete_calendar_eventDelete a calendar event by ID.DestructiveDelete Calendar Event
Delete a calendar event by ID.
- Idempotent
Inputs
event_idstringrequired- No description.
outlook_delete_calendar_groupPermanently delete a calendar group from the signed-in user's mailbox.DestructiveDelete Calendar Group
Permanently delete a calendar group from the signed-in user's mailbox. Note: you cannot delete the default calendar group. All calendars within the group will also be deleted.
- Idempotent
Inputs
group_idstringrequired- The unique ID of the calendar group to delete (e.g., 'AAMkAGI2...'). Obtain from List Calendar Groups. Cannot be the default calendar group.
outlook_delete_calendar_permissionRevoke a user's access to a specific Outlook calendar by deleting the calendar permission entry.DestructiveDelete Calendar Permission
Revoke a user's access to a specific Outlook calendar by deleting the calendar permission entry. This action is permanent and immediately removes the user's access.
Inputs
calendar_idstringrequired- The unique identifier of the calendar from which to remove the permission.
permission_idstringrequired- The unique identifier of the calendar permission entry to delete. Retrieve from the list calendar permissions endpoint.
outlook_delete_categoryDelete an Outlook master category for the signed-in user.DestructiveDelete Outlook Category
Delete an Outlook master category for the signed-in user. This permanently removes the category definition. Any messages or items tagged with this category will retain the tag label but the category color will no longer appear.
- Idempotent
Inputs
category_idstringrequired- The unique ID of the Outlook category to delete. Retrieve it from the list_categories tool.
outlook_delete_contactPermanently delete a contact.DestructiveDelete Contact
Permanently delete a contact.
Inputs
contact_idstringrequired- Contact ID.
Also accepts
schema_versionandtool_versionto pin a version.outlook_delete_contact_folderPermanently delete a contact folder and all its contents from the signed-in user's mailbox.DestructiveDelete Contact Folder
Permanently delete a contact folder and all its contents from the signed-in user's mailbox. This action cannot be undone.
- Idempotent
Inputs
folder_idstringrequired- The unique ID of the contact folder to delete (e.g., 'AAMkAGI2...'). Obtain from List Contact Folders. Warning: deletes all contacts within the folder.
outlook_delete_event_attachmentDelete a single attachment from a calendar event.DestructiveDelete Event Attachment
Delete a single attachment from a calendar event.
Inputs
attachment_idstringrequired- The ID of the attachment to delete.
event_idstringrequired- The ID of the event the attachment belongs to.
outlook_delete_focused_inbox_overrideDelete a Focused Inbox override rule for the signed-in user.DestructiveDelete Focused Inbox Override
Delete a Focused Inbox override rule for the signed-in user. Once deleted, messages from that sender will revert to automatic machine learning classification.
- Idempotent
Inputs
override_idstringrequired- The unique ID of the Focused Inbox override rule to delete (e.g., 'AAMkAGI2...'). Obtain this from the List Focused Inbox Overrides tool.
outlook_delete_mail_folderPermanently delete a mail folder and its contents.DestructiveDelete Mail Folder
Permanently delete a mail folder and its contents.
Inputs
folder_idstringrequired- Folder ID.
Also accepts
schema_versionandtool_versionto pin a version.outlook_delete_messagePermanently delete an email message.DestructiveDelete Message
Permanently delete an email message.
Inputs
message_idstringrequired- Message ID.
Also accepts
schema_versionandtool_versionto pin a version.outlook_delete_message_attachmentDelete a single attachment from a message.DestructiveDelete Message Attachment
Delete a single attachment from a message.
Inputs
attachment_idstringrequired- The ID of the attachment to delete.
message_idstringrequired- The ID of the message the attachment belongs to.
outlook_delete_message_ruleDelete an inbox message rule.DestructiveDelete Message Rule
Delete an inbox message rule.
Inputs
rule_idstringrequired- Rule ID.
Also accepts
schema_versionandtool_versionto pin a version.outlook_permanently_delete_messagePermanently delete a message, bypassing the Deleted Items folder entirely.DestructivePermanently Delete Message
Permanently delete a message, bypassing the Deleted Items folder entirely. Unlike Delete Message, this cannot be recovered from Deleted Items — use with caution.
Inputs
message_idstringrequired- The ID of the message to permanently delete.
outlook_todo_checklist_items_deletePermanently delete a checklist item (subtask) from a task in a Microsoft To Do task list.DestructiveDelete Checklist Item
Permanently delete a checklist item (subtask) from a task in a Microsoft To Do task list.
- Idempotent
Inputs
checklist_item_idstringrequired- The ID of the checklist item to delete.
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task.
outlook_todo_lists_deletePermanently delete a Microsoft To Do task list and all its tasks.DestructiveDelete To Do List
Permanently delete a Microsoft To Do task list and all its tasks.
- Idempotent
Inputs
list_idstringrequired- The ID of the task list to delete.
outlook_todo_tasks_deletePermanently delete a task from a Microsoft To Do task list.DestructiveDelete To Do Task
Permanently delete a task from a Microsoft To Do task list.
- Idempotent
Inputs
list_idstringrequired- The ID of the task list.
task_idstringrequired- The ID of the task to delete.
No tools match.
Workflows
Proxy API call
const result = await actions.request({ connectionName: 'outlook', identifier: 'user_123', path: '/v1.0/me/messages', method: 'GET',});console.log(result);result = actions.request( connection_name='outlook', identifier='user_123', path="/v1.0/me/messages", method="GET")print(result)Execute a tool
const result = await actions.executeTool({ connector: 'outlook', identifier: 'user_123', toolName: 'outlook_create_calendar_event', toolInput: {},});console.log(result);result = actions.execute_tool( connection_name='outlook', identifier='user_123', tool_name='outlook_create_calendar_event', tool_input={},)print(result)