Kelam answers your number, calls your list, books, follows up, and texts back — in a voice most callers can't tell from a person's. It speaks three languages and switches mid-sentence when you do, and hands the call to a human the moment it should. There's a number below. That's the whole introduction.
curl -fsSL https://kelam.sh | sh
kelam command via Homebrew / uv / pipx (re-running is a no-op; upgrade with kelam update). Also: brew install samsadsam/kelam/kelam. Prefer to read first? view install.sh.This is Kelam's own front desk. Call it — then ask it to book you a table at Luigi's, and listen in live while its assistant makes that call to another Kelam agent. Or talk to it here in your browser, no number needed. It answers in English and slips into Spanish or French the moment you do.
Stay on long enough and you'll notice it isn't only answering — it can make. Say the right thing on the call and it spins up an agent that's yours: its own line, its own voice, its own memory of every conversation it has. No form, no dashboard, nothing to install. You describe what you need, out loud, and hang up with something that already works.
We won't print the word here. The people who need it already know it — or they will, somewhere in the call.
Anything that's "a phone line plus judgment" — answering or dialing out, voice and text on one number, in English, Spanish, and French.
Answer the main line, explain what the business does, take messages, text back the details — the demo line above is exactly this, in production.
Call people ahead of appointments, reschedule on the spot, and follow up by text from the same number.
Work down a list, ask the qualifying questions, and keep budget, timeline, and contact as structured fields you can pull later.
Post-service check-ins and questionnaires; every call comes back as a transcript plus the numbers, ready to read.
Answers when nobody else can, brings in a human the moment it matters, and texts over a summary.
Watch any call as it happens, run whole batches without them stepping on each other, and see the cost of every conversation.
A lot — and none of it sounds like software.
Answers and places real calls on a real number — every one recorded, with a live transcript.
Talk to it over the web, with no phone number at all.
Speaks English, Spanish, and French, and switches the instant you do.
It can ring up another agent on its own, or quietly hand a live call to a colleague.
Sit in on any call while it's happening — invisible to both sides.
Ambient room noise it changes mid-call, touch-tone for menus, and it sizes up who answered before it says a word.
Sends texts and picture messages from its own number; every thread is kept and replyable.
Takes the things you care about out of a conversation — a price, a date, a yes or no — as it hears them.
Every call becomes a transcript, a one-line summary, and a fistful of numbers, ready to read.
On the right call, it can stand up a brand-new agent — its own line, its own voice — for whoever's asking.
After installing, connect to your server and go.
kelam login https://your-kelam-host # saves URL + password (once per machine) kelam create my-bot # scaffold an agent (+ provision a number) kelam deploy my-bot # assemble + cache the runtime, ready for calls kelam call my-bot +12065550123 --wait # real outbound call, transcript streamed live kelam call my-bot +12065550123 -e "price:number:quoted price in USD" # typed extraction kelam call my-bot +33612345678 --lang fr # start in another of the agent's languages kelam web my-bot # …or talk in the browser, no phone number kelam monitor # live calls, each with a listen-in link kelam extract my-bot -e "price:number:quoted price in USD" --since 7d # backfill existing calls kelam export --since 7d # call logs + derived metrics (jsonl/json/csv)
| kelam create | Create an agent and pull it into a local folder (provisions a number unless --no-number). |
| kelam push / deploy | Push a new version, then assemble + cache the runtime. |
| kelam call | Call a number — or another agent (kelam call bot other-bot, no phone needed). -p steers this one call, -e/--extract captures typed fields, -t overrides the transfer, and --wait streams the transcript. |
| kelam show | Open the agent's page — talk over WebRTC (no phone number), audition voices, edit it with an AI chat. |
| kelam monitor | Listen in on any live call from a link — audio plus streaming transcript, invisible to both sides. |
| kelam queue | See (or cancel) calls parked behind the server's concurrency cap — batches drain themselves safely. |
| kelam text / texts / peers | Send SMS/MMS from the agent's number; browse threads and recently active numbers. |
| kelam calls / transcript | List recent calls; fetch one call — or a number's full voice+text history. |
| kelam extract | Run the same structured extraction over existing calls and persist values back onto each CallLog. |
| kelam export / stats | Export call logs with metrics; aggregate counts, durations, turns, and per-provider cost. |
| kelam skill | The operating guide for AI coding agents — print it, or --install it into a project (see below). |
Kelam is AI-agent-first: every command speaks JSON, live calls stream as JSONL watch files an agent can tail, and the CLI ships its own operating guide. One command teaches whatever coding agent you use to drive it:
kelam skill --install # run in your project; re-run after `kelam update`
That writes the guide everywhere your tools look for instructions — your own content in shared files is never touched:
| AGENTS.md | The cross-tool standard — read by Codex, Cursor, OpenCode, and GitHub Copilot. Kelam owns one marker-fenced block, nothing else. |
| .claude/skills/kelam/ | A Claude Code project skill that auto-triggers on kelam work. |
| .cursor/rules/kelam.mdc | A Cursor project rule, agent-requested via its description. |
| .github/copilot-instructions.md | VS Code Copilot chat instructions (marker-fenced block). |
On Claude Code you can go one step further — the Nousdata marketplace ships a kelam plugin that installs and drives the CLI for you:
/plugin marketplace add samsadsam/nousdata /plugin install kelam@nousdata
Then just tell Claude: please setup kelam.sh for me. The plugin bundles three skills:
Drives agents end to end — place and follow calls, batch-dial, extract results, text back (built on the same kelam skill guide). view SKILL.md →
Installs and configures the CLI end-to-end (also /kelam:setup). view SKILL.md →
Turns kelam export / stats output into self-contained HTML dashboards. view SKILL.md →