The Workflow Library
HomeBundles › How do I rebuild Salesforce Flows as HubSpot workflows when migrating?

How do I rebuild Salesforce Flows as HubSpot workflows when migrating?

Short answer

Concept by concept. Nothing converts a Flow into a workflow, so each Salesforce automation maps to a HubSpot enrollment filter plus native actions: Rotate record to owner for assignment rules, Edit record and Create record for lead conversion, scheduled enrollment for batch flows, a required property on a pipeline stage for approval gates. Sales Hub Professional covers most of it. The trap is the four patterns with no native equivalent: subflows, multi-step approvals, formula fields in entry criteria, record-level locking.

29 specsNeeds Sales Hub Professional or higherAbout 100 min for the core build6 free to read

The 29 specs, in build order

Each spec states its minimum tier. Free ones open in full; the others show their public preview and the date their full spec lands.

Assignment rules and queuesOwner on every new record within minutes, by flat rotation, by territory, by country, by ticket queue, plus the exceptions Salesforce handled with account teams and mass transfer.
New lead auto-assignment by owner rotation
Every new contact gets an owner within minutes, spread evenly across the sales team, with zero territory or scoring logic involved.
Sales Hub Procontact
Round-robin lead assignment by territory
New leads are split into territory groups and each group is assigned to the right owner pool in round-robin order, with no manual triage.
Sales Hub Procontactfree, complete
Route leads by country / region to territory owner
New leads are routed straight to the correct territory pool based on the country or region on the record, with no separate territory field to keep...
Sales Hub Procontact
Route existing-customer inquiry to current owner instead of round-robin
A new inquiry from an existing customer reaches their current owner directly, instead of falling through the cracks because your new-lead...
Sales Hub Procontactfull spec 10-16
Show the 2 other specs in this group
Auto-unassign and re-route lead when owner is deactivated
When a rep leaves the team, their open leads land back with an active rep through the normal rotation instead of piling up on one manager who...
Sales Hub Procontactfull spec 10-02
Round-robin ticket assignment by team/queue
New tickets are split into queues by pipeline or category and each queue rotates assignment evenly across its rep pool, so no ticket sits unowned.
Service Hub Proticketfree, complete
Lead conversionThe replacement for the Convert button: lifecycle stage as the funnel position, a deal created on qualification, the company matched by email domain, and the disqualification path.
Lead to MQL lifecycle stage promotion on lead score threshold
Contacts that cross a lead score threshold move automatically from Lead to Marketing Qualified Lead, with no manual review, and marketing ops gets...
Marketing Hub Procontactfree, complete
MQL to SQL handoff with lifecycle stage change and sales notification
Contacts that show explicit buying intent while at MQL move to Sales Qualified Lead, sales gets notified immediately, and marketing stops nurture...
Marketing Hub Procontact
SDR-to-AE handoff: create a deal and associate the contact when a meeting outcome is marked qualified
A qualified discovery call produces a deal in the AE's pipeline automatically, with the contact already associated, instead of an SDR manually...
Sales Hub Procontactfull spec 10-30
Company auto-association from contact email domain
New contacts with a business email get linked to the matching company record automatically, instead of sitting unassociated until a rep notices...
Operations Hub Procontact
Lifecycle stage disqualification to "Other" for bad-fit leads
Leads that are a clear firmographic mismatch, or flagged as spam or a test submission, move to the "Other" lifecycle stage automatically, keeping...
Marketing Hub Procontactfull spec 10-09
Record-triggered flows on field changeStage and lifecycle automation that fires on a property change: stage tasks, forecast category, probability, backward moves, and the deal to company lifecycle sync.
Task creation when a deal enters a pipeline stage
Every time a deal moves into a defined stage, the right next-action task is created automatically, so reps stop guessing what to do next.
Sales Hub Prodeal
Auto-set forecast category based on deal stage
The forecast category updates automatically as a deal moves through the pipeline, so forecast rollups reflect actual stage progress instead of a...
Sales Hub Prodeal
Deal probability auto-set by stage (weighted forecast)
Every deal carries a probability percentage that updates automatically as it moves through the pipeline, giving forecast rollups a consistent...
Sales Hub Prodealfull spec 09-25
Deal stage regression alert (moved backward)
The deal owner and manager get notified when a deal moves backward in the pipeline, so a regression gets a reason logged instead of vanishing...
Sales Hub Prodealfull spec 10-16
Show the 2 other specs in this group
Lifecycle stage sync from deal stage back to contact and company
When a deal reaches a defined stage, the associated contact and company's lifecycle stage update to match, so a company record doesn't sit labeled...
Sales Hub Procompanyfull spec 12-25
Lifecycle stage regression prevention (block downgrade actions)
If any workflow, import, or person moves a contact's lifecycle stage backward, it gets corrected back to the highest stage the contact actually...
Marketing Hub Procontactfull spec 11-20
Scheduled flows and time-based actionsThe batch jobs and date-anchored reminders: stale deal sweeps, renewal deal creation, the 90/60/30 cascade, the nightly orphan sweep and the recurring data cleanup.
Stale deal alert: no activity in 14 days
Reps and their managers get notified automatically when an open deal has had no logged activity for 14 days, so deals stop dying quietly in the...
Sales Hub Prodealfree, complete
Renewal deal auto-creation from contract end date
A renewal deal is created and associated to the account automatically 90 days before the contract ends, pre-filled with amount and owner, so no...
Sales Hub Procompanyfree, complete
Renewal reminder cascade to CSM/AM (90/60/30 days before contract end)
The account owner gets an increasingly urgent set of reminders at 90, 60, and 30 days before a contract ends, with a manager notified if nothing...
Sales Hub Procompany
Reassign orphaned leads (no owner) on a nightly schedule
Any contact still missing an owner at the end of the day gets swept into the rotation overnight, instead of sitting unowned until someone happens...
Sales Hub Procontactfull spec 10-23
Bulk property cleanup via scheduled recurring workflow
A defined set of common formatting problems, stray whitespace, inconsistent casing, stale placeholder values, gets swept and corrected across the...
Operations Hub Procontactfull spec 12-25
Approval processes, validation rules and escalation rulesThe gates: a discount approval routed to a named approver, a loss reason chased after the fact, required fields detected at creation, duplicate review queues, and the SLA escalation ladder.
Discount approval before a deal can move to Closed Won
A deal with a discount above the agreed threshold cannot reach Closed Won until a named approver signs off, so oversized discounts stop slipping...
Sales Hub Enterprisedealfull spec 10-09
Require and capture win/loss reason on Closed Lost
No deal reaches Closed Lost without a standardized loss reason on file, so loss analysis is based on real data instead of guesswork.
Sales Hub Prodeal
Required field enforcement on contact creation (email or phone missing)
New contacts missing a usable email or phone number are flagged and routed to a cleanup queue instead of sitting incomplete and unnoticed.
Sales Hub Procontactfree, complete
Duplicate contact detection and merge review queue
Contacts that look like duplicates of an existing record are flagged into a review queue within minutes of creation, instead of being discovered...
Operations Hub Procontact
Show the 3 other specs in this group
Duplicate company detection by domain match
New company records sharing a domain with an existing record are flagged into a review queue at creation, before two versions of the same account...
Operations Hub Procompany
Ticket escalation to manager when SLA time-to-close is breached
A ticket that blows past its time-to-close SLA target automatically escalates to a manager with full context, instead of staying open indefinitely...
Service Hub Proticket
Escalation ladder L1 to L2 to L3 based on elapsed unresolved time
An unresolved ticket climbs through three escalation levels on a fixed schedule, so an issue nobody has touched for hours gets progressively more...
Service Hub Proticketfull spec 10-09

What a spec looks like

Every spec follows the same nine sections, so a team reads one and knows how to read all of them.

  • Outcome, when to use it and when not to
  • Prerequisites: properties, lists, tiers, with the JSON to create them
  • Enrollment and re-enrollment, then every step with its parameters
  • Known pitfalls, a test plan, variants, and the YAML build spec
First page of a spec

What breaks, and how the specs prevent it

Lifecycle stage does not go backward, and your import will notice

A form's own set lifecycle stage option never moves a contact backwards, and a workflow that writes a lower stage ends up fighting the rest of the portal. Migrated records land at whatever stage your mapping chose and stay there. One spec here corrects regressions against a Highest lifecycle stage reached property, and it needs a one-time backfill before you turn it on, or every contact reads as forward movement on the first pass.

Nothing blocks a save, and nothing merges

Validation rules and duplicate rules stop a bad record at the point of save in Salesforce. HubSpot workflows run after the record exists, so every check here is detect and flag: a status property, a review list, a task with a real owner. There is no merge action on any tier either, so the duplicate queue produces a human decision, not a merge. Required properties on a pipeline stage and on the create form are the only preventive controls, and the create form setting only gates manual creation in the interface, not imports or API writes.

The enrollment filter is the whole entry logic, and it has no formulas

A flow entry condition can read a formula field. A HubSpot enrollment filter compares a property to a fixed value, does no arithmetic, and cannot rank picklist values, which is why the stage regression spec carries a numeric Stage Order property and a snapshot to compare against. Build the calculated property first, then filter on the plain number. Exiting works the same way: there is no Remove from workflow action, so unenrollment belongs to the target workflow's own criteria, checked as the record moves between steps rather than only at entry.

What this bundle builds

The inventory always comes back bigger than the scoping call suggested. Two hundred active Flows, forty of them scheduled, a dozen validation rules nobody can explain, and one approval process that three people depend on. Most of it does not need to move.

What this collection gives you is the working set: the twenty-nine HubSpot workflows that cover the Salesforce automation patterns which actually appear on every migration. Leads get an owner by rotation, by territory or by country, and the existing-customer exception routes to the account owner instead of the pool. The Convert button becomes a lifecycle stage change plus a deal created on qualification, with the company matched by email domain. Stage automation fires on a property change and writes forecast category, probability and the backward-move flag. The batch jobs come back as scheduled enrollment, and the date-anchored reminders as delays measured against a contract end date.

The last component is the one that decides whether the migration lands well. Approvals, validation rules, duplicate rules and case escalation all behave differently here, and the specs are written around what HubSpot can genuinely do rather than what the old system did.

How the pieces fit together

Assignment first, because everything downstream assumes an owner exists. Build the flat rotation, confirm the pool, then add the territory or country branches once that property is reliable, then the customer exception and the deactivated-owner sweep. Six shared properties carry through this whole component, starting with Lead routed date, which every later SLA and reporting spec reads.

Lead conversion next, and it is worth doing before the data import, not after. Agree the Lead Status to Lifecycle stage mapping, build the score threshold in one workflow so sales gets one answer, then the deal creation on qualification. The domain-matching spec needs the company domain data to be clean already, so run it after the company import, not during.

Stage automation and the scheduled jobs can be built in parallel by two people. Both depend on pipeline stage internal names, which you confirm once and reuse. Leave the approval and duplicate component for last: it depends on pipeline settings, on named approvers, and on somebody owning a review queue, an organizational decision more than a build.

What you get

  • 29 specs, each as PDF and Markdown, with enrollment criteria, step list, diagram, test plan and the known pitfalls written out.
  • A 38-row Salesforce to HubSpot mapping table on this page, free to read, covering the concepts that come up on every project.
  • Properties JSON: 45 property definitions across contacts, companies, deals and tickets, including the flag and snapshot properties these workflows depend on.
  • Workflow JSON in Automation API format, switched off, so nothing runs before you have read it.
  • Custom coded actions: 4, all in the data-quality specs. The other 25 run on native actions.
  • Tier stated per spec: 17 Sales Hub Professional, 4 Marketing Hub Professional, 3 Service Hub Professional, 4 Data Hub Professional, 1 Sales Hub Enterprise.
  • 15 static lists and review queues named and specified, not left as an exercise.
  • Test plans that cover the negative path: the record with no territory, the blank required field, the duplicate that is not a duplicate.
  • Install in one click for Full and Agency buyers.

Who it is for, and who should skip it

This is for the migration agency running its fourth or fifth Salesforce exit and tired of rediscovering the same four gaps, and for the RevOps lead who has to tell an exec committee which automations survive the move and which ones need a process change. About sixteen hours of build sits here at an honest pace with testing.

Skip it if your Salesforce org is mostly standard objects with no custom automation, where the category packs are cheaper. Skip it if you are on Starter, since most of these specs will not load. And if the five patterns with no native equivalent are your actual problem, wait for the migration kit rather than buying around it.

Salesforce Flow to HubSpot workflow: the mapping

Salesforce concept What it does HubSpot equivalent (native action or pattern) Spec Gap or note
Lead assignment rule First matching rule sets the owner or drops the lead in a queue If/then branch on a property, then Rotate record to owner against a static list or an active Team lead-routing-001 Branch order works like rule order, first match wins. No rule entry grid to import.
Case assignment rule Routes a case to a support queue Branch on a ticket queue property, then Rotate record to owner per pool tickets-sla-001 Service Hub Professional. The queue value has to be set upstream by a form, a chatflow or a classification workflow.
Queue (Lead, Case) Group-owned bucket records sit in until someone claims them No queue object. A static list plus a rotation pool, with a single user written as owner lead-routing-002 Gap: ownership is always one user. “Unclaimed” is a property value or a list, not a record state.
Round robin (Apex or a paid package) Even distribution across a team Rotate record to owner, native from Sales Hub Professional lead-routing-002 Even by assignment count at run time. Adding a rep does not rebalance past assignments.
Territory model Assigns accounts by territory hierarchy and rules Branch on a territory or country property, one rotation pool per territory lead-routing-001, lead-routing-006 Gap: no territory object, no inherited hierarchy. The mapping lives in branch conditions you maintain by hand.
Account team fallback on inbound inquiry Existing customer reaches their account owner, not the pool Branch on Contact owner is known, notify the current owner lead-routing-019 Depends on lifecycle stage being accurate, or the customer falls back into new-lead routing.
Mass transfer on user deactivation Reassigns a leaver’s records in bulk Deactivate to a placeholder user, then rotate those records back into the pool lead-routing-012 Gap: the admin has to pick the placeholder during deactivation. One workflow per object type.
Lead object Pre-conversion record, separate from Contact No Lead object. One contact from first touch, with Lifecycle stage carrying the funnel position marketing-ops-001 Gap: nothing to migrate Leads into except contacts. Decide the stage per Lead Status before the import.
Lead Status picklist Tracks working state inside the Lead Lifecycle stage plus the native Lead status property marketing-ops-001 Two fields, two owners. Write down which one sales reports on.
Lead scoring (Einstein, Pardot grade) Numeric score that gates MQL HubSpot Score in the enrollment filter, threshold kept in one workflow marketing-ops-001 Re-enrollment has to be scoped to the score property alone, or the workflow re-checks all day.
Convert Lead Creates Account, Contact and Opportunity in one action with field mapping Edit record on Lifecycle stage, then Create record for the deal with the contact associated marketing-ops-002, sales-ops-025 Gap: no conversion action and no field mapping screen. Rebuild it as two workflows.
Lead to Account matching on conversion Finds the account by domain before creating one Custom coded action searching companies by domain, then writing the association data-quality-006 Data Hub Professional. Free-mail and regional domains need explicit handling inside the code.
Unqualified Lead Status Takes a bad-fit lead out of the funnel Lifecycle stage Other plus a disqualification reason property marketing-ops-015 Reporting only works if the reason list is agreed before go-live.
Record-triggered flow, after save, on field change Runs when a field changes Filter-based workflow with re-enrollment on that property deal-hygiene-002 Re-enrollment is per property. A deal bouncing between two tracked stages fires again each time.
Record-triggered flow, before save, same-record update Fast field update with no extra DML Edit record inside the same workflow deal-hygiene-005 Gap: no before-save path. Every write is a normal update that can trigger other workflows.
Path on Opportunity Stage drives fields and guided next steps Branch on Deal stage, Create task per stage deal-hygiene-002 Renaming a stage in settings breaks the branch silently, with no error surfaced.
Forecast Category mapped from Stage Native Salesforce mapping Branch mapping each stage to a forecast category property deal-hygiene-005 The native forecast property may not be workflow-writable. Custom fallback property, then fix the reports.
Probability mapped from Stage Native Salesforce mapping Branch mapping each stage to a number property deal-hygiene-011 Gap: workflows do no arithmetic, so amount times probability needs a calculated property or the Forecast tool.
Formula field inside a flow entry condition Entry criteria reads a computed value Build the calculated property first, then filter on the plain number deal-hygiene-011, deal-hygiene-020 Gap: the enrollment filter has no formulas. One of the five patterns in the planned migration kit.
Picklist sort order compared inside a flow Detects a backward move Numeric order property plus a snapshot property, compared on each run deal-hygiene-020 Gap: workflows cannot rank enumeration values. The snapshot only updates when the workflow runs.
Cross-object field update, Opportunity to Account Flow writes to the parent record Deal-based workflow writing to the primary associated company and contact marketing-ops-048 Depends on the primary association being correct. Copying across an association at scale needs Data Hub.
Lifecycle or stage rollback inside a flow Sets a status field to any earlier value Correction workflow against a highest-stage-reached property marketing-ops-035 Gap: forms never move a contact backwards and the correction runs after a short delay, not in real time.
Validation rule Blocks the save and shows an error message Required properties per pipeline stage, plus a detect-and-flag workflow deal-hygiene-004 Gap: a workflow runs after the record exists. It can chase, never block.
Required field on a page layout Blocks the save in the interface Required property on the record create form data-quality-001 Gates manual creation in the interface only. Imports, API calls and workflow-created records walk past it.
Duplicate rule plus matching rule Warns or blocks on save Custom coded action searching the CRM at creation, review list and a task data-quality-002, data-quality-008 Gap: detect only. Two reps can work both records until someone clears the queue.
Merge from a duplicate alert Merges the two records in place Manual merge in the record interface data-quality-002 Gap: no merge action in workflows on any tier. The queue produces a human decision.
Approval process, single step Submit for approval, lock the record, approve or reject Approver property, task, gate property, and a required property on the stage before Closed Won deal-hygiene-015 Gap: no approval object, no record lock, no submit button. Field-level control needs Sales Hub Enterprise.
Approval process, multi-step or dynamic approver Chained approvers, recall, delegation No equivalent. Chained tasks and status properties, one step at a time none yet Gap: one of the five patterns in the planned five-spec migration kit.
Case escalation rule Escalates on elapsed time against an entitlement SLA goals on the help desk pipeline, workflow on SLA status Overdue tickets-sla-005 Service Hub Professional. Without SLA goals configured the property never populates and nothing enrolls.
Entitlement process and milestones Time targets per account tier SLA goals per pipeline and per priority tickets-sla-005 Gap: entitlements per account are not modelled. Account tier lives on a property and drives the branch.
Escalation level by level L1 to L2 to L3 on elapsed time Delay, check status, notify the next escalation contact property tickets-sla-015 Gap: no manager lookup below Enterprise teams. Each level is its own HubSpot user property.
Scheduled flow, nightly batch Runs on a schedule over a filtered set Scheduled workflow enrollment, criteria re-evaluated on each run lead-routing-021, data-quality-048 Runs on the portal timezone. No aggregate count of what a run touched, that needs a saved report.
Scheduled path inside a record-triggered flow Waits, then re-checks Delay for N days, then a branch deal-hygiene-001 The branch re-checks at expiry. A record changed in the same minute can race the evaluation.
Time-based workflow action on a date field Fires N days before a date Delay until X days before a date property renewal-expansion-002 Delays do not recalculate. If the date moves after enrollment, the schedule keeps the old one.
Flow that creates a record from a date Opportunity created from a contract end date Create record action, owner taken from the company owner renewal-expansion-001 Filter-based enrollment fires once when the record first matches. A flag property stops a second deal.
Subflow or invocable flow Reusable logic called with inputs and outputs Enroll in another workflow none yet Gap: no input parameters, no return value. The child reads the record and nothing else. In the planned kit.
Apex trigger or invocable Apex Code that runs on save Custom code action in JavaScript or Python data-quality-002 Data Hub Professional. Twenty seconds and 128 MB per execution, plus a rate limit you set per action.
Email alert from a flow Sends a templated internal email Send internal email notification lead-routing-001 Recipient can be the record owner or a user property. A hardcoded person breaks when they leave.
Process Builder and Workflow Rules Older automation layered on the same object One workflow per outcome, scoped by its enrollment filter deal-hygiene-002 Two workflows writing the same property will fight. Decide which one owns each field before build.

Questions admins ask

Is there a Salesforce Flow to HubSpot workflow converter?

No. Nothing reads a Flow definition and produces a workflow, and no vendor tool does it either. The migration is a concept-by-concept rebuild: you inventory the active Flows, assignment rules, validation rules and approval processes, then map each one to an enrollment filter plus native actions. The mapping table on this page covers the thirty-eight concepts that come up on almost every project.

What is the HubSpot equivalent of a Salesforce assignment rule?

An If/then branch on a property, followed by Rotate record to owner against a static list or an active Team. Branch order works like rule order, first match wins. What you lose is the rule entry table: there is no grid to import, so each territory or queue becomes a branch condition somebody maintains by hand. Rotation is even by assignment count at run time, and adding a rep does not rebalance past assignments.

How do I replicate lead conversion in HubSpot?

There is no Lead object and no Convert action. A contact exists from first touch and Lifecycle stage carries the funnel position, so conversion becomes two workflows: Edit record moves the stage to Sales Qualified Lead, then Create record opens the deal with the contact associated and the owner taken from Contact owner. Matching the company by email domain is the third piece, and that one needs a custom coded action on Data Hub Professional.

Does HubSpot have approval processes?

Not as an object. The working pattern is an approver property, a notification, a task, and a gate property that only the approver should be able to set, with a required property configured on the pipeline stage before Closed Won so the deal cannot move without it. The workflow itself cannot block the stage change. Multi-step routing, recall and delegation have no equivalent at all, which is why they sit in the planned five-spec migration kit.

Can HubSpot workflows replace scheduled flows and Apex triggers?

Scheduled flows map to a scheduled workflow enrollment that re-evaluates its criteria on each run, on the portal timezone. Apex maps to a custom coded action in JavaScript or Python on Data Hub Professional, with twenty seconds and 128 MB per execution and a rate limit you set per action. Four of the twenty-nine specs here use one. The rest run on native actions at Professional.

Related

Built by a collective of independent HubSpot consultants, ten years of implementations behind them. Searched as: salesforce to hubspot migration, salesforce flow equivalent hubspot workflow, hubspot assignment rules equivalent, salesforce validation rule hubspot, hubspot approval process equivalent. HubSpot calls it: Rotate record to owner, Edit record, Create record, Required properties, Custom code action, Enroll in another workflow. Version 2026-09-18.
149 EUR all 500
Get the library