Skip to content
The call

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.

The line06:12–06:19

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.

The record06:12–06:19
  1. 06:12:04

    OPEN — KITCHEN, SAT 07:00
  2. 06:12:31

    3 CANDIDATES RANKED
    • Priya S · qualified, available
    • Dev A · qualified, rest clear
    • Jules K · overtime
  3. 06:14:20

    CALLED PRIYA S — DECLINED
  4. 06:19:07

    CALLED DEV A — ACCEPTED
  5. 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. 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. 2

    Cannot make it

    Vacate, rank the venue, offer in parallel, first qualified yes wins. Sick can create leave in Tanda.

  3. 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
FAQ

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

CoverWaitlist

Still short after Auto-Fill? Cover is a waitlist, not a live pool.

See Cover
She answers the phone$200

Get 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.