HubSpot · Available

A deal closes, and it counts before the invoice does.

Connect HubSpot and build one workflow: when a deal enters your won stage, send a webhook. Every closed-won deal after that is verified, queued and scored the same afternoon you set it up.

Status
Available
Authenticated with
HubSpot’s own v3 request signature — an HMAC-SHA256 over the method, URL, body and timestamp, checked against a five-minute window.
Becomes
deals_closed · revenue_closed · kept on the event

What it sends

What arrives, and what it becomes on a board

WhenBecomesWorth knowing
A deal enters your won stagedeals_closedAlways 1, so a rep who closes ten small deals still shows up next to one who closed a single large one. Which stage counts as won is decided entirely inside your own HubSpot workflow — this connector never checks it.
The deal carries an amountrevenue_closedOnly when your workflow sent one. A blank amount field means no contribution, never a $0 close, so an unpriced deal cannot pull a rep’s total down.
currency, pipeline, ownerkept on the eventCurrency rides along for display and is never converted, so pipelines closing in more than one currency sum raw numbers together — worth knowing before you rank on revenue.

Every closed-won deal your workflow sends is verified, queued and scored the same way, whether it is the first one after connecting or the ten-thousandth.

Setting it up

Three steps, and none of them is a ticket to us.

  1. 01

    Connect HubSpot

    One OAuth click from the Integrations page inside the product.

  2. 02

    Build one workflow

    In HubSpot: when a deal enters your won stage, send a webhook to the endpoint on the Connect page. HubSpot’s own workflow editor is where you choose which properties travel — amount, currency, pipeline, close date, owner.

  3. 03

    Sign it with the app’s Client Secret

    The same secret the OAuth install already gave you. Every request is checked against a five-minute window, so a captured payload cannot be replayed later.

What it will not do

The refusals, in writing.

  • Convert currency. A deal closed in EUR and one closed in USD both add their raw number to revenue_closed — real conversion needs a rate source this has no reason to invent yet.
  • Read back into HubSpot. Nothing here calls HubSpot’s API for a live event; the workflow you build sends everything this connector needs in one delivery.
  • Count a deal twice. The dedupe key is the portal, the deal and “closed_won” together, so resending the same delivery is always safe.
  • Credit an unlinked owner to the wrong person. An owner id nobody has linked yet earns the deal for nobody — the same posture as an unattributed GitHub actor, never a guess.

Questions

The ones that come up

Why a HubSpot workflow instead of just an app install?

HubSpot’s own deal-change webhook subscription carries only the one property that changed, never amount and pipeline and owner together. A workflow lets you choose exactly the properties this needs once, at setup, so every delivery after that is self-contained.

What happens to deals that closed before we connected?

Nothing yet — this counts forward from the day your workflow starts sending, the same way a brand-new webhook source would. There is no history import for HubSpot today.

Our pipelines close in more than one currency. Is that a problem?

Only for revenue_closed, which sums the raw numbers you send across currencies with no conversion. If that matters, rank on deals_closed instead, or keep the board to one currency’s pipelines for now.

Does this see anything else about the deal?

No — only the properties your workflow chose to send. It does not read the deal record, the contact, or anything else in your portal.

Connect it and watch the board fill.

Fifty people free. No card to start.