Documentation
HTTP Requests in Flows
In flows, you can execute HTTP requests using the Fetch request command.
For the request, you can specify URL, method, headers, and request body. In the URL, headers, and request body, you can use variables from the current flow execution context, which allows you to use data from tables in your requests. Also, if necessary, you can add an authorization key for a third-party resource in this way by storing it in an encrypted table.
The request is sent through the XSDB server to bypass browser limitations.
Request and response data is not saved, except in the following cases:
  • The request contains an invalid protocol
  • Attempt to access non-public resources
In such cases, the request address will be saved in logs. Headers and request body will not be saved.
If the request is completed successfully or ended with a network error when accessing an external resource, its data is also not saved.
In case of an error during request execution, the flow will add an error message to the flow result.
Caching
Within a single flow execution, identical requests will be sent only once, regardless of the method. Requests will be compared with already computed variable values if they are used.
You can also configure request caching on the device for a certain time. In this case, when the flow is run again, the response to the request will be returned from the cache.
Retries
You can configure the number of retry attempts for a request if it fails. It is also recommended to configure a delay of several seconds between attempts.
Limits
  • The server processes only one request per account at a time. While one request is being executed, others will wait for its completion.
  • Maximum response size is 5MB.
  • Maximum response wait time is 15 seconds.
Recording Results
To record the result into variables, the user defines a schema Variable = Data Path.
The data path is formatted in JSPATH and works with JSON format responses.
All data types will initially be saved as strings. Complex data types will be passed as json-strings.
If the entire result is expected for a variable (example path — .), the data will be saved regardless of the response format. For other paths (example path — .automobiles{.maker === "Honda" && .year > 2009}.model), only JSON will be expected, and if absent, a request error will occur.

📌 Next step: JSPATH →
📌 Also useful: Commands | Flows