You describe the work. Milita learns what matters.
Teaching Milita isn't a project. You describe the process the way the person who normally does it would. She builds it, asks only what she needs to know, and then proves it on her own.
Sign up with a verified work email, Google, or Microsoft. The first screen is not a checklist; it is Milita, who says what she does and that the first job is to connect a sandbox, a safe place to test, never production. Nothing to install on your computer.
Connect
Connect a sandbox
A guided conversation. Milita walks your admin through an External Client App with the JWT bearer flow, our per-environment certificate, a permission set, and a Salesforce user of its own for the person you protect first, on the profile they really have. She verifies each step the moment it is done and refuses anything that is not a sandbox or any user with admin-level permissions. Certificate revocation in Setup is your off switch, instantly and without asking us. The full guide.
Read
She reads your org before she asks you anything
As the people your tests are about, through their own sign-ins, Milita reads the structure of the org and what each of them can see and do: objects and fields, record types and picklists, the forms they fill in, apps, and, where their profile shows them, approval processes and assignment and duplicate rules by name. Never records, never code, never a flow or a rule's definition, and nothing through the Tooling or Metadata API: one door in our code refuses them for every user, and drops every formula from what Salesforce describes. What a rule or a flow does, she learns by running as the person and recording what the org did. Every read she makes through her org tools is logged to a page you can open, with the persona it went as, and there is a per-turn read budget. Reading the org is built, and off until counsel agrees the Terms.
Propose
She proposes what to prove
Building coverage has always required a person to imagine every way a system could fail. Milita does the imagining with you. For each component she reads, she proposes a Promise as a positive case and a negative case, with the person it needs and what it came from: a form as that person sees it, or a refusal a run as them met. Every step is built by a deterministic generator; the model only chooses the next question. A static check runs before you see a card: every plan valid, every label a real field, every value one the org offers. You keep or skip each proposal, and the Promises page shows coverage per object and per person.
Say it
Or just say it, in one sentence
"Discounts above 20% must require Finance approval before the quote can be sent." Not sure how to put it? She offers drafts. She says back what she understood and asks only about meaning: "Does 'Submit for Finance Review' begin the approval, or only save the quote?" Coming A teaching summary that separates what she already has from the short list she needs from you.
Watch
Watch her do it
A browser opens in our cloud, signed in to your sandbox as Dana. Milita drives; you watch from the conversation and answer if she asks. A strip shows that she is working, as whom, where, which part of the process she is on, how far she has got, and a Stop button. She interrupts only when carrying on could cause a misunderstanding: two controls could both be the one you meant, a value looks like an important boundary, an action could leave Salesforce, or the person she works as cannot do what the step needs.
Handoffs
Each person's part, as that person
If a process crosses people, you tell her each person's part. When Dana submits a quote for approval, Milita signs in as Maria to approve that exact quote. The exact record crosses the handoff.
Prove
She proves it, on her own
She writes it up as a draft Promise and asks before proving it. Then a fresh cloud session performs the whole process by itself: every person's part, fresh test data, no help. Nothing from the Debug you watched counts toward the result. If every required result holds, the draft becomes a kept Promise.
Keep
She keeps it
On the schedule you choose, when you ask, when your pipeline asks through the release gate (Max 5x and above), and when another Promise finishes. Quiet while everything holds. Coming After a managed-package upgrade, in each Salesforce release preview, and after a sandbox refresh.
Repair
When a screen changes, she asks about that one control Coming
"I can no longer identify the Finance submission action. What is that control called now?" You answer in the same conversation; she updates a draft and re-proves it. Until it passes, the last proven version stays in place.
Recognizing controlsComing
She recognizes a button the way you do.
Milita doesn't store a click position or a fragile code reference. For each control she records several independent clues and checks them against the live page while she works.
Its role and name
Its visible label, and the field's underlying API name
A stable identifier, where the page has one
The section or dialog it sits in
The controls around it
Because she knows the field's API name, renaming "Discount %" to "Discount Percent" doesn't confuse her. When the clues disagree, she asks you once which control you meant and remembers your answer as an anchor. If that screen later changes too much, the anchor expires and she asks again rather than guessing. If she had to act on a control she wasn't sure of and a result then fails, the Proof is reported as inconclusive, not as a business failure.
What I'm taking · 4 captured
New Quote
Strong · role: button · label "New Quote" · API name Quote.New
Discount %
Strong · role: textbox · label "Discount %" · API name Quote.Discount__c
Status
Strong · role: text · label "Status" · API name Quote.Status
⋯ row action
Weak · role: button · no label · no API name · I will ask you to name it
Nothing here is a verdict. Only a clean Proof counts.
The builders
Two builders you already know how to use.
Workflow Builder
Where one workflow is built, with Milita docked beside it. It borrows the look and behavior of Salesforce Flow Builder because our buyers already know it, but deliberately not its names, so nobody wonders whether they are editing native Flows. Elements: Start, End, Screen, Navigation, Action, Assignment, Decision, Loop, Pause, Create, Get, Update, Delete Records, Assertion, Call Workflow. Every element shows the deterministic steps it runs underneath.
Promise Builder
The Promise drawn as the Certificate of Proof it becomes, on a dotted canvas: the promise in one sentence at the top, when it runs, where, and who hears about it as the certificate's facts, then its workflows in order, each run as its own person and handing on what the next one needs. Preview certificate shows what a proof will look like; Prove now runs one. Debug runs a workflow in the hosted browser you watch and is never Proof. Activate saves, verifies and puts a workflow version live; activating a workflow re-verifies every active Promise that uses it. Deactivate pauses. Delete removes the thing and never its evidence.
When Milita checks
Triggers.
When
Availability
When you ask
Available now
On a schedule you choose
Available now
When another Promise finishes, passed or finished
Available now
When your release pipeline asks, through a scoped API key
Every Promise at once, as one Regression with one verdict
Available now
After a managed-package upgrade
Coming
In each Salesforce release preview
Coming
After a sandbox refresh
Coming
Proof & Change
Proof when it works. Precision when it changes.
Milita's value isn't that she runs checks. It's that she can show you exactly what held, and, when something changes, exactly what's different, when it last worked, and what happened between the two proofs.
From draft to kept, and back again.
01
Draft Promise
You've confirmed what she understood. Not proven yet, not monitored.
Draft
02
Independent Proof
A fresh cloud session, on her own, as the required people, with fresh data.
Held
03
Kept Promise
Proven at least once, and checked again after meaningful changes.
04
Change
A required result differs from the last good Proof. Only a new passing Proof marks recovery.
Changed
Honest by construction
If Milita can't finish a Promise on her own, it isn't monitored. She tells you what's missing instead of raising false alarms later.
What a Proof contains
A Proof is evidence, written for the business.
Only her own clean Proof counts. A Proof comes only from Milita completing the process on her own, in a fresh cloud session.
What she did
The process she performed, in business terms.
As whom, where
The people she worked as, and the environment.
Records and values
The exact records she created and the values that mattered.
Required results
Each result the Promise depends on, and whether it held.
When
When she proved it.
Cleanup
Whether her test records were removed.
Outside the Promise
What this Proof doesn't cover.
Evidence
The video and step-by-step trace, served only through your own sign-in.
Proof · Tue 09:02Fresh cloud session · on her own
Discount approval
What she did
Created two quotes, sent one for Finance approval, and tried to send it before approval.
The same quote went through after Maria approved it
Cleanup: test quotes removed · Outside this Promise: discounts above 40%, the quote PDF
Held 4/4
Certificate of ProofComing
Every Proof, on the record.
When a Proof finishes, it becomes a Certificate of Proof: the Promise in one sentence, the verdict, every step as every person with its screenshot and its moment in the recording, and at its foot the run’s own record. You download it as a PDF. Play the recording, or pick a step to jump to it.
Release Assurance.
CERTIFICATE OF PROOFNo. RA-2026-0487Issued 20 Oct 2026 · 09:05:58 UTC
PROMISE
A 25% discount never reaches the customer without manager approval.
HELD 8/8.
The promise held. Every step worked, as every user.8 of 8 steps proved as 3 people. Nothing changed since the last proof.
PROVED AS
Dana, Maria and Priya 3 people, 3 roles
WHERE
UAT sandbox · Org 00D…XkPQ
RELEASE
26.10 · Deployment 486
PROVED ON
Tue 20 Oct 2026 · 09:02 UTC
TOOK
3 min 54 s
LAST PROOF
Held · Mon 19 Oct · 09:01 UTC
EVIDENCE · EVERY STEP, AS EVERY USER
Workflow 1Create the discounted quoteDas Dana, Sales Rep
01QUOTEQ-2187 · Draft
Opened a new quote on Acme CorpQuote Q-2187 created09:02:14 UTC
HELD
02STATUSReady to Send
A 20% discount reached Ready to Sendno approval needed below 25%09:02:48 UTC
HELD
03STATUSFinance Review
A 25% discount went to Finance Reviewthe threshold the promise names09:03:02 UTC
HELD
04SEND TO CUSTOMERBlocked · needs approval
Sending the 25% quote was refusedSend is disabled until approved09:03:40 UTC
HELD
Workflow 2Approve the discountMas Maria, Sales Manager
05APPROVAL REQUESTQ-2187 · 25% discount
The 25% quote is in Maria’s approvalsItems to approve · 109:04:31 UTC
HELD
06APPROVALApproved by Maria
Maria approved the discountwith the comment “Agreed with Dana”09:05:02 UTC
HELD
Workflow 3Check the approval as FinancePas Priya, Finance
07APPROVAL HISTORYMaria · 20 Oct 09:05
Finance sees who approved it, and whenread-only for Finance, as expected09:05:29 UTC
HELD
Workflow 4Send the approved quoteDas Dana, Sales Rep
08STATUSSent to customer
The approved quote went to the customerDana signed back in to send it09:05:55 UTC
HELD
Milita
I proved this as Dana, then Maria, then Priya, then Dana again, in the UAT sandbox. A 25% discount stopped at Finance Review, couldn’t be sent, and went to the customer only after Maria approved it. Every step has a screenshot.
What this certificate covers: the eight steps above, as the people named, in this sandbox, at the times shown. It does not cover other users, other orgs or later changes. The screenshots, the browser trace and the video are stored with the certificate and are kept with this run’s record.
Recorded by Release Assurance
Every value below comes from the run itself, as Release Assurance recorded it. Quote the run ID and we can find this run and its evidence.
A Promise passes only when the business results hold. A process that finishes clicking proves nothing. These are the kinds of results Milita checks.
Result
Example
Availability
Exists
One order was created
Preview
Value
The total equals $80,000
Preview
Relationship
The order references the exact quote
Preview
State
The quote is in Finance Review
Preview
Count
Exactly one renewal exists
Preview
Routing
The case belongs to Escalations
Preview
Refusal
Sending is blocked before approval
Preview
Visibility
A named person can't open the record
Preview
Notification
The expected message arrived
Later
Document
The PDF contains the required values
Later
Integration
The downstream system confirms the transaction
Later
Timing
The outcome completes within the agreed limit
Later
A fresh cloud session, used onceThe people the Promise namesFresh test dataNo help from anyoneThe exact record handed between peopleEvery required result checked
When the result changes
Know before your users do.
A Change tells you what is different from the last good Proof, when it last worked, when it first failed, and what was recorded in between. Nothing more.
MilitaTODAY 14:18Changed
Discount approval changed. A 25% quote now goes straight to Ready to Send instead of Finance Review. It last worked Tuesday at 09:02 and first failed today at 14:18. Deployment 487 is the only recorded event between those two proofs. I can't establish that it caused the change.
Result
Last good · Tue 09:02
Now · Today 14:18
20% quote
Ready to Send
Ready to Send
25% quote
Finance Review
Ready to Send
Send before approval
Refused
Accepted
Last worked · Tue 09:02→Deployment 487→First failed · today 14:18
Cause: not established
Why she doesn't guess
A Change reports what happened. It never invents why.
No guessed causes.
She reports what changed and what was recorded in between. She will not tell you a deployment caused it, because she cannot know that.
Infrastructure trouble is infrastructure trouble.
Never a business failure. A browser that crashed is not a broken approval rule.
Uncertain is inconclusive, not failed.
If she had to act on a control she wasn't sure of, she says so rather than raising a false alarm.
Only a new Proof establishes recovery.
Fixing the cause doesn't close a Change. Proving it again does.
Quiet when healthy. Precise when something changes.
Milita says nothing while every Promise holds. One message per fact, when a fact changes. A colleague who reported every healthy check would train you to ignore her.
Questions about teaching her
Asked often.
Why not just upload a video?
A video only has pixels. Milita reads the page's structure and checks each control against the live page, so she knows whether she can perform the process on her own.
Do I have to install anything?
No. Milita works in a browser in our cloud, which you watch from the conversation.
Can Milita see my computer?
No. Nothing of hers runs on your computer. She works in a browser in our cloud, signed in to your sandbox.
Can I use her in production?
No. Milita connects only to Salesforce sandboxes, never production, Developer Edition, scratch orgs or Playgrounds.
Does she need admin access?
No, and she won't use it. Milita connects only with a non-admin Salesforce user: an admin-level user is refused. She works with the same access as the person the process belongs to. That's the point: she proves what that person can actually do. When she reads the org's structure, she reads it as one of your personas' own users, never an admin, and the reads her org tools make are logged for you.
What if she can't find a control?
She asks you what it's called or where it is, in the conversation, and builds the step from your answer.
Does she replay what I told her?
No. She turns it into a Promise: the people, the steps and the results that must hold. Proofs run from the Promise, with fresh test data.
Get a Proof for the process you worry about most.
Free for one Promise, forever. Sandboxes only, with access you control.