Microsoft Outlook
Send emails, manage drafts, folders, calendar events, contacts, and attachments in Microsoft Outlook.
Overview
Connect your Microsoft Outlook account to automate email, calendar, contacts, and folder management using the Microsoft Graph API. The Outlook node supports six resources with full CRUD operations, OAuth2 authentication, and automatic token refresh.
Getting Connected
Before using the Outlook node, you need to create a Microsoft Outlook credential:
- Go to Dashboard → Credentials → Add Credential
- Select Microsoft Outlook from the credential type list
- Give it a name (e.g., “My Work Outlook”) and click Connect Microsoft Outlook
- Sign in with your Microsoft account and grant the requested permissions
- Once connected, select this credential in the Outlook node's config panel
Tokens are saved and refresh automatically — no manual key management required. Works with personal Outlook.com accounts and Microsoft 365 work/school accounts.
Messages
- Send — send an email with To, CC, BCC, subject, HTML or plain text body, and importance level
- Get — retrieve a single message by Message ID
- Get Many — list messages with optional OData
$filterand max results limit, ordered by most recent first - Delete — permanently delete a message by ID
- Move — move a message to a different folder by specifying the destination Folder ID
- Reply — reply to a message by ID with a comment/body
- Update (Read/Unread) — mark a message as read
Drafts
- Create — create a draft email with all standard email fields (To, CC, BCC, subject, body, importance)
- Get / Get Many — retrieve a specific draft or list all drafts
- Send — send an existing draft by its Draft ID
- Update — modify a draft's subject, body, or recipients
- Delete — discard a draft by ID
Folders
- Create — create a new mail folder with a display name
- Get / Get Many — retrieve a specific folder by ID or list all folders
- Delete — delete a mail folder by ID
Calendar Events
- Create — create a calendar event with title, start/end times (UTC), location, description, attendees, and all-day flag
- Get / Get Many — retrieve a specific event or list events ordered by start time
- Update — modify event title, times, location, or description by Event ID
- Delete — remove an event by ID
Contacts
- Create — create a contact with first name, last name, email, phone, and company
- Get / Get Many — retrieve a specific contact or list contacts
- Update — modify contact details by Contact ID
- Delete — remove a contact by ID
Message Attachments
- Get Many — list all attachments on a message
- Get — retrieve a specific attachment by Attachment ID
- Add — attach a file to a message (requires base64 content, file name, and content type)
Configuration
- Credential — select a Microsoft Outlook OAuth2 credential
- Resource — choose Message, Draft, Folder, Calendar Event, Contact, or Message Attachment
- Operation — the available operations change based on the selected resource
- Output Variable — customize the variable name for storing results (default:
outlook_result). Access via{{outlook_result}}or{{$json}} - All text fields support variable interpolation using
{{variable_name}}syntax
Example: Send a Personalized Email
Use data from upstream nodes to compose and send an email:
- Resource: Message
- Operation: Send
- To:
{{$json.customer_email}} - Subject:
Order {{$json.order_id}} Confirmed - Body (HTML):
<h1>Thanks, {{$json.name}}!</h1><p>Your order has been confirmed.</p>
Troubleshooting
- 401 Unauthorized — your token may have expired or been revoked. Reconnect your credential via the OAuth flow.
- 403 Forbidden — ensure your Azure App Registration has the required API permissions (
Mail.ReadWrite,Mail.Send,Calendars.ReadWrite,Contacts.ReadWrite) and that admin consent has been granted if required. - Message ID not found — verify the Message ID is correct. IDs are returned by Get Many or can be extracted from trigger data.
- Token refresh failed — tokens refresh automatically. If refresh fails repeatedly, reconnect the credential.