Visual workflows, inside your backend
Automation that runs inside every project. Trigger on a record change, a schedule or an API call, then send email and push, call other services or run a script.
The same task, three ways
Every task works three ways, and all of them change the same project. Here's one: email a customer when their order is paid.
The Anythink dashboard
Build it on a canvas: a trigger, a filter and one step.
The Anythink CLI
Repeatable and reviewable, so a workflow can live in your repo and go into every project.
$ anythink workflows create order-paid-email --trigger Event \--entity orders --event EntityUpdated \--filter '{"field":"status","op":"changed_to","value":"paid"}' --enabled# 31 is the id printed by workflows create$ anythink workflows step-add 31 send_receipt --action SendAnEmail --start --enabled \--params '{"to":"{{ $anythink.trigger.data.customer_email }}","template_type":"order_paid"}'$ anythink data update orders 42 --data '{"status":"paid"}'$ anythink workflows jobs 31- ✓Workflow created, triggered when an order's status changes to paid
- ✓Send an email step added as the start step
- ✓Updating order 42 starts a job
- ✓The job appears in the workflow's history
Claude, through MCP
Describe what should happen. It builds the workflow and tells you how to test it.
you › “When an order's status changes to paid, email the customer using the order_paid template.”
- ✓Workflow created with an Event trigger on orders
- ✓Filter: status changed to paid
- ✓Send an email step addressed to the order's customer_email
- ✓Enabled; check Job History after the next paid order
A workflow engine, not a separate tool to wire up
Triggers, steps and conditional branching, running inside your backend on the same data model you already defined
Every step type you need, built in
Read, create, update, upsert and delete data; call an external API; run inline JavaScript; send a command; branch on a condition; send an email or push notification; run an integration step; or handle a file — all as workflow steps, no separate service to deploy.
Execution history, per job
Every run is a job with its own log. Inspect what each step did, what it returned, and where a run stopped, from the dashboard or with anythink workflows jobs from the CLI.
Four trigger types, mixed freely
Event (on a record created, updated or deleted), Timed (cron), Manual (on demand) and Api (a custom HTTP route). A single workflow can carry more than one trigger, so the same steps run whether a record changed or someone kicked it off by hand.
Inline JavaScript when you need it
A Run Script step executes JavaScript inside the workflow, with access to trigger data and every previous step's output. Use it for calculations and transformations that don't fit a pre-built action.
Branch on success or failure
Each step can route to a different next step depending on whether it succeeded or failed. Combine that with a Condition step reading your trigger data, and a workflow can take different paths without any code outside the step parameters.
Call an API, or run an integration
A Call an API step reaches any external HTTP endpoint. An Integration step drives a connected provider directly — Slack, GitHub, Google Calendar, LinkedIn, Twitter/X, Claude or Grok — without you handling that provider's auth or request shape.
Full CRUD on your data
Read, Create, Update, Upsert and Delete Data steps cover every write your backend needs, across any entity, with the same row-level security and permissions that apply everywhere else.
In practice
Real commands against a real workflow
anythink workflows create \ --name "Overdue invoice reminder" \ --trigger Event \ --entity invoices \ --event EntityUpdated \ --filter '{"field":"status","operator":"changed_to","value":"overdue"}' \ --enabled
What teams automate
Order fulfilment and notifications
Every new paid order triggers fulfilment, updates inventory, notifies the team on Slack through an Integration step, and emails the customer — all in one workflow, reading and writing the same entities your API and dashboard use.
Scheduled reports and data hygiene
Run daily summaries, weekly digests and monthly cleanup jobs on a cron schedule. Read data, process it in a Run Script step, then send it wherever it needs to go — no separate scheduler to run and monitor.
Status-change pipelines
An Event trigger with a changed_to filter fires only on the transition you care about — a ticket moving to "resolved", a payment moving to "failed" — so a workflow doesn't run on every unrelated field update.
Frequently Asked Questions
What types of workflow triggers are available?
Four: Event (reactive to a record being created, updated or deleted, with optional filters), Timed (cron scheduling), Manual (on demand, with an optional JSON payload) and Api (a custom HTTP route). A workflow can carry more than one trigger at once.
Can workflows have conditional logic?
Yes. Each step has on_success and on_failure routing to a different next step, and a dedicated Condition step evaluates your data to decide which path to take.
Can workflows access secrets securely?
Yes. Workflows reference secrets using {{ $anythink.secrets.KEY_NAME }} syntax. Secrets are encrypted at rest and resolved only at execution time, never exposed in the workflow definition.
Can I trigger workflows from external services?
Yes. An Api trigger exposes a custom HTTP endpoint for a workflow. You can also trigger any workflow manually with an optional JSON payload, from the dashboard, the CLI (anythink workflows trigger) or an MCP client.
Can a workflow filter on exactly which change happened?
Yes. Event trigger filters support a changed_to operator, so a workflow can fire only when a field moves to a specific value — for example, status changed_to "shipped" — rather than on every update to the record.
How does Anythink send bulk email or push without one slow loop?
A Send an Email or Send Push Notification step accepts a list of recipients from an earlier step's output. Each recipient is published to a dedicated queue and sent independently, so a campaign to thousands of people doesn't run as a single synchronous job.
Still have questions?
Get in TouchMore in the same project
Every feature reads from the same data model, so each one you add works with the rest.
Ways to build with it
The dashboard, the CLI, MCP and the SDK, plus guides for moving from other platforms.
Who it's for
How founders, agencies and enterprise teams use Anythink.
Documentation
Guides and reference at docs.anythink.cloud.
Want to learn more?
Submit a request and talk to sales about getting you setup with your perfect account today
- /
- Products/
- Workflow Automation
