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 likehttps://api.courier.com/trackto fetch live shipment updates. You can pass tracking numbers dynamically usingForm Data, handle pagination, and export the results as JSON or CSV for audit purposes.
Input
| Type | Required | Description |
|---|---|---|
| Data | Optional | Used when request parameters, body, or headers need to be constructed using values from previous activities (e.g., row-based input or iteration). |
Output
| Field | Required | Description |
|---|---|---|
Data | Optional | Used 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 Name | Description |
|---|---|
| Connection | Authentication configuration for the API. Supports OAuth, Basic Auth, API Keys, etc. |
| Request Type | HTTP method used for the API call (e.g., GET, POST, PUT, DELETE). |
| Request URL | Full endpoint URL for the API call. Variables can be injected using replacers like {{args.param}}. |
| Content Type | MIME type of the request body (e.g., application/json, application/x-www-form-urlencoded, application/xml). |
| Headers | Custom HTTP headers as key-value pairs (e.g., Authorization, X-API-KEY, Accept). |
| Form Data | Used for submitting form-encoded data. Typically used with application/x-www-form-urlencoded. |
| URL Params | Key-value pairs appended as query parameters to the endpoint (e.g., ?status=active&page=1). |
| Parameters | Generic key-value inputs, optionally mapped to dynamic values from previous rows. |
| Body | Body of the request, in raw JSON/XML format. Required for POST/PUT operations. |
| Continue Execution on Failure | If enabled, the workflow continues even if the API request fails (useful for optional services or retries). |
| Replacer for All Rows | Enables replacing placeholders with input values from each row (useful for batch processing or iterations). |
| Next Page Key Path | JSON path to locate the next page token from the response for paginated APIs (e.g., data.pagination.next). |
| Next Page Key | Initial value of the pagination token (if available). |
| Next Page Key Behaviour | Determines where the next page key is used (URL, Params, or Header). |
| Include Headers in Response | If enabled, response headers are returned along with the data. |
| Read Next Page Key from Header | Enable to extract the pagination token directly from a response header. |
| Replace Next Page Key With | Specifies the placeholder in the URL or body to be replaced with the next page key (e.g., {{nextPageToken}}). |
| Search Key to Replace | Field key in the response body whose value should be replaced dynamically. |
| Root of Response | JSON path to the array/object that holds the main response content (e.g., results, data.items). |
| File Type | Desired export format from API response (e.g., CSV, JSON, XML). |
| JSON Field | Field inside the API response that holds the array to be exported. |
| Delay | Optional delay (in milliseconds) between paginated requests or retries. |
| Accept Encoding | Content encoding expected in the response (e.g., gzip, deflate). |
Sample Input
Not applicable
Sample Configuration
| Field | Value |
|---|---|
connection.id | public-api-oauth |
requestType | GET |
requestUrl | https://api.example.com/customers |
contentType | application/json |
headers | { "Authorization": "Bearer {{args.token}}" } |
urlParams | { "status": "active", "limit": 100 } |
nextPageKeyPath | pagination.nextPageToken |
replaceNextPageKeyWith | {{nextPageToken}} |
nextPageKeyBehaviour | URL |
rootOfResponse | data.customers |
includeHeadersInResponse | true |
fileType | JSON |
Sample Output
| Customer ID | Name | Status | |
|---|---|---|---|
| 1001 | John Smith | john.smith@example.com | Active |
| 1002 | Jane Doe | jane.doe@example.com | Active |
If
Include Headers in Responseis enabled, the output will also include an_headersfield containing all HTTP response headers.