A Worker is a scoped, audited identity for an AI agent. It can read your infrastructure and propose changes you approve - and it can never delete resources or read your secrets. Run it unattended on the model key you bring, and every action is logged.
Free to start, no credit card · Bring your own model key
One identity. Reads flow, changes wait for you, secrets stay off limits.
Handing an agent your API key gives it the power to delete everything and read every secret. A Worker splits every possible action into three lanes - and only one of them can act without you.
From "here's the task" to "done, and logged" - with you in the loop for anything that matters. Click a step to see what happens.
Two roles, set per Worker, changeable any time. Start read-only and graduate to proposing changes.
Reads, and nothing else.
Reads, and proposes changes you approve.
Make it yours
Roles decide what a Worker may do. These decide how it does it - its identity, its playbooks, and how big a job it can take on. None of them widen what its role allows.
Tell a Worker who it is and how you work - "you are our release manager; always check production logs before proposing a deploy." It follows that on every run, on top of each task.
Hand a Worker reusable playbooks. Write a review or triage skill once, name it in a task, and the Worker loads the right one and follows your steps instead of guessing.
For a big job, let one Worker fan the work out to parallel helpers and gather the results - a single Worker that scales into a team for one task, still under one approval queue.
A Worker isn't a bolt-on bot. It already understands your projects, functions, environments, crons and jobs - so it can act in context, not guess. It sees exactly what its role allows, and nothing more.
Live status, deploy history, and rollouts across every project it is scoped to.
Your functions, their logs and metrics - and, for a Maintainer, updates it can propose.
Production, staging and preview environments, their branches, config and URLs.
Scheduled runs and one-off jobs - their timing, status, exit codes and output.
Container logs, CPU and memory, request rates - the signals it needs to diagnose.
Browses the connected repo to reason about the real change, not just the symptom.
Anywhere you'd want an agent to act on your infrastructure - without giving it the keys to wreck it.
An error spike wakes a Worker. It reads the logs and metrics, finds the regression, and proposes a rollback - waiting for your nod.
Point your coding agent at a Worker. It reads the code, prepares the change, and opens it for approval - without ever holding your real key.
Hand a contractor or third-party agent a Worker instead of credentials. They can read and propose; they can never delete or exfiltrate.
Recurring checks and cleanups that run on their own model, pause at the gate for anything risky, and leave a full paper trail.
A team for your project
Give one project several Workers - each owning a slice. They do not step on each other, and everything that changes your infrastructure lands in the same approval queue: yours.
Reacts to a failed deploy
Pulls the build and runtime logs, diagnoses the likely cause, and proposes a rollback or fix - for your approval.
Reacts to a new pull request
Reads the diff the moment a PR opens and posts a review of what changed and anything risky it spots.
Runs on a schedule
Each morning it checks deploys, health, and usage and posts a status digest to your Slack.
Every Worker assumes its agent can be manipulated by the data it reads. So the boundary does not depend on the agent behaving. Destructive actions are unreachable, secrets are off limits, and anything irreversible waits for a human. You delegate the work without surrendering control, and you keep a complete record of everything that happened.
Create a Worker, hand it to your agent, and let it work - safely.
Start free