Developer docs
English

Getting started

Talking with AI agents

Bots answer messages and take calls too — the same bot on desktop, phone and Apple Watch, agents anyone can build, where the data goes and what you can decide for yourself.

With voice bots, Pabal becomes a place to talk with AI agents. A bot answers your messages, and it takes calls too. You can ask the same bot something in writing on your computer, call it from your phone, and carry on from your Apple Watch while you exercise. This page brings that story together in one place — what works, where the data goes, and what whoever runs the server can decide. The details are in Using the app (for callers), Voice bots (for bot builders) and Server installation (for server operators).

Still in the works

The voice bots, Apple Watch app and conversation keeping described on this page are not yet available on pabal.me. They are being tested on a development server and turn on only after legal review and app releases. The current status is in the table at the bottom.

What changes

  • Bots take calls. When you call a bot, Pabal's AI voice model answers and replies out loud. The bot always says it is an AI and never pretends to be a person.
  • Messages and calls live in one chat. When a call ends, a call record is left in your chat with that bot. If you like, you can also keep the call's conversation as text (keeping the conversation).
  • Anyone can build one. Whoever made the bot turns voice on in @BotFather and describes what the bot does in its instructions. They can also let the bot call the owner's systems during a call (order lookups, booking checks and the like).
  • The caller checks first. Before the call, the "An AI answers this call" confirmation sheet tells you where the audio goes, and only people 19 or older can call.

One agent, every device

The person's devices Pabal (the operator's server) Outside Pabal Desktop app macOS · Windows Phone app Android · iPhone Apple Watch app Calls only · coming soon pabal-server One chat with the bot — the same on every device Call records · kept conversations (for those who chose) Sheet consent · admission · limits Operator switches (kill switch · allow · public) Accounts and messages are stored here pabal-voice Voice gateway Decodes audio for the model Does not store audio Bot owner's program Bot API · voice_call Tools · MCP servers Transcripts (when on) Google Vertex AI Gemini Live (default) us-central1 · USA Bot developer's server Stream mode (wss) Receives the audio as is ① ② Audio — apps: relay (coturn) Watch: edge (WSS) ③ link ④ ⑤ ⑥
One bot from any device — the records on the operator's server, the audio to a place you know

About this diagram

  • Three areas: on the left, the person's devices; in the middle, the server of whoever runs Pabal; on the right, outside Pabal. The red boxes are where call audio leaves Pabal.
  • ①②: the desktop and phone apps reach the server over their usual connection (MTProto), the watch app through an HTTPS entry point made for the watch. Whichever device you call from, the call record lands in the same chat with the same bot, and accounts and messages are stored on the operator's server.
  • The gray dashed lines are call audio: the apps go through the call relay (coturn) and the watch through the audio edge (WSS) to reach the voice gateway. Because the gateway decodes the audio to hand it to the model, bot calls are not end-to-end encrypted.
  • ③ link: the server hands the calls it admits to the gateway, together with the instructions, greeting, voice, language and tools the bot owner set. Pabal's own base rules (such as saying it is an AI) always come first.
  • ④: the bot owner's program receives call notifications (voice_call) and the model's tool queries, and answers them (gray arrow). The bot owner's MCP servers belong here too. The bot owner does not receive the call audio.
  • ⑤⑥: the audio of managed calls goes to Google (Gemini Live in Vertex AI, us-central1 in the USA) — or, if the bot owner uses their own model key, to that owner's provider account. For a stream-mode bot, the bot developer's server receives the audio as is instead of Google (red dashed line).

A day, for example

  1. Morning, in writing on the computer. In the desktop app you ask an order-helper bot in writing, "When will what I ordered yesterday arrive?" The bot owner's program answers in writing.
  2. Lunchtime, a call from the phone. You press the call button at the top of the same bot's chat. You read the confirmation sheet and press "I'm 19 or older · Call"; after the AI notice the bot greets you. During the call the model finds your order with the bot owner's tool and tells you about it.
  3. Evening, on the watch while running. Even if you leave your iPhone at home, you call the same bot from the Apple Watch app. Listening with AirPods works best.
  4. Keeping it as text afterwards. If you chose "Keep this call's conversation as text in my chat" on the confirmation sheet, when the call ends the conversation is left as quiet messages right below the call record in your chat (keeping the conversation). Only you see it; it does not go to the bot or the bot owner.
Limits to know about
  • While you are on a call on the watch, you can't see your workout app's screen. If you open the workout app during a call, the watch shows "End Call to Continue".
  • The watch app doesn't handle messages yet. It only calls voice bots. You can't sign up on the watch; you sign in with an existing account.
  • The model on the call doesn't automatically know what was written in the chat. To carry the morning's written exchange into the call, the bot owner has to pass it on with sendVoiceCallContext when the call starts. The other way round, kept conversations don't go to the bot either, so the bot doesn't know what was said on the call.
  • Bots that use tools, MCP servers, their own key, stream mode or the bot owner's transcripts can't be called from the watch yet.

Anyone can build one

An AI agent starts with a single bot account. After creating a bot with Build a bot:

  • Turn voice on: in @BotFather, /mybots → your bot → voice calls, agree to the rules and turn it on (Turning on voice calls).
  • What the bot does: set the instructions, greeting and voice. The bot can speak nine languages, including Korean and English (Settings, Voices and languages).
  • Connect your own systems: tools (Bot API) that let the model call your bot's code during a call, and MCP servers you already have.
  • Audio to your own server: stream mode, where your server receives the call audio directly instead of an AI model, and an own model key that bills your own account.
  • Records: transcripts, where the bot owner receives the conversation as text (callers hear a notice when the call connects). This is different from keeping the conversation, which the caller chooses.

Where the data goes

Bot calls are not end-to-end encrypted

Calls between people are encrypted so that only the two devices can decrypt them, but in a call with a bot, Pabal's voice gateway decodes the audio and hands it to an AI model (or, in stream mode, to the bot developer's server). Before the call, the confirmation sheet tells you this and where the audio goes.

WhatWhereHow long
Accounts, messages, call-record messagesThe operator's server (database)Until deleted
Audio of managed callsDecoded by the voice gateway and sent to Google (the Gemini Live API in Vertex AI, us-central1 in Iowa, USA)Pabal doesn't store it. Google doesn't keep it after producing its answer, but content flagged as possible abuse by automated checks may be logged for up to 90 days (the confirmation sheet says the same)
Audio of own-key callsThe provider account the bot owner setThat provider's rules
Audio of stream-mode callsThe bot developer's server (wss)The bot developer's responsibility
Values used by toolsThe bot owner's program · the bot owner's MCP serversThe bot owner's responsibility. Numbers that look like card numbers or resident registration numbers are not passed on
The bot owner's transcripts (when on)Handed to the bot owner oncePabal deletes anything not picked up after 24 hours
Kept conversations (only for those who chose it)Only that person's own chat — not to the bot or the bot ownerUntil deleted
Call metadata (who, when, how long)The operator's server180 days

What the bot owner receives is the caller's name, account ID and app language, the call's time and length, and the values used by tools. They don't receive the phone number, the username or the call audio. To match what the confirmation sheet says, the operator must turn off Vertex's data cache (Server installation — Vertex AI key).

What you can decide

A company or organization that runs Pabal itself can choose for itself where the conversations with its AI agents go.

  • Run the server yourself — accounts, messages and call records are on your server and in your database (Server installation).
  • The bot owner's model key — calls run on a provider account the bot owner has a contract with, instead of Pabal's default key (Own model key).
  • Stream mode — your server receives the call audio instead of Google, and answers in whatever way you choose (Stream mode).
  • Operator switches — a kill switch that stops every call, taking only the bots you allow, testers, limits, allowing bot owners' transcripts, opening to everyone (Administration and settings — the voice tab).

So what Pabal promises is "AI-agent conversations where you decide for yourself where the data goes". It does not mean "everything stays inside the server" — the audio of calls on the default engine goes to Google in the USA, and with stream mode, tools or MCP it goes to the bot owner's or bot developer's servers.

Current status (pabal.me)

Featurepabal.meNote
Voice-bot callsOffBeing tested on a development server. The privacy policy's bot-call section and app builds with the confirmation sheet come first (Voice bots — Current status)
Apple Watch appComing soonInternal testing (TestFlight) only. It only makes voice-bot calls
Keeping the conversationOffThe confirmation sheet's wording is awaiting legal review
Calls from botsOff — waiting for the legal reviewThe privacy policy's and terms' sections on them, and app builds with the permission sheet, come first (Voice bots — Calls from bots)
ToolsOffNeeds voice-bot calls to be on
MCP servers · own model key · stream modeOffWaiting for a version of the apps' confirmation sheet that shows those recipients

This table is as of 2026-10-02. Other servers may differ, depending on what their operator has turned on — getVoiceCallSettings tells you whether your bot can take calls.