Skip to content

Flows

Fields

The fields a flow can read for a lead, where each comes from, and what a blank one means.

A field is a named value a flow holds for one lead. Conditions test fields, and text settings can hold them in {{braces}}.

A field’s name starts with where it came from:

Prefix Comes from
form. What the visitor typed into the form. One field for each form field, by its name in HubSpot.
trigger. What started the flow.
clean. The Clean and enrich step: the email address, cleaned and checked.
sopro. The Clean and enrich step: the company, from Sopro Data.
hs. The HubSpot lookup step: the contact, the company and its deals.
ask. The answers to an Ask questions step, as ask.<id>.
flow. Set by an earlier step of this flow.
  • A field that is not there reads as blank. A flow does not stop on a missing field.
  • Names ignore case. Form.Email and form.email are the same field.
  • A yes-or-no field holds yes or no. It is blank when the answer is not known.
Field Holds
clean.email The email address, cleaned
clean.domain The company domain
clean.freemail Free-mail address: yes or no
clean.disposable Throwaway address: yes or no
clean.website Has a working website: yes or no
Field Holds
sopro.matched Found in Sopro Data: yes or no
sopro.name Company name
sopro.headcount Headcount, as a number: the lower end of the band
sopro.headcount_band Headcount band
sopro.revenue Revenue, as a number
sopro.revenue_band Revenue band
sopro.growth Growth, as a number
sopro.industry Industry
sopro.industry_group Industry group
sopro.country Country
sopro.tier Tier
sopro.type Company type
sopro.founded Year founded, as a number

sopro.headcount lets “is less than 11” and “is more than 500” work. The band 201-500 gives 201, 10,001+ gives 10001 and Myself Only gives 1.

When the company is not found, sopro.matched is no and every other sopro. field is blank. The flow carries on.

Field Holds
hs.contact.exists Contact is in HubSpot: yes or no
hs.contact.owner Contact owner, as a HubSpot owner ID
hs.company.exists Company is in HubSpot: yes or no
hs.company.name Company name in HubSpot
hs.company.owner Company owner, as a HubSpot owner ID
hs.deals.open Open deals, as a number
hs.deals.customer Is a customer: yes or no
hs.deals.latestOpen.pipeline Latest open deal: pipeline
hs.deals.latestOpen.stage Latest open deal: stage
hs.deals.latestOpen.owner Latest open deal: owner, as a HubSpot owner ID
hs.deals.latestWon.date Latest won deal: date, as yyyy-mm-dd
hs.deals.latestLost.date Latest lost deal: date, as yyyy-mm-dd

The contact and company properties the lookup reads are fields too, as hs.contact.<property> and hs.company.<property>, by the property’s name in HubSpot.

The deal fields are filled only when the company is in HubSpot. If HubSpot was not asked or did not answer, every hs. field is blank.

Field Holds
trigger.kind What started the flow: form, webhook, record or meeting
trigger.property The contact property that changed
trigger.value What the property changed to
trigger.outcome The meeting’s outcome: COMPLETED, NO_SHOW, CANCELED or RESCHEDULED

A flow that starts from a post to its address also has the posted values as form.<name>.

A step adds its fields for the steps after it.

Step Field Holds
Assign from queue flow.rep_name Rep’s name
flow.rep_owner Rep’s HubSpot owner ID
flow.queue_name Queue’s name
Assign to existing owner flow.rep_name, flow.rep_owner As above
flow.ownerSource Where the owner came from
Assign to a person, Reassign flow.rep_name, flow.rep_owner As above
Score flow.score The score, as a number
Lookup table flow.lookup What the lookup table gave
AI classify flow.ai What the model answered: one of the step’s allowed answers
Set value flow.<name> The value you set, under the name you chose
Ask questions ask.<id> The answer to each question
Show calendar flow.rep_name, flow.rep_owner The rep who hosts the meeting
flow.meeting_start When the meeting starts
flow.meeting_moves How many times the meeting was moved
flow.meeting_cancelled_by Who cancelled the meeting: guest, declined or rep
flow.meeting_cancel_reason The reason given for cancelling
Create deal hs.deal.id The deal’s ID

Put the field’s name in double braces:

New lead from {{sopro.name}} ({{sopro.headcount_band}}), given to {{flow.rep_name}}.

A setting’s help says when it takes fields. A field that is blank or unknown becomes nothing.

A lead’s trace names the fields each step tested. It does not store what a visitor typed, such as form values, answers, the email address or the company’s name. The Leads screen fills those in from the lead when it shows the trace.

list_fields gives the fields a flow can use.