She answers at 06:12
One local number per store. Sofia identifies the caller, confirms the shift, ranks cover, and writes the roster. The language model talks. The policy engine writes.
06:12:04Marco Late. Can't make it.
06:12:08Sofia Kitchen, Saturday open. I'll find cover.
06:14:18Sofia Priya, you're qualified and free. Can you take 07:00?
06:14:22Priya I can't do it.
06:19:01Sofia Dev, can you cover the open?
06:19:04Dev Yeah, I can take it.
06:19:09Sofia You're on the roster. I'll write Tanda.
06:12:04
OPEN — KITCHEN, SAT 07:00 06:12:31
3 CANDIDATES RANKED - Priya S · qualified, available
- Dev A · qualified, rest clear
- Jules K · overtime
06:14:20
CALLED PRIYA S — DECLINED 06:19:07
CALLED DEV A — ACCEPTED 06:19:09
ROSTER WRITTEN — TANDA
Seven minutes. Nobody called the manager.
The three calls in v1
Everything else is logged. These three auto-execute when store policy allows.
- 1
Running late
Caller ID, today’s shift, ETA. The opener is texted. No vacate unless the store asks for cover after a threshold.
- 2
Cannot make it
Vacate, rank the venue, offer in parallel, first qualified yes wins. Sick can create leave in Tanda.
- 3
Julie take Thursday
Resolve the name, dry-run the rules, ask Julie. If she is not a fit, Sofia says why and offers the next two.
Talks. Rules write.
Sofia does not free-write the roster. A Cloud Function runs a state machine (greeting → intent → confirm → matching → offering → done). Writes go through Firestore or Tanda adapters. Kill switch pauses the whole agent.
Identical policy in Tanda mode and native mode Every call stores a transcript and a frozen copy of the rules Undo exists; worker-initiated cover does not premium-punish the caller The public number is boarding — get in line at contact
What this is not
This is not a guest-ordering bot, and it is not Cover dispatching contractors. Extra hands you do not employ remain a waitlist. In-app Ask Sofia is still the read-only twin of this agent.
No live contractor pool No Modern Award engine No claim that a number is ringing until it is
Questions, answered
Can I call Sofia today?
The conversation engine exists. A public store number is boarding — join the list from the contact page. Until then, staff still call the manager, and you can run the native roster in the app.
Does the manager have to approve every swap?
Not for the three in-policy intents. Sofia is the delegated shift leader. Out of policy (unknown caller, no candidates, kill switch) she escalates and texts the manager.
Will this write to Tanda?
Yes, when the store is in Tanda mode and a token is connected. The agent never holds the token — an adapter does. Connect-Tanda in the app is the next UI pass. The adapter is already built.
Is the call recorded?
Yes, for the store’s audit, once the line is live. The greeting will say so. Consent is stored on the call record.
Explore more of Sofia
- Rostering & Auto-Fill
See the week. Fill open shifts. Every pick is scored and reversible.
- Ask Sofia
Ask this week in plain language — open shifts, Cover waitlist, labor, overtime. Grounded in your data, read-only.
- Tanda
Keep Tanda as the roster. Sofia is the shift leader on top — reads it, writes the swap.
Still short after Auto-Fill? Cover is a waitlist, not a live pool.
See CoverGet a store number, or let us show you around.
$200 a store. The line is boarding. Or open a workspace and run the roster today.