Your first workflow
Build, run and inspect a real workflow in about five minutes. No outside accounts needed: you'll call a public API (GitHub's user endpoint) and log a field from the response.
By the end, you'll have used the editor, an HTTP Request node, an expression and the run history.
Prefer to describe it instead? The AI builder can build this workflow from one sentence. Building it by hand first teaches you what the builder does for you.
Prerequisites
- You're signed in and looking at the Workflows page.
- That's it.
Step 1: Create the workflow
- Click Create Workflow at the top right of the Workflows page.
- Flero creates an empty workflow called Untitled Workflow and opens it in the editor.
- Double-click the name at the top of the editor, type
My first workflowand press Enter.
The canvas is empty apart from Pick an action and Ask flero in the middle.


Step 2: Add a Start node
- Click Pick an action. The node picker opens with triggers first.
- Click Start. This is the manual trigger: running the workflow from the editor starts here.
Step 3: Add an HTTP Request node
- Click Nodes at the top left to open the palette.
- Open the Communication group, or type
HTTPin Search Nodes. - Drag HTTP Request onto the canvas to the right of Start.
- Connect them: drag from Start's output port (right side) to HTTP Request's input port (left side). Release near the port and it snaps on.


Step 4: Configure the HTTP Request
- Click the HTTP Request node. Its panel opens on the left of the canvas.
- Set URL to
https://api.github.com/users/octocat. - Leave the method as
GET(the default). Leave the body and credentials empty. This endpoint is public.
The node returns the response under response: response.statusCode, response.headers and response.body. JSON bodies are parsed, so you can reach fields inside them.


Step 5: Add a Log node and an expression
From the palette, open Developer Tools and drag a Log node to the right of HTTP Request.
Connect HTTP Request's output to Log's input.
Click the Log node to open its panel.
In the Message field, type:
User {{ $node["HTTP Request"].output.response.body.login }} has {{ $node["HTTP Request"].output.response.body.followers }} followersNote the pattern:
$node["<node name>"].output.<path>. The name in the expression must match the node's name exactly. See Expressions.Leave Log Level as
info.


Step 6: Save and run
- Click Save in the header, or press
⌘S/Ctrl+S. - Click Run Workflow at the top right (or press
⌘↩/Ctrl+Enter). - The first time, Flero asks No active version. Click Publish & Run. This publishes your saved workflow as version 1 and runs it.
Each node shows its progress: Running..., then Completed with how long it took.


Step 7: Inspect the result
Click the Log node and open the JSON tab. You'll see the resolved message, something like:
User octocat has 18000 followers(Your follower count will differ.)
Click the HTTP Request node and open the Schema tab to browse everything GitHub returned. You can drag any field from here into another node's field to build an expression.
Open Production Executions in the header to see the run in the list. Click Open log details for the full execution detail page.
Click Back to edit to keep building.


What you just learned
- The editor: add nodes from the picker and the palette, connect them, configure them.
- An HTTP Request node: Flero's general-purpose API client.
- An expression:
$node["…"].output.…pulls a field from an earlier node's output. - The Log node: records a message in the run.
- A run: saved, published and ran the workflow, then inspected the result.
That's the core loop for everything else you'll build.
Next: try a small extension
- Hover over the connection between HTTP Request and Log and click the + at its midpoint. Pick an If node.
- In the If node, set Value 1 to
{{ $node["HTTP Request"].output.response.body.followers }}, the comparison to Is greater than, and the second value to10000. - Make sure Log is connected to the If node's True output.
- Run again. Log runs. Change
10000to1000000and run again. Log is skipped, because octocat doesn't have a million followers.
Then move on to:
- Core concepts: the mental model behind workflows
- Editor overview: the editor in detail
- Recipes: end-to-end tutorials with real services
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Log shows [EXPR-ERROR: Node "HTTP Request" not found …] |
The name in the expression doesn't match the node's name exactly. | Check the name in the HTTP Request panel header and copy it into the expression exactly. If you renamed the node, update the expression. |
The message shows an [EXPR-ERROR …] about a missing value |
The path is wrong. The HTTP Request node puts the data under response.body. |
Open HTTP Request's Schema tab and drag the field in instead of typing it. |
| HTTP Request fails with a timeout or 403 | GitHub occasionally rate-limits unauthenticated calls. | Wait a minute and run again, or try another public endpoint. |
Found something out of date? This page lives in the Flero docs content set.