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.
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.
| Operation | What it does | Delegated permission |
|---|
listMessages | List messages | Mail.ReadBasic |
getMessage | Get message | Mail.Read |
getMessageMime | Get message as MIME | Mail.Read |
getMessagesDelta | Get changed messages (delta) | Mail.ReadBasic |
| Operation | What it does | Delegated permission |
|---|
sendMail | Send mail | Mail.Send |
createDraft | Create draft | Mail.ReadWrite |
updateDraft | Update draft | Mail.ReadWrite |
sendDraft | Send draft | Mail.Send |
replyMessage | Reply | Mail.Send |
replyAllMessage | Reply all | Mail.Send |
forwardMessage | Forward | Mail.Send |
createReplyDraft | Create reply draft | Mail.ReadWrite |
createReplyAllDraft | Create reply-all draft | Mail.ReadWrite |
createForwardDraft | Create forward draft | Mail.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
updateMessage | Update message | Mail.ReadWrite |
markMessageRead | Mark as read | Mail.ReadWrite |
markMessageUnread | Mark as unread | Mail.ReadWrite |
flagMessage | Flag message | Mail.ReadWrite |
setMessageCategories | Set categories | Mail.ReadWrite |
moveMessage | Move to folder | Mail.ReadWrite |
copyMessage | Copy to folder | Mail.ReadWrite |
deleteMessage | Delete message | Mail.ReadWrite |
permanentDeleteMessage | Permanently delete message | Mail.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listMessageAttachments | List attachments | Mail.ReadBasic |
getMessageAttachment | Get attachment | Mail.Read |
addMessageAttachment | Add attachment | Mail.ReadWrite |
deleteMessageAttachment | Delete attachment | Mail.ReadWrite |
createMessageAttachmentUploadSession | Start a large-attachment upload session | Mail.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listMailFolders | List mail folders | Mail.ReadBasic |
getMailFolder | Get mail folder | Mail.ReadBasic |
createMailFolder | Create mail folder | Mail.ReadWrite |
updateMailFolder | Rename mail folder | Mail.ReadWrite |
deleteMailFolder | Delete mail folder | Mail.ReadWrite |
listChildMailFolders | List child folders | Mail.ReadBasic |
createChildMailFolder | Create child folder | Mail.ReadWrite |
copyMailFolder | Copy mail folder | Mail.ReadWrite |
moveMailFolder | Move mail folder | Mail.ReadWrite |
permanentDeleteMailFolder | Permanently delete mail folder | Mail.ReadWrite |
getMailFoldersDelta | Get changed mail folders (delta) | Mail.ReadBasic |
| Operation | What it does | Delegated permission |
|---|
listMessageRules | List inbox rules | MailboxSettings.Read |
getMessageRule | Get inbox rule | MailboxSettings.Read |
createMessageRule | Create inbox rule | MailboxSettings.ReadWrite |
updateMessageRule | Update inbox rule | MailboxSettings.ReadWrite |
deleteMessageRule | Delete inbox rule | MailboxSettings.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listMasterCategories | List categories | MailboxSettings.Read |
getMasterCategory | Get category | MailboxSettings.Read |
createMasterCategory | Create category | MailboxSettings.ReadWrite |
updateMasterCategory | Update category colour | MailboxSettings.ReadWrite |
deleteMasterCategory | Delete category | MailboxSettings.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listInferenceOverrides | List Focused Inbox overrides | Mail.Read |
createInferenceOverride | Create Focused Inbox override | Mail.ReadWrite |
updateInferenceOverride | Update Focused Inbox override | Mail.ReadWrite |
deleteInferenceOverride | Delete Focused Inbox override | Mail.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
getMailboxSettings | Get mailbox settings | MailboxSettings.Read |
updateMailboxSettings | Update mailbox settings | MailboxSettings.ReadWrite |
setAutomaticReplies | Set automatic replies (out of office) | MailboxSettings.ReadWrite |
getSupportedTimeZones | List supported time zones | User.Read |
getSupportedLanguages | List supported languages | User.Read |
translateExchangeIds | Translate Exchange IDs | User.ReadBasic.All |
| Operation | What it does | Delegated permission |
|---|
listEvents | List events | Calendars.ReadBasic |
getEvent | Get event | Calendars.ReadBasic |
createEvent | Create event | Calendars.ReadWrite |
updateEvent | Update event | Calendars.ReadWrite |
deleteEvent | Delete event | Calendars.ReadWrite |
permanentDeleteEvent | Permanently delete event | Calendars.ReadWrite |
getCalendarView | List events in a date range (calendar view) | Calendars.ReadBasic |
listEventInstances | List occurrences of a recurring event | Calendars.ReadBasic |
getCalendarViewDelta | Get changed events (delta) | Calendars.Read |
getReminderView | List reminders in a date range | Calendars.ReadBasic |
| Operation | What it does | Delegated permission |
|---|
acceptEvent | Accept invitation | Calendars.ReadWrite |
tentativelyAcceptEvent | Tentatively accept invitation | Calendars.ReadWrite |
declineEvent | Decline invitation | Calendars.ReadWrite |
cancelEvent | Cancel meeting | Calendars.ReadWrite |
forwardEvent | Forward event | Calendars.ReadWrite |
snoozeEventReminder | Snooze reminder | Calendars.ReadWrite |
dismissEventReminder | Dismiss reminder | Calendars.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listEventAttachments | List event attachments | Calendars.Read |
getEventAttachment | Get event attachment | Calendars.Read |
addEventAttachment | Add event attachment | Calendars.ReadWrite |
deleteEventAttachment | Delete event attachment | Calendars.ReadWrite |
createEventAttachmentUploadSession | Start a large event-attachment upload session | Calendars.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listCalendars | List calendars | Calendars.ReadBasic |
getCalendar | Get calendar | Calendars.ReadBasic |
createCalendar | Create calendar | Calendars.ReadWrite |
updateCalendar | Update calendar | Calendars.ReadWrite |
deleteCalendar | Delete calendar | Calendars.ReadWrite |
permanentDeleteCalendar | Permanently delete calendar | Calendars.ReadWrite |
findMeetingTimes | Find meeting times | Calendars.Read.Shared |
getSchedule | Get free/busy schedule | Calendars.ReadBasic |
| Operation | What it does | Delegated permission |
|---|
listCalendarGroups | List calendar groups | Calendars.ReadBasic |
getCalendarGroup | Get calendar group | Calendars.ReadBasic |
createCalendarGroup | Create calendar group | Calendars.ReadWrite |
updateCalendarGroup | Update calendar group | Calendars.ReadWrite |
deleteCalendarGroup | Delete calendar group | Calendars.ReadWrite |
listCalendarGroupCalendars | List calendars in a group | Calendars.ReadBasic |
createCalendarGroupCalendar | Create calendar in a group | Calendars.ReadWrite |
listCalendarPermissions | List calendar sharing permissions | Calendars.ReadBasic |
getCalendarPermission | Get calendar sharing permission | Calendars.ReadBasic |
createCalendarPermission | Share calendar with someone | Calendars.ReadWrite |
updateCalendarPermission | Update calendar sharing permission | Calendars.ReadWrite |
deleteCalendarPermission | Remove calendar sharing permission | Calendars.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listContacts | List contacts | Contacts.Read |
getContact | Get contact | Contacts.Read |
createContact | Create contact | Contacts.ReadWrite |
updateContact | Update contact | Contacts.ReadWrite |
deleteContact | Delete contact | Contacts.ReadWrite |
permanentDeleteContact | Permanently delete contact | Contacts.ReadWrite |
getContactsDelta | Get changed contacts (delta) | Contacts.Read |
getContactPhoto | Get contact photo | Contacts.Read |
updateContactPhoto | Set contact photo | Contacts.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
listContactFolders | List contact folders | Contacts.Read |
getContactFolder | Get contact folder | Contacts.Read |
createContactFolder | Create contact folder | Contacts.ReadWrite |
updateContactFolder | Rename contact folder | Contacts.ReadWrite |
deleteContactFolder | Delete contact folder | Contacts.ReadWrite |
permanentDeleteContactFolder | Permanently delete contact folder | Contacts.ReadWrite |
listChildContactFolders | List child contact folders | Contacts.Read |
createChildContactFolder | Create child contact folder | Contacts.ReadWrite |
| Operation | What it does | Delegated permission |
|---|
getMe | Get the signed-in user | User.Read |
getMyPhoto | Get the signed-in user's photo | ProfilePhoto.Read.All (User.Read also works, and is what the Outlook profile preset grants) |