# 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. ![image](https://docs-assets.foxecom.app/xflow-app/XFlow%20docs%20screenshot%20(37)_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