Skip to content

Using the web app

Everything in these docs can be done in the web app at app.getcontroller.ai. The concepts and semantics are identical — this page covers only what is specific to driving the builder by hand.

The builder has two canvas views: the flow canvas (nodes and edges of the selected flow) and the trigger canvas (the workflow’s triggers and their Run flow mappings). Flows live in a searchable, reorderable left-hand panel; the left sidebar also holds nodes, triggers, flow inputs/outputs, and version history panels.

Canvas controls sit at the bottom: a center toolbar (hand tool, select tool, undo, redo) and a bottom-left cluster (zoom in/out, fit view, auto-layout, and a canvas lock that disables editing interactions). Hand/pan is the default mode; in select mode the scroll wheel pans and drag draws a selection rectangle. Zoom runs from 10% to 120%. Nodes are added with the add button (which opens the node picker); connect nodes by dragging from a handle to another node’s handle.

Keyboard: Space (hold to pan), Cmd/Ctrl+Z (undo), Cmd/Ctrl+Shift+Z or Ctrl+Y (redo), Delete/Backspace (delete selection). That is the complete list.

Selecting 2+ nodes shows a toolbar with Create flow (extract selection into a new flow) and Delete selected. One caution on extraction: the new flow is created without flow inputs, and values that came from nodes outside the selection are dropped — treat it as a starting point that needs its inputs declared, not a finished refactor.

The canvas undo stack (Cmd+Z) is a convenience layer: client-local, capped at 100 entries, cleared on reload, and it does not track node moves or auto-layout. It also deliberately ignores edits made by an agent working on the same workflow — undo never reverts another writer’s persisted work.

The durable undo is version-state restore: every save is a restorable state, on any device, forever (within plan limits). Rely on restore for anything that matters; treat Cmd+Z as a typing aid.

Configuration renders inline inside the node on the canvas: connection selector at the top (the node’s body stays hidden until an account is connected), then props, with an info icon per prop for its description. Testing a node is the Test action item in the node’s header menu; results open in Run historyRun details with Inputs / Process / Outputs tabs (inspecting executions).

Number, dropdown, and similar props take expressions via their Use dynamic data switch; text-like props take expressions and templates directly.

The app’s home page prompt box opens a build chat that creates and edits workflows and agents conversationally — the in-app equivalent of working through the CLI. The full-control path for coding agents remains cai; both drive the same platform operations.

The app’s other surfaces are covered where their concepts live: agent editing (Agents), the data panel with CSV import (Data and schemas), the trigger panel (Triggers), Run history (Inspecting executions), Connections (Connections), and Settings (Account).