Workflows you can see and trust
Draw a graph of models, apps, and logic. ActionFlows checks the graph before an Actionflow Studio, API, or webhook run is admitted.
Create your ActionFlow
- Draw the graph on the canvas. No code required.
- Add models, apps, conditions, loops, and approval steps.
- Connect outputs from one node to inputs on the next.
Connect models and tools
- Use organization credentials for AI providers and apps.
- Chain multiple models and integrations in one run.
- Attach MCP servers when you need tools that are not a catalog node.
Run it
- Start a run in the Actionflow Studio when you want to watch.
- Start from an inbound webhook or from the runs API.
- Save the graph, test a passive flow in Actionflow Studio, then activate it for webhooks and schedules.
Schedule tasks
- Recurring: every N minutes, hours, or days, or a weekly time, in your timezone.
- One-time: a date and time for the run that should not happen twice.
- Each schedule trigger is a run in the same history as an Actionflow Studio run, with cost and artifacts.
Integrate with your app
- Start runs from REST, the TypeScript SDK, or hosted MCP.
- Send inputs as a node id, an underscore, and the input name, as in node_abc_prompt, then read the run. 201 or 202 means admitted, not finished.
- Inspect, cancel, and follow run logs without opening the canvas.
ActionFlow canvas: draw the graph
- 01
Draw nodes for models, apps, and logic on the visual canvas.
- 02
Connect outputs to inputs, one node to the next.
- 03
Add conditions, switches, and loops when the flow should branch or repeat.
- 04
Place an approval step wherever a person must check the work.
- 05
A Subflow node does not run a child graph. To reuse a graph, start it with the runs API or a webhook.
Run ActionFlows from webhooks, schedules, and code
- 01
Start a run from the Actionflow Studio and follow the step that is executing.
- 02
An inbound webhook starts a run only when the flow is active. A passive flow returns 409.
- 03
A schedule runs only an active flow. You can still test a passive flow in Actionflow Studio.
- 04
The runs API and TypeScript SDK start a saved graph. Inputs use a node id, an underscore, and the input name, as in node_abc_prompt. The API does not require the active flag.
- 05
On Actionflow Studio, API, and webhook runs, ActionFlows checks the graph before it admits the run.
- 06
Run history is a filtered view: steps, settled credits, and artifacts. It is not a complete copy of every raw input.
One support path, from input to record
- 01
A helpdesk posts the message to the flow webhook, or you paste it into Flow inputs.
- 02
Generate Text classifies the request.
- 03
A condition sends billing questions down one branch.
- 04
A human approval step can pause before an app node writes the result. Sample timing and cost on this page are examples, not measured results.
What the graph adds
Visual flow graph
Nodes include models, apps, conditions, loops, and approval steps. The canvas is the design. The runs API does not draw it for you.
Pre-run validation
On Actionflow Studio, API, and webhook runs, ActionFlows checks the graph before it admits the run. The check does not preview each step's output.
Human approval steps
Add an approval step where a person reviews the output. The flow pauses until someone decides.
Webhook triggers
An inbound webhook accepts a POST when the flow is active. Design the graph in the app first.
Schedules
Recurring and one-time schedules claim active flows only. Pick the timezone on the schedule.
Run history
Open a filtered history row to inspect steps, settled credits, and artifacts. Some values are redacted, transformed, or truncated.
ActionFlow FAQ
A run spends organization credits. Log storage and other limits follow your plan. See pricing
Build your first ActionFlow
Draw a graph of models, apps, and logic, then run it from the Actionflow Studio, a webhook, a schedule, or the API.