Skip to content
synthreo.ai

HTTP Client - Synthreo Builder

HTTP Client node for Builder - make outbound REST API calls (GET, POST, PUT, DELETE, PATCH) to any external service or webhook endpoint from within an AI agent workflow.

The HTTP Client node enables your workflow to make web requests to external APIs, websites, and web services. This node can retrieve data, send information, download files, and integrate with virtually any web-based system that accepts HTTP requests.

Use this node whenever your workflow needs to call a REST API, submit data to a webhook, download a file from an external URL, or interact with any HTTP-based service that is not covered by a dedicated integration node.


The HTTP Client node acts as a bridge between your Builder workflow and external web services. It can:

  • Fetch Data - Retrieve information from APIs, databases, or web services.
  • Send Information - Submit forms, update records, or trigger actions on external systems.
  • Download Files - Save documents, images, or other files from web sources.
  • Integrate Systems - Connect your workflow with CRMs, payment processors, social media platforms, and more.

Field NameTypeDefaultDescription
methodDropdownNoneThe HTTP method to use for the request.
MethodWhen to Use
GETRetrieve data from a server. Most common for reading records or fetching lists.
POSTSend data to create new records, submit forms, or trigger actions.
PUTUpdate an existing record by replacing it entirely.
PATCHUpdate specific fields in an existing record without replacing the whole record.
DELETERemove a record or resource from the server.
HEADRetrieve response headers without the response body. Useful for checking if a resource exists.
OPTIONSQuery the server to find out which HTTP methods are supported by the endpoint.
Field NameTypeDefaultDescription
requestUrlSmart textEmptyThe full URL of the API endpoint or web service to call. Supports dynamic variables from upstream nodes.

Use dynamic variables to build URLs that change per workflow record - for example: https://api.example.com/customers/{{customerId}}.


Headers provide additional context with each request, such as authentication tokens, content type declarations, and custom parameters required by the target API.

Field NameTypeDefaultDescription
filterStatusToggleOffWhen On, displays all headers including those automatically added by the system. Useful for debugging.

Add custom headers as key-value pairs in the headers data grid:

ColumnDescription
KeyThe header name (for example, Authorization, Content-Type, X-API-Key).
ValueThe header value. Supports dynamic variables.
DescriptionOptional notes about what the header does.

Common header examples:

KeyExample ValuePurpose
AuthorizationBearer {{apiToken}}Bearer token authentication
Content-Typeapplication/jsonDeclare JSON request body
Acceptapplication/jsonRequest JSON response format
X-API-Key{{yourApiKey}}API key authentication

Field NameTypeDefaultDescription
bodyMulti-line smart textEmptyThe data to send with the request. Typically used with POST, PUT, and PATCH methods. Supports dynamic variables.

Example body for creating a customer record:

{
"name": "{{customerName}}",
"email": "{{customerEmail}}",
"phone": "{{customerPhone}}"
}

ParameterField NameTypeDefaultDescription
Enable SSL Certificate VerificationsslEnabledToggleOffWhen On, verifies the target server’s SSL certificate. Recommended for all external API calls in production.
Automatically Follow RedirectsautoFollowRedirectsToggleOffWhen On, automatically follows HTTP redirect responses to the final destination URL.
Follow Original HTTP MethodfollowOgHttpMethodToggleOffWhen On, preserves the original HTTP method (POST, PUT, etc.) when following redirects instead of defaulting to GET.
Remove Referer Header on RedirectremoveRefererHeaderToggleOffWhen On, strips the Referer header when following redirects. May be required by privacy-sensitive APIs.
Encode URL AutomaticallyautoEncodeUrlToggleOffWhen On, automatically encodes special characters in the URL (spaces, symbols, international characters).
Disable Cookie JardisableCookieJarToggleOffWhen On, disables cookie storage between requests. Useful for stateless API interactions.
Use Server Cipher Suite During HandshakeuseServerCipherToggleOffWhen On, allows the server to dictate the encryption method during SSL handshake. Required by some legacy systems.

Field NameTypeDefaultDescription
responseTypeDropdownJSONHow to handle the data returned by the API.
OptionDescription
JSONParse the response as structured JSON data for use in downstream nodes.
File DownloadSave the response as a file to a specified folder.
TextTreat the response as plain text content.

These settings appear when Response Type is set to File Download.

ParameterField NameTypeDefaultDescription
File Output FolderresponseFileOutFolderSmart textEmptyThe directory path where downloaded files will be saved.
Unzip if Response is ZIPresponseUnzipIfZipToggleOffWhen On, automatically extracts ZIP archives after downloading.
Keep ZIP FileresponseZipKeepFileToggleOffWhen On, preserves the original ZIP archive after extraction. Only applies when unzipping is enabled.
Convert Images to Base64responseZipImgToBase64ToggleOffWhen On, converts image files found in extracted ZIPs to base64 text format. Only applies when unzipping is enabled.

ParameterField NameTypeDefaultDescription
Output TransformationoutTransformIdDropdownOriginal with appended result columnHow the HTTP response is combined with existing workflow data.
Result Property NameoutColumnNameTexthttp_responseThe property name that will hold the HTTP response data in the output.
Output OptionDescription
Original with appended result columnKeeps all input data and adds the HTTP response as a new property. Use when downstream nodes need both the original data and the API response.
Return result column onlyReturns only the HTTP response, discarding upstream data. Use when only the API result is needed.
Spread by attachmentsCreates separate output rows for each downloaded file. Only available when Response Type is File Download.

A retail company needs to sync customer information from their e-commerce platform to their CRM every hour.

Configuration:

  • Method: GET
  • Request URL: https://api.ecommerce.com/customers/updated
  • Headers: Authorization: Bearer {{apiToken}}
  • Response Type: JSON
  • Output Format: Original with appended result column
  • Result Property Name: customer_updates

Outcome: The node fetches the latest customer data and passes it to a downstream CRM update node.

An accounting firm sends client billing data to a billing system API to create invoices.

Configuration:

  • Method: POST
  • Request URL: https://billing.example.com/api/invoices
  • Headers: Content-Type: application/json, Authorization: Bearer {{billingToken}}
  • Body: {"client_id": "{{clientId}}", "amount": "{{invoiceAmount}}", "due_date": "{{dueDate}}"}
  • Response Type: JSON
  • Enable SSL Certificate Verification: On

Outcome: The node sends client data to the billing system and receives the generated invoice ID for storage in a downstream database node.

A legal firm downloads contracts from a client portal using dynamic case numbers.

Configuration:

  • Method: GET
  • Request URL: https://clientportal.com/documents/{{caseNumber}}
  • Headers: authentication headers for the portal
  • Response Type: File Download
  • File Output Folder: /cases/{{caseNumber}}/
  • Unzip if Response is ZIP: On
  • Output Transformation: Spread by attachments

Outcome: The node downloads all documents for each case, extracts any ZIP archives, and creates separate workflow rows for each document for individual processing.


  1. Drag the HTTP Client node onto your workflow canvas and connect it to the previous node.
  2. Click the node to open settings.
  3. Select the desired Method (GET to read data, POST to send data).
  4. Enter the API endpoint URL in Request URL. Use {{variableName}} syntax for dynamic values.
  5. Expand the Headers section and add any required authentication or content-type headers.
  6. For POST, PUT, or PATCH: expand the Body section and enter your JSON payload with dynamic variables as needed.
  7. Expand the Response section and select the appropriate Response Type.
  8. Set the Result Property Name to a descriptive name.
  9. Click Test Configuration to validate the request, then save.
  1. Follow the basic request steps above.
  2. In the Response section, select File Download as the Response Type.
  3. Enter the target directory in File Output Folder.
  4. If the API returns ZIP files, enable Unzip if Response is ZIP.
  5. Optionally enable Keep ZIP File to retain the archive alongside extracted contents.
  6. Enable Convert Images to Base64 if downstream nodes need to embed images as text.

IssueLikely CauseResolution
401 UnauthorizedMissing or expired authentication tokenCheck the Authorization header value and confirm the token is current.
403 ForbiddenInsufficient permissions for the API endpointVerify the API account has the required access level for the requested operation.
SSL certificate errorSSL verification is on but the target uses a self-signed certificateFor internal or test systems only: disable SSL verification. For production APIs, contact the API provider about their certificate.
Request times outTarget API is slow or unreachableCheck network connectivity and the API’s status page. Consider increasing the workflow timeout setting.
Response body is emptyWrong Response Type selectedIf the API returns JSON but Response Type is set to Text, the data will not be parsed correctly. Match the Response Type to the actual content.
File not saved after downloadFile Output Folder path does not exist or is missingVerify the folder path and ensure the workflow has write access to that directory.
Dynamic variables not replacedVariable name in URL or body does not match the upstream property nameCheck the exact property name in the upstream node’s output and update the variable reference to match.

  • Enable SSL Certificate Verification for all external API calls in production environments.
  • Use descriptive Result Property Names (for example, crm_response or invoice_data) to make downstream node configuration easier to read.
  • Store API tokens as dynamic variables passed from a secure upstream source rather than hardcoding them in header values.
  • Use GET for all read operations. Only use POST, PUT, PATCH, or DELETE when your intent is specifically to modify remote data.
  • Test requests with the Test Configuration button before deploying to production to avoid unintended API side effects during development.
  • Enable Automatically Follow Redirects when working with APIs that use URL shorteners or that redirect based on authentication state.

  • CRUD Integration - for connecting to Monday.com, ClickUp, Airtable, or Slack without building raw HTTP requests.
  • URL Scraper - for extracting content from web pages rather than calling structured REST APIs.
  • Custom Script - for transforming request data before sending or parsing complex response structures.