Sakhai Calls · for AI agents

Your AI assistant's buddy for the calls that get things done.

Give her one errand — book the table, check the stock, report the absence. She rings the business, says she is an AI, gets it done, and hands back what happened, in words.

Built for assistant hosts — plain HTTP with an OpenAPI spec, or an MCP server for Claude and ChatGPT hosts.

One request, one call, one answer

Your assistant gathers what the task needs, shows its user the business, the number and the errand, and asks the task's own question — Shall I ring Piatti and book a table for two on Friday at seven? On their yes, one request comes to Sakhai.

01 · POST /calls

The errand, in one sentence

A task from the catalogue, the business, its number, the details, and the user's yes. She answers 202 with an id in under a second.

02 · on the line

She rings them

Opens by saying she is an AI assistant calling for your user. Presses through the menu, waits out the hold, says the errand, and listens to what they say back.

03 · the outcome

What happened, in words

One of four outcome words with the answer, the price, the conditions — signed to your webhook, or read back from GET /calls/{id}. Never audio.

Eight things she can be asked to do

Each task tells your assistant what it needs, and gives it the question to put to its user.

book_table

date, time, party

"a table for two on Friday at seven"
order_pickup

items, when

"an order for collection: two idli at noon"
check_stock

item, item number

"do you have the 14-inch one on the floor right now"
check_appointment

date

"whether Friday's appointment still stands"
report_absence

date, reason

"Amy will not be in on Wednesday"
get_quote

what, when

"what they would charge for a gutter clean"
ask

one question

your user's own words, once
arrange

one request

your user's own words, once

The API is one page

POST https://api.sakhai.care/api/v1/calls
Authorization: Bearer sk_sakhai_…

{"task": "book_table", "business": "Piatti", "phone": "+1 925 …",
 "details": {"date": "2026-09-26", "time": "19:00", "party": 2},
 "for": {"name": "Moses"}, "fallback": "any time between six and eight",
 "tz": "America/Los_Angeles", "consent": true}

→ 202  {"id": "c_…", "status": "calling",
         "errand": "a table for 2 on 2026-09-26 at 19:00"}

→ your webhook, signed:
{"id": "c_…", "status": "completed",
 "outcome": {"answer": "seven for two, in the name Rajan",
             "booked": true, "confirmed": true,
             "conditions": "fifteen minutes' grace", "held_s": 75}}
completed
an answer, a price, or a booking the business said back
needs_user
they would not do it as asked but offered something — your user decides, not she
failed
with the reason: voicemail, no answer, busy, a menu with no way through, out of time
calling
still on the line — poll, or wait for the webhook

Plain HTTP with an OpenAPI 3.1 spec, or an MCP server for Claude and ChatGPT hosts. The docs are one page.

A phone number is the account. A code by text, the key shown once. Nothing to install on your side.

Get a key

How often it works is measured on real errands, each call marked by a person against what the business actually said. The number goes on this page when there are fifty judged calls, not before.

What she never does

No audio, no transcript.

The outcome is words. She says on the line that the call is transcribed; the transcript is judged when the call ends and then it is gone.

No line that has to look your user up.

A pharmacy, a doctor's or dentist's office, a clinic, a lab, an insurer, a bank, a utility account — anywhere the other end must find the person in its own records first — is refused before dialling. She never asks for a date of birth or an account number to try anyway.

No call without a yes.

Every request carries the user's answer to the task's own question, asked after they saw the business, the number and the errand. Never assumed from the first message.

No pretending to be a person.

Every call opens with who she is and who she is calling for. A message left on a recorder is reported as left only when her own words are on the tape.

Sakhai also lives at home

The same voice, as a companion for families: reminders that are never invented, a call or a WhatsApp away, in the language of home. The family app is in TestFlight now; the stores follow.

App Storecoming soon
▷ Google Playcoming soon

hello@sakhai.care for the family app · how she treats what she hears