step.run()01Run it once, keep the result
Wrap any call. The result is saved, so a retry or replay reads it back instead of calling again.
Docs
Install the SDK, write one function, run the local dev server and watch your first step retry itself. Everything below runs on the free plan.
Workflows live in your repo, deploy with your app and run on your cloud or ours. TypeScript, Python and Go SDKs share one runtime and one dashboard.
02 · Guides
Each guide is a working example with tests, written by the engineers who built the feature.
Guide · 12 min
Classify tickets, check charges and pause for a lead before refunds over $200.
Guide · 8 min
Process 10,000 rows in parallel with a concurrency limit per provider.
Guide · 6 min
Weekly reports, trial reminders and follow-ups without a cron box.
Guide · 10 min
Deploy a fix, select the failed runs and resume them from the broken step.
Guide · 7 min
Turn functions into tools the model can call, with approval on the risky ones.
Guide · 9 min
Tokens and cost per step, with daily budgets and alerts in chat.
No new language and no YAML. You write normal functions and wrap the parts that talk to the outside world.
step.run()01Wrap any call. The result is saved, so a retry or replay reads it back instead of calling again.
step.sleep()02Pause a run for minutes or months. Nothing polls and nothing is billed while it sleeps.
step.waitForEvent()03Hold a run until a matching event arrives, like a paid invoice or a signed form, with a timeout.
retries04Failed steps retry on their own: 3 times, with exponential backoff. Errors you mark final stop at once.
concurrency05Cap parallel runs per key, like one per customer, so a burst from one account never starves the rest.
step.invoke()06Compose workflows. The parent waits for the child's result, and both show up in one trace.
Help
Community chat is answered by the core team on weekdays. Paid plans get a shared channel with a named engineer.