Use Microsoft Outlook in Sim to send and draft emails, read and organize messages, manage attachments and folders, and create or update calendar events. Switch to trigger mode to start a workflow when a new email arrives.
Integrate Outlook into the workflow. Can send, draft, read, search, reply, forward, move, copy, and delete email; manage mail folders and attachments; and set categories and flags on messages. Can also list, create, update, delete, and respond to calendar events. Can be used in trigger mode to trigger a workflow when a new email is received.
Send emails using Outlook
| Parameter | Type | Required | Description |
|---|
to | string | Yes | Recipient email address (comma-separated for multiple recipients) |
subject | string | Yes | Email subject |
body | string | Yes | Email body content |
contentType | string | No | Content type for the email body (text or html) |
replyToMessageId | string | No | Message ID to reply to (for threading) |
cc | string | No | CC recipients (comma-separated) |
bcc | string | No | BCC recipients (comma-separated) |
attachments | file[] | No | Files to attach to the email |
| Parameter | Type | Description |
|---|
success | boolean | Email send success status |
status | string | Delivery status of the email |
timestamp | string | Timestamp when email was sent |
message | string | Success or error message |
Draft emails using Outlook
| Parameter | Type | Required | Description |
|---|
to | string | Yes | Recipient email address |
subject | string | Yes | Email subject |
body | string | Yes | Email body content |
contentType | string | No | Content type for the email body (text or html) |
cc | string | No | CC recipients (comma-separated) |
bcc | string | No | BCC recipients (comma-separated) |
attachments | file[] | No | Files to attach to the email draft |
| Parameter | Type | Description |
|---|
success | boolean | Email draft creation success status |
messageId | string | Unique identifier for the drafted email |
status | string | Draft status of the email |
subject | string | Subject of the drafted email |
timestamp | string | Timestamp when draft was created |
message | string | Success or error message |
Read emails from Outlook
| Parameter | Type | Required | Description |
|---|
folder | string | No | Folder ID to read emails from (e.g., "Inbox", "Drafts", or a folder ID) |
maxResults | number | No | Maximum number of emails to retrieve (default: 1, max: 10) |
includeAttachments | boolean | No | Whether to download and include email attachments |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | array | Array of email message objects |
↳ id | string | Unique message identifier |
↳ subject | string | Email subject |
↳ bodyPreview | string | Preview of the message body |
↳ body | object | Message body |
↳ contentType | string | Body content type (text or html) |
↳ content | string | Body content |
↳ sender | object | Sender information |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ from | object | From address information |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ toRecipients | array | To recipients |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ ccRecipients | array | CC recipients |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ receivedDateTime | string | When the message was received (ISO 8601) |
↳ sentDateTime | string | When the message was sent (ISO 8601) |
↳ hasAttachments | boolean | Whether the message has attachments |
↳ isRead | boolean | Whether the message has been read |
↳ importance | string | Message importance (low, normal, high) |
attachments | file[] | All email attachments flattened from all emails |
Search Outlook messages using a free-text query (Microsoft Graph $search)
| Parameter | Type | Required | Description |
|---|
query | string | Yes | Search text matched against the subject, body, sender, and recipients of messages |
maxResults | number | No | Maximum number of messages to retrieve (default: 10, max: 25) |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | array | Array of matching email message objects |
↳ id | string | Unique message identifier |
↳ subject | string | Email subject |
↳ bodyPreview | string | Preview of the message body |
↳ body | object | Message body |
↳ contentType | string | Body content type (text or html) |
↳ content | string | Body content |
↳ sender | object | Sender information |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ from | object | From address information |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ toRecipients | array | To recipients |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ ccRecipients | array | CC recipients |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ receivedDateTime | string | When the message was received (ISO 8601) |
↳ sentDateTime | string | When the message was sent (ISO 8601) |
↳ hasAttachments | boolean | Whether the message has attachments |
↳ isRead | boolean | Whether the message has been read |
↳ importance | string | Message importance (low, normal, high) |
Reply to the sender of an Outlook message with a comment
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | The ID of the message to reply to |
comment | string | No | The reply text to include above the original message |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
results | object | Reply result details |
↳ status | string | Reply status |
↳ timestamp | string | Timestamp when the reply was sent |
↳ httpStatus | number | HTTP status code returned by the API |
↳ requestId | string | Microsoft Graph request-id header for tracing |
Reply to all recipients of an Outlook message with a comment
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | The ID of the message to reply to |
comment | string | No | The reply text to include above the original message |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
results | object | Reply-all result details |
↳ status | string | Reply status |
↳ timestamp | string | Timestamp when the reply was sent |
↳ httpStatus | number | HTTP status code returned by the API |
↳ requestId | string | Microsoft Graph request-id header for tracing |
Forward an existing Outlook message to specified recipients
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | The ID of the message to forward |
to | string | Yes | Recipient email address(es), comma-separated |
comment | string | No | Optional comment to include with the forwarded message |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
results | object | Delivery result details |
↳ status | string | Delivery status of the email |
↳ timestamp | string | Timestamp when email was forwarded |
↳ httpStatus | number | HTTP status code returned by the API |
↳ requestId | string | Microsoft Graph request-id header for tracing |
↳ messageId | string | Forwarded message ID if provided by API |
↳ internetMessageId | string | RFC 822 Message-ID if provided |
Move emails between Outlook folders
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | ID of the message to move |
destinationId | string | Yes | ID of the destination folder |
| Parameter | Type | Description |
|---|
success | boolean | Email move success status |
message | string | Success or error message |
messageId | string | ID of the moved message |
newFolderId | string | ID of the destination folder |
Copy an Outlook message to another folder
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | ID of the message to copy |
destinationId | string | Yes | ID of the destination folder |
| Parameter | Type | Description |
|---|
success | boolean | Email copy success status |
message | string | Success or error message |
originalMessageId | string | ID of the original message |
copiedMessageId | string | ID of the copied message |
destinationFolderId | string | ID of the destination folder |
Mark an Outlook message as read
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | ID of the message to mark as read |
| Parameter | Type | Description |
|---|
success | boolean | Operation success status |
message | string | Success or error message |
messageId | string | ID of the message |
isRead | boolean | Read status of the message |
Mark an Outlook message as unread
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | ID of the message to mark as unread |
| Parameter | Type | Description |
|---|
success | boolean | Operation success status |
message | string | Success or error message |
messageId | string | ID of the message |
isRead | boolean | Read status of the message |
Set the categories, follow-up flag, and importance on an Outlook message
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | The ID of the message to update |
categories | json | No | Array of category names to assign to the message (replaces existing categories; leave empty to keep them unchanged) |
flagStatus | string | No | Follow-up flag status: notFlagged, flagged, or complete |
importance | string | No | Message importance: low, normal, or high |
| Parameter | Type | Description |
|---|
message | string | Success or error message |
results | object | Updated message details |
↳ messageId | string | ID of the updated message |
↳ subject | string | Subject of the message |
↳ categories | array | Categories assigned to the message |
↳ flagStatus | string | Follow-up flag status of the message |
↳ importance | string | Importance of the message |
↳ isRead | boolean | Whether the message is read |
Delete an Outlook message (move to Deleted Items)
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | ID of the message to delete |
| Parameter | Type | Description |
|---|
success | boolean | Operation success status |
message | string | Success or error message |
messageId | string | ID of the deleted message |
status | string | Deletion status |
List mail folders in the root of the Outlook mailbox
| Parameter | Type | Required | Description |
|---|
maxResults | number | No | Maximum number of folders to retrieve (default: 50, max: 100) |
includeHiddenFolders | boolean | No | Whether to include hidden folders in the results |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | array | Array of mail folder objects |
↳ id | string | Unique folder identifier |
↳ displayName | string | Display name of the folder |
↳ parentFolderId | string | Identifier of the parent folder |
↳ childFolderCount | number | Number of immediate child folders |
↳ unreadItemCount | number | Number of unread items in the folder |
↳ totalItemCount | number | Total number of items in the folder |
↳ isHidden | boolean | Whether the folder is hidden |
Create a new mail folder in the root of the Outlook mailbox
| Parameter | Type | Required | Description |
|---|
displayName | string | Yes | The display name of the new folder |
isHidden | boolean | No | Whether the new folder is hidden (cannot be changed after creation) |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | object | The newly created mail folder |
↳ id | string | Unique folder identifier |
↳ displayName | string | Display name of the folder |
↳ parentFolderId | string | Identifier of the parent folder |
↳ childFolderCount | number | Number of immediate child folders |
↳ unreadItemCount | number | Number of unread items in the folder |
↳ totalItemCount | number | Total number of items in the folder |
↳ isHidden | boolean | Whether the folder is hidden |
List the attachments on an Outlook message (metadata only, without contents)
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | The ID of the message whose attachments to list |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | array | Array of attachment metadata objects |
↳ id | string | Unique attachment identifier |
↳ name | string | Attachment filename |
↳ contentType | string | MIME type of the attachment |
↳ size | number | Attachment size in bytes |
↳ isInline | boolean | Whether the attachment is rendered inline in the message body |
↳ attachmentType | string | Microsoft Graph attachment type (e.g. #microsoft.graph.fileAttachment) |
↳ lastModifiedDateTime | string | When the attachment was last modified (ISO 8601) |
Get a single attachment on an Outlook message, including its file contents
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | The ID of the message that owns the attachment |
attachmentId | string | Yes | The ID of the attachment to retrieve |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | object | Attachment metadata |
↳ id | string | Unique attachment identifier |
↳ name | string | Attachment filename |
↳ contentType | string | MIME type of the attachment |
↳ size | number | Attachment size in bytes |
↳ isInline | boolean | Whether the attachment is rendered inline in the message body |
↳ attachmentType | string | Microsoft Graph attachment type (e.g. #microsoft.graph.fileAttachment) |
↳ lastModifiedDateTime | string | When the attachment was last modified (ISO 8601) |
attachments | file[] | The downloaded file attachment (empty for non-file attachment types) |
List Outlook calendar events within a start/end time window
| Parameter | Type | Required | Description |
|---|
calendarId | string | No | ID of the calendar to read. Defaults to the mailbox default calendar. Calendars shared by another user are not supported and may return 403. |
startDateTime | string | No | Start of the time window (ISO 8601, e.g. 2025-06-03T00:00:00-08:00). Interpreted as UTC if no offset is given. Required unless paging with pageToken. |
endDateTime | string | No | End of the time window (ISO 8601, e.g. 2025-06-10T00:00:00-08:00). Interpreted as UTC if no offset is given. Required unless paging with pageToken. |
maxResults | number | No | Maximum number of events to return per page (default: 10, max: 100) |
orderBy | string | No | Order of events (default: start/dateTime) |
pageToken | string | No | Full @odata.nextLink URL from a previous page to continue paging |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | array | Array of calendar event objects |
↳ id | string | Unique event identifier |
↳ subject | string | Event subject/title |
↳ bodyPreview | string | Preview of the event body |
↳ start | object | Event start |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ end | object | Event end |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ isAllDay | boolean | Whether the event lasts the entire day |
↳ location | string | Event location display name |
↳ organizer | object | Event organizer |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ attendees | array | Event attendees |
↳ name | string | Attendee display name |
↳ address | string | Attendee email address |
↳ type | string | Attendee type (required, optional, or resource) |
↳ response | string | Attendee response status (none, accepted, declined, tentativelyAccepted, ...) |
↳ onlineMeeting | object | Online-meeting join details, if any |
↳ joinUrl | string | URL to join the online meeting |
↳ webLink | string | URL that opens the event in Outlook on the web |
nextLink | string | URL for the next page of results, if any |
Get a single Outlook calendar event by ID
| Parameter | Type | Required | Description |
|---|
eventId | string | Yes | The ID of the calendar event to retrieve |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | object | The calendar event object |
↳ id | string | Unique event identifier |
↳ subject | string | Event subject/title |
↳ bodyPreview | string | Preview of the event body |
↳ start | object | Event start |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ end | object | Event end |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ isAllDay | boolean | Whether the event lasts the entire day |
↳ location | string | Event location display name |
↳ organizer | object | Event organizer |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ attendees | array | Event attendees |
↳ name | string | Attendee display name |
↳ address | string | Attendee email address |
↳ type | string | Attendee type (required, optional, or resource) |
↳ response | string | Attendee response status (none, accepted, declined, tentativelyAccepted, ...) |
↳ onlineMeeting | object | Online-meeting join details, if any |
↳ joinUrl | string | URL to join the online meeting |
↳ webLink | string | URL that opens the event in Outlook on the web |
Create a new Outlook calendar event
| Parameter | Type | Required | Description |
|---|
calendarId | string | No | ID of the calendar to create the event in. Defaults to the mailbox default calendar. Calendars shared by another user are not supported and may return 403. |
subject | string | Yes | Event subject/title |
startDateTime | string | Yes | Start time (ISO 8601, e.g. 2025-06-03T10:00:00-08:00). A date-only value (2025-06-03) for both start and end creates an all-day event. |
endDateTime | string | Yes | End time (ISO 8601, e.g. 2025-06-03T11:00:00-08:00). A date-only value (2025-06-04) for both start and end creates an all-day event. |
timeZone | string | No | IANA or Windows time zone name (e.g. America/Los_Angeles). Used for datetimes without a UTC offset. Defaults to UTC. |
body | string | No | Event body content |
contentType | string | No | Content type for the event body (text or html) |
location | string | No | Event location display name |
attendees | string | No | Attendee email addresses (comma-separated) |
isAllDay | boolean | No | Whether the event lasts the entire day |
isOnlineMeeting | boolean | No | Attach an online meeting to the event. The join URL depends on the meeting providers the mailbox allows (Teams on work/school accounts); personal accounts have no supported provider, so onlineMeeting.joinUrl stays null there. |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | object | The created calendar event object |
↳ id | string | Unique event identifier |
↳ subject | string | Event subject/title |
↳ bodyPreview | string | Preview of the event body |
↳ start | object | Event start |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ end | object | Event end |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ isAllDay | boolean | Whether the event lasts the entire day |
↳ location | string | Event location display name |
↳ organizer | object | Event organizer |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ attendees | array | Event attendees |
↳ name | string | Attendee display name |
↳ address | string | Attendee email address |
↳ type | string | Attendee type (required, optional, or resource) |
↳ response | string | Attendee response status (none, accepted, declined, tentativelyAccepted, ...) |
↳ onlineMeeting | object | Online-meeting join details, if any |
↳ joinUrl | string | URL to join the online meeting |
↳ webLink | string | URL that opens the event in Outlook on the web |
Update an existing Outlook calendar event
| Parameter | Type | Required | Description |
|---|
eventId | string | Yes | The ID of the calendar event to update |
subject | string | No | New event subject/title |
startDateTime | string | No | New start time (ISO 8601). A date-only value (2025-06-03) converts the event to all-day. |
endDateTime | string | No | New end time (ISO 8601). A date-only value (2025-06-04) converts the event to all-day. |
timeZone | string | No | IANA or Windows time zone name applied to updated datetimes without a UTC offset. Defaults to UTC. |
body | string | No | New event body content |
contentType | string | No | Content type for the event body (text or html) |
location | string | No | New event location display name |
attendees | string | No | Replacement attendee email addresses (comma-separated) |
isAllDay | boolean | No | Whether the event lasts the entire day. Setting this true requires also sending startDateTime, since Graph needs midnight bounds. |
isOnlineMeeting | boolean | No | Attach an online meeting to the event. The join URL depends on the meeting providers the mailbox allows (Teams on work/school accounts); personal accounts have no supported provider, so onlineMeeting.joinUrl stays null there. |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | object | The updated calendar event object |
↳ id | string | Unique event identifier |
↳ subject | string | Event subject/title |
↳ bodyPreview | string | Preview of the event body |
↳ start | object | Event start |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ end | object | Event end |
↳ dateTime | string | Local date and time (ISO 8601, no offset) |
↳ timeZone | string | IANA or Windows time zone name |
↳ isAllDay | boolean | Whether the event lasts the entire day |
↳ location | string | Event location display name |
↳ organizer | object | Event organizer |
↳ name | string | Display name of the person or entity |
↳ address | string | Email address |
↳ attendees | array | Event attendees |
↳ name | string | Attendee display name |
↳ address | string | Attendee email address |
↳ type | string | Attendee type (required, optional, or resource) |
↳ response | string | Attendee response status (none, accepted, declined, tentativelyAccepted, ...) |
↳ onlineMeeting | object | Online-meeting join details, if any |
↳ joinUrl | string | URL to join the online meeting |
↳ webLink | string | URL that opens the event in Outlook on the web |
Delete an Outlook calendar event by ID
| Parameter | Type | Required | Description |
|---|
eventId | string | Yes | The ID of the calendar event to delete |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | object | Delete result details |
↳ eventId | string | ID of the deleted event |
↳ status | string | Deletion status |
Accept, tentatively accept, or decline an Outlook calendar event invitation
| Parameter | Type | Required | Description |
|---|
eventId | string | Yes | The ID of the calendar event to respond to |
responseType | string | Yes | The response: accept, tentativelyAccept, or decline |
comment | string | No | Optional comment to include with the response |
sendResponse | boolean | No | Whether to send a response to the organizer (default: true) |
| Parameter | Type | Description |
|---|
message | string | Success or status message |
results | object | Response result details |
↳ eventId | string | ID of the event responded to |
↳ responseType | string | The response that was sent |
↳ status | string | Response status |
↳ httpStatus | number | HTTP status code returned by the API |
↳ requestId | string | Microsoft Graph request-id header for tracing |
A Trigger is a block that starts a workflow when an event happens in this service.
These run on a schedule (polling-based) — they check for new data rather than receiving push notifications.
Triggers when new emails are received in Outlook (requires Microsoft credentials)
| Parameter | Type | Required | Description |
|---|
triggerCredentials | string | Yes | This trigger requires outlook credentials to access your account. |
folderIds | string | No | Choose which Outlook folders to monitor. Leave empty to monitor all emails. |
folderFilterBehavior | string | Yes | Include only emails from selected folders, or exclude emails from selected folders |
markAsRead | boolean | No | Automatically mark emails as read after processing |
includeAttachments | boolean | No | Download and include email attachments in the trigger payload |
| Parameter | Type | Description |
|---|
email | object | email output from the tool |
↳ id | string | Outlook message ID |
↳ conversationId | string | Outlook conversation ID |
↳ subject | string | Email subject line |
↳ from | string | Sender email address |
↳ to | string | Recipient email address |
↳ cc | string | CC recipients |
↳ date | string | Email date in ISO format |
↳ bodyText | string | Plain text email body |
↳ bodyHtml | string | HTML email body |
↳ hasAttachments | boolean | Whether email has attachments |
↳ attachments | file[] | Array of email attachments as files (if includeAttachments is enabled) |
↳ isRead | boolean | Whether email is read |
↳ folderId | string | Outlook folder ID where email is located |
↳ messageId | string | Message ID for threading |
↳ threadId | string | Thread ID for conversation threading |
timestamp | string | Event timestamp |