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

How to Send HubSpot Lead Notifications to Slack with Power Automate

Automatically post a Slack message to #sales whenever a new contact is created in HubSpot with lead details.

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

HubSpot for Slack exists as a native integration, but it doesn't support conditional routing or custom message formatting. This guide uses an automation platform for full control. View native option →

Best for

Teams using Microsoft 365 who want instant HubSpot contact notifications without managing separate automation tools

Not ideal for

High-volume lead flows over 1,000 contacts/month or complex multi-channel routing requirements

Sync type

real-time

Use case type

notification

Real-World Example

💡

A 12-person B2B software company uses this to notify their #sales channel whenever a new contact fills out their demo request form in HubSpot. Before automation, reps checked HubSpot manually every 30 minutes and missed hot leads during lunch breaks or meetings. Now they see lead details within 10 seconds and can respond while prospects are still on the website.

What Will This Cost?

Drag the slider to your expected monthly volume.

/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.

HubSpot Professional or Enterprise plan with webhook access
Slack workspace admin or channel posting permissions for target channel
Microsoft 365 account with Power Automate license (included in most plans)
HubSpot contact properties configured including lead source and status fields

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Email Addressemail
7 optional fields▸ show
First Namefirstname
Last Namelastname
Company Namecompany
Lead Statushs_lead_status
Lead Sourcehs_latest_source
Phone Numberphone
Websitewebsite

Step-by-Step Setup

1

My flows > + New flow > Automated cloud flow

Create automated cloud flow

Go to make.powerautomate.com and sign in with your Microsoft account. Click 'My flows' in the left sidebar, then '+ New flow' at the top. Select 'Automated cloud flow' from the dropdown. Name your flow 'HubSpot Lead to Slack' and click Create without selecting a trigger yet.

  1. 1Click 'My flows' in the left navigation
  2. 2Click '+ New flow' button at the top
  3. 3Select 'Automated cloud flow'
  4. 4Enter 'HubSpot Lead to Slack' as the flow name
  5. 5Click 'Create' button
What you should see: You should see the flow designer with an empty canvas and 'Choose your flow's trigger' prompt.
2

Flow designer > Choose trigger > HubSpot

Add HubSpot trigger

In the trigger search box, type 'HubSpot' and select the HubSpot connector. Choose 'When a contact is created' from the trigger list. If you don't see HubSpot triggers, click 'See more' to expand all available options. This trigger fires immediately when new contacts enter your HubSpot CRM.

  1. 1Type 'HubSpot' in the connector search box
  2. 2Click on the HubSpot connector icon
  3. 3Select 'When a contact is created' trigger
  4. 4Click 'Create' to add the trigger
What you should see: The trigger step appears with 'Sign in to HubSpot' button and trigger configuration options.
Common mistake — HubSpot Professional or Enterprise required - the free tier doesn't support real-time webhooks.
Power Automate
+
click +
search apps
HubSpot
HU
HubSpot
Add HubSpot trigger
HubSpot
HU
module added
3

HubSpot trigger > Sign in

Connect HubSpot account

Click 'Sign in' and authenticate with your HubSpot account in the popup window. Grant Power Automate permission to read contacts and webhooks. After signing in, you'll see your HubSpot portal name appear in the connection dropdown. The trigger will automatically configure itself to listen for new contact events.

  1. 1Click 'Sign in' button in the HubSpot trigger
  2. 2Enter HubSpot email and password in popup
  3. 3Click 'Grant access' for Power Automate permissions
  4. 4Verify your portal name appears in the connection field
What you should see: Green checkmark appears next to HubSpot connection and the trigger shows 'When a contact is created' configuration.
Common mistake — Use an admin HubSpot account - regular users may not have webhook creation permissions.
Power Automate settings
Connection
Choose a connection…Add
click Add
HubSpot
Log in to authorize
Authorize Power Automate
popup window
Connected
green checkmark
4

HubSpot trigger > Show advanced options > Properties

Configure contact properties

Click 'Show advanced options' in the HubSpot trigger to select which contact properties to retrieve. Add 'firstname', 'lastname', 'email', 'company', and 'hs_lead_status' to the properties list. These fields will be available in your Slack message. Without specifying properties, you'll only get the contact ID.

  1. 1Click 'Show advanced options' in trigger step
  2. 2Click in the 'Properties' field
  3. 3Type and select 'firstname, lastname, email, company, hs_lead_status'
  4. 4Verify all 5 properties appear in the field
What you should see: The Properties field shows your 5 selected contact properties as comma-separated values.
Common mistake — Property names are case-sensitive - use exact HubSpot internal names or the fields will return empty.
HubSpot fields
firstname
lastname
email
company
hs_lead_status
available as variables:
1.props.firstname
1.props.lastname
1.props.email
1.props.company
1.props.hs_lead_status
5

Flow designer > + New step

Add new step

Click '+ New step' below the HubSpot trigger to add an action. This opens the action picker where you can search for connectors. The next step will be posting to Slack, so you'll need to find the Slack connector in the extensive list of available actions.

  1. 1Click '+ New step' button under HubSpot trigger
  2. 2Wait for the 'Choose an action' panel to load
  3. 3See the search bar and connector grid
What you should see: Action picker opens showing popular connectors and a search box at the top.
6

Choose an action > Slack > Post message

Add Slack action

Type 'Slack' in the action search box and click the Slack connector. Select 'Post message' from the available Slack actions. This action lets you send formatted messages to any Slack channel your bot has access to. Avoid 'Post message as a bot' unless you specifically need bot identity.

  1. 1Type 'Slack' in the search box
  2. 2Click on Slack connector from results
  3. 3Select 'Post message' action
  4. 4Click to add the action to your flow
What you should see: Slack 'Post message' action appears with connection and configuration fields to fill out.
Common mistake — Don't confuse 'Post message' with 'Post message as a bot' - the regular version works better with channels.
7

Slack action > Sign in

Connect Slack workspace

Click 'Sign in' for Slack and authorize Power Automate to access your workspace. Choose the correct workspace if you're in multiple ones. Power Automate requests permissions to read channels, send messages, and access user info. The connection persists across all your flows.

  1. 1Click 'Sign in' button in Slack action
  2. 2Select your Slack workspace from dropdown
  3. 3Click 'Allow' to grant Power Automate permissions
  4. 4Verify connection shows your workspace name
What you should see: Slack connection field shows your workspace name and the action fields become available for configuration.
Common mistake — You need admin or message posting permissions in the target Slack channel or messages will fail silently.
8

Slack action > Channel and Message fields

Configure Slack message

Set 'Channel' to '#sales' or your target channel. In the 'Message' field, click the lightning bolt to add dynamic content from HubSpot. Build a message like 'New lead: [firstname] [lastname] from [company] ([email]) - Status: [hs_lead_status]'. Use line breaks to format the message cleanly.

  1. 1Click Channel dropdown and select '#sales'
  2. 2Click in Message field and type 'New lead: '
  3. 3Click lightning bolt and select 'firstname' from HubSpot
  4. 4Continue building message with lastname, company, email, hs_lead_status
  5. 5Add line breaks for readable formatting
What you should see: Message field shows your template with blue dynamic content tokens mixed with your static text.
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.
9

Top menu > Save > Test > Manually

Test the flow

Click 'Save' in the top right, then 'Test' to run a test. Choose 'Manually' and click 'Test' again. Go to HubSpot and create a test contact with the properties you configured. Return to Power Automate within 2 minutes to see if the test succeeded. Check your Slack channel for the message.

  1. 1Click 'Save' button in top toolbar
  2. 2Click 'Test' button next to Save
  3. 3Select 'Manually' trigger option
  4. 4Click 'Test' to start monitoring
  5. 5Create test contact in HubSpot
  6. 6Return to see test results
What you should see: Test results show green checkmarks for each step and your Slack channel displays the formatted lead notification.
Common mistake — Tests timeout after 10 minutes - create your HubSpot test contact quickly after starting the test.
Power Automate
▶ Test flow
executed
HubSpot
Slack
Slack
🔔 notification
received
10

Top menu > Turn on

Enable the flow

After successful testing, click 'Turn on' in the top right corner to activate the flow. The status changes from 'Off' to 'On' and the flow begins monitoring HubSpot for new contacts. You can view run history, modify the flow, or turn it off anytime from the My flows page.

  1. 1Click 'Turn on' toggle in top right
  2. 2Confirm the flow status shows 'On'
  3. 3Click 'Done' to return to My flows
  4. 4Verify flow appears as 'On' in your flows list
What you should see: Flow status shows 'On' and it begins processing new HubSpot contacts automatically within 30 seconds of creation.
Common mistake — Monitor the first few real triggers closely - webhook failures can cascade if not caught early.

Add conditional formatting to highlight high-value leads by checking company domain or lead score. Paste this expression in the Message field to make enterprise domains bold.

JavaScript — Code Stepconcat('New lead: **',
▸ Show code
concat('New lead: **', 
triggerBody()?['firstname'], ' ', 
triggerBody()?['lastname'], '**',

... expand to see full code

concat('New lead: **', 
triggerBody()?['firstname'], ' ', 
triggerBody()?['lastname'], '**',
if(contains(triggerBody()?['email'], '@enterprise'), ' 🔥 ENTERPRISE', ''),
' from ', triggerBody()?['company'], 
' (', triggerBody()?['email'], ')',
' - Status: ', triggerBody()?['hs_lead_status'],
if(not(empty(triggerBody()?['hs_latest_source'])), 
concat(' - Source: ', triggerBody()?['hs_latest_source']), ''))

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 Power Automate for this if you're already in the Microsoft ecosystem and want native integration with Teams alongside Slack. Setup takes 10 minutes and webhooks fire within 30 seconds of contact creation. The licensing is straightforward since it comes with Microsoft 365 Business Premium. Skip Power Automate if you need complex lead routing logic - Make handles conditional workflows much better.

Cost

Cost math is simple: Power Automate Premium costs $15/user/month with 5,000 flow runs included. Each new contact burns 1 run, so at 200 new contacts monthly you're paying $0.075 per notification. Zapier Professional at $49/month would be $0.245 per task at the same volume. Power Automate wins on price until you hit 5,000+ contacts monthly.

Tradeoffs

Zapier offers better HubSpot property filtering and Slack formatting options out of the box. Make provides superior conditional logic for routing leads to different channels based on source or score. N8n gives you complete control over message formatting and webhook retry logic. Pipedream excels at enriching lead data before posting to Slack. But Power Automate integrates seamlessly with your existing Microsoft tenant and doesn't require managing another platform login.

You'll hit HubSpot webhook registration limits if you create too many test flows - they cap at 25 webhooks per portal. Slack rate limiting kicks in at 1 message per second, so high-volume lead imports can queue messages for several minutes. Power Automate's expression language is clunky for advanced message formatting compared to JavaScript or Python options in other platforms.

Ideas for what to build next

  • Add lead scoring alertsEnhance notifications to flag high-score leads with different Slack formatting or direct messages to specific reps.
  • Create digest versionBuild a daily summary flow that posts lead counts and top prospects instead of individual notifications.
  • Connect deal creationAdd a second flow that updates Slack when the contact becomes a deal with opportunity value.

Related guides

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