Naming is the whole game
In a portal with 200 workflows, the difference between maintainable and unmaintainable is whether you can read the list and know what each one does. Use a fixed pattern:
- `SALES – Deal – Rotate new inbound – ACTIVE`
- `MKTG – Contact – Nurture: onboarding series – ACTIVE`
- `OPS – Contact – Data hygiene: normalise country – ACTIVE`
- `MKTG – Contact – 2024 webinar follow-up – ARCHIVED`
One trigger, one job
A workflow that routes leads, sends an email, updates lifecycle stage and creates a task is four workflows wearing a trench coat. Split them. Debugging a compound workflow means unpicking which of four purposes failed, usually while someone from sales is on the phone.
Suppression: the thing everyone forgets
- Exclude unsubscribed and bounced contacts explicitly — do not rely on defaults for internal notifications.
- Exclude current customers from acquisition nurtures.
- Exclude competitors, internal staff and test records with a permanent suppression list.
- Add a portal-wide 'do not automate' property that any workflow can honour. It is the emergency brake you'll be glad exists.
Re-enrolment rules
Re-enrolment is off by default for good reason. Turn it on only when the workflow's job genuinely recurs — a lifecycle-stage update, say — and never for anything that sends email, unless you can describe the exact scenario where a contact should receive it twice.
Test like it can send 8,000 emails, because it can
- 01Build with the workflow off.
- 02Check enrolment criteria against a static list of matching records first — look at the count before you look at the logic.
- 03Use test records that mirror real edge cases: no email, no owner, duplicate company, non-standard country.
- 04Run in a sandbox if you have Enterprise; otherwise enrol a handful of internal records manually.
- 05Activate with re-enrolment off and enrolment of existing records off, then widen once you've watched a day of traffic.
AI steps and Breeze: where automation is heading
HubSpot's AI tooling now sits inside the automation surface — summarising records, drafting content and powering agent-style follow-up. The best practice hasn't changed, it's just louder: AI actions inherit whatever data your properties hold, so an AI step in a workflow with 40% blank fields will produce confident, wrong output at scale.
Treat AI-generated content in workflows the way you'd treat a junior's first draft: review it in a staging step before it reaches a customer, and log what was sent.
The quarterly inventory
Export the workflow list every quarter. Anything with zero enrolments in 90 days gets archived, not deleted — archived workflows keep their history and can be restored. Anything nobody can explain gets an owner or gets archived. This one habit prevents most of the mess we're hired to clean up.
Common mistakes
- Turning on 'enrol existing contacts' before checking how many that is.
- Building automation on properties that are only populated by another workflow that may not have run yet.
- Using delays measured in days when the business process is measured in hours.
- Leaving error notifications pointed at someone who left.
- Deleting old workflows instead of archiving them, losing the audit trail.
