No-Code Workflows (DAG Automation)
Last updated 15 Jun 2026
Overview
Workflows let you chain steps into an automated pipeline — a DAG (directed acyclic graph) of nodes — without writing code. A workflow can generate content, call AI capabilities, hit external APIs, branch, loop, wait, get approvals, and publish results. Each step runs with its own timeout, budget, and error policy so a single flaky step can't run away or hang the whole run.
Node kinds
Workflows support these step types:
- Capability — call an AI capability (chat, image, TTS, translate, etc.)
- Tool — invoke a registered tool/function
- HttpRequest — call an external HTTP endpoint
- Branch — route based on a condition
- Loop — iterate over a collection
- FanOut / FanIn — parallelize and rejoin
- Transform — set/reshape variables
- ArtifactSave — persist a transient asset to your CDN
- Publish — push to a channel (webhook, markdown artifact, etc.)
- SubWorkflow — call another workflow as a step
- HumanApproval — pause for an approval
- Wait — delay
- Webhook — POST to an external hook
Per-step controls
Each node carries:
- Timeout — how long the step may run before it's cut off.
- Error policy — what happens on failure: fail the run, retry, or continue/ignore. For example, set a notification step to ignore so an outage there doesn't fail the whole run, and set a fetch step to retry for transient upstream blips.
Variables, secrets, and artifacts
- Variables thread data between steps. Steps read prior outputs with
{{vars.name}}interpolation. - Secrets hold credentials a workflow needs (API keys, webhook secrets) without hardcoding them into the spec.
- Artifacts are outputs you persist — ArtifactSave re-hosts transient provider URLs to permanent Bunny CDN URLs so links don't expire.
Cost
There is no separate workflow execution fee. A run is billed as the sum of every step's BillingRecord — exactly the same per-call billing as running each step by hand. Steps that make no AI call (HTTP, transform, wait, webhook) cost nothing. Sub-workflow costs roll up into the parent run's total.
Running and monitoring
Kick off a run, then watch it on the workflow runs page. Each run records its steps, their outcomes, and total cost. Failed steps surface their error per the step's error policy.
Tips
- Give external/notification steps a forgiving error policy (retry or continue) and core steps a strict one.
- Use ArtifactSave on any generated media you want to keep — provider URLs expire.
- Extract reusable subgraphs into a SubWorkflow and call it from multiple parents.
- Test a flow with cheap echo/transform steps before wiring in costly AI capability steps.