Interactive demo · seed data only

Field hiring, run by agents and watched by people.

SaarthiOS Workforce finds the people who will actually turn up, talks to them on WhatsApp and on the phone in their own language, books them into the nearest site that is hiring, and hands a site supervisor ten names instead of a spreadsheet. Every number on every screen traces back to a receipt.

No sign-in. Nothing to install. Four roles to switch between, 18 screens, 6 replayable conversations and 4 replayable calls.

11,610
messages sent · 30 days
3,174
people replied
1,111
qualified by the assistant
120
started work

Those four figures come from one table, summed four ways — which is why every screen in the demo agrees with every other. The last one is attributed causally: a start is only claimed when our message demonstrably came before the join date. 1,744 other people joined in the same window and we claim none of them.

Four ways a candidate arrives. One machine behind all of them.

The opening move is completely different in each case, and treating them the same is how a warm referral gets the same cold template as a four-year-old roster row.

Outboundlive

A cohort we already hold — past applicants, lapsed staff, a roster for a site that is short. We speak first, on an approved template, and the template never quotes a salary unless that drive explicitly opted in.

7,460 sent · 52 joined
Referrallive

Someone already on the rolls names a friend. The warmest list in the building and the one most often left idle. The template names the person who referred them, which is the single biggest lift on the whole track.

1,142 sent · 23 joined · 3× outbound
Job portallive

An applicant lands on a board. We reach out inside the hour or the lead is cold — the same outreach at six hours converts at a quarter of the rate. Speed is the entire mechanism.

1,904 sent · 16 joined
Organicalways on

A candidate writes to us first, off a poster or a forwarded message. Nothing to launch and no cohort to choose; the assistant answers every one, including the ones that arrive at 20:48 and have to wait until nine.

1,152 wrote in · 29 joined · best rate of the four

One candidate, thirteen steps, four of them human.

Three of the thirteen are a guardrail refusing something. That ratio is the design, not an accident.

01 · the desk
A site is short

52 open roles at one site. Strategy puts it at the top of "start here", with the reachable pool beside it and an estimate of what a drive would produce.

02 · the engine
Cohort resolved

2,400 people within 60 km, lawful to message, not in cooldown, not suppressed, and not already claimed by another drive.

03 · the governor
558 refused

Ten gates, each refusal logged by name. Nearly a quarter of the cohort never reaches the channel — and the log of what was refused is how you tell a throttled drive from an idle one.

04 · the assistant
Recognise, then place

Language detected, intent classified, and the location resolved against our own site table with a real distance. The model is never asked to recall a site.

05 · the voice agent
A call, five minutes later

It says it is an AI and asks to record in its first sentence, then answers from the same site table and the same guardrails as the chat. One policy, two channels.

06 · the site supervisor
Ten names, one tap

Not a spreadsheet. Ten people with a call button and a box for what happened — and what happened is what every board upstream is built from.

Every reply says which engine produced it.

A reply nobody can explain is a reply nobody can fix — and on a channel where one complaint rate costs you the number, unexplainable replies are the whole risk. Five engines, colour-coded, on every turn.

Namaste Rahul ji 🙏 Northwind me Security Guard ki bharti chal rahi hai. Aapka naam hamari list me hai. Interested hain? Haan ya Nahi likh dijiye.09:12 ✓✓
template 0ms
Approved template. Salary deliberately not quoted — this drive did not opt in.
Haan bhaiya interested hu09:19
Badhiya! 👍 Ek choti si baat — main Northwind ka AI assistant hu, insaan nahi. Aage baat karne me koi dikkat nahi? Aapka area ka pincode bhej dijiye.09:19 ✓✓
our code 140ms
The AI disclosure is a fixed sentence, never model-composed. A disclosure that varies is one that can go missing.
22601809:23
Aapke pincode se sabse paas: *Northgate Hub*, lagbhag *4.2 km*. Yahan abhi 34 posts khali hain. Kal ya parso aake mil sakte hain?09:24 ✓✓
grounded lookup 820ms
nearest_site(226018) → Northgate Hub, 4.2 km, 34 open. From our own table.
Salary kitni milegi?09:28
Salary site ke band ke hisaab se tay hoti hai — main yahan number nahi bata sakta, warna galat ummeed ban jati hai. Site par team aapko poori detail degi. 🙏09:28 ✓✓
guardrail 310ms
The model drafted a figure. The guardrail stripped it and substituted the fixed deflect — a number here becomes a promise nobody made.
the five engines
template
An approved body. Fixed text; no model involved and none permitted.
our code
A sentence chosen from a table. Fast, repeatable, auditable — and where every disclosure and every opt-out lives.
grounded lookup
A query against our own data: sites, distances, open slots, the FAQ.
model
Classifies intent and chooses wording. The content is always ours; only the phrasing is composed.
guardrail
Something was refused or rewritten on the way out. Policy is enforced here, not hoped for in a prompt.
the three things it will never say

A salary figure. A promise of the job. That the process is free. All three are enforced on output rather than asked for in a prompt — nine replies in one sample told candidates a paid process was free, which is how that rule came to be code instead of a sentence.

Replay six conversations →

And it calls. In Hindi, Hinglish and English.

The voice agent is not a second brain. It calls the same grounded tools as the chat assistant, so the two cannot give one candidate two different answers.

00:00
AI agent
Namaste, main Northwind ki AI assistant bol rahi hu — insaan nahi. Call record ho rahi hai, aapko theek hai?
policyAI disclosure and recording consent in the first utterance — one sentence, both jobs
00:07
candidate
haan theek hai
asrconfidence 0.96
00:34
candidate
achha. aur salary—
barge inspoke over the agent; it yielded in 240ms
00:37
AI agent
Salary site ke band ke hisaab se hoti hai, main number nahi bata sakti. Site team poori detail degi.
guardrailthe same salary deflect as chat — one policy, two channels
620ms
to first word
77%
connect rate
+12.1pp
visits, vs chat alone
₹2.82
per completed call
the call that proves the fence works

One of the four seeded calls was never dialled. The handoff qualified at 20:51 and the window closes at 21:00; by the time the call would have connected it was 21:01, so the gate refused it and queued it for nine the next morning. Deferred, not dropped — dropping it loses exactly the candidate the whole track exists to catch.

Replay the calls, with the gate ladder →

The engine reads its own conversations back to you.

Not "sentiment". What people asked, whether the answer was right, and what to do about the ones that were not — with the worst topic named in the headline rather than buried.

The refusals are the product.

68,200 messages to 21,840 people, one block, quality GREEN throughout. Not because the copy was clever — because a great many messages were never sent.

ten gates, and the rate-limit token is spent last

A message refused by a later gate must not have consumed a slot. Getting that order wrong spends a day's quota on messages that were never going out.

1global send switchstops every track and the voice agent together—
2suppressionanyone who said stop, blocked us, or already joined412
4quiet hours, ISTdefers to 09:00 — never drops203
645-day cooldownanyone we spoke to recently1,247
9template healthfails CLOSED on approval—
10rate-limit tokenthe last thing checked, deliberately—
what never happens, whatever a drive thinks it is doing
  • No sending outside 09:00–21:00 IST, evaluated at dispatch rather than at queue time.
  • No second message to one person in a day, and none inside 45 days of the last conversation.
  • No message to anyone who said stop — across all four tracks, permanently, with no model in the path of that decision.
  • No message to someone who already joined.
  • No salary figure, no job promise, no "it's free".
amber is caution. crimson is alarm.

A paused drive and a dead fleet are not the same event and never share a colour. A console that cries crimson nightly gets ignored on the morning it matters.

See the governance screen →

Four roles. The navigation really changes.

A site supervisor gets three screens, because their whole job is ten people to call and every extra screen is a way to get that wrong.

AM
Recruitment manager
all 18 screens

Launches drives, reads the engine, holds the kill switch.

VS
WhatsApp operator
8 screens

Watches the number, tightens a ceiling, can stop everything. Cannot launch a drive.

RK
Site supervisor
3 screens

One site, one queue, one box to record what happened.

NP
Executive
6 screens, read-only

Reads the boards. Changes nothing, anywhere.

Open it and click everything.

Eighteen screens, four roles, six conversations and four calls — all of it seed data, none of it pretending otherwise.

Open the demo console →