Skip to content
Capra Digitals

HubSpot Workflow Delays Explained: Fixed, Until, and Event-Based

Almost every 'the workflow sent it twice' ticket we open is a delay problem, not a logic problem. Delays are where time and re-enrolment collide.

Published 31 August 2026 · Updated 31 August 2026 · 8 min read · Capra Digitals

The short answer

HubSpot workflows offer three delay types: a fixed delay (wait a set amount of time), a delay until a specific date, day of week or time of day, and an event-based delay (wait until a condition is met, or until a maximum wait expires). Use fixed delays for pacing a sequence, scheduled delays to keep sends inside business hours, and event-based delays when the next step depends on the contact doing something. Most double-send and off-hours bugs come from combining a long delay with re-enrolment, or from ignoring the contact's time zone.

The three delay types, and what each is actually for

The event-based delay is the most under-used and the most powerful. It replaces the old pattern of branching every few steps to re-check whether something happened.

Delay typeUse it whenThe trap
Fixed amount of timePacing a nurture: wait 3 days between emailsA 3-day wait can land at 2am; it inherits the enrolment timestamp
Until a date or timeKeeping sends in business hours or on a launch dateTime zone: portal time vs contact time zone are different settings
Until an event or conditionWait for a form submit, deal stage, or property changeNo maximum wait means contacts sit in the workflow indefinitely

Delays and re-enrolment: where double-sends come from

A contact sitting inside a five-day delay is still enrolled. If your re-enrolment trigger fires again, you can end up with the same contact in two positions in the same workflow, and both will complete their remaining actions.

Two habits prevent almost all of it: turn re-enrolment on deliberately rather than by default, and add a suppression check immediately after any delay longer than 24 hours.

  1. 01Decide whether re-enrolment is genuinely required. Most nurtures do not need it.
  2. 02After every delay over a day, add an if/then branch that re-checks the condition that justified the next action.
  3. 03Add global suppression — unsubscribed, customer, open deal, in another sequence — as an exclusion list rather than repeating the same filters in every workflow.
  4. 04Use goal criteria so contacts who convert exit rather than continue receiving nurture steps.
  5. 05Test with a real record, not a test contact created five minutes ago; timing bugs need realistic history.

Time zones and business hours

Two separate settings decide when a delayed action fires: the workflow's execution schedule and whether sends respect the contact's own time zone. If you have an international list and never touched either, you are emailing people overnight.

The reliable pattern is a scheduled delay to a business-hours window on weekdays, combined with contact-time-zone sending where it is available. It costs one extra step and removes an entire class of complaints.

Naming and documentation, because delays are invisible

You cannot see a delay from the workflow list. Six months later, nobody remembers that the 'welcome' workflow waits four days before step two, so they build a second workflow that overlaps it.

Put the timing in the workflow name and the description: the convention we use is [Object] | [Trigger] | [Purpose] | [Owner] | v1, with delay behaviour in the description field. Our free workflow naming generator produces these consistently.

A quarterly delay review

  • List workflows containing delays longer than seven days and confirm each is still wanted.
  • Find event-based delays with no maximum wait and set one.
  • Check for contacts currently sitting in delays — a large stalled population usually means a broken condition.
  • Confirm every long delay is followed by a suppression re-check.
  • Archive workflows that have enrolled nobody in six months rather than leaving them on.

Common mistakes

  • Using a fixed delay when you meant 'wait until Tuesday 9am'.
  • Leaving event-based delays without a maximum wait, so contacts never exit.
  • Turning on re-enrolment without a suppression re-check after the delay.
  • Ignoring contact time zone on an international list.
  • Hiding critical timing inside a workflow with a name like 'Nurture 2 FINAL'.

Questions

People also ask

What happens to a contact inside a delay if the workflow is edited?

Contacts already enrolled continue through the version of the workflow they are in for structural changes, but content changes to assets such as emails apply immediately. Treat any edit to a live workflow with enrolled contacts as a change that needs testing.

Can a contact be enrolled twice in the same workflow?

Not simultaneously in the standard case, but re-enrolment after completion is common — and long delays make overlapping behaviour feel like a double enrolment. Audit re-enrolment triggers first when you see duplicate sends.

What is the difference between a delay and a goal?

A delay pauses the contact; a goal removes them from the workflow when they meet a condition. Use both: a goal for the conversion you want, a delay for pacing everything before it.

How long can a HubSpot workflow delay be?

Long enough that the practical limit is governance rather than the product — multi-month delays are possible and almost always a sign the process should be a separate workflow with its own trigger.

Can you audit our automation?

Yes. A workflow inventory typically finds a third of workflows are duplicates, stalled or unowned. Book a consultation and we'll review yours.

Keep reading

Next step

Want this done in your portal, not just explained?

Bring us the portal as it is. We will tell you what is worth fixing, what it costs and in what order.