

Deal stage alerts — HubSpot to Slack in Make
Posts a Slack message with deal details whenever 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 needing instant deal stage notifications with detailed context
Not ideal for
Teams with under 50 deal changes monthly who prefer simple setup over speed
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person B2B SaaS sales team uses this to notify #deals-pipeline whenever a HubSpot deal moves to 'Proposal Sent' or 'Negotiation' stages. Before automation, the sales manager manually checked pipeline changes twice daily and often missed urgent deals that needed follow-up. Now the team responds to stage changes within minutes instead of hours.
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 | ||
| Deal Name | dealname | |
| Deal Stage | dealstage | |
| Deal Amount | amount | |
| Deal Owner | hubspot_owner_id | |
2 optional fields▸ show
| Close Date | closedate |
| Deal Source | hs_analytics_source |
Step-by-Step Setup
Dashboard > Create scenario > +
Create new scenario
Start with a blank scenario in Make. This will contain your trigger module and action modules.
- 1Click the 'Create a new scenario' button on your Make dashboard
- 2Click the large + icon in the center of the canvas
- 3Search for 'HubSpot' in the app list
- 4Select HubSpot from the results
HubSpot module > Watch Events
Set up HubSpot trigger
Configure the trigger to fire when a deal's stage changes. This webhook-based trigger fires instantly when HubSpot detects the change.
- 1Select 'Watch Events' from the HubSpot trigger options
- 2Click 'Create a webhook' if you don't have one connected
- 3Choose 'deal.propertyChange' from the event type dropdown
- 4Set the property filter to 'dealstage'
HubSpot module > Connection > Add
Connect HubSpot account
Authenticate your HubSpot account to allow Make to receive webhooks. You need admin access to set up webhooks.
- 1Click 'Add' next to the Connection field
- 2Enter your HubSpot account name
- 3Click 'Sign in with HubSpot'
- 4Authorize Make to access your HubSpot data
- 5Click 'Save' to store the connection
Scenario canvas > Run once
Test HubSpot trigger
Verify the webhook receives data when you change a deal stage. Make needs sample data to configure the next modules.
- 1Click 'OK' to save the HubSpot module settings
- 2Go to your HubSpot account in another tab
- 3Find any deal and change its pipeline stage
- 4Return to Make and click 'Run once' on the scenario
Canvas > + > HubSpot > Get a Deal
Add HubSpot Get Deal module
The webhook only sends the deal ID, not full deal details. Add a second module to fetch the complete deal record with name, amount, and owner.
- 1Click the + button to the right of the HubSpot trigger
- 2Search for and select HubSpot again
- 3Choose 'Get a Deal' from the actions list
- 4Map the Deal ID field from the trigger output
HubSpot Get Deal module > Properties
Configure deal data retrieval
Specify which deal properties to fetch. You need deal name, amount, stage, and owner for the Slack message.
- 1In the Deal ID field, click and select 'objectId' from the trigger data
- 2Under Properties, add 'dealname', 'amount', 'dealstage', and 'hubspot_owner_id'
- 3Check 'Include associations' to get contact and company data
- 4Click 'OK' to save the module
Canvas > + > Slack > Create a Message
Add Slack module
Configure Slack to post the deal alert. You can send to a channel or DM the deal owner directly.
- 1Click + after the Get Deal module
- 2Search for and select Slack
- 3Choose 'Create a Message' action
- 4Select your Slack connection or create a new one
Slack module > Connection > Add
Connect Slack workspace
Authenticate with your Slack workspace. The bot needs permission to post in channels and send DMs.
- 1Click 'Add' next to Connection if not already connected
- 2Click 'Sign in with Slack'
- 3Select your Slack workspace
- 4Click 'Allow' to grant Make posting permissions
- 5Verify the green connection badge appears
Slack module > Text field
Configure Slack message content
Build the notification message with deal details. Include deal name, new stage, amount, and owner for complete context.
- 1Set Channel to your target channel (e.g. #deals) or leave blank for DM
- 2In Text field, click the function icon to build dynamic content
- 3Add: 'Deal moved: {{2.dealname}} → {{2.dealstage}} (${{2.amount}})'
- 4Add a new line and include: 'Owner: {{2.hubspot_owner_id}}'
- 5Click 'OK' to save the 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}}Scenario canvas > Run once
Test complete workflow
Run the full scenario to verify Slack receives properly formatted messages. This confirms all data mapping works correctly.
- 1Click 'Run once' at the bottom of the scenario
- 2Go to HubSpot and change another deal's stage
- 3Check your Slack channel for the notification message
- 4Verify all deal details appear correctly in the post
Right-click module > Add error handler
Add error handling
Set up error handling for API failures or missing data. This prevents the scenario from breaking when HubSpot or Slack has issues.
- 1Right-click each module and select 'Add error handler'
- 2Choose 'Break' directive for critical failures
- 3Add a 'Sleep' module before retrying failed operations
- 4Set retry attempts to 3 with exponential backoff
Scenario canvas > Toggle switch > Save
Schedule and activate
Turn on the scenario to monitor deal changes continuously. Webhook-based scenarios run automatically when triggered.
- 1Click the toggle switch at the bottom left to 'ON'
- 2Set the scenario name to something descriptive like 'HubSpot Deal Alerts'
- 3Click 'Save' to store all settings
- 4Monitor the scenario dashboard for successful runs
Drop this into a Make custom function.
JavaScript — Custom Function{{if(get(2; "amount"); formatNumber(get(2; "amount"); "$#,##0"); "Amount TBD")}}▸ Show code
{{if(get(2; "amount"); formatNumber(get(2; "amount"); "$#,##0"); "Amount TBD")}}... expand to see full code
{{if(get(2; "amount"); formatNumber(get(2; "amount"); "$#,##0"); "Amount TBD")}}Scaling Beyond 500+ deal changes/day+ Records
If your volume exceeds 500+ deal changes/day records, apply these adjustments.
Batch notifications
Use Make's aggregator to collect multiple stage changes and send digest messages instead of individual alerts. This reduces Slack noise and API calls.
Filter critical stages only
Add stage filters to notify only on high-value stages like 'Proposal Sent' or 'Negotiation'. Early-stage movements create notification fatigue without actionable value.
Implement rate limiting
Add a 30-second sleep module between Slack posts to avoid hitting Slack's rate limits during bulk deal imports or mass stage updates.
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 you need instant notifications and handle 100+ deal changes per month. The webhook-based trigger fires within seconds of a stage change, unlike Zapier's 5-15 minute polling delay. Make's visual router also handles complex logic — like sending different message formats based on deal value or stage type. Skip Make for basic setups under 50 deals/month where Zapier's simplicity beats Make's learning curve.
This workflow uses 2-3 operations per deal change: one for the webhook trigger, one to fetch deal details, and one to post to Slack. At 200 deal changes monthly, that's 600 operations total. Make's Core plan ($9/month) includes 10,000 operations, easily covering this volume. Zapier charges $20/month for the same trigger speed and webhook access. N8N costs nothing if self-hosted but requires server maintenance.
Zapier beats Make on setup speed — their HubSpot integration includes deal details in the trigger payload, eliminating the second API call. N8N offers better Slack formatting options with native markdown support and thread replies. But Make's error handling is superior for both platforms. You get granular retry logic, exponential backoff, and detailed error logs. When HubSpot's API hits rate limits (common during bulk imports), Make's error handlers prevent scenario breaks.
HubSpot's webhook delivery isn't guaranteed — during high API load, some events get dropped without notification. Build a backup polling scenario that runs hourly to catch missed stage changes. The hubspot_owner_id field returns numeric IDs, not names — you'll need a lookup table or additional API call to get readable owner names. Deal amounts come as strings without currency symbols, so format them manually if you want '$1,500' instead of '1500'.
Ideas for what to build next
- →Add thread replies for deal updates — When the same deal changes stages again, reply to the original Slack thread instead of posting a new message. This keeps deal history organized in one conversation.
- →Create conditional formatting by deal value — Send high-value deals ($50k+) to a separate #big-deals channel with @here mentions. Use Make's router to split notifications based on deal amount thresholds.
- →Build a deal closing celebration bot — Add a separate trigger for deals moving to 'Closed Won' that posts celebration GIFs and calculates monthly team totals in Slack.
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