Keep Tanda. Stop being the switchboard.
Chains already on Tanda do not want another roster. They want the 6am calls gone. Sofia is that layer.
How does Sofia talk to Tanda?
A roster adapter. Sofia’s voice loop never knows whether it is talking to Tanda or to Sofia’s own Firestore. In Tanda mode it reads users and schedules, vacates a shift, assigns cover, and publishes so staff see it on their phone. Connect Tanda from Sofia settings. Tokens stay on the server.
What the adapter writes
Tanda API v2. Scopes: roster, user, department, leave.
| Action | Tanda |
|---|---|
| Vacate a call-off | PUT schedule user_id null, then assign cover |
| Make it visible | POST /schedules/publish |
| Directed swap | Reassign + publish (swap plans when connected) |
| Sick leave | POST /leave — coverage still wins if leave fails |
Connect Tanda from Sofia settings. Tokens stay on the server. The adapter fails closed if Tanda is disconnected.
Two modes, one brain
Mode A: Tanda is the roster. Mode B: Sofia’s Firestore roster is the system of record. Coverage matching, SMS fallback, kill switch and the call log are identical.
Tanda failure does not silently write Firestore Native mode runs in the emulator without a Tanda token Deputy and 7shifts are not connected
One week, one row
On Schedule, a manager compares the open week with Tanda. Opening that report does not change Sofia or Tanda. One row is written in a named direction: Sofia’s version to Tanda, or Tanda reloaded into Sofia. The choice is stored on the server. The list on the page waits until the latest security rules are deployed. The compare waits until that function is deployed.
A disconnected Tanda changes nothing and says why An in-app claim, swap, or leave approval uses the same adapter A cost from Tanda is labelled from Tanda and is not stored as a wage Mapping still blocks publish Pay items, punches, and till sales are not pushed Award templates are not copied The phone line is not claimed live
Questions, answered
Do I have to leave Tanda?
No. That is the point of Mode A. Sofia is the AI layer on top.
Can I connect Tanda in the app today?
Yes. Open Sofia settings as an admin and start Tanda OAuth. Tokens stay on the server. The adapter fails closed if Tanda is disconnected.
Does Sofia calculate award rates?
No. Tanda already does awards. Sofia writes who works when. Award templates are not copied into Sofia.
Does opening the compare change the week?
No. Opening the report changes nothing. A manager then writes one row, either Sofia’s version to Tanda or Tanda reloaded into Sofia. Pay items, punches, and till sales are not pushed.
What if Tanda is disconnected?
Nothing is changed, and the screen says why. The same is true when the store is not mapped. Mapping still blocks publishing the week. The phone line is not claimed live.
Explore more of Sofia
- Sofia
Staff call or text one store number. Sofia covers late, sick, a call-off, or a named swap, and writes the accepted change.
- Rostering & Auto-Fill
See the week. Fill open shifts. Every pick is scored and reversible.
- Ask Sofia
Checkable answers for the store and week you have open. A product that is off is named as off.