Reading as an AI? Append .md to this URL for markdown — /llms.txt
Back to Docs

Agentic Calls

Real phone calls — answered by your AI agent in natural speech, transferred to a human when needed, logged in your inbox.

US or MX numbers

United States numbers activate instantly. Mexico numbers go through a brief legal documentation review.

Real-time speech

Natural speech-to-speech, sub-second latency. The agent reacts as fast as a person would.

Hand-off ready

Configure a list of human agents the AI may transfer to mid-call.

Plan quotas

1h inbound + 30min outbound per billing period. Exhausted plans degrade gracefully.

How it works

  1. A caller dials your number.
  2. Kronos checks that the inbox is configured and that you have inbound minutes left.
  3. The agent answers with a mandatory disclosure ("This is an AI voice assistant... say 'human' or 'agent' to be transferred to a person if available."), then handles the conversation in the caller's language.
  4. Transcript turns appear in the inbox in real time. After the call, a short 4-6 sentence summary lands above the transcript and you can edit it inline.

Activation checklist

  1. Open Connect, click Phone, choose Connect a new phone number. The activation catalog opens.
  2. Pick a country and optionally a region. Up to 30 available numbers appear. Click any to start activation.
  3. United States: confirm activation in the popup — the number is live within seconds. Mexico: follow the Mexican activation guide. You upload either your INE/passport or your Constancia de Situación Fiscal, plus a comprobante de domicilio. Approval typically takes 3–6 business days, in rare cases up to 3 weeks.
  4. Edit your AI agent → enable the Voice channel toggle → pick a voice, orb color, and language. Optionally enable Assign to human agents with the targets and notification channels.

Legal disclosure

Every call starts with a mandatory disclosure played before the conversation begins. The caller hears that they are talking to an AI voice assistant and how to ask for a human or agent if available. The disclosure cannot be skipped — if the caller hangs up during it, no minutes are billed.

The text is country-determined: Mexico inboxes hear the Spanish version (LFPDPPP-aligned), US inboxes hear the English version (FTC AI guidance + state two-party-consent compatible).

You can override the disclosure per inbox at Settings → Inboxes → voice inbox → Call disclosure. Custom text is capped at 500 characters. Use {{name}} in the override and Kronos replaces it with the inbox's account name at call time.

Test the voice agent from your browser

The agent editor has a Chat / Call toggle in the Test sidebar (desktop only). Switch to Call → click Start test call → talk to the agent. Nothing is persisted: no conversation row, no transcripts in the inbox, no minutes consumed.

Limits:

  • Desktop only. Mobile browsers (especially iOS) have audio quirks; the mobile UI shows a "requires desktop" banner.
  • Rate-limited — 5 test calls per agent per hour, 20 per user per hour.
  • 5-minute cap per call. A countdown is visible in the call UI; both your browser and the server enforce the cap.

Quotas & billing period

Each subscription includes 1h inbound + 30min outbound per billing period. The period follows your subscription cycle, not the calendar month — quota resets on your renewal day, not the 1st.

When inbound is exhausted, new calls are hung up with a country-aware message; outbound exhaustion blocks transfers to a human. If your subscription is cancelled and access has expired, voice goes silent until you reactivate.

Hand-off to a human

In the agent editor, under Voice channel → Assign to human agents, write the trigger condition (e.g. "when the customer asks for pricing above $50k, or asks to talk to a manager") and pick targets from your Human Agents / Organizations directory.

When the condition matches, the caller hears a country-aware announcement ("Transferring you to <name>. Please hold." in English / "Te transfiero con <name>. Por favor espera." in Spanish), is connected to the target's phone, and Kronos fires the in-app notification (plus Telegram and email if you enabled them) so the recipient knows the transfer is incoming.

Email delivery is best-effort: failures surface in Settings → Notifications → Recent delivery failures with a Retry button. The in-app and Telegram channels fire regardless.

Targets without a phone number are dimmed in the picker, and the transfer is not available at all if no target can answer.

Quotas

Each subscription includes 1 hour of inbound and 30 minutes of outbound per billing period. When exhausted:

  • Inbound: the caller hears a polite message and the call ends. Calls already in progress finish.
  • Outbound: the agent can't transfer to a human; it apologizes and continues handling the call itself.

The Home dashboard shows a notice when you're close to zero or fully exhausted.

Data handling

Calls are transcribed, not audio-recorded. Only transcripts and metadata persist. The in-call disclosure is on by default and is not removable — every call begins with the agent identifying itself as an AI and offering the "say human or agent" exit. This complies with US and EU AI-disclosure expectations.

See Privacy for the data processors involved and the retention policy.

Outbound calls

You can place an outbound call from the voice inbox in two ways. Both work the same once the recipient picks up — your AI agent answers the call and speaks for you. You initiate, the recipient and the agent have the conversation.

  • From the inbox UI: open your voice inbox and click Llamar. A keypad pops up; enter the destination number in international format and tap Marcar. The recipient hears the agent.
  • Programmatically via the API: POST to /v1/calls/initiate with the destination number and the agent that should voice the call. See Kronos API for the request shape, error codes, and the matching MCP tool (initiate_call) at Kronos MCP.

Outbound minutes consume the 30-min outbound budget per billing period (same budget that hand-off transfers use). When it's exhausted, new outbound calls are refused upfront with a friendly error message — no surprise charges. Inbound minutes are tracked separately and are not affected.

Voicemail and rejected calls

If the recipient declines the call or it goes to voicemail, Kronos detects it during the first few seconds of pickup and refuses to bridge — your agent never "negotiates" with a recording. The inbox shows a red banner on the conversation explaining what happened (Llamada no contestada — entró al buzón de voz, El número estaba ocupado, etc.). No minutes are billed beyond the connection attempt itself.

This detection adds 3–7 seconds of dead air between the recipient picking up and the agent saying its first word. That's the trade-off for not getting fooled by voicemail.

Watching a live call from the inbox

When a call is in progress and you have the conversation open, a small En llamada badge appears in the corner. Click it to open the side panel with the live timer, the speaker button (click it to listen in — browsers require a click before audio can play), and a hangup button. The live transcript shows up in the chat with a typewriter effect as the agent and the caller speak.

Writing the prompt for a voice agent

A few quirks of the voice format that your agent's prompt should address explicitly:

  • Finish the closing phrase before hanging up. The model is allowed to end the call when the conversation is genuinely over. If the prompt doesn't tell it to speak the goodbye fully first, it sometimes invokes the hang-up tool mid-word and the caller hears the goodbye get clipped. Add a short rule like: "When you decide to end the call, finish speaking your full goodbye phrase first, then hang up — never mid-sentence."
  • Don't end the call after your own greeting. The agent should wait silently for the caller after each of its replies. Silence from the caller is not a goodbye.
  • Speak when spoken to. The agent should reply to anything the caller says, even single words. Prompts that emphasise "wait silently" too strongly can cause the model to misread it as a general gag order.
  • Don't repeat the greeting. If the caller doesn't respond right after your opener, the agent should wait quietly — not re-greet. A symptom of this failing is the caller hearing "Hello, this is X…" three times in a row. Add: "After your greeting, wait silently for the caller. Do not repeat your opener if they take a few seconds to respond."

These defaults are already set by Kronos's hidden in-call rules — your prompt only needs to reinforce them in the voice or persona you want.

Troubleshooting

  • Caller hears "This number is not currently configured": the inbox lost its agent assignment. Re-assign in Settings → Inboxes.
  • Caller hears "not configured for voice": the agent's voice toggle is OFF.
  • Transfer announcement plays but the caller stays with the AI: the target had no phone or the call could not be redirected. Check the human agent's phone is in E.164 format.
  • Voice number rejected during activation: the regulatory bundle was denied. The reason appears on the activation page; the most common cause is an address mismatch between the comprobante and the ID document.
Operator responsibility

You are the controller of your end-customers' data and are responsible for complying with the laws of your jurisdiction, including any in-call disclosures your operation requires beyond the default Kronos disclosure. Kronos provides the platform; you decide how to use it.

Cross-channel context

If you enable the cross-channel inbox context tool, your voice agent can read other conversations the same caller has had. This is powerful but it means the agent may surface or paraphrase information from a different channel that the caller did not realize was linked. Kronos disclaims liability for misuse when this option is enabled.

For AI agents and LLMs: every docs page has a clean markdown twin — append .md to its URL. Curated index: /llms.txt. Open semantic search, no auth: POST https://api.kronos.com.mx/v1/docs/search.
Agentic Calls — Kronos AI Docs | Kronos AI