

How to Send Outlook Email Alerts to Slack with Make
Automatically posts a Slack channel message whenever a new email arrives in Outlook, filtered by sender, subject, or folder.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams who need instant Slack visibility into specific Outlook emails — client replies, support escalations, or emails from key senders — without monitoring their inbox all day.
Not ideal for
High-frequency inboxes receiving 100+ emails per day where every message should trigger a Slack post — that will flood your channel and burn Make operations fast.
Sync type
scheduledUse case type
notificationReal-World Example
A 12-person agency uses this to post every email from client domains into a dedicated #client-name Slack channel, routed by sender domain. Before this, account managers missed client replies for 2-3 hours because they were heads-down in project work. Now the right person sees the email in Slack within 5 minutes of arrival and can respond before the client follows up.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Make
Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Optional
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| From (Sender Email) | ||
| Subject | ||
| Received Date Time | ||
5 optional fields▸ show
| Body Preview | |
| To (Recipients) | |
| Has Attachments | |
| Importance | |
| Internet Message ID |
Step-by-Step Setup
make.com > Scenarios > Create a new scenario
Create a new scenario in Make
Log in to Make at make.com and click the blue 'Create a new scenario' button in the top right of the Scenarios dashboard. You'll land on a blank canvas with a large circle in the center — this is where your trigger module goes. Make calls each automated workflow a 'scenario,' and every scenario starts with one trigger. Give your scenario a name immediately by clicking the default name at the top of the screen and typing something like 'Outlook → Slack Email Alerts'.
- 1Log in at make.com
- 2Click 'Create a new scenario' in the top right
- 3Click the untitled name at the top and rename it to 'Outlook → Slack Email Alerts'
- 4Click the large circle in the center of the canvas to open the module picker
Module picker > Microsoft Outlook > Watch Emails
Add the Outlook 'Watch Emails' trigger
In the module search dialog, type 'Outlook' and select 'Microsoft Outlook' from the results. Make will show you a list of available Outlook modules. Choose 'Watch Emails' — this is a polling trigger that checks your Outlook inbox on a schedule you define. You are not choosing 'Watch Emails (advanced)' for now; the standard Watch Emails trigger covers sender, subject, and folder filtering without extra configuration.
- 1Type 'Outlook' in the module search bar
- 2Click 'Microsoft Outlook' in the results
- 3Scroll to find and click 'Watch Emails'
- 4Click 'Add' to confirm the module selection
Outlook module panel > Connection > Add > Microsoft login pop-up
Connect your Microsoft account
Click 'Add' next to the Connection field in the Outlook module panel. Make will open a pop-up window asking you to sign in with your Microsoft account. Sign in with the account that receives the emails you want to monitor. After you authenticate, Microsoft will show a permissions consent screen — click Accept to grant Make read access to your mailbox. Once connected, you'll be returned to the Make configuration panel with your account name shown in the Connection field.
- 1Click 'Add' next to the Connection field
- 2Sign in with your Microsoft credentials in the pop-up
- 3Click 'Accept' on the Microsoft permissions consent screen
- 4Confirm the connection name appears in the Connection dropdown
Outlook module panel > Mail Folder / Filter / Mark as Read / Maximum Number of Results
Configure the email watch settings and filters
With the account connected, now configure what emails to watch. Set the 'Mail Folder' to 'Inbox' or a specific subfolder if you've set up Outlook rules that route client emails there. In the 'Filter' field, you can enter criteria like the sender email address (e.g., '@clientdomain.com') or a subject keyword. Set 'Mark as Read' to No if you want emails to retain their unread status after Make processes them. Set the 'Maximum Number of Results' to 5 — this controls how many emails Make fetches per polling cycle and prevents a backlog from flooding Slack if you set up the automation after emails have already arrived.
- 1Click the 'Mail Folder' dropdown and select 'Inbox' or your target folder
- 2Enter a sender filter in the 'Filter' field, e.g., 'from:[email protected]' or leave blank to watch all emails
- 3Set 'Mark as Read' to 'No'
- 4Set 'Maximum Number of Results' to 5
- 5Click 'OK' to save the module configuration
Outlook module bubble > Clock icon > Scheduling settings
Set the polling schedule
Click the clock icon on the Outlook trigger module (bottom left of the module bubble) to open the scheduling settings. Make polls Outlook on a schedule — it does not receive emails in real time the way a webhook does. Set the interval to '5 minutes' for near-real-time alerting. If the emails are less time-sensitive, 15 minutes is a reasonable middle ground that saves operations. Click 'OK' to confirm.
- 1Click the small clock icon at the bottom left of the Outlook module bubble
- 2Select '5 minutes' from the interval dropdown
- 3Click 'OK'
Outlook module > + handle > Router
Add a Router for conditional channel routing (optional but recommended)
If you want different email types to post to different Slack channels — for example, emails from one client going to #client-a and another to #client-b — add a Router module between Outlook and Slack. Click the small + handle on the right side of the Outlook module, then select 'Router' from the module list. The Router creates multiple paths from a single trigger. If you only need one Slack channel, skip this step and connect Slack directly.
- 1Hover over the Outlook module to reveal the + handle on the right edge
- 2Click the + handle
- 3Search for 'Router' in the module picker
- 4Click 'Router' to add it — it will appear as a circle with multiple output paths
Router path line > Filter > Condition builder
Set Router path filters
Click on the line (path) coming out of the Router to open the Filter settings for that path. Give the filter a label like 'Client A emails'. Set the condition to check the 'From' field from the Outlook trigger — click the field selector, choose 'From' from the Outlook module output, and set the operator to 'Contains' with the value '@clienta.com'. Add a second path for your next condition. If you skipped the Router in step 6, skip this step too.
- 1Click directly on the path line between the Router and the next module
- 2Click 'Add a filter' in the panel that opens
- 3Enter a label like 'Client A'
- 4Click the field selector and expand the Outlook module output, then select 'From'
- 5Set operator to 'Contains' and value to '@clienta.com'
- 6Click 'OK'
Router/Outlook module > + handle > Slack > Create a Message
Add the Slack 'Create a Message' module
Click the + handle on the Router output (or directly on the Outlook module if you skipped the Router) and search for 'Slack'. Select 'Slack' and then choose 'Create a Message'. This module posts a message to a channel. You'll need to connect your Slack workspace before you can configure the message content — Make will prompt you to do this now.
- 1Click the + handle on the Router or Outlook module
- 2Search for 'Slack' in the module picker
- 3Click 'Slack'
- 4Select 'Create a Message'
- 5Click 'Add' to add the module to the canvas
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}channel: {{channel}}
ts: {{ts}}
Slack module panel > Connection > Add > Slack OAuth pop-up
Connect your Slack workspace
Click 'Add' next to the Connection field in the Slack module panel. Make will open a Slack OAuth pop-up. Select the Slack workspace you want to post to and click 'Allow'. Make requires the 'chat:write' and 'channels:read' scopes — these are granted automatically during the OAuth flow for most workspaces. Once connected, your workspace name appears in the Connection field and the Channel dropdown becomes active.
- 1Click 'Add' next to the Connection field in the Slack module
- 2Select your workspace in the Slack OAuth pop-up
- 3Click 'Allow' to grant Make access
- 4Confirm your workspace name appears in the Connection dropdown
Slack module panel > Channel > Text
Configure the Slack message content
Select your target channel from the Channel dropdown — type the channel name to filter. Then build your message in the 'Text' field using data from the Outlook trigger. Click inside the Text field, then click the variable picker icon (looks like a plug) to insert dynamic values. A good starting message format is: '📧 New email from {{From}} | Subject: {{Subject}} | Received: {{ReceivedDateTime}}'. You can add the email body preview by inserting {{BodyPreview}}, which Outlook provides as the first 255 characters of the message body.
- 1Click the Channel dropdown and select your target Slack channel (e.g., #client-emails)
- 2Click inside the Text field
- 3Type '📧 New email from ' then click the variable picker and select 'From' from the Outlook module
- 4Continue building the message: ' | Subject: ' then insert 'Subject'
- 5Add ' | ' then insert 'ReceivedDateTime'
- 6On a new line, insert 'BodyPreview' for a content preview
- 7Click 'OK' to save
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Canvas > Run once > Check Slack > Activate toggle
Test the scenario and activate it
Click 'Run once' at the bottom left of the Make canvas. Make will check your Outlook inbox for emails matching your filter and, if found, post a test message to Slack. Check the Slack channel to verify the message looks correct. Check the execution log in Make (the green bubble showing operation counts on each module) to confirm data flowed through cleanly. Once the test passes, click the toggle switch in the bottom left — it changes from gray to blue — to activate the scenario so it runs automatically on your polling schedule.
- 1Click 'Run once' at the bottom left of the canvas
- 2Watch the green execution counters appear on each module
- 3Check your Slack channel for the test message
- 4Review the Make execution log by clicking the green bubble on the Outlook module to verify the fields mapped correctly
- 5Click the activation toggle in the bottom left to switch from Off to On
Paste this into a Make 'Set Variable' module placed between the Outlook trigger and the Slack module. It builds a formatted Slack message with conditional priority labeling, attachment flagging, and a cleaned sender name extracted from the full 'From' string. In Make, add a Tools > Set Variable module, name the variable 'slackMessage', and paste the formula into the Value field.
JavaScript — Custom Functionif(▸ Show code
if(
{{1.importance}} = "High",
"🔴 *HIGH PRIORITY* | ",... expand to see full code
if(
{{1.importance}} = "High",
"🔴 *HIGH PRIORITY* | ",
""
)
& "📧 New email from *"
& trim(replaceAll({{1.from}}, "/^.*<|>.*$/", ""))
& "*\n*Subject:* "
& {{1.subject}}
& "\n*Received:* "
& formatDate({{1.receivedDateTime}}, "MMM D, YYYY h:mm A")
& if(
{{1.hasAttachments}} = true,
"\n📎 _This email has attachments_",
""
)
& "\n\n"
& left({{1.bodyPreview}}, 200)
& if(
length({{1.bodyPreview}}) > 200,
"...",
""
)Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Make for this if your team needs conditional routing — sending different senders to different Slack channels from a single scenario — and you want to do it without writing code. Make's Router module handles this visually in about 10 minutes. You'd also pick Make if you're already using it for other automations and want to keep everything in one place. The one scenario where you'd pick something else: if your organization is fully inside Microsoft 365 and your IT team manages everything, Power Automate already has your Outlook connection pre-authorized and Microsoft's Graph webhook support gives you genuinely real-time delivery instead of polling.
The math on operations is simple. Each email Make processes costs 2 operations: 1 for the Outlook trigger fetch, 1 for the Slack post. If you receive 200 relevant emails per month, that's 400 operations. Make's free tier gives you 1,000 operations/month, so low-volume use fits free. At 500 emails/month (1,000 operations), you're at the free tier ceiling. Make's Core plan at $9/month gives you 10,000 operations — enough for ~5,000 emails/month. Zapier's equivalent would cost $19.99/month minimum for multi-step Zaps, and that's before volume pricing on tasks.
Zapier's Outlook trigger fires faster than Make's polling in practice — Zapier pushes notification Zaps closer to 1-2 minutes vs. Make's 5-minute minimum on paid plans. If speed is the only variable, Zapier wins on this specific use case. n8n lets you self-host and process unlimited emails for the cost of a server ($5-10/month on a VPS), but the Outlook OAuth setup is significantly more complex and you're on your own for maintenance. Power Automate is genuinely better if you're Microsoft-first — it supports real-time email triggers via Exchange webhooks, meaning 0-second delivery instead of polling. Pipedream has a clean Outlook integration but the Slack formatting step is more verbose in code than Make's visual builder. Make is still the right call if you want the routing flexibility without writing code and aren't locked into Microsoft's ecosystem.
Three things you'll run into after setup. First, Outlook's 'From' field includes the display name formatted as 'FirstName LastName <[email protected]>' — if you filter on this field using 'Equals', your filter will never match because the full string includes the display name. Switch to 'Contains' and use just the domain portion. Second, Make's Outlook module does not support filtering by Outlook categories or flags — you can only filter by folder, sender, or subject keywords. If your team relies on Outlook categories to flag important emails, you'll need to first set up an Outlook rule that moves categorized emails to a dedicated folder, then point Make at that folder. Third, if your Microsoft account uses multi-factor authentication with conditional access, Make's OAuth token can expire unexpectedly when your organization rotates security policies. Set up Make's built-in error notifications so you get an alert if the Outlook connection drops — otherwise the scenario silently stops running and you won't notice until someone asks why the Slack alerts stopped.
Ideas for what to build next
- →Add error notifications for failed runs — Set up a Make error handler on the Slack module so that if a message fails to post (e.g., bot removed from channel), you get an email or a fallback Slack DM. Go to the Slack module, right-click, and select 'Add error handler' to configure this.
- →Route emails to different channels by sender domain — Expand the Router to add one path per client domain, routing each client's emails to their own dedicated Slack channel. This keeps client communications separated and makes it easy to add channel-specific teammates without noise from other clients.
- →Build a daily email digest instead of per-email alerts — Replace the 5-minute polling with a once-daily schedule, switch the Outlook trigger to fetch the last 24 hours of emails, and use Make's Array Aggregator module to compile all emails into a single formatted Slack digest message posted each morning.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup