# HubSpot to Slack Alerts

> Build a HubSpot deal alert in Glow that posts to Slack above a chosen amount. Learn numeric Conditions, field mapping and how to test both routes.

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

**At a glance**

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

HubSpot trigger → [Conditions](https://docs.getglow.ai/build/action-steps/conditions) → Slack

```mermaid
flowchart LR
    H[HubSpot: New Deal] --> C[Conditions: amount greater than 5000]
    C -->|Match| S[Slack: Send Alert]
    C -->|ELSE| E[End Without Alert]
```

## 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](https://docs.getglow.ai/getting-started/examples/hubspot-slack-alerts#building-the-workflow)

[Open App](https://app.getglow.ai/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:

```json
{
  "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 than** `5000`.

**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](https://docs.getglow.ai/build/core-concepts/data-transformation) to format values cleanly:

```markdown
🚨 _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](https://docs.getglow.ai/getting-started/examples/hubspot-slack-alerts#set-the-workflow-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.

**Verify it works**

- **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 →](https://docs.getglow.ai/getting-started/examples/github-jira-sync)**

Go deeper on the concepts this recipe uses:

- **[Conditions (If/Else)](https://docs.getglow.ai/build/action-steps/conditions):** Learn how to build complex branching logic.
- **[Data Transformation](https://docs.getglow.ai/build/core-concepts/data-transformation):** Format currencies, numbers, and dates directly in tokens.
- **[Automation Data & Mapping](https://docs.getglow.ai/build/core-concepts/workflow-data):** Understand how data from the trigger becomes available in downstream steps.
