Stop babysitting agents. Script them.
Define complex sequences of tasks for agents instead of hoping they follow the rules in your prompt.
Predictable, auditable and dependable.
Backed by
A Flow is a script that runs your agents.
You write the steps in TypeScript: which agent does the work, what it should produce, and what to check before continuing.
When the flow runs, you've got a dependable, auditable script that babysits your agents for you.
export default flow<TicketInput>( "software-factory", { budget: "$8/run" }, async (f, input) => { await f .agent("planner", { model: "claude-sonnet-5", task: ... }) .gate((r) => r.artifacts.includes("plan/plan.md")); await f .agent("implementer", { model: "claude-opus-5", task: ... }) .gate((r) => r.artifacts.includes("impl/branch.txt")); // The tests run outside the agent. // The agent cannot lie about the exit code. await f .run(`git checkout $(cat impl/branch.txt) && npm test`) .gate((out) => /failed:\s*0/.test(out)); // Different model. Its only job is to break the PR. await f .agent("adversary", { model: "gpt-5", task: ... }) .gate((r) => r.artifacts.includes("adversary/clean")); // Deterministic step, not an agent decision. await f.github.createPullRequest({ repo: input.repo, head: `feat/${input.ticketId}`, base: input.baseBranch, bodyPath: "impl/summary.md", }); f.done("success"); }, );
Explore use cases
Software factoryDurable. Observable. Repeatable.
- Persist every transition so long-running work survives restarts and deploys.
- Retry individual steps without repeating successful work or duplicating side effects.
- Trace every input, output, model action, artifact, and intervention in one run history.
- Trigger workflows from schedules and events, then execute them close to your systems.
Open source.
Run it anywhere.
Your laptop, your servers, or your cloud. Agent Relay runs where your work lives, with the source code in your hands.
Connect the tools you already use.
Built on top of Agent Relay, so your Flows can open pull requests, send Slack messages, and update tickets in the tools your team already uses.
GitHub
Linear
Slack
Jira
Notion
Stripe
HubSpot
Intercom
- Postgres
- Redis
- S3
Cloudflare
Sendgrid
Mailgun
Gmail
Google Calendar
Segment
- PostHog
Become a design partner
We're actively looking for design partners who are tired of agents letting them down. You'll have direct access to our team and great discounts on all paid plans.
- Walk us through a flaky workflow your humans or agents handle
- We'll help you write your flows and deploy them
- Review hosted, private cloud, or self-managed options
- Leave with a clear path from discovery to production
