Skip to main content

Execute Action APIs

Use the execute action API to run an execute action from your Data Library, such as creating a return, cancelling an order, or updating a record in an external system. Flowcall runs it the same way it does inside a workflow.

The call runs the action once and returns its result. To run the same action for many rows, use Bulk Execute in the dashboard.

Authentication​

Create an access token from Settings -> Integrations in the Flowcall dashboard.

Pass the token as a Bearer token in every request:

Authorization: Bearer <your_access_token>

The access token determines the Flowcall account. The execute action must belong to that account.

Only access tokens and account admins can call this API. Requests from other dashboard users return 403.

Execute actions change data in external systems. Keep the token on your server, and make sure your system does not call the API twice for the same operation.

Run an execute action​

POST https://api.flowcall.co/apis/workflow-config-library/execute-action/run

Rate limits​

WindowLimit
Per hour30 requests

The limit is shared by all callers in the account. Requests over the limit return 429 with Retry-After, X-RateLimit-Limit, and X-RateLimit-Remaining headers.

Request body​

FieldTypeRequiredDescription
workflowConfigLibraryIdstringOne ofID of the execute action in the Data Library.
executeActionKeystringOne ofKey of the execute action. Use it instead of workflowConfigLibraryId.
inputsobjectNoInput values keyed by the action's input names. Required inputs must be included.

Send either workflowConfigLibraryId or executeActionKey. If you send both, Flowcall uses workflowConfigLibraryId.

To find the ID, key, and input names, open Data Library -> Execute Actions in the dashboard and click API on the action. It shows a ready-to-use curl command for that action.

Input values​

Flowcall converts each input using the field type set in Configure for the action:

Field typeAccepted values
stringAny value. It is converted to text and trimmed.
numberA number, or text that parses as a number.
booleantrue/false, "yes"/"no", or "1"/"0".
enumOne of the options configured for the field.
dateA date in yyyy-mm-dd format.

Fixed inputs configured on the action are always applied and override any value you send for the same input.

Example request​

curl -X POST https://api.flowcall.co/apis/workflow-config-library/execute-action/run \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"workflowConfigLibraryId": "3f1c2a9e-6b7d-4c1e-9a55-2d0e8f4b7c61",
"inputs": {
"order_name": "#ORDER-123",
"reason": "damaged_product",
"pickup_date": "2026-09-25"
}
}'

Success response​

result is the value returned by the action's output function. Its shape depends on the action.

{
"success": true,
"workflowConfigLibraryId": "3f1c2a9e-6b7d-4c1e-9a55-2d0e8f4b7c61",
"executeActionKey": "create_return_request",
"result": "Return created with ID RET-98765"
}

Errors​

StatusWhen
400Neither identifier was sent, inputs is not an object, or an input is missing or has the wrong type.
401The Bearer token is missing or invalid.
403The caller is not an account admin or an access token.
404No execute action with that ID or key exists in the account.
422The action ran but failed, for example because the external API returned an error.
429More than 30 requests in the last hour for the account.
500An unexpected server error.

An input validation error lists every problem in errors:

{
"success": false,
"error": "order_name is required; pickup_date must be a valid yyyy-mm-dd date",
"errors": ["order_name is required", "pickup_date must be a valid yyyy-mm-dd date"]
}

A failed run returns the reason in error:

{
"success": false,
"error": "Failed to execute action API"
}

Custom API calls made by the action are recorded in API Logs, whether they succeed or fail.