Pipory
Node reference

Outlook (OAuth)

Outlook (OAuth) node reference - all 120 operations, the credential it needs, and a worked example.

Outlook mail, calendar and contacts via the Microsoft Graph v1.0 API, on a connected Microsoft account.

Credential: Microsoft account - see Credentials.

Delegated permissions

Each operation below lists the delegated permission it needs. Delegated permissions are added to your own Entra app registration under API permissions → Microsoft Graph → Delegated permissions, then consented to when you connect the Microsoft credential. Every permission below is the DELEGATED (work or school account) one, because Pipory's Microsoft credential is an authorization-code flow acting as the signed-in user. Four things this catches people out on. First, and by a wide margin the most common: Graph's permission families do not nest. Mail.ReadWrite covers messages, mail folders and attachments and NOTHING else — inbox rules, master categories and the whole mailbox-settings plane (automatic replies, working hours, time zone) are gated by MailboxSettings.*, a completely separate family, and nothing in Mail.* reaches an event or a contact. That is why the node ships five scope presets alongside the original "Outlook Mail" one, and why a credential connected before this expansion will 403 on most of the menu until it is reconnected. Second, the permission named is the one for YOUR mailbox — pointing the node's Mailbox field at another user escalates it to the .Shared variant (Mail.ReadWrite.Shared, Mail.Send.Shared, Calendars.ReadWrite.Shared, Contacts.ReadWrite.Shared), which the "other people's mailboxes" preset grants, and which only works on a mailbox already shared with you or that you are a delegate on. Third, three rows sit on the USER plane rather than on mail and are easy to misdiagnose: the supported time-zone and language lists need User.Read, and translateExchangeIds needs User.ReadBasic.All — counterintuitive, but it is what that endpoint's own table says. Fourth, Mail.ReadBasic is genuinely least-privileged for the message reads, but it EXCLUDES the body and attachments, so the operations whose point is the body state Mail.Read instead — granting the narrower one there produces a successful response with the field you wanted missing, which is worse than a refusal. One forward-dated change worth knowing: from 31 December 2026, editing the subject, body or recipients of a message that has already been sent or received needs Microsoft's new Mail-Advanced.ReadWrite (admin consent). Drafts and the management properties are unaffected, and this node deliberately offers the sensitive edits on drafts only. If a run fails with a permission error, the node names the missing delegated permission in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (120)

Messages — read

OperationWhat it doesDelegated permission
listMessagesList messagesMail.ReadBasic
getMessageGet messageMail.Read
getMessageMimeGet message as MIMEMail.Read
getMessagesDeltaGet changed messages (delta)Mail.ReadBasic

Messages — compose & send

OperationWhat it doesDelegated permission
sendMailSend mailMail.Send
createDraftCreate draftMail.ReadWrite
updateDraftUpdate draftMail.ReadWrite
sendDraftSend draftMail.Send
replyMessageReplyMail.Send
replyAllMessageReply allMail.Send
forwardMessageForwardMail.Send
createReplyDraftCreate reply draftMail.ReadWrite
createReplyAllDraftCreate reply-all draftMail.ReadWrite
createForwardDraftCreate forward draftMail.ReadWrite

Messages — organize

OperationWhat it doesDelegated permission
updateMessageUpdate messageMail.ReadWrite
markMessageReadMark as readMail.ReadWrite
markMessageUnreadMark as unreadMail.ReadWrite
flagMessageFlag messageMail.ReadWrite
setMessageCategoriesSet categoriesMail.ReadWrite
moveMessageMove to folderMail.ReadWrite
copyMessageCopy to folderMail.ReadWrite
deleteMessageDelete messageMail.ReadWrite
permanentDeleteMessagePermanently delete messageMail.ReadWrite

Message attachments

OperationWhat it doesDelegated permission
listMessageAttachmentsList attachmentsMail.ReadBasic
getMessageAttachmentGet attachmentMail.Read
addMessageAttachmentAdd attachmentMail.ReadWrite
deleteMessageAttachmentDelete attachmentMail.ReadWrite
createMessageAttachmentUploadSessionStart a large-attachment upload sessionMail.ReadWrite

Mail folders

OperationWhat it doesDelegated permission
listMailFoldersList mail foldersMail.ReadBasic
getMailFolderGet mail folderMail.ReadBasic
createMailFolderCreate mail folderMail.ReadWrite
updateMailFolderRename mail folderMail.ReadWrite
deleteMailFolderDelete mail folderMail.ReadWrite
listChildMailFoldersList child foldersMail.ReadBasic
createChildMailFolderCreate child folderMail.ReadWrite
copyMailFolderCopy mail folderMail.ReadWrite
moveMailFolderMove mail folderMail.ReadWrite
permanentDeleteMailFolderPermanently delete mail folderMail.ReadWrite
getMailFoldersDeltaGet changed mail folders (delta)Mail.ReadBasic

Inbox rules

OperationWhat it doesDelegated permission
listMessageRulesList inbox rulesMailboxSettings.Read
getMessageRuleGet inbox ruleMailboxSettings.Read
createMessageRuleCreate inbox ruleMailboxSettings.ReadWrite
updateMessageRuleUpdate inbox ruleMailboxSettings.ReadWrite
deleteMessageRuleDelete inbox ruleMailboxSettings.ReadWrite

Categories

OperationWhat it doesDelegated permission
listMasterCategoriesList categoriesMailboxSettings.Read
getMasterCategoryGet categoryMailboxSettings.Read
createMasterCategoryCreate categoryMailboxSettings.ReadWrite
updateMasterCategoryUpdate category colourMailboxSettings.ReadWrite
deleteMasterCategoryDelete categoryMailboxSettings.ReadWrite

Focused Inbox overrides

OperationWhat it doesDelegated permission
listInferenceOverridesList Focused Inbox overridesMail.Read
createInferenceOverrideCreate Focused Inbox overrideMail.ReadWrite
updateInferenceOverrideUpdate Focused Inbox overrideMail.ReadWrite
deleteInferenceOverrideDelete Focused Inbox overrideMail.ReadWrite

Mailbox settings

OperationWhat it doesDelegated permission
getMailboxSettingsGet mailbox settingsMailboxSettings.Read
updateMailboxSettingsUpdate mailbox settingsMailboxSettings.ReadWrite
setAutomaticRepliesSet automatic replies (out of office)MailboxSettings.ReadWrite
getSupportedTimeZonesList supported time zonesUser.Read
getSupportedLanguagesList supported languagesUser.Read
translateExchangeIdsTranslate Exchange IDsUser.ReadBasic.All

Calendar — events

OperationWhat it doesDelegated permission
listEventsList eventsCalendars.ReadBasic
getEventGet eventCalendars.ReadBasic
createEventCreate eventCalendars.ReadWrite
updateEventUpdate eventCalendars.ReadWrite
deleteEventDelete eventCalendars.ReadWrite
permanentDeleteEventPermanently delete eventCalendars.ReadWrite
getCalendarViewList events in a date range (calendar view)Calendars.ReadBasic
listEventInstancesList occurrences of a recurring eventCalendars.ReadBasic
getCalendarViewDeltaGet changed events (delta)Calendars.Read
getReminderViewList reminders in a date rangeCalendars.ReadBasic

Calendar — invitations

OperationWhat it doesDelegated permission
acceptEventAccept invitationCalendars.ReadWrite
tentativelyAcceptEventTentatively accept invitationCalendars.ReadWrite
declineEventDecline invitationCalendars.ReadWrite
cancelEventCancel meetingCalendars.ReadWrite
forwardEventForward eventCalendars.ReadWrite
snoozeEventReminderSnooze reminderCalendars.ReadWrite
dismissEventReminderDismiss reminderCalendars.ReadWrite

Event attachments

OperationWhat it doesDelegated permission
listEventAttachmentsList event attachmentsCalendars.Read
getEventAttachmentGet event attachmentCalendars.Read
addEventAttachmentAdd event attachmentCalendars.ReadWrite
deleteEventAttachmentDelete event attachmentCalendars.ReadWrite
createEventAttachmentUploadSessionStart a large event-attachment upload sessionCalendars.ReadWrite

Calendars

OperationWhat it doesDelegated permission
listCalendarsList calendarsCalendars.ReadBasic
getCalendarGet calendarCalendars.ReadBasic
createCalendarCreate calendarCalendars.ReadWrite
updateCalendarUpdate calendarCalendars.ReadWrite
deleteCalendarDelete calendarCalendars.ReadWrite
permanentDeleteCalendarPermanently delete calendarCalendars.ReadWrite
findMeetingTimesFind meeting timesCalendars.Read.Shared
getScheduleGet free/busy scheduleCalendars.ReadBasic

Calendar groups & sharing

OperationWhat it doesDelegated permission
listCalendarGroupsList calendar groupsCalendars.ReadBasic
getCalendarGroupGet calendar groupCalendars.ReadBasic
createCalendarGroupCreate calendar groupCalendars.ReadWrite
updateCalendarGroupUpdate calendar groupCalendars.ReadWrite
deleteCalendarGroupDelete calendar groupCalendars.ReadWrite
listCalendarGroupCalendarsList calendars in a groupCalendars.ReadBasic
createCalendarGroupCalendarCreate calendar in a groupCalendars.ReadWrite
listCalendarPermissionsList calendar sharing permissionsCalendars.ReadBasic
getCalendarPermissionGet calendar sharing permissionCalendars.ReadBasic
createCalendarPermissionShare calendar with someoneCalendars.ReadWrite
updateCalendarPermissionUpdate calendar sharing permissionCalendars.ReadWrite
deleteCalendarPermissionRemove calendar sharing permissionCalendars.ReadWrite

Contacts

OperationWhat it doesDelegated permission
listContactsList contactsContacts.Read
getContactGet contactContacts.Read
createContactCreate contactContacts.ReadWrite
updateContactUpdate contactContacts.ReadWrite
deleteContactDelete contactContacts.ReadWrite
permanentDeleteContactPermanently delete contactContacts.ReadWrite
getContactsDeltaGet changed contacts (delta)Contacts.Read
getContactPhotoGet contact photoContacts.Read
updateContactPhotoSet contact photoContacts.ReadWrite

Contact folders

OperationWhat it doesDelegated permission
listContactFoldersList contact foldersContacts.Read
getContactFolderGet contact folderContacts.Read
createContactFolderCreate contact folderContacts.ReadWrite
updateContactFolderRename contact folderContacts.ReadWrite
deleteContactFolderDelete contact folderContacts.ReadWrite
permanentDeleteContactFolderPermanently delete contact folderContacts.ReadWrite
listChildContactFoldersList child contact foldersContacts.Read
createChildContactFolderCreate child contact folderContacts.ReadWrite

Account

OperationWhat it doesDelegated permission
getMeGet the signed-in userUser.Read
getMyPhotoGet the signed-in user's photoProfilePhoto.Read.All (User.Read also works, and is what the Outlook profile preset grants)