Beginner~8 min setupCRM & CommunicationVerified April 2026
HubSpot logo
Slack logo

How to Send HubSpot Deal Stage Alerts to Slack with Zapier

Automatically notify your Slack team or deal owner when a HubSpot deal moves to a new pipeline stage.

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

Sales teams that want automatic Slack notifications when deals progress through pipeline stages.

Not ideal for

Teams needing instant notifications or complex message formatting with custom deal data.

Sync type

polling

Use case type

notification

Real-World Example

💡

A 12-person B2B SaaS sales team uses this to post in #sales-updates whenever a HubSpot deal reaches Proposal, Negotiation, or Closed Won stages. Before automation, reps manually announced big deal movements in Slack, missing 30-40% of stage changes. Now the whole team sees every progression within 10 minutes and can offer support or celebrate wins immediately.

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

Before You Start

Make sure you have everything ready.

HubSpot account with deal pipeline and active deals
Slack workspace where you can add apps and post messages
Admin permissions in HubSpot to authorize API access

Optional

Paid Zapier plan for faster polling (5-15 minutes vs hourly)

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Deal Namedealname
Deal Stage Labeldealstage_label
Deal Amountamount
Deal Owner Namehubspot_owner_id_label
3 optional fields▸ show
Deal Record URLhs_deal_record_url
Next Activity Datenotes_next_activity_date
Close Dateclosedate

Step-by-Step Setup

1

Dashboard > Create Zap > Trigger

Create New Zap

Start building your automation by creating a new Zap. You'll connect HubSpot as the trigger and Slack as the action.

  1. 1Click 'Create Zap' button on your Zapier dashboard
  2. 2Click on 'Trigger' section to set up your trigger app
  3. 3Type 'HubSpot' in the search box and select it
What you should see: You should see HubSpot selected as your trigger app with trigger event options below.
2

Trigger > HubSpot > Event

Configure HubSpot Deal Updated Trigger

Set HubSpot to trigger when a deal's stage changes. This catches every stage movement in your pipeline.

  1. 1Select 'Deal Updated' from the Event dropdown
  2. 2Click 'Continue' to proceed to account connection
  3. 3Choose which deal properties to watch for changes
What you should see: The trigger should show 'Deal Updated' selected with configuration options visible.
Common mistake — Don't choose 'New Deal' - that only fires when deals are created, not when stages change.
Zapier
+
click +
search apps
HubSpot
HU
HubSpot
Configure HubSpot Deal Updat…
HubSpot
HU
module added
3

Trigger > HubSpot > Account

Connect HubSpot Account

Link your HubSpot account so Zapier can monitor deal changes. You'll need admin permissions to authorize the connection.

  1. 1Click 'Sign in to HubSpot' button
  2. 2Enter your HubSpot login credentials in the popup
  3. 3Click 'Grant access' to authorize Zapier
  4. 4Select your HubSpot account from the dropdown
What you should see: You should see a green checkmark next to your HubSpot account name.
Common mistake — Make sure you're logged into the correct HubSpot portal before connecting - switching accounts later requires reconnecting.
Zapier settings
Connection
Choose a connection…Add
click Add
HubSpot
Log in to authorize
Authorize Zapier
popup window
Connected
green checkmark
4

Trigger > HubSpot > Configure

Filter for Stage Changes Only

Configure the trigger to only fire when the deal stage property specifically changes. This prevents notifications for irrelevant deal updates.

  1. 1In the 'Property Name' dropdown, select 'dealstage'
  2. 2Leave 'Property Value' blank to catch any stage change
  3. 3Click 'Continue' to proceed to testing
What you should see: The configuration should show 'dealstage' selected as the property to monitor.
Common mistake — Setting a specific property value here will only trigger for that one stage - leave blank to catch all stage changes.
HubSpot
HU
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Slack
SL
notified
5

Trigger > HubSpot > Test

Test HubSpot Trigger

Pull in a recent deal update to test the connection. Zapier needs sample data to configure the Slack message.

  1. 1Click 'Test trigger' button
  2. 2Wait for Zapier to find recent deal updates
  3. 3Select a deal record that shows stage change data
  4. 4Click 'Continue with selected record'
What you should see: You should see deal data including name, amount, stage, and owner information in the test results.
Common mistake — If no records appear, update a deal stage in HubSpot first - Zapier needs recent activity to test with.
Zapier
▶ Turn on & test
executed
HubSpot
Slack
Slack
🔔 notification
received
6

Action > App Selection

Add Slack Action

Set up Slack as your action app to send the notification. You can post to channels or send direct messages.

  1. 1Click the '+' icon below your trigger to add an action
  2. 2Search for 'Slack' and select it
  3. 3Choose 'Send Channel Message' or 'Send Direct Message' based on your preference
What you should see: Slack should appear as your action app with the selected message type highlighted.
7

Action > Slack > Account

Connect Slack Account

Authorize Zapier to post messages in your Slack workspace. You'll need permission to add apps to the workspace.

  1. 1Click 'Sign in to Slack'
  2. 2Select your Slack workspace from the list
  3. 3Click 'Allow' to grant posting permissions
  4. 4Confirm your connected Slack account appears
What you should see: Your Slack workspace name should show with a green connected status.
Common mistake — Connect with an account that has permission to post in your target channels - guest accounts often can't add integrations.
8

Action > Slack > Set up action

Configure Slack Message

Set up your notification message with deal details. Include deal name, value, new stage, and owner for context.

  1. 1Select your target channel from the 'Channel' dropdown
  2. 2In the 'Message Text' field, click the '+' icon to insert HubSpot data
  3. 3Add deal name, amount, stage, and owner fields from the dropdown
  4. 4Format the message like: 'Deal Update: [Deal Name] moved to [Stage] - $[Amount] - Owner: [Owner Name]'
What you should see: The message preview should show your formatted text with HubSpot field references in blue tags.
Common mistake — Don't use the raw 'dealstage' field - use 'Deal Stage Label' instead to get readable stage names like 'Proposal' instead of stage IDs.
Message template
🔔 New Lead: {{1.properties.firstname.value}} {{1.properties.lastname.value}}
Email: {{1.properties.email.value}}
Company: {{1.properties.company.value}}
Status: {{1.properties.hs_lead_status.value}}
9

Action > Slack > Message configuration

Add Deal Link and Next Steps

Include a direct link to the deal and suggested next steps. This makes your notifications actionable for the team.

  1. 1Add the HubSpot deal URL field to your message
  2. 2Include relevant next step or task information if available
  3. 3Format as: 'Next Steps: [Next Step Field] - View Deal: [Deal URL]'
What you should see: Your message should now include clickable links and action items along with deal data.
Common mistake — HubSpot deal URLs are long - consider using Slack's link formatting like '<URL|View Deal>' for cleaner messages.
10

Action > Slack > Test

Test Slack Message

Send a test notification to verify formatting and data mapping. This confirms everything works before going live.

  1. 1Click 'Test action' button
  2. 2Check your Slack channel for the test message
  3. 3Verify all deal data appears correctly formatted
  4. 4Click 'Continue' if the test looks good
What you should see: A formatted message should appear in your Slack channel with real deal data and working links.
Common mistake — The test uses your sample deal data - live messages will show current deal information when stage changes occur.
Message template
🔔 New Lead: {{1.properties.firstname.value}} {{1.properties.lastname.value}}
Email: {{1.properties.email.value}}
Company: {{1.properties.company.value}}
Status: {{1.properties.hs_lead_status.value}}
11

Steps > Filter > Conditions

Add Conditional Logic

Set up filters to only notify for important stages like Proposal, Negotiation, or Closed Won. This prevents notification spam.

  1. 1Click 'Add step' between HubSpot and Slack
  2. 2Choose 'Filter' from the options
  3. 3Set condition: 'Deal Stage' contains 'Proposal' OR 'Negotiation' OR 'Closed Won'
  4. 4Click 'Continue' to apply the filter
What you should see: A filter step should appear showing your stage conditions before the Slack action.
Common mistake — Use exact stage names from your HubSpot pipeline - mismatched names will block all notifications.
12

Zap Editor > Publish

Publish and Monitor

Turn on your Zap and monitor the first few notifications. Check that messages fire within 5-15 minutes of stage changes.

  1. 1Click 'Publish Zap' button in the top right
  2. 2Give your Zap a descriptive name like 'HubSpot Deal Stage → Slack Alerts'
  3. 3Turn on the Zap toggle
  4. 4Test by changing a deal stage in HubSpot
What you should see: Your Zap should show as 'On' in your dashboard and send notifications when deals change stages.
Common mistake — Zapier polls HubSpot every 5-15 minutes on paid plans - don't expect instant notifications like webhooks provide.

Drop this into a Zapier Code step.

Copy this template{{deal_name}} moved to {{dealstage_label}} 🎯
▸ Show code
{{deal_name}} moved to {{dealstage_label}} 🎯
💰 Value: ${{amount}}
👤 Owner: {{hubspot_owner_id_label}}

... expand to see full code

{{deal_name}} moved to {{dealstage_label}} 🎯
💰 Value: ${{amount}}
👤 Owner: {{hubspot_owner_id_label}}
📅 Close: {{closedate}}
🔗 <{{hs_deal_record_url}}|View in HubSpot>

Scaling Beyond 100+ stage changes per day+ Records

If your volume exceeds 100+ stage changes per day records, apply these adjustments.

1

Add Delay Steps

Insert 1-2 second delays between actions to avoid hitting HubSpot's rate limits. Zapier doesn't automatically throttle requests like Make does.

2

Filter More Aggressively

Only notify for 2-3 critical stages instead of all movements. High-volume pipelines generate notification fatigue if every stage change hits Slack.

3

Batch Notifications

Consider switching to scheduled digest messages instead of real-time alerts. Use Zapier's Digest feature to group multiple stage changes into hourly summaries.

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 Zapier for this workflow

Use Zapier for this if your team wants notifications without any coding and you're okay with 5-15 minute delays. The guided interface makes setup foolproof, and Slack formatting options give you clean messages with deal links and owner mentions. Skip Zapier if you need instant notifications - HubSpot's native Slack integration or Make's webhook triggers fire immediately when stages change.

Cost

This workflow uses 1 task per deal stage change. At 50 stage changes per month, that's 50 tasks total. The Starter plan at $20/month gives you 750 tasks, so you're covered unless you're moving 600+ deals monthly. Make would cost $9/month for the same volume, and n8n is free up to 5,000 executions. Zapier costs more but saves setup time.

Tradeoffs

Make beats Zapier here with instant webhook triggers instead of polling delays. N8n offers better deal data formatting with JavaScript functions for custom message templates. But Zapier's pre-built Slack formatting handles mentions, channels, and links without coding. For teams that want working notifications in 20 minutes, not 2 hours of webhook configuration, Zapier wins.

You'll hit HubSpot's 150 requests per 10 seconds rate limit if you're processing high deal volumes. Zapier doesn't batch requests, so 20+ simultaneous stage changes can cause delays. The 'Deal Updated' trigger fires on any property change, not just stages - add filters or you'll spam your team with notifications for every deal note or contact update. HubSpot's API sometimes returns stage IDs instead of readable names, breaking your message formatting until you map the label fields correctly.

Ideas for what to build next

  • Add Deal Closed NotificationsCreate a separate Zap to post celebratory messages with deal value and commission info when deals reach Closed Won status.
  • Log Stage Changes to Google SheetsTrack deal velocity by logging every stage change with timestamps to analyze how long deals spend in each stage.
  • Create Task RemindersAutomatically create follow-up tasks in HubSpot or Asana when deals sit in the same stage for too long without activity.

Related guides

Was this guide helpful?
HubSpot + Slack overviewZapier profile →