Build your first pipeline
This guide walks you through a simple pipeline that fires when it receives an HTTP request and writes a message to the execution log. Every new pipeline already starts with exactly this shape, so you will have a working automation within a minute — then learn how to run it and extend it.
Prerequisites
You need a Flovello account and at least one organization. Sign up if you haven't already.
Step 1: Create a pipeline
- Open the Flovello app and navigate to the Pipelines section for your organization.
- Click New pipeline and give it a descriptive name such as "Hello webhook".
- The editor opens on the new pipeline.
Step 2: Meet the starter graph
A new pipeline is not empty — it comes with a ready-made starter graph:
- A Receive HTTP trigger, which starts the pipeline whenever an HTTP request arrives at its unique URL. It exposes the request
method,headers, andbodyas output pins. - A Log message node whose
messageinput is already set toHello world!. - An execution connection (the white triangle pins) wiring the trigger's
defaultoutput to the Log message node, so Log message runs as soon as the trigger fires.
That is a complete, runnable pipeline. Feel free to click the message field on the Log message node and change the text to something of your own.
Step 3: Add another node (optional)
To place more nodes, right-click anywhere on the canvas and choose Add node from the menu. This opens the node selector, where you can search for a node by name and click it to place it.
Flovello uses two kinds of connections:
- Execution connections (white triangles) control the order in which nodes run.
- Argument connections (colored circles) pass typed data between nodes.
To wire two nodes, drag from an output pin on one node to a compatible input pin on the other. Execution pins connect to execution pins; argument pins connect to argument pins of a matching type.
Step 4: Saving
There is no Save button — the editor saves automatically a moment after every change, and records a revision you can review later in the Revisions tab. If the graph has a problem (for example an unconnected required input), Flovello will not save it and shows the issues that must be fixed.
Step 5: Run it from the editor
The fastest way to test a pipeline is the Run button in the top-right of the editor. Since this pipeline's trigger is Receive HTTP, clicking it opens a dialog where you can optionally set a request method, headers, and body — leave everything at its default for this starter graph and click Run. Flovello executes the pipeline immediately, the same way an incoming request would, without needing the pipeline to be Active or supplying any authentication. This is the quickest way to test changes as you build.
Step 6: Find the trigger URL
Open the pipeline's Settings tab. Under the Receive HTTP trigger you will find its trigger URL — a unique HTTPS endpoint of the form https://trigger.flovello.com/<node-id> — along with a trigger secret you can generate and a ready-to-run curl command that already includes it. You can also copy the URL directly from the Receive HTTP node on the canvas.
Step 7: Trigger it over HTTP
Unlike the in-editor Run button, the public trigger URL requires two things: the pipeline must be Active, and (unless you've explicitly disabled it in Settings) the request must authenticate with the trigger secret as a bearer token:
curl -X POST https://trigger.flovello.com/<your-node-id> \
-H "Authorization: Bearer <your-trigger-secret>"
The Settings tab shows this exact command with your real secret filled in — copy it from there rather than typing it by hand. Flovello fires the pipeline, and the Log message node runs and writes Hello world! (or your custom message) to the execution log.
Step 8: Check the execution log
Back in the Flovello app, open the Executions tab for your pipeline. You will see a new entry. Click it to expand the execution detail and confirm that the log entry was recorded.
What's next?
- Replace the static message with dynamic content by wiring
receiveHTTP.bodythrough a Stream to string node and intolog-message.message. - Parse a structured request body with Parse to model and read its fields with a Break node.
- Add a Branch node to route execution based on the request method — see the How execution flow works guide.
- Explore all available nodes in the Node reference.