Skip to main content

Delay Step

The Delay step pauses flow execution for a specified duration before continuing to the next step. Use it for time-based workflows, retry logic with backoff, scheduled follow-ups, or giving external systems time to process.
Delays are non-blocking: While a flow waits, your system resources remain available for other flows. Delays don’t consume compute time.

How It Works

Delay pauses the flow, waits for the specified time, then continues:

When to Use Delay


Configuration

Duration

duration
object
required
How long to waitStructure:
Units:
  • seconds - For short delays (1-59 seconds)
  • minutes - For medium delays (1-59 minutes)
  • hours - For longer delays (1-23 hours)
  • days - For multi-day delays (1-30 days)
Examples:

Dynamic Duration

dynamicDuration
boolean
default:"false"
Calculate delay duration from previous step dataWhen enabled, duration can reference variables:
Use when: Delay duration depends on data (e.g., customer tier, response time)

Until Time

untilTime
string
Wait until specific date/time (instead of duration)Format: ISO 8601 datetimeExamples:
Use when: Need to align with specific time (e.g., send at 9am)

Common Patterns

Space out email sends over time
Use when: Onboarding sequences, nurture campaigns
Send reminder if no response
Use when: Sales outreach, pending approvals, overdue items
Retry failed operations with increasing delays
Use when: External API calls, transient failures
Space out API calls to respect rate limits
Use when: Batch processing with API rate limits
Prevent repeated actions too quickly
Use when: Prevent spam, throttle notifications
Wait until specific time to send
Use when: Reports, scheduled communications
Check status after time period
Use when: Polling for job completion, async operations
Remind before subscription ends
Use when: Subscription management, time-limited access

Real-World Examples

Example 1: Onboarding Email Sequence


Example 2: Payment Retry Logic


Example 3: Support Ticket Follow-Up


Best Practices

Use Appropriate Units

Seconds for retry logic, minutes for quick follow-ups, hours/days for campaigns. Choose the unit that best matches your use case.

Consider Time Zones

For scheduled sends, account for customer time zones. Use “Until Time” with localized times.

Set Maximum Retry Attempts

Don’t retry forever. Set a maximum number of attempts before giving up or escalating.

Monitor Delayed Flows

Track how many flows are waiting. Long delays create many pending executions.

Test with Short Delays

During development, use seconds instead of hours/days to test faster.

Document Delay Reasons

Add descriptions explaining why each delay exists and why that duration was chosen.

Troubleshooting

Causes:
  • Delay duration too long
  • Flow execution failed
  • System issue
Solutions:
  • Check flow execution logs
  • Verify delay configuration
  • Check for errors after delay
  • Contact support if system issue
Causes:
  • Wrong unit specified
  • Dynamic duration calculation error
  • Variable reference incorrect
Solutions:
  • Verify unit (seconds/minutes/hours/days)
  • Check dynamic duration calculation
  • Verify variable paths if using dynamic
  • Test with static duration first
Causes:
  • Long delays create backlog
  • High trigger volume
  • Delays not necessary
Solutions:
  • Review if all delays are needed
  • Shorten delay durations if possible
  • Consider alternative approaches (webhooks instead of polling)
  • Monitor pending flow count
Causes:
  • Time zone mismatch
  • Incorrect “Until Time” format
  • Clock drift
Solutions:
  • Use ISO 8601 format with timezone
  • Account for user’s timezone
  • Test scheduled sends with near-future times
  • Verify time zone settings

Performance Considerations

Delayed flows don’t use compute time while waiting. They’re paused and resumed automatically.Cost: Minimal storage for flow state, no compute cost during delay
Limits:
  • Maximum: 30 days per delay step
  • For longer delays: Chain multiple delay steps
  • For scheduled sends: Use “Until Time” for any future date
High-volume triggers with delays can create many pending flows:
  • 1,000 signups/day with 7-day sequence = 7,000 pending flows
  • Monitor pending flow count
  • Delays are efficient, but plan for scale

Delay vs. Schedule Trigger

Use Delay when: Within a flow, need to pause between steps Use Schedule Trigger when: Starting a new flow at specific time/interval Example: Use Delay: User signs up → Wait 3 days → Send email
Use Schedule: Send newsletter every Monday at 9am

Next Steps

Condition Step

Check conditions after delays

Schedule Trigger

Start flows on a schedule

HTTP Request

Retry API calls with delays

Agents

Send time-delayed communications