Your first flow

Build, run, and read the results of a two-node flow — a request and an assertion — in about five minutes.

This tutorial builds the smallest useful flow: call a public API, then assert on the response. No API keys, no setup — just a workspace folder.

1. Create the file

In the File Explorer, right-click the background and choose New File. Name it:

first-flow.aether

The flow editor opens with the Graph tab active.

2. Add a request node

Right-click the empty canvas, choose Add node, and pick Request. The new node arrives prefilled with a working example — a GET to a public test API — so it runs as-is.

Click the node to select it. The inspector on the right shows its full YAML in the Node tab:

- id: fetch_todo
  type: request
  config:
    method: GET
    url: https://jsonplaceholder.typicode.com/todos/1
  next: null

Everything about a node is editable right here — the method, the URL, headers, and next, which names the node that runs after this one.

3. Add an assertion

Right-click the canvas again and add an Assertion node. In its Node tab, set the check — a JavaScript expression that must be truthy:

- id: check_status
  type: assertion
  config:
    check: "response.status === 200 && response.body.id === 1"
  next: null

Then wire the two together: in the request node’s YAML, point its routing at the assertion —

next: check_status

An edge appears on the graph. Routing always lives on the node itself (next, or then/else for conditions) — the graph draws its edges from those fields, so what you see is exactly what’s in the file.

4. Save and run

Press ⌘S to save, then ⌘⏎ (or the brass ▶ Run button, or F5) to run.

Watch the graph: each node pulses while it runs, then takes a green ring for passed or a red ring for failed. The status bar bottom-right flips from Running… to Completed or Failed.

5. Read the results

  • Console (bottom panel, ⌘J if hidden) — a timestamped log of every step.
  • Click a node → Result tab (inspector) — for a request node, the exact request it sent (with every variable resolved) and the status, headers, and body that came back.
  • Variables (bottom panel) — the variable values as of the end of the run.
  • History — this run and every run before it; click a row for full detail.

6. Peek at the file

Switch to the Code tab. That YAML is the entire flow — the same thing the graph was showing, and the same file you’d commit to Git. Edit it here if you prefer text; the graph follows.

Where to go next