Reference · Tools

Microsoft Outlook

Manage Microsoft 365 email, calendars, contacts, and mail folders via the Microsoft Graph API. Supports sending/receiving email with attachments, managing drafts, creating calendar events, managing contacts, and organizing mail folders.

Action (binary) Communication v1 Binary data

The Microsoft Outlook node covers Microsoft 365 mail, calendars, contacts and folders through the Graph API: sending and receiving mail with attachments, managing drafts, creating calendar events and organising folders. A typical build is filing incoming invoices by downloading their attachments and moving the message to a processed folder.

Node type
Action (binary)
Parameters
64
Outputs
Output, Error
Credentials
Microsoft OAuth2

Microsoft Outlook

Manage Microsoft 365 email, calendars, contacts, and folders with attachment support

Overview

The Microsoft Outlook tool provides comprehensive access to Microsoft 365 email, calendar, contacts, and folder management via the Microsoft Graph API v1.0. It supports: (1) Messages — send, get, getAll, delete, move, update, and reply with binary attachment support; (2) Drafts — create, get, getAll, delete, send, update with binary attachments; (3) Calendars — create, get, getAll, delete, update; (4) Events — create, get, getAll, delete, update with timezone and all-day support; (5) Contacts — create, get, getAll, delete, update with rich contact fields; (6) Mail Folders — create, get, getAll, delete, update with recursive subfolder listing; (7) Folder Messages — getAll with filtering; (8) Message Attachments — add (with chunked upload for large files), download, get, getAll. Authentication via Microsoft OAuth2 with automatic token refresh and shared mailbox support.

Category: Communication
Tool Name: microsoft_outlook
Version: 1

Appearance: Icon: lucide-Mail | Color: #0078D4

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Microsoft OAuth2 credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Calendarcalendar
Contactcontact
Draftdraft
Eventevent
Folderfolder
Folder MessagefolderMessage
Messagemessage
Message AttachmentmessageAttachment

Operations

OperationValueDescription
DeletedeleteDelete a message
GetgetGet a message
Get ManygetAllList messages
MovemoveMove a message to a folder
ReplyreplyReply to a message
SendsendSend a new email
UpdateupdateUpdate a message
CreatecreateCreate a draft
DeletedeleteDelete a draft
GetgetGet a draft
Get ManygetAllList drafts
SendsendSend a draft
UpdateupdateUpdate a draft
CreatecreateCreate a calendar
DeletedeleteDelete a calendar
GetgetGet a calendar
Get ManygetAllList calendars
UpdateupdateUpdate a calendar
CreatecreateCreate an event
DeletedeleteDelete an event
GetgetGet an event
Get ManygetAllList events
UpdateupdateUpdate an event
CreatecreateCreate a contact
DeletedeleteDelete a contact
GetgetGet a contact
Get ManygetAllList contacts
UpdateupdateUpdate a contact
CreatecreateCreate a mail folder
DeletedeleteDelete a mail folder
GetgetGet a mail folder
Get ManygetAllList mail folders
UpdateupdateRename a mail folder
Get ManygetAllList messages in a folder
AddaddAdd an attachment to a message
DownloaddownloadDownload an attachment
GetgetGet attachment metadata
Get ManygetAllList attachments on a message

The operation list is scoped to the resource you pick, which is why the same values appear against several resources.

Parameters

Message: Send

ParameterTypeRequiredDefaultDescription
TostringYesComma-separated list of email addresses of recipients. Supports expressions like {{ $json.email }}.
Subject (subject)stringNoThe subject of the message. Supports expressions.
Message (bodyContent)stringNoMessage body content. Supports expressions.
Additional Fields (additionalFields)collectionNo{}Extra recipients, attachments and delivery settings.
— Attachment Binary PropertiesstringNoComma-separated list of binary property names to attach (e.g. “data,attachment_0”).
— BCC RecipientsstringNoComma-separated list of BCC email addresses.
— CategoriesstringNoComma-separated list of category names.
— CC RecipientsstringNoComma-separated list of CC email addresses.
— Custom HeadersjsonNo[]JSON array of {name, value} objects for custom headers.
— FromstringNoThe owner of the mailbox from which the message is sent.
— ImportanceoptionsNoNormalMessage importance flag.
Options: Low, Normal, High
— Message TypeoptionsNohtmlWhether the body is HTML or plain text.
Options: html (HTML), Text
— Read Receipt RequestedbooleanNofalseWhether to ask for a read receipt.
— Reply TostringNoAddress replies should go to.
— Save To Sent ItemsbooleanNotrueWhether a copy is kept in Sent Items.

Message: Get

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions like {{ $json.messageId }}.
OutputoptionsNosimpleHow much of the record to return.
Options: simple (Simplified), raw (Raw), fields (Select Included Fields)
FieldsstringNoComma-separated list of fields to include in the output (for Select Included Fields mode). (shown when Output is fields)
OptionscollectionNo{}Attachment and MIME download settings.
— Download AttachmentsbooleanNofalseWhether to download message attachments as binary data.
— Attachments PrefixstringNoattachment_Prefix for binary property names (e.g. attachment_0, attachment_1).
— Get MIME ContentbooleanNofalseWhether to also download the raw MIME content as .eml file.
— MIME Binary PropertystringNodataBinary property name for the MIME content.
— MIME File NamestringNoCustom filename for the MIME .eml file (defaults to message ID).

Message: Get Many

ParameterTypeRequiredDefaultDescription
OutputoptionsNosimpleHow much of each record to return.
Options: simple, raw, fields
FieldsstringNoComma-separated list of fields to include in the output (for Select Included Fields mode). (shown when Output is fields)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrow the messages returned.
— Filter ByoptionsNofiltersWhether to build a filter from the fields below or run a free-text search.
Options: filters (Filters), search (Search)
— SearchstringNoFree-text search string.
— Custom Filter QuerystringNoRaw OData $filter expression.
— Has AttachmentsbooleanNofalseOnly messages carrying attachments.
— Read StatusoptionsNobothWhether to include read, unread or both.
Options: both (Unread and Read), unread (Unread Only), read (Read Only)
— SenderstringNoOnly messages from this sender.
— Received AfterstringNoOnly messages received after this ISO datetime.
— Received BeforestringNoOnly messages received before this ISO datetime.
— Folders to IncludestringNoComma-separated folder IDs to include.
— Folders to ExcludestringNoComma-separated folder IDs to exclude.
OptionscollectionNo{}Attachment and MIME download settings.
— Download AttachmentsbooleanNofalseWhether to download message attachments as binary data.
— Attachments PrefixstringNoattachment_Prefix for binary property names (e.g. attachment_0, attachment_1).
— Get MIME ContentbooleanNofalseWhether to also download the raw MIME content as .eml file.
— MIME Binary PropertystringNodataBinary property name for the MIME content.
— MIME File NamestringNoCustom filename for the MIME .eml file (defaults to message ID).

Message: Delete

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.

Message: Move

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.
Destination Folder IDstringYesThe ID of the folder to move the message to. Supports expressions.

Message: Update

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.
Update Fields (updateFields)collectionNo{}The message properties to change.
— BCC RecipientsstringNoComma-separated list of BCC email addresses.
— CategoriesstringNoComma-separated list of category names.
— CC RecipientsstringNoComma-separated list of CC email addresses.
— Custom HeadersjsonNo[]JSON array of {name, value} objects for custom headers.
— Folder IDstringNoMove message to this folder as part of the update.
— ImportanceoptionsNoNormalMessage importance flag.
Options: Low, Normal, High
— Is ReadbooleanNofalseWhether the message is marked read.
— MessagestringNoReplacement body content.
— Message TypeoptionsNohtmlWhether the body is HTML or plain text.
Options: html, Text
— Read Receipt RequestedbooleanNofalseWhether to ask for a read receipt.
— Reply TostringNoAddress replies should go to.
— SubjectstringNoReplacement subject line.
— TostringNoReplacement recipient list.

Message: Reply

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.
Reply to Sender OnlybooleanNofalseWhether to reply to the sender only or to all recipients.
Message (replyMessage)stringNoReply message body content. Supports expressions.
Additional Fields (replyAdditionalFields)collectionNo{}Extra recipients, attachments and delivery settings for the reply.
— Attachment Binary PropertiesstringNoComma-separated list of binary property names to attach.
— BCC RecipientsstringNoComma-separated list of BCC email addresses.
— CC RecipientsstringNoComma-separated list of CC email addresses.
— FromstringNoThe mailbox the reply is sent from.
— ImportanceoptionsNoNormalMessage importance flag.
Options: Low, Normal, High
— Message TypeoptionsNohtmlWhether the body is HTML or plain text.
Options: html, Text
— Read Receipt RequestedbooleanNofalseWhether to ask for a read receipt.
— Reply TostringNoAddress replies should go to.
— Save as DraftbooleanNofalseSave the reply as a draft instead of sending it.
— SubjectstringNoOverride the reply subject.
— TostringNoOverride the reply recipients.

Draft: Create

ParameterTypeRequiredDefaultDescription
Subject (draftSubject)stringNoThe subject of the draft. Supports expressions.
Message (draftBodyContent)stringNoThe draft body content. Supports expressions.
Additional Fields (draftAdditionalFields)collectionNo{}Extra recipients, attachments and delivery settings.
— Attachment Binary PropertiesstringNoComma-separated list of binary property names to attach.
— BCC RecipientsstringNoComma-separated list of BCC email addresses.
— CategoriesstringNoComma-separated list of category names.
— CC RecipientsstringNoComma-separated list of CC email addresses.
— Custom HeadersjsonNo[]JSON array of {name, value} objects for custom headers.
— FromstringNoThe mailbox the draft is written from.
— ImportanceoptionsNoNormalMessage importance flag.
Options: Low, Normal, High
— Message TypeoptionsNohtmlWhether the body is HTML or plain text.
Options: html, Text
— Read Receipt RequestedbooleanNofalseWhether to ask for a read receipt.
— Reply TostringNoAddress replies should go to.
— TostringNoComma-separated recipient list.

Draft: Get

ParameterTypeRequiredDefaultDescription
Draft IDstringYesThe ID of the draft. Supports expressions.
OutputoptionsNosimpleHow much of the record to return.
Options: simple, raw, fields
FieldsstringNoComma-separated list of fields to include in the output (for Select Included Fields mode). (shown when Output is fields)
OptionscollectionNo{}Attachment and MIME download settings.
— Download AttachmentsbooleanNofalseWhether to download message attachments as binary data.
— Attachments PrefixstringNoattachment_Prefix for binary property names.
— Get MIME ContentbooleanNofalseWhether to also download the raw MIME content as .eml file.
— MIME Binary PropertystringNodataBinary property name for the MIME content.
— MIME File NamestringNoCustom filename for the MIME .eml file (defaults to message ID).

Draft: Get Many

ParameterTypeRequiredDefaultDescription
OutputoptionsNosimpleHow much of each record to return.
Options: simple, raw, fields
FieldsstringNoComma-separated list of fields to include in the output. (shown when Output is fields)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
OptionscollectionNo{}Attachment and MIME download settings.
— Download AttachmentsbooleanNofalseWhether to download message attachments as binary data.
— Attachments PrefixstringNoattachment_Prefix for binary property names.
— Get MIME ContentbooleanNofalseWhether to also download the raw MIME content as .eml file.
— MIME Binary PropertystringNodataBinary property name for the MIME content.
— MIME File NamestringNoCustom filename for the MIME .eml file.

Draft: Delete

ParameterTypeRequiredDefaultDescription
Draft IDstringYesThe ID of the draft. Supports expressions.

Draft: Send

ParameterTypeRequiredDefaultDescription
Draft IDstringYesThe ID of the draft. Supports expressions.
To (Override)stringNoOptionally update recipients before sending.

Draft: Update

ParameterTypeRequiredDefaultDescription
Draft IDstringYesThe ID of the draft. Supports expressions.
Update Fields (draftUpdateFields)collectionNo{}The draft properties to change.
— BCC RecipientsstringNoComma-separated list of BCC email addresses.
— CategoriesstringNoComma-separated list of category names.
— CC RecipientsstringNoComma-separated list of CC email addresses.
— FromstringNoThe mailbox the draft is written from.
— ImportanceoptionsNoNormalMessage importance flag.
Options: Low, Normal, High
— Is ReadbooleanNofalseWhether the draft is marked read.
— MessagestringNoReplacement body content.
— Message TypeoptionsNohtmlWhether the body is HTML or plain text.
Options: html, Text
— Read Receipt RequestedbooleanNofalseWhether to ask for a read receipt.
— Reply TostringNoAddress replies should go to.
— SubjectstringNoReplacement subject line.
— TostringNoReplacement recipient list.

Calendar: Create

ParameterTypeRequiredDefaultDescription
NamestringYesThe name of the new calendar. Supports expressions.
Additional Fields (calendarAdditionalFields)collectionNo{}Optional placement and appearance.
— Calendar Group IDstringNoCreate calendar in this calendar group.
— ColoroptionsNolightBlueThe calendar’s colour in Outlook.
Options: lightBlue, lightBrown, lightGray, lightGreen, lightOrange, lightPink, lightRed, lightTeal, lightYellow

Calendar: Get

ParameterTypeRequiredDefaultDescription
Calendar IDstringYesThe ID of the calendar. Supports expressions.

Calendar: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
Custom Filter (calendarFilter)stringNoOData $filter query for calendars.

Calendar: Delete

ParameterTypeRequiredDefaultDescription
Calendar IDstringYesThe ID of the calendar. Supports expressions.

Calendar: Update

ParameterTypeRequiredDefaultDescription
Calendar IDstringYesThe ID of the calendar. Supports expressions.
Update Fields (calendarUpdateFields)collectionNo{}The calendar properties to change.
— ColoroptionsNolightBlueThe calendar’s colour in Outlook.
Options: lightBlue, lightBrown, lightGray, lightGreen, lightOrange, lightPink, lightRed, lightTeal, lightYellow
— Is Default CalendarbooleanNofalseWhether this becomes the mailbox’s default calendar.
— NamestringNoReplacement calendar name.

Event: Create

ParameterTypeRequiredDefaultDescription
Calendar IDstringYesThe ID of the calendar for this event. Supports expressions.
TitlestringYesThe event title. Supports expressions.
StartstringYesISO 8601 datetime string. Supports expressions.
EndstringYesISO 8601 datetime string. Supports expressions.
Additional Fields (eventAdditionalFields)collectionNo{}Optional event detail.
— CategoriesstringNoComma-separated list of category names.
— DescriptionstringNoThe event body text.
— Hide AttendeesbooleanNofalseWhether attendees are hidden from each other.
— ImportanceoptionsNonormalEvent importance flag.
Options: low, normal, high
— Is All DaybooleanNofalseWhether the event covers the whole day.
— Is Online MeetingbooleanNofalseWhether an online meeting link is attached.
— SensitivityoptionsNonormalThe event’s privacy level.
Options: normal, personal, private, confidential
— Show AsoptionsNobusyHow the time appears in free/busy.
Options: busy, free, oof (out of office), tentative, workingElsewhere
— TimezonestringNoUTCTimezone the start and end values are expressed in.

Event: Get

ParameterTypeRequiredDefaultDescription
Event IDstringYesThe ID of the event. Supports expressions.
OutputoptionsNosimpleHow much of the record to return.
Options: simple, raw, fields
FieldsstringNoComma-separated list of fields to include in the output. (shown when Output is fields)

Event: Get Many

ParameterTypeRequiredDefaultDescription
Calendar IDstringYesThe ID of the calendar for this event. Supports expressions.
OutputoptionsNosimpleHow much of each record to return.
Options: simple, raw, fields
FieldsstringNoComma-separated list of fields to include in the output. (shown when Output is fields)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
From All CalendarsbooleanNofalseWhether to fetch events from all calendars.
Custom Filter (eventFilter)stringNoOData $filter query for events.

Event: Delete

ParameterTypeRequiredDefaultDescription
Event IDstringYesThe ID of the event. Supports expressions.

Event: Update

ParameterTypeRequiredDefaultDescription
Event IDstringYesThe ID of the event. Supports expressions.
Update Fields (eventUpdateFields)collectionNo{}The event properties to change.
— CategoriesstringNoComma-separated list of category names.
— DescriptionstringNoThe event body text.
— EndstringNoReplacement end datetime (ISO 8601).
— Hide AttendeesbooleanNofalseWhether attendees are hidden from each other.
— ImportanceoptionsNonormalEvent importance flag.
Options: low, normal, high
— Is All DaybooleanNofalseWhether the event covers the whole day.
— Is Online MeetingbooleanNofalseWhether an online meeting link is attached.
— SensitivityoptionsNonormalThe event’s privacy level.
Options: normal, personal, private, confidential
— Show AsoptionsNobusyHow the time appears in free/busy.
Options: busy, free, oof, tentative, workingElsewhere
— StartstringNoReplacement start datetime (ISO 8601).
— SubjectstringNoReplacement event title.
— TimezonestringNoUTCTimezone the start and end values are expressed in.

Contact: Create

ParameterTypeRequiredDefaultDescription
Given NamestringYesThe contact’s given name. Supports expressions.
Additional Fields (contactAdditionalFields)collectionNo{}The rest of the contact card.
— Assistant NamestringNoName of the contact’s assistant.
— BirthdaystringNoBirthday as an ISO date.
— Business AddressjsonNo{}Business address object.
— Business Home PagestringNoBusiness web page.
— Business PhonesstringNoComma-separated business phone numbers.
— CategoriesstringNoComma-separated list of category names.
— ChildrenstringNoComma-separated names of children.
— Company NamestringNoEmployer name.
— DepartmentstringNoDepartment within the company.
— Display NamestringNoThe name shown in Outlook.
— Email AddressesjsonNo[]JSON array of {name, address} objects.
— File AsstringNoHow the contact is filed/sorted.
— Home AddressjsonNo{}Home address object.
— Home PhonesstringNoComma-separated home phone numbers.
— IM AddressesstringNoComma-separated instant-messaging addresses.
— InitialsstringNoThe contact’s initials.
— Job TitlestringNoThe contact’s job title.
— ManagerstringNoThe contact’s manager.
— Middle NamestringNoThe contact’s middle name.
— Mobile PhonestringNoMobile phone number.
— Nick NamestringNoThe contact’s nickname.
— Office LocationstringNoOffice location.
— Other AddressjsonNo{}Additional address object.
— Personal NotesstringNoFree-text notes.
— ProfessionstringNoThe contact’s profession.
— Spouse NamestringNoName of the contact’s spouse.
— SurnamestringNoThe contact’s surname.
— TitlestringNoHonorific title.

Contact: Get

ParameterTypeRequiredDefaultDescription
Contact IDstringYesThe ID of the contact. Supports expressions.
OutputoptionsNosimpleHow much of the record to return.
Options: simple, raw, fields
FieldsstringNoComma-separated list of fields to include in the output. (shown when Output is fields)

Contact: Get Many

ParameterTypeRequiredDefaultDescription
OutputoptionsNosimpleHow much of each record to return.
Options: simple, raw, fields
FieldsstringNoComma-separated list of fields to include in the output. (shown when Output is fields)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
Email FilterstringNoFilter contacts by email address.
Custom Filter (contactFilter)stringNoOData $filter query for contacts.

Contact: Delete

ParameterTypeRequiredDefaultDescription
Contact IDstringYesThe ID of the contact. Supports expressions.

Contact: Update

ParameterTypeRequiredDefaultDescription
Contact IDstringYesThe ID of the contact. Supports expressions.
Update Fields (contactUpdateFields)collectionNo{}The contact properties to change.
— Business PhonesstringNoComma-separated business phone numbers.
— CategoriesstringNoComma-separated list of category names.
— Company NamestringNoEmployer name.
— DepartmentstringNoDepartment within the company.
— Display NamestringNoThe name shown in Outlook.
— Email AddressesjsonNo[]JSON array of {name, address} objects.
— Given NamestringNoThe contact’s given name.
— Job TitlestringNoThe contact’s job title.
— Mobile PhonestringNoMobile phone number.
— SurnamestringNoThe contact’s surname.

Folder: Create

ParameterTypeRequiredDefaultDescription
Display NamestringYesThe name of the new mail folder. Supports expressions.
Parent Folder ID (parentFolderId)stringNoOptional parent folder ID for creating a subfolder.

Folder: Get

ParameterTypeRequiredDefaultDescription
Folder IDstringYesThe ID of the mail folder. Supports expressions.

Folder: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
Include Child FoldersbooleanNofalseWhether to recursively include subfolders.
Parent Folder ID (parentFolderFilter)stringNoScope listing to this parent folder.

Folder: Delete

ParameterTypeRequiredDefaultDescription
Folder IDstringYesThe ID of the mail folder. Supports expressions.

Folder: Update

ParameterTypeRequiredDefaultDescription
Folder IDstringYesThe ID of the mail folder. Supports expressions.
New Display NamestringYesThe folder’s new name. Supports expressions.

Folder Message: Get Many

ParameterTypeRequiredDefaultDescription
Folder IDstringYesThe ID of the mail folder to list messages from. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrow the messages returned.
— Filter ByoptionsNofiltersWhether to build a filter from the fields below or run a free-text search.
Options: filters, search
— SearchstringNoFree-text search string.
— Custom Filter QuerystringNoRaw OData $filter expression.
— Has AttachmentsbooleanNofalseOnly messages carrying attachments.
— Read StatusoptionsNobothWhether to include read, unread or both.
Options: both, unread, read
— SenderstringNoOnly messages from this sender.
— Received AfterstringNoOnly messages received after this ISO datetime.
— Received BeforestringNoOnly messages received before this ISO datetime.
— Folders to IncludestringNoComma-separated folder IDs to include.
— Folders to ExcludestringNoComma-separated folder IDs to exclude.
OptionscollectionNo{}Attachment and MIME download settings.
— Download AttachmentsbooleanNofalseWhether to download message attachments as binary data.
— Attachments PrefixstringNoattachment_Prefix for binary property names.
— Get MIME ContentbooleanNofalseWhether to also download the raw MIME content as .eml file.
— MIME Binary PropertystringNodataBinary property name for the MIME content.
— MIME File NamestringNoCustom filename for the MIME .eml file.

Message Attachment: Add

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.
Binary PropertystringNodataName of the binary property to upload as attachment.
File NamestringNoOverride filename for the attachment.

Message Attachment: Download

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.
Attachment IDstringYesThe ID of the attachment. Supports expressions.
Binary PropertystringNodataBinary property the downloaded file is written to.

Message Attachment: Get

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.
Attachment IDstringYesThe ID of the attachment. Supports expressions.

Message Attachment: Get Many

ParameterTypeRequiredDefaultDescription
Message IDstringYesThe ID of the message. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)

All Operations

ParameterTypeRequiredDefaultDescription
Microsoft AccountcredentialNoConnect your Microsoft account via OAuth2.
Max ConcurrencynumberNo5Maximum number of items to process concurrently. Keep low to avoid Microsoft Graph rate limits.

Output Data

This node never fans out — every operation produces exactly one output item per input item, including the list operations. The result is merged into the item JSON at the top level, so the fields the input item already carried pass through unchanged.

Operation shapeWhat lands on the item
Any getAllresults — the array of records — plus totalCount. Use a Split Out node on results if you want one workflow item per record
get, create, updateThe Microsoft Graph resource merged at the top level
message / send, any delete, message / move, messageAttachment / addsuccess: true
message / replyThe reply Graph returned, plus senttrue when it was sent, false when Save as Draft kept it as a draft
messageAttachment / downloadattachmentId and attachmentName, with the file itself written to the binary property named in Binary Property

Binary in and out.

  • Sending: list upstream binary property names in Additional Fields → Attachment Binary Properties (message send, reply and draft create), or name a single one in Message Attachment: Add. Large files are uploaded in chunks automatically.
  • Receiving: turn on Options → Download Attachments on a message, draft or folder-message read, and each attachment arrives as its own binary property named with Attachments Prefix (attachment_0, attachment_1, …). Options → Get MIME Content additionally writes the whole message as a .eml file on the MIME Binary Property.
  • Binary already on the input item is forwarded through untouched.

Output controls the field set. simple returns a trimmed selection, raw returns everything Microsoft Graph sends, and fields returns exactly the comma-separated list you put in Fields.

Usage Examples

  • Send an email with file attachments via Outlook
  • Download all attachments from an Outlook message
  • Create a calendar event in Microsoft 365
  • List unread messages in a mail folder
  • Reply to an email with attachments
  • Create a contact in Outlook
  • Add a large file attachment to a draft

Example Configuration

Send an HTML email with CC and high importance:

{
  "type": "microsoft_outlook",
  "parameters": {
    "resource": "message",
    "operation": "send",
    "toRecipients": "recipient@example.com,another@example.com",
    "subject": "Important Update",
    "bodyContent": "<p>This is an HTML email body.</p>",
    "additionalFields": {
      "ccRecipients": "cc@example.com",
      "importance": "High",
      "bodyContentType": "html",
      "isReadReceiptRequested": true
    }
  }
}

Reply to a message, using the ID from the incoming item:

{
  "type": "microsoft_outlook",
  "parameters": {
    "resource": "message",
    "operation": "reply",
    "messageId": "{{ $json.messageId }}",
    "replyToSenderOnly": false,
    "replyMessage": "Thank you for your email. Here is my response.",
    "replyAdditionalFields": {
      "importance": "Normal",
      "bodyContentType": "Text"
    }
  }
}

Create a calendar event:

{
  "type": "microsoft_outlook",
  "parameters": {
    "resource": "event",
    "operation": "create",
    "calendarId": "AQMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAADIkPFvOuw",
    "eventSubject": "Team Meeting",
    "startDateTime": "2024-03-15T09:00:00Z",
    "endDateTime": "2024-03-15T10:00:00Z",
    "eventAdditionalFields": {
      "body": "Weekly team sync meeting",
      "importance": "normal",
      "isAllDay": false,
      "showAs": "busy",
      "timeZone": "UTC"
    }
  }
}

Create a draft:

{
  "type": "microsoft_outlook",
  "parameters": {
    "resource": "draft",
    "operation": "create",
    "draftSubject": "Draft Email Subject",
    "draftBodyContent": "This is a draft message that will be saved.",
    "draftAdditionalFields": {
      "toRecipients": "recipient@example.com",
      "importance": "Normal",
      "bodyContentType": "Text"
    }
  }
}

List unread messages that have attachments:

{
  "type": "microsoft_outlook",
  "parameters": {
    "resource": "message",
    "operation": "getAll",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "filterBy": "filters",
      "hasAttachments": true,
      "readStatus": "unread",
      "receivedAfter": "2024-01-01T00:00:00Z"
    },
    "options": {
      "downloadAttachments": false,
      "getMimeContent": false
    },
    "output": "simple"
  }
}

Create a contact:

{
  "type": "microsoft_outlook",
  "parameters": {
    "resource": "contact",
    "operation": "create",
    "givenName": "John",
    "contactAdditionalFields": {
      "surname": "Doe",
      "displayName": "John Doe",
      "companyName": "Acme Corp",
      "jobTitle": "Manager",
      "emailAddresses": "[{\"address\": \"john.doe@example.com\", \"name\": \"John Doe\"}]",
      "businessPhones": "+1-555-0123"
    }
  }
}

Attach an upstream file to an existing message:

{
  "type": "microsoft_outlook",
  "parameters": {
    "resource": "messageAttachment",
    "operation": "add",
    "messageId": "{{ $json.messageId }}",
    "binaryPropertyName": "data",
    "attachmentFileName": "document.pdf"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manage Microsoft 365 email, calendars, contacts, and folders via Microsoft Graph API with full attachment support.

Common Patterns

Email Workflow

  1. Send with attachments: Use additionalFields.attachmentBinaryProperties to reference binary data
  2. Filter messages: Use filters collection with specific criteria
  3. Download attachments: Set options.downloadAttachments: true

Calendar Management

  1. Create events on a specific calendar: Set calendarId
  2. All-day events: Set eventAdditionalFields.isAllDay: true
  3. Online meetings: Set eventAdditionalFields.isOnlineMeeting: true

Contact Organization

  1. Filter by email: Use emailFilter parameter
  2. Full contact data: Use contactAdditionalFields for addresses and additional info
  3. Business contacts: Include companyName, jobTitle, businessPhones

Folder Management

  1. Create subfolders: Specify parentFolderId
  2. List with hierarchy: Set includeChildFolders: true
  3. Scope operations: Use parentFolderFilter to limit scope

Key Notes

  • List results are not separate items. Every Get Many returns one item with the array on results; add a Split Out node on results when downstream nodes should see one record at a time.
  • Keep Max Concurrency low. Microsoft Graph throttles aggressively; the default of 5 is a sensible ceiling for most mailboxes.
  • Message Type values are case-sensitive. Use html or Text exactly as listed.
  • Event importance and message importance differ in case. Events use low/normal/high; messages use Low/Normal/High.
  • JSON-typed fields take JSON strings, including Email Addresses, the three address fields and Custom Headers.

Frequently asked questions

How do I send an attachment?

Reference the binary data through `additionalFields.attachmentBinaryProperties`, which points at the binary property carrying the file on the incoming item.

How do I download attachments from received mail?

Set `options.downloadAttachments: true`, which brings the attachments through as binary data rather than leaving them as references.

How do I target a specific calendar?

Set `calendarId` when creating events. Without it the event lands on the default calendar for the mailbox.

How do I narrow which messages come back?

Use the filters collection with the criteria you need rather than fetching everything and filtering downstream.

Build with the Microsoft Outlook node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Microsoft OAuth2 credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.