# Pausing & Waiting

A pause lets a workflow stop without failing. The run keeps its place, shows as **waiting**, and resumes when the timer or outside event resolves it.

![Wait for Approval settings and its approval outcomes](/documentation/flowcrafter/screenshots/wait-for-approval-settings-and-branches.png)

## Choose a wait node

| Node | Resumes when | Other outcome |
|---|---|---|
| **[Delay](/documentation/flowcrafter/nodes/flow/delay/)** | A duration ends or a date arrives | — |
| **[Wait for Payment](/documentation/flowcrafter/nodes/flow/wait-for-payment/)** | The latest entry status is `Paid` or `Active` | **Overdue** after the configured limit |
| **[Wait for Form Submission](/documentation/flowcrafter/nodes/flow/wait-for-form-submission/)** | A new entry matches the rules | **Expired** after the configured limit |
| **[Wait for Approval](/documentation/flowcrafter/nodes/flow/wait-for-approval/)** | The required approver response arrives | **Expired** after the configured limit |

## Delay

Choose a duration such as two hours, or an exact date and time. The target can come from a [flow tag](/documentation/flowcrafter/building/using-flow-tags/).

A date already in the past continues immediately. An empty or unreadable date fails the node instead of guessing.

![Delay settings for waiting a configured duration](/documentation/flowcrafter/screenshots/node-delay-settings.png)

## Wait for Payment

Wait for Payment reloads the selected Gravity Forms entry when the node begins. If its current payment status is already `Paid` or `Active`, the run takes **Paid** immediately.

Otherwise, the node parks until the payment status changes or **Overdue in** (hours) elapses. The default is 168 hours (7 days). Leave the setting blank to wait indefinitely.

At the deadline, Flowcrafter reloads the entry again. A payment that completed in the meantime still takes **Paid**; only an entry that remains unpaid takes **Overdue**. The Overdue branch does not cancel or change the payment.

## Wait for Approval

Each approver receives a signed personal link. Configure whether the first response decides the result or every approver must agree.

The node has **Approved**, **Rejected**, and **Expired** outcomes. Its expiry defaults to 72 hours. When the deadline passes without a decision, Flowcrafter schedules the run to resume through **Expired**. Approval nodes that were already waiting before expiry support was installed are not backfilled with that timer.

Pending requests also appear under **Forms › Workflows › Pending Tasks**, where an administrator can review them.

This approval example separates Approved, Rejected, and Expired outcomes.

![An approval wait with distinct routes for each outcome](/documentation/flowcrafter/screenshots/node-wait-for-approval-canvas.png)

## Wait for Form Submission

This node resumes when a later submission matches its rules. A common pattern is to put `{{ run.key }}` in a link, save it to a hidden field on the second form, and match that value back to the waiting run.

Use the **Expired** output for reminders, escalation, or cleanup when no matching submission arrives.

:::caution[Do not wait inside a For Each branch]
Delay and Wait nodes cannot go in a [For Each](/documentation/flowcrafter/nodes/flow/for-each/) node's **Each item** branch. For Each processes its collection as one background batch, so it cannot park halfway through one item. Put the wait on **Done**, after all items finish.
:::

## Related pages

- [Wait node reference](/documentation/flowcrafter/nodes/nodes-overview/)
- [Processing Lists](/documentation/flowcrafter/building/processing-lists/)
- [Running & Monitoring Workflows](/documentation/flowcrafter/building/running-and-monitoring/)
