# How timing affects your workflows
Timing plays a critical role in how your workflows behave. Understanding how Wait action work, especially in relation to conditions, helps you control *when* actions happen and *which* customers receive them.
## Time between steps
Wait action in a workflow are **cumulative**. Each wait action adds to the total duration before the next step is executed.
After a product is back in stock, you may want to follow up with customers over several days:
1. Trigger: **Product Restock**
2. Send **Back-in-Stock Email**
3. Add a **Wait action: 24 hours**
4. Send **Follow-up Email**
5. Add another **Wait action: 3 days**
6. Send a **Second Follow-up Email** to encourage purchase
In this case:
* First delay: **1 day**
* Second delay: **3 days**
* **Total time before the last email: 4 days**
Each wait action extends the workflow's overall timeline.
_RK9EwjoK.jpg)
## Wait action with conditions
Conditions split customers into two branches: **True** and **False**. A key thing to understand is that **conditions are evaluated at a specific point in time** (point-in-time evaluation).
Suppose you have a condition:
**Order count = 0 (over all time)**
* **True** → Customer has never purchased
* **False** → Customer has purchased before
While a customer is in the workflow, they can place an order at *any time*. So the moment when the condition is evaluated determines which branch they enter.
If you add a Wait action before a condition, customers will wait until the delay is over **before the condition is checked**.
### Why place a Wait action *before* a condition?
Conditions can evaluate:
* [Workflow condition: An event occurred](https://docs.foxecom.com/xflow-app/workflows/understanding-workflow-conditions/workflow-condition-an-event-occurred)
* [Workflow condition: Customer criteria](https://docs.foxecom.com/xflow-app/workflows/understanding-workflow-conditions/workflow-condition-customer-criteria)
If your condition depends on a customer action, you should give them **enough time to perform that action** before checking the condition.
Adding a Wait action before the condition ensures the evaluation happens at the right moment.
### Best practices when using the Wait action
If you plan to send emails in **both the True and False branches**, we generally recommend:
* ✅ Send the email immediately after the condition
* ❌ Do not add a Wait action right after the condition
**Why?**
Once a condition is evaluated, the customer is assigned to a branch based on their status *at that moment*.
If you add a **Wait action after the condition**, the **customer’s data may change during the wait period**, meaning they might no longer meet the criteria of the branch they are in.
Sending the message immediately ensures:
* The message matches the customer’s current status
* The workflow logic remains accurate and predictable