Running ops automations at
Read the automation before it runs
Every change to a workflow shows what it adds, what it changes and what it can reach, and waits for someone to approve it.
Changes in this version
- +Added: Billing lead approvesRefunds over $500 wait for a billing lead
- ~Changed: Issue refundNever refunds more than the policy cap
- −Removed: Email the customer twiceOne confirmation, after the refund lands
What it can reach
Salesforcereads orders
Stripewrites refunds
Slackasks in #billing-approvals
-
Changes you can read
Each version lists its changes in plain words, with the code behind them for anyone who asks to see it.
-
Approval gates
A person approves a new version before it runs, and any step can wait for sign-off, like refunds over $500.
-
Deterministic execution
The same input produces the same output. Agentic reasoning is scoped to steps that benefit from judgment.
Prove what happened, step by step
Every run is logged, replayable, and checked, so audits answer themselves.
Needs review7b21c4e9-0f3a-4d8c-a6e5…
Steps (5)
- fetch-order142ms
- check-eligibility88ms
- billing-approvalheld 4m
- issue-refund310ms
- check-stripe-schemaflagged
Proposed fix
Stripe renamed amount to amount_decimal. Update the mapping in 2 steps.
Replay with fixReview fix
-
Replayable runs
Any run can be replayed step by step with the inputs and outputs it saw.
-
Evals on every step
Each step carries evals that detect breakage when an upstream system changes.
-
Failures arrive as diffs
A broken step surfaces as a proposed patch your team reviews, not a silent error in production.
Keep production data out of the model
A model helps build the workflow. When it runs, your systems talk to the approved steps, not to a model.
| System | Reads | Writes |
|---|---|---|
| Order total, customer | Nothing | |
| Policy table | Refund cap | Nothing |
| The original charge | The refund | |
| Nothing | One approval request |
A model wrote these steps when the playbook was built. When it runs, no model sees the orders.
-
No model sees your data at run time
When a workflow runs, your data moves through the steps you approved, not through a model.
-
Scoped access
Each workflow reaches only the systems and fields its steps declare.
-
Documented handling
Subprocessors, encryption, and retention commitments are published in the Trust Center.
Security questions, answered
Is Ballet SOC 2 compliant?
Ballet is part of Brainfish and covered by Brainfish’s SOC 2 Type II compliance. Reports and policies are available through the Trust Center at https://trust.brainfi.sh/.
Can I review what an automation does before it runs?
Yes. Every version of a workflow lists what it adds, changes and can reach, and someone approves it before it runs in production. The code behind each step is there for anyone who wants to read it.
Are workflow runs auditable?
Yes. Every run is logged and replayable step by step, and evals on every step detect breakage before it reaches production.
Does my production data go through an AI model?
Not unless a step is set to use AI. A model helps build the workflow, but when it runs, your data moves through the steps you approved. Steps that need judgment, like drafting a reply, are marked as AI and you choose which those are.
Move AI from personal wins to company returns
Nothing goes company-wide until it can be reviewed, gated and replayed. Bring one that needs all three.
