Your first workflow
Build, run, and inspect a real workflow in about five minutes. No external accounts required, we'll call a public API (GitHub's user endpoint) and log the result.
By the end, you'll have used the editor, an HTTP node, an expression, and the execution detail view.
Prerequisites
- You're logged in and looking at
/workflows(the dashboard). - That's it.
Step 1, Create the workflow
- Click Create workflow in the top-right of the workflow list.
- Name it:
My first workflow. - Leave description blank for now.
- Click Create.
You're now in the workflow editor with a single Start node already on the canvas.
Step 2, Add an HTTP Request node
- In the left palette, expand HTTP & API.
- Drag HTTP Request onto the canvas to the right of Start.
- Draw a connection: hover over Start's right edge until the output dot appears, then drag a line from it to the input dot on the left of HTTP Request.
Step 3, Configure the HTTP Request
- Click the HTTP Request node to open the inspector on the right.
- Set:
- Method:
GET - URL:
https://api.github.com/users/octocat
- Method:
- Leave headers, body, and credentials empty, this endpoint is public.
Step 4, Add a Log node and an expression
Drag a Log node (from Utility & debugging) onto the canvas, to the right of HTTP Request.
Connect HTTP Request's output to Log's input.
Click the Log node to open its inspector.
In the Message field, type:
GitHub user {{ $node["HTTP Request"].json.body.login }} has {{ $node["HTTP Request"].json.body.followers }} followers.Note the syntax:
$node["<Node name>"].json.<path>. The node name in the expression matches the display name of the HTTP Request node, exactly. See Expressions for the full language.Set Level to
info.
Step 5, Save and run
- Click Save in the top toolbar (or
⌘S/Ctrl+S). - Click Run in the top toolbar.
The nodes light up one at a time, yellow while running, green on success.
Step 6, Inspect the result
When the run finishes, the bottom chrome shows Completed with the duration.
Click the Log node, its bottom panel now shows the resolved message:
GitHub user octocat has 18000 followers.(Your follower count will differ.)
Click the execution chip in the bottom chrome to open the execution detail page in a new tab. The canvas snapshot, timeline, and raw output for each node are all there.
What you just learned
You used:
- The editor, drag from palette, connect, configure.
- An HTTP node, Flero's general-purpose REST client.
- An expression,
$node["…"].json.…to pull a field from a previous node's output. - The Log node, for debug-style output.
- A run, saved and executed the workflow, then inspected the result.
That's the core loop for everything else you'll build.
Next: try a small extension
Add an If node between HTTP Request and Log. Set its condition to {{ $node["HTTP Request"].json.body.followers }} greaterThan 10000. Connect Log to the true output. Run again, Log still fires. Edit the condition to 1000000 and re-run, Log is skipped (octocat doesn't have a million followers… yet).
Then move on to:
- Core concepts, the mental model behind workflows
- Editor overview, the editor in detail
- Recipes, full end-to-end tutorials with real services
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Log shows [EXPR-ERROR: Node "HTTP Request" not found …] |
Display name in expression doesn't exactly match the node | Click the HTTP Request node and check the name in the inspector header, copy it literally into the expression. |
| HTTP Request fails with timeout | GitHub API is occasionally slow or rate-limits unauthenticated calls | Click Run again. Repeated failures: switch to a public endpoint you control. |
Run button disabled |
Workflow not saved, or a node has a validation error (red border) | Save first; fix any red-bordered nodes by reading the inspector's error chip. |
Found something out of date? This page lives in the Flero docs content set.