Intermediate~15 min setupCRM & CommunicationVerified April 2026
Salesforce logo
Slack logo

How to Send New Lead Notifications with Power Automate

Automatically post new Salesforce leads to your #sales-leads Slack channel with lead source, company, title and phone number.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Slack for Salesforce exists as a native integration, but it limited to record notifications without custom logic. This guide uses an automation platform for full control. View native option →

Best for

Teams using Microsoft 365 who want native integration without paying per-task costs

Not ideal for

Complex lead routing or teams wanting sub-minute notification speeds

Sync type

real-time

Use case type

notification

Real-World Example

💡

A 20-person B2B sales team gets instant Slack notifications whenever a new lead hits their Salesforce org. Before automation, reps checked Salesforce every 30 minutes and often missed hot leads from their website for hours. Now the entire team sees new leads within 3-5 minutes with all qualifying details right in Slack.

What Will This Cost?

Drag the slider to your expected monthly volume.

1 op per trigger eventEach time this workflow runs counts as one operation toward your monthly limit.
/mo
505005K50K

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

Skip the setup

Import this workflow directly into Power Automate

Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. 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.

Admin access to Salesforce org to create connected app permissions
Slack workspace admin rights to install Power Automate app
Microsoft 365 account with Power Automate license
Permission to post messages in target Slack channel

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Lead NameFirstName, LastName
CompanyCompany
EmailEmail
Record URLId
4 optional fields▸ show
TitleTitle
PhonePhone
Lead SourceLeadSource
Lead StatusStatus

Step-by-Step Setup

1

My flows > + New flow > Automated cloud flow

Create automated cloud flow

Navigate to make.powerautomate.com and sign in with your Microsoft account. Click 'My flows' in the left sidebar, then click '+ New flow' at the top. Select 'Automated cloud flow' from the dropdown menu. Name your flow 'Salesforce Lead to Slack Notifications' and leave the trigger blank for now.

  1. 1Click 'My flows' in the left navigation
  2. 2Click the '+ New flow' button
  3. 3Select 'Automated cloud flow'
  4. 4Enter flow name: 'Salesforce Lead to Slack Notifications'
  5. 5Click 'Create' without selecting a trigger
What you should see: You should see the flow designer with an empty trigger step labeled 'Choose your flow's trigger'.
2

Flow designer > Trigger > Salesforce > When a record is created

Add Salesforce trigger

Click on the trigger step and search for 'Salesforce' in the connector search box. Select the Salesforce connector, then choose 'When a record is created' trigger. This fires whenever any new record gets added to your Salesforce org. You'll need to authenticate with your Salesforce credentials if this is your first time connecting.

  1. 1Click the 'Choose your flow's trigger' box
  2. 2Type 'Salesforce' in the search bar
  3. 3Click the Salesforce connector
  4. 4Select 'When a record is created' trigger
  5. 5Sign in to Salesforce when prompted
What you should see: The trigger shows Salesforce connection fields with dropdowns for Environment and Object Type.
Common mistake — Power Automate connects to your default Salesforce org - switch orgs in Salesforce first if you need a different environment.
Power Automate
+
click +
search apps
Salesforce
SA
Salesforce
Add Salesforce trigger
Salesforce
SA
module added
3

Salesforce trigger > Configuration

Configure lead trigger settings

Set Environment to 'Production' unless you're testing in a sandbox. For Object Type, select 'Lead' from the dropdown - this ensures the flow only triggers on new leads, not contacts or other records. Leave Scope as 'Organization' to catch leads from all users and processes. The trigger will now fire within 2-5 minutes of any new lead creation.

  1. 1Set Environment to 'Production'
  2. 2Click Object Type dropdown
  3. 3Select 'Lead' from the list
  4. 4Keep Scope as 'Organization'
  5. 5Click outside the fields to save
What you should see: The trigger shows 'Lead' selected and displays sample lead fields like First Name, Last Name, Company in the dynamic content preview.
Common mistake — If you pick 'Contact' instead of 'Lead', you'll get notifications for new contacts too, which might flood your channel.
4

Flow designer > + New step > Slack > Post message

Add new step for Slack action

Click '+ New step' below the Salesforce trigger. Search for 'Slack' in the connector search box and select the Slack connector. Choose 'Post message' action - this lets you send formatted messages to any Slack channel. You'll need to authorize Power Automate to access your Slack workspace if you haven't connected before.

  1. 1Click '+ New step' button
  2. 2Type 'Slack' in the connector search
  3. 3Select the Slack connector
  4. 4Choose 'Post message' action
  5. 5Authorize Slack access if prompted
What you should see: The Slack action appears with fields for Channel, Message text, and optional settings like Post as, Bot name.
Common mistake — Make sure you authorize with a Slack account that has permission to post in your target channel.
5

Slack action > Channel

Select target Slack channel

Click the Channel dropdown and select your target channel from the list. If you don't see #sales-leads, type it manually including the # symbol. Power Automate pulls all public channels you have access to, plus private channels where the app is installed. The bot will post using the name 'Microsoft Power Automate' unless you customize it.

  1. 1Click the Channel dropdown
  2. 2Select #sales-leads from the list
  3. 3Or type '#sales-leads' manually if not shown
  4. 4Leave Post as field blank for default bot name
What you should see: Channel field shows '#sales-leads' and you can see the Message text field below it ready for content.
Common mistake — Map fields using the variable picker — don't type field names manually. Hand-typed variable names often have invisible spacing errors that produce blank output.
message template
🔔 New Record: {{FirstName}} {{LastName}}
Email: {{Email}}
Company: {{Company}}
#sales
🔔 New Record: Jane Smith
Company: Acme Corp
6

Slack action > Message text > Dynamic content

Build lead notification message

Click in the Message text field and create your notification template. Type static text like 'New lead:' then click 'Add dynamic content' to insert Salesforce lead fields. Build a message that includes the lead's name, company, title, phone, and lead source. Use line breaks and formatting to make it scannable for your sales team.

  1. 1Click in the Message text field
  2. 2Type 'New lead: '
  3. 3Click 'Add dynamic content'
  4. 4Select 'First Name' then 'Last Name' from Salesforce fields
  5. 5Add more static text and dynamic fields for company, title, phone
What you should see: Message field shows a mix of plain text and blue dynamic content tokens like 'New lead: {{FirstName}} {{LastName}}'.
Common mistake — Don't put dynamic content directly next to each other without spaces - 'FirstNameLastName' will run together in Slack.
7

Slack action > Message text

Format message with lead details

Structure your message for quick scanning by sales reps. Include Company, Title, Phone, Email and Lead Source each on separate lines. Use Slack formatting like asterisks for bold text around field labels. Add the Salesforce record URL so reps can click through to see full lead details and take action immediately.

  1. 1Add '*Company:* ' then Company dynamic field
  2. 2Press Enter and add '*Title:* ' then Title field
  3. 3Add '*Phone:* ' then Phone dynamic field
  4. 4Add '*Lead Source:* ' then Lead Source field
  5. 5Add Salesforce record link using Lead ID
What you should see: Message preview shows formatted lead details with bold labels and dynamic content tokens for each field.
Common mistake — Lead Source might be empty for some leads - consider adding a condition to handle blank values gracefully.
8

Flow designer > Save > Test > Manually

Test the flow

Click 'Save' at the top right to save your flow. Click 'Test' and select 'Manually' to test with real data. Create a new lead in Salesforce to trigger the flow. Go back to Power Automate and watch the run history - you should see the flow execute within 2-5 minutes and post a message to your Slack channel.

  1. 1Click 'Save' button in top right
  2. 2Click 'Test' next to Save
  3. 3Select 'Manually' option
  4. 4Create a test lead in Salesforce
  5. 5Monitor the flow run in Power Automate
What you should see: Flow shows 'Succeeded' status and your test lead appears formatted in the #sales-leads Slack channel.
Power Automate
▶ Test flow
executed
Salesforce
Slack
Slack
🔔 notification
received
9

Flow settings > Turn on > Run history

Enable and monitor

Turn on your flow by clicking the toggle switch in the top bar - it should show 'On' when active. Check the run history over the next few days to make sure it's firing reliably. Look for any failed runs and review error messages. Set up email notifications in flow settings if you want alerts when the automation fails.

  1. 1Click the toggle switch to turn flow 'On'
  2. 2Navigate to 'Run history' tab
  3. 3Review recent executions for errors
  4. 4Set up failure notifications if desired
What you should see: Flow status shows 'On' and run history displays successful executions as new leads come in.
Common mistake — Power Automate has a 5-minute delay for Salesforce triggers, so don't expect instant notifications like you'd get with Zapier webhooks.

Add this expression in Message text to handle empty phone numbers gracefully and avoid showing 'undefined' in Slack notifications.

JavaScript — Code Stepif(empty(triggerOutputs()?['body/Phone']),
▸ Show code
if(empty(triggerOutputs()?['body/Phone']), 
  'Phone: Not provided', 
  concat('Phone: ', triggerOutputs()?['body/Phone'])

... expand to see full code

if(empty(triggerOutputs()?['body/Phone']), 
  'Phone: Not provided', 
  concat('Phone: ', triggerOutputs()?['body/Phone'])
)

// For handling multiple optional fields:
if(empty(triggerOutputs()?['body/Title']),
  '',
  concat('*Title:* ', triggerOutputs()?['body/Title'], '\n')
)

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

VerdictWhy n8n for this workflow

Use Microsoft Power Automate for this if your team already lives in Microsoft 365 and wants native integration without per-task costs. Power Automate includes 2,000 API calls per user per month with most business plans, and Salesforce lead notifications rarely hit those limits. Skip this platform if you need sub-2-minute notification speeds - Zapier's webhooks are 3x faster.

Cost

At 100 new leads per month, you'll use roughly 200 Power Automate runs (100 triggers + 100 Slack actions). This costs nothing extra on most Microsoft 365 Business plans. Zapier charges $20/month for the same volume while Make costs $9/month. Power Automate wins on cost if you're already paying for Office.

Tradeoffs

Zapier handles this workflow with true webhooks that fire in 30-60 seconds instead of Power Automate's 2-5 minute polling. Make offers better error handling and lets you transform lead data more easily with built-in functions. n8n gives you complete control over message formatting with JavaScript expressions. But Power Automate integrates directly with Teams, SharePoint, and other Microsoft tools your sales team probably uses daily.

You'll hit two main gotchas after setup. First, Power Automate's Salesforce trigger occasionally misses leads during high-volume periods or Salesforce maintenance windows - check run history weekly. Second, the dynamic content picker sometimes creates malformed expressions that work in testing but fail with real data, especially around optional fields like mobile phone or lead source.

Ideas for what to build next

  • Add lead routing by sourceSend different lead sources to different Slack channels based on the team that should handle them.
  • Include opportunity scoringAdd lead score or rating fields to help reps prioritize which notifications to act on first.
  • Set up lead aging alertsCreate a second flow that reminds the team about leads that haven't been contacted after 24 hours.

Related guides

Was this guide helpful?
Salesforce + Slack overviewPower Automate profile →