The delay is not free. The run holds its place in memory for the whole wait — this is a live run sitting still, not a suspended one that gets picked back up later. There is no pause-and-resume machinery behind it. A delay measured in hours or days ties up the run for that entire period and will not survive a service restart.For anything longer than a short pause, start a second flow on a schedule trigger instead, or use a Schedule step to book the follow-up run.
The wait cannot be computed. The Delay step reads its payload before JSONPath resolution, so {"time_ms": "$.CONFIG.data.wait"} never resolves — it fails to decode and errors the step. time_ms must be a literal number written into the step.
A Delay step cannot be used to build a retry loop. There is no per-step error branch: the first step to fail cancels the run outright, so no Condition after it — and therefore no Delay after that — is ever reached. Retries belong in Advanced Settings, where attempts sets the total number of tries (capped at 5) and backoff_ms sets a constant gap between them.
Editing a flow changes its draft. Publish to make the change take effect.