n8n + Microsoft Outlook Integration: Automate Emails & Calendar
The n8n Microsoft Outlook integration connects your Office 365 mailbox to hundreds of other apps, letting you build automations that go far beyond basic email rules. If your team lives in Outlook and you're tired of manually forwarding invoices, copying meeting details into spreadsheets, or chasing down attachments, n8n gives you the visual workflow builder to fix all of that. The Microsoft Outlook node in n8n uses the Microsoft Graph API under the hood, so you get full access to messages, drafts, calendar events, and contacts — wrapped in a drag-and-drop interface.
Why Automate Microsoft Outlook with n8n
Outlook's built-in rules are limited. They can move messages to folders and flag them, but they can't talk to your CRM, update a project board, or trigger a Slack notification with context from the email body. That's where n8n fills the gap.
With n8n, you can build multi-step workflows that react to incoming Outlook emails and take action across your entire tool stack. A few reasons teams choose n8n for Outlook automation:
- No per-execution fees. Unlike Zapier or Make, n8n doesn't charge per task. Run thousands of email-triggered workflows without watching a billing meter.
- Full Microsoft Graph API access. The Outlook node supports messages, drafts, calendar events, contacts, and folder operations — covering the full spectrum of mailbox actions.
- Conditional logic and branching. Use IF nodes, Switch nodes, and expressions to route emails based on sender, subject, keywords in the body, attachment type, or any combination.
- Self-hosted data privacy. Your email content stays on your infrastructure. Nothing passes through a third-party automation vendor's servers.
If you want the power of n8n without managing servers yourself, n8nautomation.cloud gives you a dedicated n8n instance starting at $15/month with automatic backups and zero maintenance.
Setting Up the Microsoft Outlook Node
Before building workflows, you need to connect n8n to your Microsoft 365 account. Here's how:
- Register an app in Azure AD. Go to the Azure Portal → App registrations → New registration. Set the redirect URI to your n8n instance's OAuth callback URL (typically
https://your-instance.n8nautomation.cloud/rest/oauth2-credential/callback). - Configure API permissions. Add Microsoft Graph permissions:
Mail.ReadWrite,Mail.Send,Calendars.ReadWrite, andContacts.ReadWrite. Grant admin consent if you're using application-level permissions. - Create a client secret. Under Certificates & secrets, generate a new client secret and copy the value immediately.
- Add credentials in n8n. In your n8n instance, go to Credentials → New → Microsoft Outlook OAuth2. Paste in your Client ID, Client Secret, and Tenant ID.
- Authorize the connection. Click the "Connect" button and sign in with your Microsoft account. n8n will store the OAuth tokens securely.
Tip: Use a shared mailbox or service account for production workflows. Personal accounts can hit rate limits faster, and you don't want automations breaking when someone changes their password.
5 Practical Outlook Workflows You Can Build with n8n
Here are five real-world workflows that solve common Outlook pain points. Each one uses the Microsoft Outlook node alongside other n8n nodes.
1. Route Incoming Emails to Slack by Sender Domain
Trigger: Microsoft Outlook Trigger node (set to poll for new messages in your inbox). Add an IF node to check if the sender's email ends with a specific domain (e.g., @importantclient.com). Route matches to a Slack node that posts the subject, sender, and a preview of the body to a dedicated channel. Non-matches go to a No Operation node or a different Slack channel for general triage.
2. Save Email Attachments to Google Drive or SharePoint
Use the Microsoft Outlook Trigger to detect emails with attachments. Add a Microsoft Outlook node with the "Get Attachment" operation to download the file. Then use a Google Drive node (or Microsoft OneDrive node) to upload the file to a specific folder. Add a Set node to rename the file with the date and sender for easy retrieval.
3. Auto-Create CRM Contacts from New Email Senders
When an email arrives from an unknown sender, check your CRM (HubSpot, Salesforce, or Pipedrive) to see if the contact exists. If not, use the CRM's node to create a new contact with the sender's name and email. Send yourself a summary via Outlook with the new contact record link.
4. Send Weekly Digest of Flagged Emails
Use a Schedule Trigger node set to run every Friday at 4 PM. Add a Microsoft Outlook node with the "Get All Messages" operation, filtered to flagged messages from the past 7 days. Pass the results through a Summarize node or an OpenAI node to generate a brief summary of each. Send the compiled digest as a single email using another Microsoft Outlook node.
5. Meeting Follow-Up Automation
Use the Microsoft Outlook node to poll for calendar events that ended in the last hour. For each meeting, automatically send a follow-up email to all attendees with a template that includes the meeting subject, time, and a link to your notes document. Add an IF node to skip internal-only meetings based on attendee domains.
Automate Outlook Calendar Events with n8n
The Microsoft Outlook node isn't just for email — it handles calendar operations too. You can create, update, delete, and list calendar events programmatically.
Common calendar automations include:
- Sync Outlook calendar to Google Sheets. Poll for new or updated events and append rows with the event title, start time, end time, and attendees. Great for time tracking or resource planning.
- Create calendar events from form submissions. When a client books a consultation through Typeform or Google Forms, use n8n to create the Outlook calendar event with all the details pre-filled.
- Send pre-meeting briefs. Thirty minutes before a meeting, trigger a workflow that pulls context from your CRM about the attendees and sends you an email with their recent activity, deal status, or support tickets.
- Block focus time automatically. Use a Schedule Trigger to create recurring "Focus Time" blocks on your calendar when no meetings are scheduled, helping protect deep work hours.
When working with calendar events, pay attention to time zones. The Microsoft Graph API returns times in UTC by default, so use n8n's Date & Time node or expressions like {{ $json.start.dateTime | toDate }} to convert to your local time zone before displaying or comparing.
Handling Attachments and Advanced Filters
Processing email attachments is one of the most requested Outlook automations. The Microsoft Outlook node supports downloading attachments as binary data, which you can then pass to other nodes.
A typical attachment processing workflow looks like this:
- Microsoft Outlook Trigger — detects new emails
- IF node — checks
{{ $json.hasAttachments }}is true - Microsoft Outlook node — "Get Attachment" operation, using the message ID from step 1
- Switch node — routes based on file extension (
.pdf,.xlsx,.csv) - Destination node — Google Drive, Dropbox, or a database depending on file type
For advanced email filtering, the Microsoft Outlook node's "Get All Messages" operation supports OData filter syntax. You can filter by:
from/emailAddress/address eq 'cfo@company.com'subject eq 'Monthly Report'receivedDateTime ge 2026-04-01T00:00:00ZhasAttachments eq trueimportance eq 'high'
Combine multiple filters with and and or operators to build precise queries that only return the messages your workflow needs to process.
Tips for Reliable Outlook Automation
After building your Outlook workflows, follow these practices to keep them running smoothly:
- Use webhook triggers when possible. Polling checks for new emails on an interval, which introduces delay. If your Azure AD app supports it, use Microsoft Graph subscriptions (webhooks) for near-instant triggers.
- Handle token refresh gracefully. OAuth tokens expire. n8n handles refresh automatically, but if you see 401 errors, re-authorize your credentials. On a managed instance at n8nautomation.cloud, your credentials persist through instance updates.
- Add error handling nodes. Wrap your workflow's critical path with an Error Trigger node. If the Outlook API returns an error (rate limit, permission issue, network timeout), you'll get a notification instead of a silent failure.
- Test with a shared mailbox first. Before deploying to your primary inbox, test against a shared mailbox to avoid accidentally processing real emails during development.
- Log processed message IDs. Use a Set node to track which messages you've already handled. Store processed IDs in a Google Sheet, database, or n8n's static data to prevent duplicate processing if a workflow re-runs.
Tip: If you're processing emails from multiple mailboxes, create separate workflows for each mailbox with its own credentials. This makes debugging easier and prevents one broken credential from blocking all your email automations.
Microsoft Outlook is one of the most widely used business tools, and connecting it to n8n unlocks automations that Outlook's native rules can't touch. Whether you're routing emails, syncing calendar events, or processing attachments, n8n gives you the flexibility to build exactly what your team needs. If you want to get started without worrying about server setup or maintenance, n8nautomation.cloud has you covered with dedicated n8n instances ready to go.