# Choosing Wait vs Pause Until

Wait and Pause Until both delay progression, but they solve different problems. Choosing the right one makes the Journey easier to reason about and more accurate in practice.

## At a glance

|                       | **Wait**                            | **Pause Until**                             |
| --------------------- | ----------------------------------- | ------------------------------------------- |
| **Trigger**           | Elapsed time                        | Condition (event or profile change)         |
| **Paths out**         | One — continues after the duration  | Two — condition met, or timeout             |
| **Reacts early?**     | No — always waits the full duration | Yes — continues as soon as condition is met |
| **Timeout required?** | No — duration is always fixed       | Recommended — prevents indefinite waits     |
| **Complexity**        | Low                                 | Higher — two paths must be connected        |
| **Best for**          | Fixed delays between steps          | Event-driven sequencing with a fallback     |

## Choose Wait when

* The next step should happen after a fixed duration
* The business rule is time-based or calendar-based
* You do not need to react to a condition

**Examples:**

* Wait 2 days after signup before sending a follow-up
* Wait until next Monday at 09:00 to hit an inbox during business hours
* Wait 1 week before a check-in message

## Choose Pause Until when

* Progression depends on an event or a profile change
* You want to continue immediately when a condition is met, rather than waiting a fixed duration
* You want a fallback path if the condition never happens

**Examples:**

* Pause until a purchase event occurs → continue down the conversion path; send a re-engagement message on 7-day timeout
* Pause until `onboarding_complete = true` → continue to the next step; escalate on 14-day timeout
* Pause until an email open event → send a follow-up; re-route on 3-day timeout

## The practical rule

> **Wait = time-based delay** **Pause Until = condition-based delay**

If the question is "how long should I wait?" — use Wait. If the question is "what should I wait for?" — use Pause Until.

## Common mistakes

### Using Pause Until for a fixed delay

**The mistake:** configuring a Pause Until with no real condition — just setting a timeout and relying on that to delay progression.

**Why it's a problem:** This adds the complexity of two outgoing paths (condition met and timeout) without the benefit. Use Wait instead — it is simpler, clearer, and has no dangling second path to connect.

### Using Wait when the Journey should react to an event

**The mistake:** using a Wait step when you actually want to continue as soon as a specific event happens.

**Why it's a problem:** The Journey will wait the full duration even if the event happened on day 1. Contacts who should move forward early will not — making the flow feel late or inaccurate. Use Pause Until with a condition, and a timeout for the fallback.

## Decision guide

```
Does the next step depend on something happening (an event or profile change)?
├── Yes → Use Pause Until
│          └── Also set a timeout so contacts do not wait indefinitely
└── No  → Does the next step happen on a fixed schedule or after a fixed duration?
           └── Yes → Use Wait
```

## Related pages

* [Wait](/journey/concepts/wait.md)
* [Pause Until](/journey/concepts/pause-until.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dinmo.io/journey/best-practices/choosing-wait-vs-pause-until.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
