Skip to content

Execute API

Description

The Execute API Activity enables workflows to connect and communicate with any RESTful API by executing configurable HTTP requests such as GET, POST, PUT, or DELETE. It allows users to define the request structure including headers, query parameters, body content, pagination rules, response parsing, and authentication.

This activity is highly flexible and supports integration with third-party systems, custom backends, public APIs, and , all without requiring external tools.

Use case:
In a logistics automation workflow, use this activity to call a courier tracking API like https://api.courier.com/track to fetch live shipment updates. You can pass tracking numbers dynamically using Form Data, handle pagination, and export the results as JSON or CSV for audit purposes.


Input

TypeRequiredDescription
DataOptionalUsed when request parameters, body, or headers need to be constructed using values from previous activities (e.g., row-based input or iteration).

Output

FieldRequiredDescription
DataOptionalUsed when request parameters, body, or headers need to be dynamically constructed using values from previous activities (e.g., row-based input or iteration).

Configuration Fields

Field NameDescription
ConnectionAuthentication configuration for the API. Supports OAuth, Basic Auth, API Keys, etc.
Request TypeHTTP method used for the API call (e.g., GET, POST, PUT, DELETE).
Request URLFull endpoint URL for the API call. Variables can be injected using replacers like {{args.param}}.
Content TypeMIME type of the request body (e.g., application/json, application/x-www-form-urlencoded, application/xml).
HeadersCustom HTTP headers as key-value pairs (e.g., Authorization, X-API-KEY, Accept).
Form DataUsed for submitting form-encoded data. Typically used with application/x-www-form-urlencoded.
URL ParamsKey-value pairs appended as query parameters to the endpoint (e.g., ?status=active&page=1).
ParametersGeneric key-value inputs, optionally mapped to dynamic values from previous rows.
BodyBody of the request, in raw JSON/XML format. Required for POST/PUT operations.
Continue Execution on FailureIf enabled, the workflow continues even if the API request fails (useful for optional services or retries).
Replacer for All RowsEnables replacing placeholders with input values from each row (useful for batch processing or iterations).
Next Page Key PathJSON path to locate the next page token from the response for paginated APIs (e.g., data.pagination.next).
Next Page KeyInitial value of the pagination token (if available).
Next Page Key BehaviourDetermines where the next page key is used (URL, Params, or Header).
Include Headers in ResponseIf enabled, response headers are returned along with the data.
Read Next Page Key from HeaderEnable to extract the pagination token directly from a response header.
Replace Next Page Key WithSpecifies the placeholder in the URL or body to be replaced with the next page key (e.g., {{nextPageToken}}).
Search Key to ReplaceField key in the response body whose value should be replaced dynamically.
Root of ResponseJSON path to the array/object that holds the main response content (e.g., results, data.items).
File TypeDesired export format from API response (e.g., CSV, JSON, XML).
JSON FieldField inside the API response that holds the array to be exported.
DelayOptional delay (in milliseconds) between paginated requests or retries.
Accept EncodingContent encoding expected in the response (e.g., gzip, deflate).

Sample Input

Not applicable


Sample Configuration

FieldValue
connection.idpublic-api-oauth
requestTypeGET
requestUrlhttps://api.example.com/customers
contentTypeapplication/json
headers{ "Authorization": "Bearer {{args.token}}" }
urlParams{ "status": "active", "limit": 100 }
nextPageKeyPathpagination.nextPageToken
replaceNextPageKeyWith{{nextPageToken}}
nextPageKeyBehaviourURL
rootOfResponsedata.customers
includeHeadersInResponsetrue
fileTypeJSON

Sample Output

Customer IDNameEmailStatus
1001John Smith[email protected]Active
1002Jane Doe[email protected]Active

If Include Headers in Response is enabled, the output will also include an _headers field containing all HTTP response headers.