Skip to main content
A deployment workflow that suspends for human approval via a web UI. The suspend event includes _form metadata that the Polos UI renders as an interactive form, and an _approval_url so the client knows where to send the user.

Define the workflow

Invoke and wait for approval

The client starts the workflow and streams events. When the workflow suspends, the client prints an approval URL for the user to open in their browser.

The _form schema

The _form object in the suspend data tells the Polos UI what to render: When the user submits the form, the values are sent back as the resume data and the workflow continues.

Flow summary

  1. Workflow runs pre-deploy checks
  2. Workflow suspends with _form metadata and a 24-hour timeout
  3. Client prints the approval URL
  4. User opens the URL, fills in the form, and clicks Submit
  5. Workflow resumes with the submitted data
  6. If approved, the deployment executes; if rejected, the workflow returns a rejected status

Run it

When the workflow suspends, open the printed URL in your browser to see the approval form. Fill it in and submit — the workflow resumes automatically. Open http://localhost:5173 to view your agents and workflows, run them from the UI, and see execution traces. Python example on GitHub | TypeScript example on GitHub