Skip to main content

Command Palette

Search for a command to run...

How to Use Delay in ZazzyAgent Flows

Updated
View as Markdown

Automation can sometimes feel unnatural when several messages arrive immediately one after another.

For example:

Hi!

Welcome to our business.

What would you like to do?

Choose an option.

All four messages arriving instantly can feel like a machine dumping text into the customer's chat.

A Delay can create a more natural sequence.

What is Delay?

A Delay tells ZazzyAgent to wait before continuing to the next step in a flow.

For example:

Message
  ↓
Wait 3 seconds
  ↓
Next Message

The current WhatsApp flow troubleshooting documentation also identifies Delay as a flow element whose placement and timing can affect when subsequent messages are sent.

Why use Delay?

Delay can be useful for:

  • Creating natural pacing

  • Separating multiple messages

  • Waiting before a follow-up

  • Preventing messages from appearing all at once

  • Creating short pauses before an action

Example: Welcome sequence

Instead of:

Message 1
Message 2
Message 3

use:

Message 1
   ↓
Delay
   ↓
Message 2
   ↓
Delay
   ↓
Message 3

The conversation feels more like a person or well-designed assistant communicating step by step.

How to add a Delay

Open the relevant flow in Flow Builder.

Add a Delay element between the two steps where you want the pause.

Configure the amount of time.

Then connect the Delay to the next step.

Choose sensible timing

The correct delay depends on what you're trying to accomplish.

For example:

1–3 seconds

can make a short message sequence feel less abrupt.

A longer delay may be appropriate when the automation is intentionally waiting for something.

Don't add delays randomly.

Don't fake human typing excessively

A small pause can improve readability.

But adding:

15 seconds

20 seconds

30 seconds

between ordinary messages simply to pretend a human is typing can frustrate customers.

The purpose is better pacing, not deception.

Example:

Thanks for your enquiry.

Delay

Let me show you our available options.

Delay

Which one are you interested in?

This is easier to read than three simultaneous messages.

Delay before a follow-up

Suppose a customer starts a booking process.

You may want:

Please complete the form.

Then later:

Need help completing it?

A delay can create that pause where appropriate.

Delay before launching a Flow

In some workflows, you may want a short pause before another structured experience begins.

For example:

"Great! Let's get your details."
       ↓
Delay
       ↓
WhatsApp Flow

This can make the transition feel cleaner.

Delay and external APIs

Be careful when an API is involved.

A delay does not automatically mean:

Wait until the API finishes.

An API operation and a Delay are different things.

If your workflow depends on an API response, make sure your API step and response handling are configured correctly rather than assuming a fixed delay will always be enough.

Delay and Webhooks

The same principle applies to webhook workflows.

Don't use:

Wait 5 seconds.

as a substitute for knowing whether an external process actually completed.

Use delays for timing.

Use API/webhook logic for system events.

Delay and broadcasts

Be careful with timing when sending messages to many customers.

Large automation systems can have additional sending, rate and platform constraints.

A delay inside a customer journey should not be treated as a universal solution to messaging limits.

Where should the Delay go?

Consider:

Correct:
Message
  ↓
Delay
  ↓
Next Message

The Delay must be in the actual branch being executed.

If you place it on another branch, it won't affect the path you're testing.

This is a common source of confusion when a flow appears to ignore a delay.

Example: Product presentation

Welcome
   ↓
Delay 2 sec
   ↓
Product Introduction
   ↓
Delay 2 sec
   ↓
Product Options

Example: Support flow

Customer chooses Support
       ↓
"Sure, I'll help."
       ↓
Delay
       ↓
"Please choose your issue:"
       ↓
Buttons

The short pause separates acknowledgement from the next instruction.

Example: Lead qualification

Customer submits details
       ↓
Delay
       ↓
"Thanks, we've received your information."
       ↓
Next step

When not to use Delay

Don't add delays:

  • Everywhere

  • Between every single message

  • To hide slow integrations

  • To compensate for broken logic

  • To imitate human behaviour excessively

If your customer needs information immediately, give it immediately.

Delay troubleshooting

Delay has no effect

Check whether the Delay is actually connected to the path being tested.

Message appears too quickly

Check the configured duration.

Flow seems stuck

Make sure the Delay is not configured for an unexpectedly long period and that the next node is connected.

Only one branch has a delay

Remember that each branch has its own path.

A delay in one branch won't affect another.

Good automation pacing

A useful rule is:

Use delays where they improve comprehension, not simply because you can.

The customer should feel that the conversation has a natural rhythm without being made to wait unnecessarily.