Smart Order Capture

The visual builder

A React Flow canvas with a node palette on the left, a node inspector on the right, and a live preview at the bottom. Drag, drop, connect, save.

Layout

  • Palette (left) — triggers and actions grouped by category.
  • Canvas (centre) — drag nodes in and connect them via their edge handles.
  • Inspector (right) — edit the selected node's fields and set branch labels on edges.
  • Preview (bottom) — a live log; Run preview exercises the workflow end-to-end without touching a device.

Adding nodes

Drag from the palette onto the canvas. Each node gets an auto-generated id you can't change, but you can give it a descriptive label in the inspector — that label is what shows on the canvas and in run traces.

Connecting nodes

Drag from a node's output handle to another node's input handle. Ordinary edges carry no label; edges leaving an action.branch node are labelled true or false, set in the inspector.

Validation

The builder validates with the same Zod schema the API uses. An invalid node gets a red ring, with the specific message in the inspector, and Save stays disabled until validation passes.

Live preview

Click Run preview to execute the workflow through our in-browser TypeScript interpreter. The simulator adapter logs each action instead of performing it, producing a trace shaped exactly like a real run on a phone.

Versions

Every save writes a new workflow_version. The Versions dropdown loads an earlier one; saving from there appends rather than branching, so history stays linear.

Pushing to a device

Save runs validation, persists the version, moves the pointer, and sends an FCM push. End-to-end latency from Save to a phone being ready to run the new version is typically under 5 seconds.