Skip to content

HTTP & API

Nodes for talking to web services, web pages and remote servers. The HTTP Request node is the workhorse: use it for any API that has no dedicated connector.

All nodes on this page have one input and one output port unless the entry says otherwise.


HTTP Request

What: Calls any HTTP API. In the palette it sits under Communication.

The HTTP Request node's panel in the editor: the header with the node's icon and name, and its Settings tab.The HTTP Request node's panel in the editor: the header with the node's icon and name, and its Settings tab.

Configuration:

Field Notes
url Required. Must include the protocol. Supports expressions.
method GET (default), POST, PUT, PATCH, DELETE, HEAD, OPTIONS
params Query parameters, appended as ?key=value
headers Custom request headers
bodyType json (default), form, raw, none or multipart
body The payload. For multipart, an object describing the parts.
credentialId A saved credential. The only way to authenticate; see below.
timeout Milliseconds. Default 30 000.
retries Retries on 5xx responses and network errors. Default 0.
rateLimitRetries Retries on HTTP 429. Default 3. Honours the server's Retry-After header, waiting at most 60 s. Set 0 to opt out.
failOnError Default on: a 4xx/5xx response or a network error fails the node. Off: a 4xx/5xx response comes back normally in response, a network error comes back as an error field, and the run continues.

Output: the incoming fields plus response:

Field Notes
response.statusCode HTTP status code
response.headers Response headers
response.body Parsed JSON, or the raw text when the body isn't JSON
response.responseTime, response.size Timing and body size in bytes

Read the body downstream as {{ $node["Get user"].output.response.body.email }}.

Example: GET a public endpoint.

url:    https://api.github.com/users/{{ $trigger.payload.username }}
method: GET
headers:
  Accept: application/json

Authentication: Never put secrets in headers. Pick a credential in the Credential field; the node adds the right header:

Credential type Header sent
API key / bearer token Authorization: Bearer <key>, unless the credential defines its own header names and prefixes
Basic auth Authorization: Basic <base64(user:pass)>
OAuth 2 Authorization: Bearer <access_token>, refreshed by Flero as needed

A credential can send several headers, for APIs that need a key plus a companion header or two secrets. An HTTP Request node with authentication typed directly on the node fails with a message pointing you to the credential picker. See Credentials & connectors.


Web Scraper

What: Fetches pages over HTTP and extracts text, HTML, CSS-selector matches, structured data, Markdown or SEO data. In the palette it sits under AI.

The Web Scraper node's panel in the editor: the header with the node's icon and name, and its Settings tab.The Web Scraper node's panel in the editor: the header with the node's icon and name, and its Settings tab.

Ports: in input; out output, error.

Configuration:

Field Notes
url or urls One page, or a list
mode text (default), html, selector, structured, markdown or seo
selectors For selector mode: the CSS selectors to extract
timeout Milliseconds. Default 30 000.
userAgent, headers Request identity. Default user agent Flero/1.0.
followRedirects Default on
concurrency, requestDelayMs For lists of URLs. Defaults 5 and 0.
maxRetries, retryDelayMs Defaults 0 and 500
maxPages Cap on pages fetched. 0 = no cap.

The Web Scraper fetches pages over plain HTTP. For pages that need a real browser, use the Web Controller. Respect robots.txt and each site's terms.


What: Searches the web and returns titles, URLs and snippets. In the palette it sits under AI.

The Web Search node's panel in the editor: the header with the node's icon and name, and its Settings tab.The Web Search node's panel in the editor: the header with the node's icon and name, and its Settings tab.

Configuration: query (required), limit (default 10), categories (general default, news, science, it, images, videos, map, music, files, social media), timeRange (any, day, week, month, year), language, engines, safeSearch (default on).

Web Search is available only where your Flero administrator has enabled it.


Web Controller

What: Drives a real browser: navigate, click, type, scroll, extract, take screenshots and PDFs, and run multi-step sequences. In the palette it sits under AI.

The Web Controller node's panel in the editor: the header with the node's icon and name, and its Settings tab.The Web Controller node's panel in the editor: the header with the node's icon and name, and its Settings tab.

Configuration:

Field Notes
action goto (default), click, focus, type, scroll, waitFor, evaluate, back, forward, reload, extract, screenshot, pdf, state, select, hover, pressKey, awaitTakeover
url, selector, text, value, key What the action works on
steps A list of actions to run in order, in one node
format For extract: text (default), html, selectors, a11y or links
sessionId, closeSession Keep a browser session open across nodes
waitUntil, timeoutMs load (default), networkIdle or none; default 30 000 ms
onChallenge fail (default) or takeover: pause and let a person finish the step in the browser
takeoverTimeoutMs How long to wait for a person. Default 5 minutes.

The Web Controller is available only where your Flero administrator has enabled it.


MCP Client

What: Calls a tool on an external Model Context Protocol (MCP) server. In the palette it has its own Integration section.

Configuration: serverUrl (required), operation (call_tool default, or list_tools), toolName, arguments, credentialId, timeout (seconds, default 30).

Use when: Your workflow needs a tool that another system exposes over MCP. The reverse direction, letting an AI assistant call your workflow, is the MCP Trigger.


SFTP

What: Lists, downloads, uploads, moves and deletes files on an SFTP server. In the palette it sits under Integrations.

The SFTP node's panel in the editor: the header with the node's icon and name, and its Settings tab.The SFTP node's panel in the editor: the header with the node's icon and name, and its Settings tab.

Configuration:

Field Notes
operation list (default), download, upload, move, delete or exists
host, port Required host; port default 22
username Required
password or privateKey (+ passphrase) How to sign in
hostKeyFingerprint Pin the server's host key
path, destinationPath Required path; destination for move
fileData The file to upload
filePattern, includeDirectories Filters for list
timeoutSeconds Default 60

Downloaded files are stored and passed on as a file reference.


Integration Automation

What: General integration operations: etl, orchestrate, event, gateway, sync, transform, route and schedule. In the palette it sits under Communication.

Configuration: operation (required).

For a specific service, the dedicated connector in the Connector catalog is usually the better choice.


API Pagination & Rate Limit

The API Pagination & Rate Limit node is no longer offered in the palette or by the AI builder. Workflows that already use it keep running. For new workflows:

  • Rate limits: HTTP Request retries HTTP 429 responses on its own, honouring Retry-After (rateLimitRetries).
  • Pagination: use a While loop around an HTTP Request that stops when there is no next page, or a connector operation's fetch all pages option where it has one.

Tips & gotchas

  • Don't paste API keys into headers. Use a credential. Inline keys end up in execution history and workflow exports.
  • JSON bodies: with bodyType: json, Flero sets Content-Type: application/json for you. A value that is exactly one expression keeps its type, so a list stays a JSON array. Values inserted inside strings are escaped, so a quote in the data can't break the body.
  • Retries cost money on paid APIs. Set them deliberately.
  • Tolerate a 404: turn off failOnError, then branch on response.statusCode with an If node.


Found something out of date? This page lives in the Flero docs content set.