Outlook
Your Toolhouse AI Worker can connect to Outlook using 301 specialized tools.
Auth Connection
This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under Auth Connections.
Tools (301)
Outlook Accept Event
Outlook Accept EventIntegration name: OUTLOOK_ACCEPT_EVENT
Accepts or tentatively accepts a calendar meeting invite on behalf of a user. Use this action when a user has received a meeting invitation and wants to indicate their attendance status (either confirmed or tentative). The organizer will receive a notification of the acceptance unless send_response is set to false.
Parameters
comment
string
"I'll be there!"
Optional text message to include with the response, sent to the organizer.
user_id
string
"me"
The user ID or userPrincipalName of the calendar owner. If not provided, uses the authenticated user (/me).
event_id
string
✅
"AAMkAGI2TG9tYVyGdUHg=="
The unique identifier of the calendar event to respond to.
response_type
string
"accept"
Type of response: accept to accept the invite, tentative to tentatively accept.
send_response
boolean
true
Whether to send the response to the organizer. Set to false to accept without notifying.
Outlook Add Event Attachment
Outlook Add Event AttachmentIntegration name: OUTLOOK_ADD_EVENT_ATTACHMENT
Adds an attachment to a specific Outlook calendar event. Use when you need to attach a file or nested item to an existing event.
Parameters
item
object
—
The nested item payload; required when @odata.type is itemAttachment.
name
string
✅
"menu.txt"
The display name of the attachment.
user_id
string
"me"
The user's email address or me for the authenticated user.
event_id
string
✅
"AAMkAGI1AAAt9AHjAAA="
The unique opaque identifier of the calendar event (NOT an email address).
odata_type
string
✅
—
Attachment type: #microsoft.graph.fileAttachment requires contentBytes; #microsoft.graph.itemAttachment requires item.
content_bytes
string
"aGVsbG8gd29ybGQ="
MUST be base64-encoded file contents (not plain text); required when @odata.type is fileAttachment.
Outlook Add Mail Attachment
Outlook Add Mail AttachmentIntegration name: OUTLOOK_ADD_MAIL_ATTACHMENT
Tool to add an attachment to an email message. Use when you have a message ID and need to attach a small (<3 MB) file or reference.
Parameters
item
object
—
Embedded item (e.g., message, event) for itemAttachment; must include its own @odata.type.
name
string
"report.pdf"
Display name of the attachment (e.g., file name). Required when using content_bytes. When using the attachment field, the name is automatically inferred.
user_id
string
"me"
The user's principal name or me for the authenticated user.
isInline
boolean
—
Set to true if the attachment should appear inline in the message body.
contentId
string
—
Content ID for inline attachments, used in HTML body references.
attachment
object
—
File to attach to the email. Either provide this field OR use content_bytes. Cannot be used together with content_bytes.
message_id
string
✅
"AAMkAGI2TAAA="
Unique Microsoft Graph message ID (opaque string like AAMkAGI2TAAA=). NOT an email address.
odata_type
string
"#microsoft.graph.fileAttachment"
The OData type of the attachment.
contentType
string
"application/pdf"
MIME type of the attachment. Required when using content_bytes.
contentBytes
string
"SGVsbG8gd29ybGQh"
Base64-encoded content of the file attachment (max size 3 MB).
contentLocation
string
—
URL location or path for reference attachments.
Outlook Batch Move Messages
Outlook Batch Move MessagesIntegration name: OUTLOOK_BATCH_MOVE_MESSAGES
Batch-move up to 20 Outlook messages to a destination folder in a single Microsoft Graph $batch call.
Parameters
user_id
string
"me"
The UPN of the user whose messages to move, or me for the currently authenticated user.
message_ids
array
✅
—
Array of message IDs to move. Maximum 20 items per batch.
destination_id
string
✅
"deleteditems"
The destination folder ID, or a well-known folder name.
response_detail
string
—
Controls how much each move sub-request returns. minimal (default) returns 204 No Content; full returns the moved message body.
Outlook Batch Update Messages
Outlook Batch Update MessagesIntegration name: OUTLOOK_BATCH_UPDATE_MESSAGES
Batch-update up to 20 Outlook messages per call using Microsoft Graph JSON batching.
Parameters
updates
array
✅
—
Array of message updates to perform. Maximum 20 items per batch.
user_id
string
"me"
The UPN of the user whose messages to update, or me for the currently authenticated user.
response_detail
string
—
Controls how much each PATCH sub-request returns. minimal (default) or full.
Outlook Calendar Create Event
Outlook Calendar Create EventIntegration name: OUTLOOK_CALENDAR_CREATE_EVENT
Creates a new Outlook calendar event, ensuring start_datetime is chronologically before end_datetime.
Parameters
body
string
"Weekly team synchronization meeting."
The body of the event.
is_html
boolean
—
Specifies whether the body content is HTML.
show_as
string
"busy"
The status to show on the calendar for the duration of the event.
subject
string
✅
"Team Sync"
The subject of the calendar event.
user_id
string
"me"
The user identifier for the calendar owner.
location
string
"Conference Room A"
The physical location of the event.
time_zone
string
✅
"UTC"
The time zone for the start and end times of the event.
categories
array
["Project Alpha","Urgent"]
A list of category names to associate with the event.
importance
string
"low"
The importance of the event.
recurrence
object
{"range":{"type":"endDate","endDate":"2025-12-31","startDate":"2025-01-01"},"pattern":{"type":"daily","interval":1}}
The recurrence pattern and range for an event.
calendar_id
string
"AQMkADAwATM0MDAAMI05YjhkLWI3NjgtMDACLTAwCgBGAAADKjFWj6npsUCnbqW0j-afBAcAj7rsw6i8BEKl3_l14AMAUAAAAgEGAAAAj7rsw6i8BEKl3_l14AMAUAAAAEaASyEAAAA="
The ID of a specific calendar to create the event in.
end_datetime
string
✅
"2025-01-03T11:00:00"
The end date and time of the event in ISO 8601 format.
attendees_info
array
["user@example.com","another@example.com"]
A list of attendees for the event.
start_datetime
string
✅
"2025-01-03T10:00:00"
The start date and time of the event in ISO 8601 format.
is_online_meeting
boolean
—
Set to true to indicate that the event is an online meeting.
online_meeting_provider
string
"teamsForBusiness"
Specifies the online meeting provider.
Outlook Cancel Calendar Event
Outlook Cancel Calendar EventIntegration name: OUTLOOK_CANCEL_CALENDAR_EVENT
Tool to cancel an event in a specific calendar for a specified user and send cancellation notifications to all attendees.
Parameters
Comment
string
"Meeting canceled due to scheduling conflict."
Optional text message sent to all attendees explaining the cancellation.
user_id
string
✅
"me"
The user ID or userPrincipalName of the calendar owner.
event_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAEYAAAPLkCuWz0mbS4RvWyTvc1LKBwDGTYrvat2PSKIu8IS9hMqyAAACAQ0AAADGTYrvat2PSKIu8IS9hMqyAAAAU0mNQQAAAA=="
The unique identifier of the event to cancel.
calendar_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAEYAAAPLkCuWz0mbS4RvWyTvc1LKBwDGTYrvat2PSKIu8IS9hMqyAAACAQYAAADGTYrvat2PSKIu8IS9hMqyAAACHO0AAAA="
The unique identifier of the calendar containing the event.
Outlook Copy Mail Folder
Outlook Copy Mail FolderIntegration name: OUTLOOK_COPY_MAIL_FOLDER
Tool to copy a user's mail folder and its contents to another folder.
Parameters
user_id
string
✅
"6640adbb5cb743b0"
Identifier of the user.
destination_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4AAAPLkCuWz0mbS4RvWyTvc1LKAQDGTYrvat2PSKIu8IS9hMqyAAACAQwAAAA="
The folder ID or a well-known folder name where the folder should be copied to.
mail_folder_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4AAAPLkCuWz0mbS4RvWyTvc1LKAQDGTYrvat2PSKIu8IS9hMqyAAACAQ8AAAA="
The ID of the mail folder to copy.
Outlook Copy Me Mail Folder
Outlook Copy Me Mail FolderIntegration name: OUTLOOK_COPY_ME_MAIL_FOLDER
Tool to copy a child mail folder to a destination folder.
Parameters
user_id
string
"me"
User's id, userPrincipalName, or me for the signed-in user.
destination_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4AAAPLkCuWz0mbS4RvWyTvc1LKAQDGTYrvat2PSKIu8IS9hMqyAAACARMAAAA="
The folder ID of the destination folder, or a well-known folder name.
mail_folder_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4AAAPLkCuWz0mbS4RvWyTvc1LKAQDGTYrvat2PSKIu8IS9hMqyAAACAQwAAAA="
The ID of the parent mail folder containing the child folder to copy.
child_folder_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4AAAPLkCuWz0mbS4RvWyTvc1LKAQDGTYrvat2PSKIu8IS9hMqyAAAAU0mZKAAAAA=="
The ID of the child folder to copy.
Outlook Copy Message
Outlook Copy MessageIntegration name: OUTLOOK_COPY_MESSAGE
Tool to copy an email message to another folder within the user's mailbox.
Parameters
user_id
string
"me"
User's email address, UPN, or me for the currently authenticated user.
message_id
string
✅
"AAMkAGI2TAAA="
Unique ID of the Outlook email message to copy.
destination_id
string
✅
"deleteditems"
The destination folder ID, or a well-known folder name.
Outlook Create Draft
Outlook Create DraftIntegration name: OUTLOOK_CREATE_DRAFT
Creates a new Outlook email draft with subject, body, recipients, and an optional attachment.
Parameters
body
string
✅
"Let's meet to discuss the project."
Content of the email draft.
is_html
boolean
—
Specifies if the body is HTML.
subject
string
✅
"Team Meeting"
Subject line for the email draft.
user_id
string
"43f0c14d-bca8-421f-b762-c3d8dd75be1f"
User ID (GUID) or user principal name (email) for S2S authentication.
attachment
—
—
Optional file(s) to attach.
cc_recipients
array
["manager@example.com"]
Optional list of CC recipient email addresses.
to_recipients
array
["johndoe@example.com","janedoe@example.com"]
Optional list of primary To recipient email addresses.
bcc_recipients
array
["stakeholder@example.com"]
Optional list of BCC recipient email addresses.
Outlook Create Email Rule
Outlook Create Email RuleIntegration name: OUTLOOK_CREATE_EMAIL_RULE
Create email rule filter with conditions and actions.
Parameters
actions
object
✅
—
Actions to take when the rule conditions are met.
user_id
string
"43f0c14d-bca8-421f-b762-c3d8dd75be1f"
User ID or principal name for app-only authentication.
sequence
integer
1
Order in which the rule is executed.
conditions
object
✅
—
Conditions that must be met for the rule to apply.
is_enabled
boolean
—
Whether the rule is enabled.
display_name
string
✅
"High Priority Filter"
Display name for the email rule.
Outlook Delete Email Rule
Outlook Delete Email RuleIntegration name: OUTLOOK_DELETE_EMAIL_RULE
Delete an email rule permanently; deletion is irreversible.
Parameters
rule_id
string
✅
"AAMkAGExampleRuleIdPlaceholder000000000000000000000000000000000000000000000000000000000000000000000=="
ID of the email rule to delete.
user_id
string
"me"
The unique identifier of the user.
Outlook Get Message
Outlook Get MessageIntegration name: OUTLOOK_GET_MESSAGE
Retrieves a specific email message by its ID from the specified user's Outlook mailbox.
Parameters
select
array
["id","subject","from","receivedDateTime","webLink"]
List of message properties to include in the response.
user_id
string
"me"
User's email address, UPN, or me for the currently authenticated user.
message_id
string
✅
"AAMkAGI2TAAA="
Unique ID of the Outlook email message to retrieve.
Outlook List Messages
Outlook List MessagesIntegration name: OUTLOOK_LIST_MESSAGES
Retrieves a list of email messages from a specified mail folder in an Outlook mailbox, with options for filtering, pagination, and sorting.
Parameters
top
integer
"10"
Maximum number of messages to return per request.
skip
integer
"0"
Number of messages to skip.
folder
string
"inbox"
ID or well-known name of the mail folder.
search
string
"budget report"
Full-text search query using Microsoft Graph $search syntax.
select
array
["subject","from","receivedDateTime"]
Message properties to include.
is_read
boolean
true
Filter by read status.
orderby
array
["receivedDateTime desc"]
Properties to sort results by.
subject
string
"Project Update Q3"
Filter by exact match of the subject line.
user_id
string
"me"
Target user's email or me for authenticated user.
categories
array
["Work","Urgent"]
Filter by categories.
importance
string
"high"
Filter by importance.
from_address
string
"sender@example.com"
Filter by the sender's exact email address.
conversation_id
string
"AQQkADAwATY3ZmYAZS1hYQAzNC1lODkwLTAwAi0wMAoAEADJzjh8m93SQbP6BUCZcIuc"
Filter messages by conversation ID.
has_attachments
boolean
—
Filter by attachment presence.
response_detail
string
—
Level of detail in the response.
subject_contains
string
"budget"
Filter messages where the subject contains the specified substring.
subject_endswith
string
"- Confidential"
Filter messages where the subject ends with the specified string.
sent_date_time_gt
string
"2023-01-10T14:30:00Z"
Filter messages sent after this ISO 8601 timestamp.
sent_date_time_lt
string
"2023-02-20T10:00:00Z"
Filter messages sent before this ISO 8601 timestamp.
subject_startswith
string
"[Action Required]"
Filter messages where the subject starts with the specified string.
received_date_time_ge
string
"2023-03-15T08:00:00Z"
Filter messages received on or after this ISO 8601 timestamp.
received_date_time_gt
string
"2023-01-01T00:00:00Z"
Filter messages received after this ISO 8601 timestamp.
received_date_time_le
string
"2023-03-31T23:59:59Z"
Filter messages received on or before this ISO 8601 timestamp.
received_date_time_lt
string
"2023-04-01T00:00:00Z"
Filter messages received before this ISO 8601 timestamp.
Outlook Search Messages
Outlook Search MessagesIntegration name: OUTLOOK_SEARCH_MESSAGES
Search Outlook messages using powerful KQL syntax.
Parameters
size
integer
—
Number of search results to return per page.
query
string
"project report"
KQL search query string.
region
string
"US"
Geographic region for the search query.
subject
string
"Project Update"
Text to search for within the message subject line.
fromEmail
string
"manager@example.com"
Filter messages by sender email address or domain.
from_index
integer
—
The 0-based starting index for pagination.
hasAttachments
boolean
—
Filters messages based on the presence of attachments.
enable_top_results
boolean
—
If true, sorts results by relevance.
Outlook Send Draft
Outlook Send DraftIntegration name: OUTLOOK_SEND_DRAFT
Tool to send an existing draft message.
Parameters
user_id
string
"me"
The user's email address or me to represent the authenticated user.
message_id
string
✅
"AAMkAGVi..."
The unique identifier of the draft message to send.
Outlook Send Email
Outlook Send EmailIntegration name: OUTLOOK_SEND_EMAIL
Sends an email with subject, body, recipients, and optional attachments via Microsoft Graph API.
Parameters
to
string
✅
"recipient@example.com"
The primary recipient's email address(es).
body
string
✅
"Hello team, please find the attached report."
The content of the email body as plain text or HTML.
is_html
boolean
"true"
Specifies if the email body is HTML.
subject
string
✅
"Project Update"
The subject line of the email.
to_name
string
"Valued Customer"
The display name of the primary recipient.
user_id
string
"me"
The user's email address or the alias me.
cc_emails
array
["jane.doe@example.com","cc.recipient@example.com"]
List of email addresses for CC recipients.
attachment
—
—
File(s) to attach.
bcc_emails
array
["manager@example.com","supervisor@example.com"]
List of email addresses for BCC recipients.
from_address
string
"shared.mailbox@contoso.com"
Optional From address to set on the message (send as/on behalf).
save_to_sent_items
boolean
"true"
Indicates if the email should be saved in Sent Items.
Outlook Update Calendar Event
Outlook Update Calendar EventIntegration name: OUTLOOK_UPDATE_CALENDAR_EVENT
Updates specified fields of an existing Outlook calendar event. Unspecified fields remain unchanged.
Parameters
body
object
—
Event body with content type (Text or HTML) and the content.
show_as
string
"busy"
Availability status for the event.
subject
string
"Updated Team Meeting"
New subject for the event.
user_id
string
—
The identifier of the user whose calendar event is to be updated.
event_id
string
✅
"AAMkAGI2TAAA="
The unique identifier of the calendar event to be updated.
location
—
"Conference Room A"
Event location.
attendees
array
—
Attendee list for the event.
time_zone
string
"America/Los_Angeles"
Time zone for the provided start_datetime and/or end_datetime.
categories
array
—
Category names to associate with the event.
recurrence
object
—
The recurrence pattern for an event.
end_datetime
string
"2024-05-01T10:00:00"
New end date and time for the event.
start_datetime
string
"2024-05-01T09:00:00"
New start date and time for the event.
Outlook Update User Calendar
Outlook Update User CalendarIntegration name: OUTLOOK_UPDATE_USER_CALENDAR
Tool to update the properties of a user's calendar.
Parameters
name
string
"Work Calendar"
The new display name for the calendar.
color
string
—
Color theme options for calendars in Outlook.
user_id
string
✅
"me"
The user ID or userPrincipalName of the user whose calendar to update.
Outlook Update User Contacts Extensions
Outlook Update User Contacts ExtensionsIntegration name: OUTLOOK_UPDATE_USER_CONTACTS_EXTENSIONS
Tool to update an open extension on a contact in a user's contact folder.
Parameters
user_id
string
✅
"me"
The unique identifier of the user.
contact_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAEYAAAPLkCuWz0mbS4RvWyTvc1LKBwDGTYrvat2PSKIu8IS9hMqyAAACAQ4AAADGTYrvat2PSKIu8IS9hMqyAAAAU0nIvgAAAA=="
The unique identifier of the contact to which the extension belongs.
extension_id
string
✅
"Com.Contoso.ContactData"
The unique identifier of the extension to update.
extension_name
string
✅
"Com.Contoso.ContactData"
The name of the extension.
contact_folder_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAC4AAAPLkCuWz0mbS4RvWyTvc1LKAQDGTYrvat2PSKIu8IS9hMqyAAAAU0mZOgAAAA=="
The unique identifier of the contact folder containing the contact.
custom_properties
object
{"notes":"VIP client with priority support","lastUpdated":"2026-02-23","accountValue":15000,"customerType":"Enterprise"}
Custom properties to update or add to the extension.
Outlook Update User Calendar Permission
Outlook Update User Calendar PermissionIntegration name: OUTLOOK_UPDATE_USER_CALENDAR_PERMISSION
Tool to update calendar permission levels for a specific user's calendar.
Parameters
role
string
✅
"write"
The permission level to change to for the calendar share recipient or delegate.
user_id
string
✅
"me"
The user ID or principal name of the user whose calendar permission to update.
calendar_id
string
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAEYAAAPLkCuWz0mbS4RvWyTvc1LKBwDGTYrvat2PSKIu8IS9hMqyAAACAQYAAADGTYrvat2PSKIu8IS9hMqyAAACHO0AAAA="
The unique identifier of the calendar.
permission_id
string
✅
"ZGU5NWQyODQtZTA3ZS00YzMxLTljMjAtY2JhNTI5ZTFjOTcx"
The unique identifier of the calendar permission to update.
Outlook Update User Calendar Event
Outlook Update User Calendar EventIntegration name: OUTLOOK_UPDATE_USER_CALENDAR_EVENT
Tool to update an event in a specific user's calendar.
Parameters
end
object
—
Date, time, and timezone information.
body
object
—
Message content associated with the event.
start
object
—
Date, time, and timezone information.
showAs
string
"free"
Status to show.
subject
string
"Updated Team Meeting"
Subject/title of the event.
user_id
string
✅
"user@example.com"
The unique identifier or userPrincipalName of the user whose calendar event to update.
event_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAEYAAA=="
The unique identifier of the event to update.
isAllDay
boolean
—
Set to true if the event lasts all day.
location
object
—
Location information for an event.
attendees
array
—
Array of attendee objects.
categories
array
["Work","Important"]
Categories associated with the event.
importance
string
"low"
The importance of the event.
recurrence
object
—
Recurrence pattern for recurring events.
sensitivity
string
"normal"
Sensitivity level.
isReminderOn
boolean
—
Set to true if an alert reminds the user of the event.
isOnlineMeeting
boolean
—
True if event has online meeting information.
reminderMinutesBeforeStart
integer
15
Minutes before event start when reminder alert occurs.
Outlook Update User Mail Folder Message
Outlook Update User Mail Folder MessageIntegration name: OUTLOOK_UPDATE_USER_MAIL_FOLDER_MESSAGE
Tool to update properties of a message in a specific mail folder for a user.
Parameters
body
object
—
The body of the message.
flag
object
—
The flag value that indicates the status, start date, due date, or completion date for the message.
from
object
—
Represents information about a user in the sending or receiving end of a message.
isRead
boolean
—
Whether the message has been read.
sender
object
—
Represents information about a user in the sending or receiving end of a message.
replyTo
array
—
The email addresses to use when replying. Only updatable if isDraft=true.
subject
string
—
The subject of the message. Only updatable if isDraft=true.
user_id
string
✅
"me"
The unique identifier of the user whose mailbox contains the message.
categories
array
["Work","Important"]
The categories associated with the message.
importance
string
—
Importance level of the message.
message_id
string
✅
"AAMkAGI2TAAA="
The unique identifier of the message to update within the specified mail folder.
ccRecipients
array
—
The Cc recipients for the message.
toRecipients
array
—
The To recipients for the message.
bccRecipients
array
—
The Bcc recipients for the message.
mail_folder_id
string
✅
"inbox"
The unique identifier of the mail folder containing the message.
internetMessageId
string
—
The message ID in RFC2822 format.
isReadReceiptRequested
boolean
—
Whether a read receipt is requested for the message.
inferenceClassification
string
—
Classification of the message based on inferred relevance or importance.
isDeliveryReceiptRequested
boolean
—
Whether a delivery receipt is requested for the message.
Outlook Update User Message Extension
Outlook Update User Message ExtensionIntegration name: OUTLOOK_UPDATE_USER_MESSAGE_EXTENSION
Tool to update an open extension on a user's message.
Parameters
user_id
string
✅
"me"
The unique identifier of the user.
message_id
string
✅
"AQMkADAwATMwMAExLTlmNjktOWVmYS0wMAItMDAKAEYAAAPLkCuWz0mbS4RvWyTvc1LKBwDGTYrvat2PSKIu8IS9hMqyAAACAQ8AAADGTYrvat2PSKIu8IS9hMqyAAAAU0lyEAAAAA=="
The unique identifier of the message containing the extension.
extension_id
string
✅
"Com.Contoso.TestExtension"
The unique identifier or name of the extension to update.
extension_name
string
"Com.Contoso.TestExtension"
The name of the extension.
custom_properties
object
{"status":"active","dealValue":250000,"companyName":"Contoso Updated","expirationDate":"2027-12-31"}
Custom properties to update in the extension.
The full Outlook tool reference continues in the same format for the remaining tools.