Test workflows before enabling them, read what every step received and returned, and track down failures.
Every run of a workflow is a job, and Anythink keeps each job's payload, status and step-by-step results. That history is how you test a workflow and how you find out why one failed.
anythink workflows trigger 174
anythink workflows trigger 174 --payload '{"total":129.5,"status":"paid"}'
Limit: The CLI prints
API error (204): Empty responseeven when the job was queued successfully — a204 No Contentis the documented success response, not an error. Check Job History, oranythink workflows jobs <id>, to confirm the run.
A test run works the same way for any trigger type, including timed workflows, which run once immediately without affecting their schedule.
Note: Test runs are real runs. Steps write data, call APIs and send email and push notifications. Test against sample records, or disable steps with side effects by routing around them while you build.
| Status | Meaning |
|---|---|
Pending |
Queued, not started |
Running |
The worker is running its steps; the job shows the current step key |
Success |
The last step it ran succeeded, or a failure was handled by an on failure path |
Failed |
A step failed with no on failure link, the job hit a limit, or the project's workflow quota was used up |
Job History lists the workflow's jobs, 25 per page, newest first. Open a job to see:
id, entity_name and data the job started with.The job view refreshes every two seconds while a job is running.
GET /org/{orgId}/workflows/{workflowId}/jobs?page=1&pageSize=25
GET /org/{orgId}/workflows/{workflowId}/jobs/{jobId}
Both need anythink_workflows:read. Each job includes its status, payload, error_message, current_executing_step_key and a steps list with every step's success, log, data_json and error_message.
anythink workflows jobs <id> calls the same endpoint, but its list view doesn't surface that detail yet:
── Jobs (1) ────────────────────────────────────────────────────────────────────
Job #133086 Success — ?
The ? stands in for fields the CLI doesn't render (payload, error message). Use anythink workflows step-get <workflow_id> <step_id> for a step's parameters, or call the API endpoints above directly for the full job, including each step's data_json.
Limit:
anythink workflows listcurrently crashes withValue cannot be null. (Parameter 'text')once the project has a workflow with certain malformed trigger configuration. Useanythink workflows get <id>for a single workflow, or callGET /org/{orgId}/workflowsdirectly, until this is fixed.
Failed jobs aren't retried automatically. To run one again with the same input, copy the job's payload and start the workflow with it:
POST /org/{orgId}/workflows/{workflowId}/trigger
Content-Type: application/json
{ "entity_name": "orders", "entity_id": 1042, "data": "{\"total\":129.5,\"status\":\"paid\"}" }
data must be the payload's data as a JSON string. See Triggers and scheduling.
| Symptom | Check |
|---|---|
| No job appears for an event | The workflow and trigger are enabled, the event and entity are right, and the trigger filter matches. Filtered-out events leave no job. |
| A timed workflow never runs | The cron expression is valid and written in UTC |
| A job failed with a quota message | Your plan's monthly workflow runs are used up |
| A job failed at a Condition | The condition was false and has no on failure link. Link the false branch. |
A value shows up as {{ … }} in a record or message |
The template path doesn't exist: check the step key, data[0], and field names |
| A step can't find records you can see in the dashboard | Workflow reads aren't limited by row-level security, but filters are exact. Check the filter values in the step log. |
| Users can't see records a workflow created | Grant access with the row-level security options on the create step |
| An integration step fails with "No credentials found" | Connect the service in Settings › Integrations |
| A job failed with "exceeded maximum step limit" | Your links form a loop. Jobs stop after 250 step executions. |
| A workflow runs again and again | A step writes to the entity that triggers the workflow. Add a trigger filter so the workflow's own writes don't match. |
console.log in Run a script steps to record intermediate values while you build, and remove noisy logging once the workflow is stable.find_due_orders, not step_2): keys appear in templates, logs and the job's current-step field.| To | Permission |
|---|---|
| View workflows and job history | anythink_workflows:read |
| Create workflows and add steps | anythink_workflows:create |
| Edit, enable and disable | anythink_workflows:update |
| Delete | anythink_workflows:delete |
| Start a workflow by API or button | anythink_workflows:trigger |
Project administrators have all of these. API keys need the exact permissions for the calls they make.