HubSpot to Slack Alerts
Level 1: Fundamentals · about 10 minutes · 3 steps
Post a Slack alert when a HubSpot deal exceeds $5,000, and leave smaller deals quiet.
This is the simplest automation here: one trigger, one decision, one action. Everything that follows builds on this pattern.
- Result
- Post a Slack alert for new HubSpot deals worth more than $5,000; leave smaller deals quiet.
- You need
- HubSpot test deals in USD and connected HubSpot and Slack accounts with access to a test channel.
- Usage
- The manually configured core uses Step credits, not Glow AI tokens. Optional Workflow Assistant help uses AI separately.
- What changes
- Real runs send Slack messages, even in Draft. This example does not update the HubSpot deal.
Prerequisites
- A connected HubSpot account with test deals in USD, or a threshold adapted to your currency.
- A connected Slack account with permission to post to a test channel.
Building the Automation
Open App , sign in if prompted and select your workspace. Open Automations → Create new → Workflow, then add the Steps below. The link opens Glow; you build this example on the new canvas.
1. The Trigger: HubSpot (New or Updated Deal)
Open Apps in the dock, search for HubSpot, and add its trigger. Select New or Updated Deal (with New Only enabled) or New Deal in Stage. Once Live, the selected trigger delivers deals according to its event or polling behavior.
To practice the mapping before connecting a live HubSpot portal, paste this sample payload into Testing data under the trigger’s Test & Debug tab:
{
"dealname": "Acme Corp Enterprise Expansion",
"amount": 7500,
"deal_owner": "Ada Lovelace",
"portal_url": "https://example.com/deals/67890"
}2. The Logic: Condition Step
Alert the team only when a deal exceeds $5,000 so the channel stays quiet for smaller deals. Drag a Conditions step onto the canvas and connect it to your trigger.
- Use a numeric rule, not an AI judgement: Condition A:
{{ 1.amount }}is greater than5000.
Before using real deals, capture a trigger result and insert its amount from Workflow data. The sample uses {{ 1.amount }}, while the real trigger may nest deal properties or return an owner ID. Map only fields present in that result, or add a lookup Step.
If your trigger step is numbered differently on the canvas (e.g. 2), use
your actual step number instead of 1.
3. The Action: Slack (Send Message)
Open Apps in the dock, search for Slack, and pick Send Message. Keep Mode in the Step’s ⋮ menu set to HTTP to configure fields manually. Select your Slack connection and your test channel (such as #sales-alerts). In the Conditions Step, set Then go to on your amount rule to point at the Slack Step.
Deals at or below $5,000 match nothing, so they take the ELSE route. Leave it empty to end the run there.
In the Text field, use dynamic variable references and in-field Data Transformation to format values cleanly:
🚨 _New High-Value Deal Created!_
• _Deal:_ {{ 1.dealname }}
• _Amount:_ {{ 1.amount | format_currency:"$" }}
• _Owner:_ {{ 1.deal_owner | default:"Unassigned" }}
• _HubSpot Link:_ {{ 1.portal_url }}Prefer an Assistant-built draft? Open the Workflow Assistant and prompt: “When a new deal is created in HubSpot, check if the amount is over $5,000. If true, format the currency and send an alert to #sales-alerts.” Review the generated mappings and test both routes before switching to Live.
Test and go live
Keep the automation in Draft and point the Slack Step at your test channel. Set the trigger as the run point and click Run in the dock for each check below. Replaying a single Step’s saved output does not test its action. Note existing test messages first so you can count only the new ones.
Prove both routes
Change only amount in the sample trigger input, apply it, then run once for each value:
| Test input | Expected result | Where to check |
|---|---|---|
amount: 6000 | The amount rule matches and the run sends one alert. | Conditions result, Slack Step execution and the test channel. |
amount: 5000 | The rule does not match. The run takes ELSE, with no Slack action. | Conditions result and no new message in the test channel. |
amount: 4000 | The run also takes ELSE, with no Slack action. | Conditions result and no new message in the test channel. |
Also test a deal with no amount. Inspect the Conditions result and decide how to handle missing data. A missing value is not a confirmed low-value deal.
Check the destination
Confirm the three amount tests produced only one Slack alert showing the deal name, $6,000.00, owner, and link. Next, capture a real test deal from HubSpot (including an unassigned deal) and map its actual fields from Workflow data. You can then leave the automation in Draft or continue to Live below.
Set the automation Live
Switch the automation from Draft to Live. Create one controlled deal above the threshold, then confirm the run in Glow and the new Slack message.
- Run
- Test the HubSpot trigger with amount set to 6000 via dock Run, then repeat with 4000.
- You should see
- The 6000 run matches Conditions and posts one Slack alert, while 4000 takes ELSE without sending messages.
What’s Next?
👉 Continue to GitHub to Jira Issue Creation →
Go deeper on the concepts this recipe uses:
- Conditions (If/Else): Learn how to build complex branching logic.
- Data Transformation: Format currencies, numbers, and dates directly in tokens.
- Automation Data & Mapping: Understand how data from the trigger becomes available in downstream steps.