Surface buying signals on open deals — Lusha in HubSpot Breeze

Example outputs in this workflow are illustrative — they reflect the structure, fields, and format of real Lusha API output, but were not pulled from a live session. Build this workflow with your own Lusha API key and HubSpot portal to see live results.

An account in your pipeline just closed a Series B. A new CRO joined two weeks ago. The SDR headcount doubled. Every one of those signals is relevant to the deal — and none of them are in HubSpot because nobody was watching the account between calls. This workflow runs a daily signal check on every company associated with an open deal via the Lusha API, surfaces funding events, executive moves, and hiring surges directly on the HubSpot deal record, and alerts the rep when a high-score signal fires. The rep walks into every call knowing what changed at the account since the last touchpoint.

Requires: Lusha API key · HubSpot Workflows (Professional or Enterprise) · HubSpot admin access · Slack (optional)

How it works

This workflow runs on a daily scheduled cadence. It checks every company associated with an open deal against Lusha’s signal layer, writes new signals directly to the HubSpot deal record, and alerts the rep when a high-priority signal fires at an active deal account.

1

Trigger — Scheduled Workflow runs daily at 5am

Set the enrollment trigger to “Deal property — Deal stage — is not equal to ‘Closed Won’ or ‘Closed Lost.’” Enable re-enrollment so every open deal is checked every time the Workflow runs. For each deal, the Workflow retrieves the associated Company to use as the Lusha signal lookup identifier.

2

Action — Fire webhook to Lusha signals endpoint

Add a “Send a webhook” action. GET request to https://api.lusha.com/v2/companies/signals with the company domain as the query parameter. Lusha returns all active buying signals at the account — funding events, executive moves, hiring surges, and intent signals — each scored and dated.

3

Action — Filter for new signals only

Add an If/Then branch comparing signal dates against lusha_last_signal_check on the deal record. Only signals that appeared since the last check are processed — so the rep sees what’s new, not a repeat of signals already logged.

4

Action — Write signals to the deal record

Use “Set property value” actions to write the latest signal summary to lusha_latest_signal, the signal score to lusha_signal_score, and append the full signal to lusha_signal_log on the Deal record. Update lusha_last_signal_check to today.

5

Action — Create task and fire alert for high-priority signals

Add an If/Then branch on lusha_signal_score. If High — funding event, executive hire, or intent above 65 — create a high-priority task for the deal owner and optionally fire a Slack notification via webhook with the signal details and a link to the HubSpot deal record.

6

Output — Rep sees live signals on every open deal

The rep opens a deal record and sees exactly what has happened at the account since the last call — without checking a separate tool, without manually researching the account, and without waiting for the manager to ask in a pipeline review.

Signal endpoint

GET https://api.lusha.com/v2/companies/signals
  ?domain={{company.domain}}

Headers:
  api_key: YOUR_LUSHA_API_KEY

Returns signal array. Each signal has:
  type        (funding / executive_move / hiring_surge / intent)
  score       (0–100)
  date        (ISO timestamp)
  description (plain text summary)

Filter: keep signals where date > lusha_last_signal_check
Alert threshold: score >= 65

Score classification:
  65–74  → Medium signal — log to deal, no immediate alert
  75–84  → High signal — log + create task
  85+     → High signal — log + task + Slack notification

Example deal record after signal check

Live signals on open deal

PropertyValue
Lusha — Latest signalSeries B closed — $22M — 8 days ago
Lusha — Signal scoreHigh
Lusha — Signal logSeries B $22M (8 days) · New CRO (14 days) · 8 SDR roles (11 days)
Lusha — Last signal check[date] ✓
Alert fired✓ Task created · Slack notification sent

Example Slack alert on high signal

⚡ New buying signal — open deal

Account: [Company A]
Deal: [Deal name] — Deal stage 3 — $42K
Signal: Series B closed — $22M — 8 days ago
Additional signals: New CRO (14 days) · 8 SDR roles posted (11 days)
Signal score: High

Re-engage this week — the timing window is open.
View deal in HubSpot →

Custom properties to add to the Deal object

Property labelTypeInternal name
Lusha — Latest signalSingle-line textlusha_latest_signal
Lusha — Signal scoreDropdown (High / Medium / Low / None)lusha_signal_score
Lusha — Signal logMulti-line textlusha_signal_log
Lusha — Last signal checkDate pickerlusha_last_signal_check
Lusha — Alert firedSingle checkboxlusha_alert_fired

Build steps

1

Create the signal properties on the Deal object

In HubSpot → Settings → Properties, add all deal signal properties listed in the table above. Create lusha_signal_score as a Dropdown select with four options: High, Medium, Low, None.

2

Add signal fields to the deal view

In HubSpot → CRM → Deals → Actions → Edit properties. Add lusha_latest_signal and lusha_signal_score to the deal card so reps see signal status in pipeline board view without opening the full record.

3

Build the Deal-based Workflow

In HubSpot → Automation → Workflows → Create Workflow → Deal-based. Set enrollment trigger to “Deal stage is not Closed Won or Closed Lost.” Enable re-enrollment. Set schedule to run daily at 5am.

4

Add the signals webhook

Add action → Send a webhook. GET request to https://api.lusha.com/v2/companies/signals?domain={{company.domain}}. Add header api_key: YOUR_LUSHA_API_KEY. The response returns the full signal array for the account.

5

Add signal filtering and property updates

Add If/Then branch: signal date is after lusha_last_signal_check. On the Yes branch, write the latest signal summary, score, and log to the deal properties. Update lusha_last_signal_check to today on all paths.

6

Add alert actions for high-priority signals

Add If/Then branch: lusha_signal_score is equal to High. Yes branch: create a high-priority task for the deal owner. Add a second webhook to your Slack incoming webhook URL with the signal summary and deal link.

7

Test with a live deal

Open a test deal associated with a company you know has recent signal activity. Manually enroll it in the Workflow from the deal record. Confirm the signal fields populate correctly and the task is created with the right priority. Check the Workflow history tab if signal fields are empty.

Example outputs in this workflow are illustrative — they reflect the structure, fields, and format of real Lusha API output, but were not pulled from a live session. Build this workflow with your own Lusha API key and HubSpot portal to see live results.

Built by: Lusha
Time to build: 45 min
Difficulty: Medium
Tools: HubSpot, Lusha, Slack
Type: Template

FAQ

  • Which Lusha API endpoint returns buying signals?

    Buying signals are returned via Lusha’s company signals endpoint — <code>GET https://api.lusha.com/v2/companies/signals</code> with the company domain as the query parameter. The response returns all active signal types for the account — funding events, executive moves, hiring surges, and intent signals — each with a signal type, score, date, and plain text description. Full endpoint documentation including request parameters and response schema is at <a href=”https://docs.lusha.com/guides” target=”_blank” rel=”noopener”>docs.lusha.com/guides</a>. If you don’t have the company domain in HubSpot, use the company name as a fallback parameter via the <code>/v2/companies/search</code> endpoint first to retrieve the Lusha company ID, then call the signals endpoint with that ID.

  • What signal score threshold should I use for alerts?

    Start with High signals only — funding events and executive hires. These are the signals most directly correlated with buying behavior and budget availability. Medium signals — hiring surges and intent above 65 — are worth logging to the deal record but not always worth an immediate alert unless the deal is in a late stage. A good starting rule: alert on any signal at Deal Stage 3 or later regardless of score, and alert only on High signals at earlier stages. This keeps alert volume manageable while ensuring late-stage deals never miss a timing window.

  • How is this different from HubSpot's predictive lead scoring?

    HubSpot’s predictive lead scoring uses machine learning on your historical contact and deal data to estimate the likelihood a contact converts. It’s a fit-and-behavior model built on your own CRM history. Lusha’s signal layer is an external, real-time data source — it surfaces named, verified events happening at the account right now, independent of how the contact has behaved in your marketing funnel. A company that just raised a Series B and hired a new CRO is showing buying signals whether or not they’ve ever visited your website. The two are complementary — HubSpot scores the relationship history, Lusha surfaces what’s happening in the market.

  • Can I surface signals on the Company record rather than the Deal record?

    Yes — and for companies with multiple open deals, the Company record is often the better place. Build the same workflow but target the Company object instead of the Deal object. Then create formula properties or a custom Deal property that pulls the signal summary from the associated Company — so reps see signals in the deal view without duplicating signal data across every deal at the same account. This also means the signal check runs once per company per day rather than once per deal, which reduces API credit consumption for accounts with multiple open opportunities.

  • Can I combine this workflow with the contact change alert workflow?

    Yes — and combining them is the recommended setup. Contact change alerts catch when a key contact departs or is promoted. Buying signal alerts catch when something significant happens at the account level. Together they give the rep a complete picture of everything relevant to the deal that happened since the last call — without opening a single tool outside HubSpot. Both workflows write to the same deal record so the rep sees contact status and account signals in one place. Build Workflow 3 first, then layer this workflow on top of it.

Ready to run this?

Connect once, run anywhere. Works in Claude, ChatGPT, n8n, Clay, or any agent connected to Lusha.