Workflows
What can workflows do?
Workflows are the automation engine inside Anythink. They can:
- React to data changes — send a welcome email when a user signs up, create a task when an order is placed
- Run on a schedule — sync data from an external API every morning, generate a weekly report
- Expose custom API endpoints — build serverless-style functions that run your business logic on demand
- Call external services — send messages, post to webhooks, call any HTTP API
- Process and transform data — filter, enrich, and reshape data as it flows through your system
- Run custom JavaScript — execute scripts for logic that cannot be expressed as a simple step
Creating a workflow
- Open your Anythink dashboard and go to Workflows in the left menu
- Click New Workflow
- Give it a name and choose a trigger type
- Add steps by clicking the + button on the canvas
- Connect steps by dragging from the output of one to the input of the next
- Click Save, then Enable when you are ready to go live
The canvas
The workflow canvas works like a whiteboard. Drag steps onto it, connect them, and the workflow executes from left to right.
- Success paths (green connectors) — followed when a step completes successfully
- Failure paths (red connectors) — followed when a step errors, if you have connected one
- Condition branches — a Condition step has two outputs: one when conditions are met, one when they are not
Click any step to open its configuration panel on the right.
Trigger types
There are four ways to start a workflow. See Triggers and Scheduling for full details.
| Trigger | When it fires |
|---|---|
| Timed | On a cron schedule, e.g. every day at 6am |
| Event | When a record is created, updated, or deleted |
| Manual | On demand from the dashboard or CLI |
| API Endpoint | When an HTTP request hits your custom route |
Step types
Each step does one focused thing. Chain them together to build complex logic. See Step Types for full details.
| Step | What it does |
|---|---|
| Read Data | Fetch records from an entity |
| Create Data | Insert one or more records into an entity |
| Update Data | Modify an existing record |
| Delete Data | Remove a record |
| Call an API | Make an HTTP request to any external service |
| Run Script | Execute JavaScript for custom logic |
| Condition | Branch the workflow based on a value |
Passing data between steps
Every step produces output that subsequent steps can reference using template syntax:
{{ $anythink.steps.my_step.data[0].field_name }}
The trigger's data is available as:
{{ $anythink.trigger.data.field_name }}
This lets you build pipelines where each step transforms and passes data to the next.
Testing and monitoring
After saving, test a workflow directly from the canvas using the Test button. The results panel shows the exact input and output of every step. All workflow runs are logged in Job History — you can replay, inspect, and debug any run. See Monitoring and Testing for details.
Enabling and disabling
A workflow must be Enabled to run automatically. Toggle this from the dashboard or CLI:
anythink workflows enable 76
anythink workflows disable 76
Disabled workflows can still be triggered manually.