workflow.Pause(payload). The walker records a paused status and returns the state with no execution error.
Save the checkpoint
Persist the completeworkflow.Input: run ID, context, metadata, statuses, ports, suspended payloads, and resume data. Saving only Pause loses the information needed to skip completed work and restore integration continuations.
The Go API leaves persistence to your application. Serialize the state and store it under an authorized run identity before acknowledging a durable pause to the user. Keep private context and continuation data out of public responses.
Supply a decision
For a built-in human node, resume withaction and optional form content:
approve and reject; routing ports are approved and rejected. If a schema is configured, submitted form content is validated. Custom nodes define their own decision payload and read it through Input.Resume(nodeID).
On resume, the walker starts from the roots and follows the saved ports of completed nodes without re-executing them. A paused node without its own resolution remains suspended. If multiple nodes paused in one wave, resolving one can expose the next pending pause; continue until there are none.