> For the complete documentation index, see [llms.txt](https://help.zaapi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.zaapi.com/flow-builder/utility-nodes.md).

# Utility nodes

### Delay

The **Delay** node pauses the flow for a set amount of time before continuing.

1. Add a Delay node.
2. Set the duration (seconds, minutes, hours, or days).
3. Connect it between two other nodes.

Use Delay for things like "wait 30 minutes after order shipped, then send a tracking reminder."

### Wait for Reply

The **Wait for Reply** node pauses the flow until the customer responds. It supports:

* **Response type validation** — text, number, email, phone, URL, image, address. The flow validates the customer's reply matches the expected type.
* **Retry attempts** — if the reply fails validation, the flow can ask again up to a configurable number of times.
* **Expiry** — if the customer doesn't reply within a set time, the flow takes the **Timeout** path.

Use Wait for Reply to collect data from the customer mid-flow (e.g. "What's your order number?")

### Search Conversation (Utility)

The **Search Conversation** utility node looks up an existing Ticket by:

* Conversation ID
* Email address
* Phone number

It branches on whether a match is found. Use it when an Incoming Webhook trigger receives data and you need to find the corresponding Conversation.

### Randomizer (Utility)

The **Randomizer** node splits flow traffic across multiple paths by percentage weight. Useful for A/B testing different messages or flows.

1. Add a Randomizer node.
2. Configure two or more paths, each with a weight (e.g. 50% / 50%, or 70% / 20% / 10%).
3. Connect each path to a downstream branch.

Each contact taking the flow is routed to one of the paths based on the weights.
