URL and HTTP method
At the top of the panel you configure the two essential fields: HTTP Method — defines what type of operation you will perform:
URL — the address of the service. You can inject variables directly:
If you paste a URL that already contains parameters (such as
?key=value), the node automatically extracts them and moves them to the Parameters tab.Import from cURL
If you have a cURL command ready (for example, from an API’s documentation), you can paste it directly into the URL field. The node automatically interprets the method, headers, body, and authentication from the command.Configuration tabs
The panel has 6 tabs to configure all aspects of the request:Parameters
Add query string parameters as key-value pairs. Each parameter has a checkbox to enable or disable it without deleting it.?param1=value1¶m2=value2 format.
Authentication
Two authentication methods available:
Both methods support variables in their fields, allowing the use of dynamically stored credentials.
Credentials are kept in context during workflow execution. You can edit them from the credentials modal if they are already stored.
Headers
Add custom HTTP headers as key-value pairs. Each header has a checkbox to enable or disable it.The
Content-Type header is automatically updated when you change the body type.Body
For methods that send data (POST, PUT, PATCH), configure the request body in different formats:
The JSON editor validates the structure in real time and supports variables within the content:
Settings
Advanced settings to control the behavior of the request:Timeout
The maximum time the node waits for the service’s response, in milliseconds. If the response does not arrive within that time, the request is cut off and the flow continues through the error output.Plan limit
In self-service companies the timeout cannot exceed the maximum the plan grants:
When you create an API node, the initial timeout is your plan’s maximum. If you enter a higher value, the field shows the current limit and offers to upgrade your plan.
A node that already had a value above the limit keeps working: the request runs with the plan’s maximum.
What the execution log says
When a request is cut off on time, the log states the cause inerror.cause and the detail in error.timeout:
When the limit does not apply
- Enterprise companies: the limit is exclusive to self-service plans.
- Databases node: it queries Jelou’s database, not an external service.
- Nodes with an mTLS certificate: they keep their own timeout.
SSL Certificate
Enables SSL/TLS verification for secure connections.mTLS Certificates
Mutual TLS authentication with the server. This option only appears if your company has at least one certificate configured.- When mTLS is enabled, the SSL certificate is automatically disabled (they are mutually exclusive)
- If a primary certificate exists, it is automatically selected
- You can choose any certificate from the available list
- Includes a timeout field configurable between 1000ms (1s) and 120000ms (2min) (default 30000ms)
Retries
Configure automatic retries when a request fails:Advanced
Hold the conversation while waiting
By default, while the node waits for the service to respond, the user is free: if they write, their message is handled by the project router and can start another flow in the same conversation. To prevent this, open the Advanced tab and enable Hold the conversation while waiting: the user stays in this workflow until the request finishes.How long it lasts
The conversation is released as soon as the request finishes, through either the success or the error output, and the flow continues. As a safeguard, the hold lasts at most the timeout configured in Settings; if you did not set one, it lasts 60 seconds. It never exceeds 1 hour.The limit is based on the timeout of a single attempt. If you enabled Retries, the request can take longer than that limit: once it is reached, the user goes back to talking to the router even if the node is still retrying.
When it does not apply
- Nodes inside a Tool: only the workflow that talks to the user can hold them, so the option is ignored on a API node running inside a Tool. In that case, enable it on the workflow’s Tool node; see What is a Tool.
- Conversations with an operator: if a human agent takes over the conversation, their messages bypass the hold.
- User already held: if another node —for example, a Pause or a Tool with the same option— is already holding the user, that hold is kept and this node does not replace it.
Saving the response
Enable the “Save response” toggle at the top and define a variable name. The complete API response will be stored in that variable.Accessing the response without manipulation
Use the variable directly in other nodes:Manipulating the response in a Code node
If you need to extract specific data from the JSON:Test response
After running a test from the panel, the response is shown in a collapsible section with:- Status code (for example,
200 OK) - Body tab — Response formatted as JSON with a copy button
- Headers tab — Response headers from the server