Seven HubSpot triggers check your HubSpot account every 5 minutes:
- HubSpot · New contact — When a contact is added to HubSpot — checked every 5 minutes.
- HubSpot · New company — When a company is added to HubSpot — checked every 5 minutes.
- HubSpot · New deal — When a deal is added to HubSpot — checked every 5 minutes.
- HubSpot · New ticket — When a ticket is opened in HubSpot — checked every 5 minutes.
- HubSpot · Record updated — When a record changes — or only the property you choose — checked every 5 minutes.
- HubSpot · Deal moved to a stage — When a deal moves to the stage you choose — checked every 5 minutes.
- HubSpot · Form submitted — When someone fills in a HubSpot form — checked every 5 minutes.
Each one found since the last check starts a run.
Who can do this
Workspace Admins and Editors. Viewers see the trigger and its status but cannot change it. HubSpot is a premium service, marked ◇: you can set the trigger up and test it on any plan; publishing asks for a paid plan.
Before you start
A HubSpot connection whose private app has the scopes the trigger reads — see Connect HubSpot:
| Trigger | Scope |
|---|---|
| New contact | crm.objects.contacts.read |
| New company | crm.objects.companies.read |
| New deal, Deal moved to a stage | crm.objects.deals.read |
| New ticket | tickets |
| Record updated | The read scope of the object you choose; for a custom object, crm.objects.custom.read, and crm.schemas.custom.read so it is listed |
| Form submitted | forms |
Steps
- Open the workflow in the designer and open the trigger picker — Browse all triggers on an empty workflow, or select the trigger and Change how it starts.
- Under HubSpot, select the event. Or type HubSpot in Search triggers.
- In Connection, choose your HubSpot connection.
- Fill in the trigger's own fields. The pipelines, stages, objects, properties and forms are loaded from your HubSpot account:
- New contact and New company have no other fields.
- New deal and New ticket: optional, in Pipeline, choose a pipeline — Sales pipeline. Empty: every pipeline. Each pipeline shows how many stages it has.
- Record updated: in Object, choose what to watch — contacts, companies, deals, tickets, another HubSpot object or one of your custom objects. Optional, in Only when this changes, choose a property — Lifecycle Stage. Empty: any change. Chosen: only a change of this property, and the run gives previousValue — what it was before.
- Deal moved to a stage: in Pipeline, choose the pipeline. Optional, in Stage, choose a stage — Closed won. Empty: any stage. The run gives stage and previousStage.
- Form submitted: in Form, choose the form.
- Open the Output tab. Under Test with a real one, select Fetch a sample. The newest record, change or submission that matches comes in, and Test run starts with it.
- Add the steps, test, then Publish.
What the trigger gives
- New contact, New company, New deal, New ticket and Record updated give the record:
id,url(its page in HubSpot), and each property that has a value, by its API name —firstname,email,dealname,amount,dealstage, custom properties beside them. - Record updated with a property chosen also gives
previousValue— what the property held before the change. Without a property chosen, it gives the record as it is now. - Deal moved to a stage gives the deal, plus
stage— the stage it moved to, by its label — andpreviousStage, the one before: Contract sent. - Form submitted gives
formId,formName,submittedAt,pageUrl(the page it was sent from) and each field by its name —email,firstname. A field with several answers, such as checkboxes, has them between semicolons.
A sample from Fetch a sample has previousValue or previousStage from the record's history in HubSpot, or empty if it has none.
What happens next
- The first check after publishing only notes where things stand. Records, changes and submissions already there never start a run — only ones that arrive after you publish. Until then the panel says Starts with what arrives after you publish — nothing already there sets it off.
- Each find starts one run, named after it — New contact · Rohan Mehta, New company · Northwind Logistics, Lifecycle Stage changed · Rohan Mehta, Deal moved to Closed won · Northwind Logistics — fleet tracking, Form submitted · Contact us · rohan@consulace.com.
- Up to 100 runs start from one check; the rest wait for the next, in order.
- A check that finds nothing starts no run and costs nothing.
- The trigger's Settings show what it is doing — Checking every 5 minutes — Last checked 10:45 · next 10:50 — and its Recent checks.
Good to know
- Every 5 minutes, on every paid plan. HubSpot's triggers have no Checks choice.
- Each check looks a minute further back than the last, since HubSpot's search takes a moment to catch up — and nothing found before is run twice.
- Record updated without a property starts one run for each record changed since the last check, with its latest values. A record changed three times between two checks starts one run.
- The stage before is what the trigger last saw. Deal moved to a stage remembers the stage of up to 2,000 recently changed deals in the pipeline. A deal it has not seen before takes its stage before from HubSpot's history of the deal's stage.
- A deal that moves twice between checks starts one run, from the stage the trigger last saw to the stage it is in now. A deal that moves away and back again starts none.
- Changing what the trigger watches — the object, pipeline, property, stage or form — and publishing starts again from then.
- Runs start in Production and count in the month's allowance.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| Nothing matches yet — add one, then fetch again. | Nothing in HubSpot matches the trigger yet. | Add a record or submit the form in HubSpot, then Fetch a sample. |
| Form is empty. Choose one from the list. / Object is empty. Choose one from the list. | The field was left empty. | Choose one. |
| HubSpot no longer has this form. Choose another in the trigger. | The form was deleted in HubSpot. | Choose another form, then publish again. |
| Not checking since 10:45 with HubSpot refused: … Check the connection's details on Connections. Nothing is lost — what arrives meanwhile is picked up by the first check that works. | The token was rotated or deleted, or the private app lacks a scope the trigger needs — HubSpot's own words name it. | Add the scope in HubSpot (see the table above), or select Reconnect and replace the token, then Check now. See When an app trigger stops checking. |
| Publishing stops — "“Deal moved to a stage” needs a paid plan. Change the plan, or remove it and publish the rest." | The company is on the Free plan. | Ask the company Owner to change the plan; see Premium connections on the Free plan. |
| Runs show Skipped — "… needs a paid plan, so the run was skipped." | The plan moved back to Free. | Change the plan; the workflow runs again from its next trigger. |