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.
Sim requests these scopes when someone connects an Outlook account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Setting Value Redirect URI <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/outlookEnvironment variables MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET
Scope Description openidStandard authentication profileAccess profile information emailAccess email address Mail.ReadWriteRead, create, update, and delete your email Mail.ReadBasicRead email properties, excluding body and attachments Mail.ReadRead your email Mail.SendSend emails Calendars.ReadWriteRead and manage Outlook calendar events offline_accessAccess account when not using the application
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
Inputs and outputsParameter Type Required Description tostring Yes Recipient email address (comma-separated for multiple recipients) subjectstring Yes Email subject bodystring Yes Email body content contentTypestring No Content type for the email body (text or html) replyToMessageIdstring No Message ID to reply to (for threading) ccstring No CC recipients (comma-separated) bccstring No BCC recipients (comma-separated) attachmentsfile[] No Files to attach to the email
Parameter Type Description successboolean Email send success status statusstring Delivery status of the email timestampstring Timestamp when email was sent messagestring Success or error message
Draft emails using Outlook
Inputs and outputsParameter Type Required Description tostring Yes Recipient email address subjectstring Yes Email subject bodystring Yes Email body content contentTypestring No Content type for the email body (text or html) ccstring No CC recipients (comma-separated) bccstring No BCC recipients (comma-separated) attachmentsfile[] No Files to attach to the email draft
Parameter Type Description successboolean Email draft creation success status messageIdstring Unique identifier for the drafted email statusstring Draft status of the email subjectstring Subject of the drafted email timestampstring Timestamp when draft was created messagestring Success or error message
Read emails from Outlook
Inputs and outputsParameter Type Required Description folderstring No Folder ID to read emails from (e.g., "Inbox", "Drafts", or a folder ID) maxResultsnumber No Maximum number of emails to retrieve (default: 1, max: 10) includeAttachmentsboolean No Whether to download and include email attachments
Parameter Type Description messagestring Success or status message resultsarray 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) attachmentsfile[] All email attachments flattened from all emails
Search Outlook messages using a free-text query (Microsoft Graph $search)
Inputs and outputsParameter Type Required Description querystring Yes Search text matched against the subject, body, sender, and recipients of messages maxResultsnumber No Maximum number of messages to retrieve (default: 10, max: 25)
Parameter Type Description messagestring Success or status message resultsarray 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
Inputs and outputsParameter Type Required Description messageIdstring Yes The ID of the message to reply to commentstring No The reply text to include above the original message
Parameter Type Description messagestring Success or error message resultsobject 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
Inputs and outputsParameter Type Required Description messageIdstring Yes The ID of the message to reply to commentstring No The reply text to include above the original message
Parameter Type Description messagestring Success or error message resultsobject 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
Inputs and outputsParameter Type Required Description messageIdstring Yes The ID of the message to forward tostring Yes Recipient email address(es), comma-separated commentstring No Optional comment to include with the forwarded message
Parameter Type Description messagestring Success or error message resultsobject 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
Inputs and outputsParameter Type Required Description messageIdstring Yes ID of the message to move destinationIdstring Yes ID of the destination folder
Parameter Type Description successboolean Email move success status messagestring Success or error message messageIdstring ID of the moved message newFolderIdstring ID of the destination folder
Copy an Outlook message to another folder
Inputs and outputsParameter Type Required Description messageIdstring Yes ID of the message to copy destinationIdstring Yes ID of the destination folder
Parameter Type Description successboolean Email copy success status messagestring Success or error message originalMessageIdstring ID of the original message copiedMessageIdstring ID of the copied message destinationFolderIdstring ID of the destination folder
Mark an Outlook message as read
Inputs and outputsParameter Type Required Description messageIdstring Yes ID of the message to mark as read
Parameter Type Description successboolean Operation success status messagestring Success or error message messageIdstring ID of the message isReadboolean Read status of the message
Mark an Outlook message as unread
Inputs and outputsParameter Type Required Description messageIdstring Yes ID of the message to mark as unread
Parameter Type Description successboolean Operation success status messagestring Success or error message messageIdstring ID of the message isReadboolean Read status of the message
Set the categories, follow-up flag, and importance on an Outlook message
Inputs and outputsParameter Type Required Description messageIdstring Yes The ID of the message to update categoriesjson No Array of category names to assign to the message (replaces existing categories; leave empty to keep them unchanged) flagStatusstring No Follow-up flag status: notFlagged, flagged, or complete importancestring No Message importance: low, normal, or high
Parameter Type Description messagestring Success or error message resultsobject 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)
Inputs and outputsParameter Type Required Description messageIdstring Yes ID of the message to delete
Parameter Type Description successboolean Operation success status messagestring Success or error message messageIdstring ID of the deleted message statusstring Deletion status
List mail folders in the root of the Outlook mailbox
Inputs and outputsParameter Type Required Description maxResultsnumber No Maximum number of folders to retrieve (default: 50, max: 100) includeHiddenFoldersboolean No Whether to include hidden folders in the results
Parameter Type Description messagestring Success or status message resultsarray 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
Inputs and outputsParameter Type Required Description displayNamestring Yes The display name of the new folder isHiddenboolean No Whether the new folder is hidden (cannot be changed after creation)
Parameter Type Description messagestring Success or status message resultsobject 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)
Inputs and outputsParameter Type Required Description messageIdstring Yes The ID of the message whose attachments to list
Parameter Type Description messagestring Success or status message resultsarray 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
Inputs and outputsParameter Type Required Description messageIdstring Yes The ID of the message that owns the attachment attachmentIdstring Yes The ID of the attachment to retrieve
Parameter Type Description messagestring Success or status message resultsobject 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) attachmentsfile[] The downloaded file attachment (empty for non-file attachment types)
List Outlook calendar events within a start/end time window
Inputs and outputsParameter Type Required Description calendarIdstring 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. startDateTimestring 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. endDateTimestring 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. maxResultsnumber No Maximum number of events to return per page (default: 10, max: 100) orderBystring No Order of events (default: start/dateTime) pageTokenstring No Full @odata.nextLink URL from a previous page to continue paging
Parameter Type Description messagestring Success or status message resultsarray 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 nextLinkstring URL for the next page of results, if any
Get a single Outlook calendar event by ID
Inputs and outputsParameter Type Required Description eventIdstring Yes The ID of the calendar event to retrieve
Parameter Type Description messagestring Success or status message resultsobject 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
Inputs and outputsParameter Type Required Description calendarIdstring 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. subjectstring Yes Event subject/title startDateTimestring 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. endDateTimestring 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. timeZonestring No IANA or Windows time zone name (e.g. America/Los_Angeles). Used for datetimes without a UTC offset. Defaults to UTC. bodystring No Event body content contentTypestring No Content type for the event body (text or html) locationstring No Event location display name attendeesstring No Attendee email addresses (comma-separated) isAllDayboolean No Whether the event lasts the entire day isOnlineMeetingboolean 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 messagestring Success or status message resultsobject 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
Inputs and outputsParameter Type Required Description eventIdstring Yes The ID of the calendar event to update subjectstring No New event subject/title startDateTimestring No New start time (ISO 8601). A date-only value (2025-06-03) converts the event to all-day. endDateTimestring No New end time (ISO 8601). A date-only value (2025-06-04) converts the event to all-day. timeZonestring No IANA or Windows time zone name applied to updated datetimes without a UTC offset. Defaults to UTC. bodystring No New event body content contentTypestring No Content type for the event body (text or html) locationstring No New event location display name attendeesstring No Replacement attendee email addresses (comma-separated) isAllDayboolean No Whether the event lasts the entire day. Setting this true requires also sending startDateTime, since Graph needs midnight bounds. isOnlineMeetingboolean 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 messagestring Success or status message resultsobject 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
Inputs and outputsParameter Type Required Description eventIdstring Yes The ID of the calendar event to delete
Parameter Type Description messagestring Success or status message resultsobject Delete result details ↳ eventId string ID of the deleted event ↳ status string Deletion status
Accept, tentatively accept, or decline an Outlook calendar event invitation
Inputs and outputsParameter Type Required Description eventIdstring Yes The ID of the calendar event to respond to responseTypestring Yes The response: accept, tentativelyAccept, or decline commentstring No Optional comment to include with the response sendResponseboolean No Whether to send a response to the organizer (default: true)
Parameter Type Description messagestring Success or status message resultsobject 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 starts a workflow when a supported event occurs in this service.
These triggers poll for new data on a schedule.
Triggers when new emails are received in Outlook (requires Microsoft credentials)
Configuration and outputsParameter Type Required Description triggerCredentialsstring Yes This trigger requires outlook credentials to access your account. folderIdsstring No Choose which Outlook folders to monitor. Leave empty to monitor all emails. folderFilterBehaviorstring Yes Include only emails from selected folders, or exclude emails from selected folders markAsReadboolean No Automatically mark emails as read after processing includeAttachmentsboolean No Download and include email attachments in the trigger payload
Parameter Type Description emailobject ↳ 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 timestampstring Event timestamp