Developer docs
English

Getting started

Using the app

From signing up to chats, groups, photos, bots and links — a guide for first-time users of the Pabal app.

The apps available today

Pabal apps are currently available for macOS and Windows desktops and for Android. They are based on the official Telegram apps and adapted to the Pabal server, so if you've used Telegram, the screens will feel familiar. You get the apps from whoever runs your server. The first version of the iPhone app has been submitted for App Store review, the Android app is on Google Play (and can also be downloaded as an APK from pabal.me), and the Linux and Apple Watch apps are on their way.

Signing up and signing in

  1. Enter your phone number. Choose your country, type in your number and click Next.
  2. Get your code. Depending on how the server is run, it arrives by text message (SMS), by email after the app asks for your email address, or directly from the operator.
  3. Enter the code. If the account already exists, you're signed in right away; if the number is new, the app asks for your name. Once you enter it, you're signed up.
What the app saysWhat it means and what to do
Invalid phone numberCheck the number again. You also see this while the server isn't accepting new sign-ups.
Phone number bannedThe operator has blocked this number. The number of an account deleted while suspended is also refused like this for a while after the deletion (a year by default; the operator can make it longer). Contact the operator.
Too many attemptsYou asked for a code for the same number too often. Wait as long as the app tells you, then try again (by default: 60 seconds apart, 10 times a day).
Invalid codeEnter it again. After several wrong tries (5 by default) the code is locked and you start again from entering your number.
Code expiredA code is valid for only 5 minutes by default. Enter your number again to get a new code.
Never share your code with anyone

Anyone who knows the code can sign in to your account. Operators and bots will never ask you for your code.

Setting up your profile

  • Name and bio: change them under Settings → My Account.
  • Username: lets other people find you without your phone number. Once you set one, people can also open a chat with you through the link pabal.me/username.
  • Profile photo: upload a photo in Settings and it shows in chat lists and on your profile. Earlier photos stay in your photo list, where you can pick them again or delete them.

Chatting

  • Finding people: type the other person's username into the search box at the top left. You can also find people by numbers saved in your contacts.
  • Messages: a message you send arrives on all of the other person's devices at once. You can edit (right-click → Edit) or delete messages you've sent, and the change shows on the other person's screen too.
  • Photos and files: drag and drop them, or send them with the paperclip button. Photos go as photos, everything else goes as a file. A file keeps its name and its type, and the operator sets the size limit (2 GB by default). If you send a video or a recording as a file, the other person can download it and open it, but video and voice messages that play right inside the app aren't supported yet.
  • Multiple devices: you can sign in to the same account on several computers. Messages sent from one device appear on the others, and a device that was off catches up on missed conversations when you switch it on.
  • Exporting your data: in the desktop app, Settings → Advanced → Export Pabal data saves your chats, photos, files and account information on your computer. You can start it up to three times a day, and if the server restarts during an export, it starts over.
  • Calls: start a one-to-one call with the phone button at the top of a chat. Group calls aren't available yet.

Notifications

How you hear about new messages while the app is closed depends on the app.

AppWhile the app is closedNotes
AndroidYou get notificationsNew messages show up as notifications, and calls ring. The contents are encrypted with a different key for each phone and come through Google
iPhoneFrom the next versionThe first version (1.0), submitted for App Store review, has no push notifications, so you receive messages only while the app is open. Version 1.1, with push, is in internal testing
macOS · WindowsWhile it's runningWhile the app is running, it shows new messages as your computer's notifications. Close it and open it again, and it catches up on the conversations you missed

To get notifications on Android

  1. Install or update to the latest version of the app (the APK from your provider's website, pabal.me). Apps downloaded before notifications were added don't get them.
  2. After installing or updating, open the app once. That's when the app registers this phone with the server as a device to notify. Updating keeps you signed in.
  3. If Android asks whether to allow notifications, tap Allow. You can also turn them on later under the phone's Settings → Apps → Pabal → Notifications.
  • You still get notifications after swiping the app away from the recent apps list. But don't tap Force stop in Settings — Android won't deliver notifications until you open the app yourself again.
  • If notifications are late or don't arrive, set Pabal to Unrestricted (no battery optimization) in the phone's battery settings.
  • If you mute a chat, it won't show notifications.
  • Depending on the operator's settings, notifications may show only the sender, without the message text.
  • If the app was closed and takes a long time to wake up, the call may end before you can answer. In that case, call back from the chat.
  • Notifications only arrive if they're turned on on the server. If you run a server, see Server installation — Android push notifications.

Groups

  1. Menu at the top left → New Group.
  2. Pick the members (search by username), give the group a name, and you're done.
  3. Later, in the group info, you can add or remove members and rename the group. Joining through an invite link (pabal.me/+…) isn't ready yet, so please add members directly from the group info.

You can add bots to a group as members too. A bot in a group can receive the group's messages and reply.

Using bots

A bot is an account controlled by a program. Search for the bot's username (it ends in bot), open it and press Start. When you press a button the bot sent, the bot replies or changes its message.

If you want to make your own bot, search for @BotFather and send /newbot. The details are in Build a bot.

Calling a voice bot

Some bots take phone calls: when you call, an AI voice model answers on the bot's behalf. These are voice bots. They work only on servers where the operator has turned voice bots on, and until they are opened to the public, only testers chosen by the operator can call.

  1. Call button: press the call button at the top of the voice bot's chat or on its profile. The button appears only for bots that can take calls, and only in app versions that support voice-bot calls. There are no video calls.
  2. Confirmation sheet: the "An AI answers this call" sheet appears first. It tells you that the bot is not a person and the voice you hear is AI-generated, that unlike calls between people this call is not end-to-end encrypted, where the audio goes, and what the bot owner receives. If you are 19 or older, press "I'm 19 or older · Call". If you don't want to, cancel — you can still message the bot as before. Desktop and Android ask the first time you call that bot; iPhone asks every time.
  3. Once connected, you first hear the notice "You're now talking to an AI voice bot." Then the bot greets you. If you ask the bot, it always says it is an AI. If you chose to keep the conversation, the call screen shows "Conversation kept as text" (there is no spoken notice for it).
  4. Hanging up: hang up with the red button as with any call. The call also ends if the bot hangs up or when the maximum length the bot set (usually a few minutes) is reached. Afterwards a call record is left in your chat with the bot.
  • Where the audio goes: app → Pabal's voice server → Google (the Gemini Live API in Vertex AI, Iowa, USA). Pabal does not store call audio and keeps only the call record (who, when, how long) for 180 days (the call-record message in the chat stays until you delete it). Google keeps neither audio nor text 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).
  • What the bot owner receives: your name, account ID and app language (not your phone number or username), the call's time and length, and values used by the bot's functions (such as an order lookup). The owner does not receive the call audio. If the bot receives the conversation as text, when the call connects, you first hear the notice "What is said on this call is written down and sent to the bot's owner." For bots whose developer's server receives the audio directly (stream mode), the confirmation sheet says something different, and the call audio goes to that server.
  • Don't give card numbers, resident registration numbers (national ID numbers), passwords or verification codes on the call. Voice bots are set up not to ask for them, and Pabal does not pass numbers that look like card numbers or resident registration numbers on to the bot's functions and masks them in transcripts, but it cannot catch them all (numbers said in pieces or read out as words, and passwords and verification codes, are not masked).
  • Under the name, the call screen shows "@{username} · AI · Bot" and "AI-generated voice · Call audio is processed by Google". Until an app version with the confirmation sheet is released, bots show no call button.
  • If the connection has a problem, you hear "Sorry, we've lost the connection. Ending the call now." and the call ends. If the bot is busy, has used up today's call time or can't take the call for a similar reason, the call ends with a busy signal. Each person's calls to bots also have a daily time limit and an hourly limit on the number of calls, and accounts that signed up only recently may not be able to call.

Keeping the conversation (coming soon — not available on pabal.me yet): if you want to read the call's conversation again later as text, turn on the confirmation sheet's checkbox "Keep this call's conversation as text in my chat" (off at first).

  • Desktop and Android remember this choice for each bot. To change it, press ⋮ at the top right of that bot's chat → Keep conversation (a ✓ after the name means it is on). iPhone and Apple Watch ask each time you call.
  • When the call ends, it is left as quiet messages (no notification) right below the call record in your chat with that bot. Under a bold heading "Call conversation", "Me:" and the bot's name show who said what; long conversations are split over several messages.
  • Only you see this text. It does not go to the bot or the bot owner, and the bot owner cannot tell whether you made this choice. You can delete it like any other message.
  • Numbers that look like card numbers or resident registration numbers are masked with * (not all of them can be caught).
  • If it couldn't be kept, a single line "This call's conversation could not be kept." is left below the call record.
  • This is separate from the transcripts the bot owner receives — those go to the bot owner, and a notice is played when the call connects.

If you want to make a voice bot, see the Voice bots page; for what you can do with voice bots, see AI agents.

Calling a voice bot from the Apple Watch (coming soon)

With the Apple Watch app you can call a voice bot without an iPhone. You can leave your phone at home when you go out to exercise. It is in internal testing right now, so you can't get it yet.

  • Signing in: you can't sign up on the watch. Sign in with the phone number of an existing account and a code.
  • Calling: pick a bot from the bot list, and the full confirmation sheet appears for every call. Read it and press "I'm 19 or older · Call". The switch for keeping the conversation is here too.
  • Listening: Bluetooth earphones such as AirPods are recommended.
  • During a call you can't see your workout app's screen — the watch shows "End Call to Continue".
  • Bots you can't call from the watch: bots that use tools, MCP servers, an own model key, stream mode or the bot owner's transcripts can't be called yet (WATCH_NOT_YET). Call such bots from your phone or computer.
  • When the call ends, the call record is left in that bot's chat in the phone and computer apps. The watch app has no messages yet.

Letting a bot call you (soon)

A bot you allowed can call you first — to confirm a booking, wake you up, or say a delivery is on its way. An AI voice makes these calls. The app versions with the permission sheet have not shipped yet, and pabal.me is waiting for the legal review, so this cannot be used yet.

  1. Allowing: in the menu of the bot's chat or profile, tap Allow calls…, or tap the permission link that bot sent in its chat. The permission sheet says an AI makes the calls, the purposes, the bot's owner, where the audio goes and the quiet hours. If you are 19 or older, tap I am 19 or older · Allow.
  2. When it calls: the ring shows "(AI)" after the bot's name and "AI voice bot · Pabal never asks for codes". When you answer, Pabal's notice plays first, then the bot says its name, that it is an AI, and why it is calling.
  3. Turning it off: Stop calls from this bot in the menu, blocking the bot or reporting it always turns it off at once. Saying clearly during a call something like "never call me again" turns it off on the spot too (a plain "stop" is up to the AI).
  • Quiet hours: no calls at night, 21:00–08:00. You can widen them on the permission sheet but not shorten them. For a bot with the wake-up purpose you can pick a time inside the quiet hours when only wake-up calls come (15 minutes to 2 hours). Do Not Disturb and Sleep may keep them from ringing.
  • Paused: if you don't answer, decline, or hang up right away, the bot cannot call you again for 24 hours. I can take calls now in the menu ends the pause early.
  • The bots you allowed: see them, turn them off or allow them again under Bots allowed to call me in the privacy settings.
  • Missed calls: if a device really rang and you did not answer, you have not blocked the bot, and its chat has no unread message, the chat keeps "Missed AI bot call" (marked read, no notification). With an unread message, or when it never rang because of quiet hours or a pause, nothing is kept.
  • What the bot's owner gets: "What the bot's owner gets: your Pabal id, whether your permission is on (its call requests show it), whether you answered, when the call started and how long it lasted, and who hung up. The bot's owner may use this only to make calls for the purposes above, and must delete it once your permission is off. A missed call and a declined one look the same. What was said in the call is not sent."
  • Calls from bots are not end-to-end encrypted — the audio goes through Pabal's server and the AI provider. When you answer, the audio goes to Google (Iowa, USA) during the call to be processed; Pabal does not record it.
  • Keeping the conversation: with the box on the permission sheet checked, the conversation of that bot's calls is kept as text in your own chat only (it does not go to the bot's owner).
  • Answer on Watch: turned on in the Pabal Watch app, your Apple Watch rings too.
  • Shared devices: any device you are signed in on can answer, and the bot says the purpose and what it was told to whoever answers. On a computer others use, sign out.
  • The lock screen: on Android 14 and later, unless you allow full-screen notifications, the call comes as a notification instead of a call screen over the lock screen. iPhones and Apple Watches ring like a phone call.
  • Answering that you are under 19 means no voice calls with any bot for a year, and every permission you gave bots is removed. Saying no costs you nothing in Pabal.

The explanation for bot owners is in Voice bots — Calls from bots.

When you open a pabal.me/username link in a browser, an "Open in the app" page appears. Click the button and the Pabal app opens the chat with that person or bot. If you don't have the app, follow the instructions on the page to get it first. (Group invite links, pabal.me/+…, open the app too, but joining a group through a link isn't ready yet.)

Keeping your account safe

  • Don't tell anyone your code.
  • The devices you are signed in on are under Devices in the app's settings (on desktop, Privacy and Security → Active sessions). End any device you don't recognize there — it is signed out at once. A device signed in less than 24 hours ago cannot end other devices (so one that got in with a stolen code cannot lock out the owner). The apps (Android and desktop) show no notice when that happens, so ending a device may look as if nothing happened. In that case, or if you've lost your computer, ask the operator to sign out all devices. The operator can sign out every device at once from the admin page.
  • Changing your phone number (tap the number in the phone app's settings) works only on servers where the operator has turned it on — it is off by default and the app shows an error. Where it is on, a code goes to the new number by SMS, and after the move you can no longer sign in to this account with the old number. You cannot move to a number another account uses, or to a blocked number.
  • Two-step verification (cloud password) isn't supported yet.

What doesn't work yet

Channels and supergroups, joining groups through invite links, video and voice messages that play right inside the app, albums that group several photos together (send several at once and they arrive one by one), group calls, secret chats, formatting such as bold and italic, the iPhone app (in review — the first version has no push notifications), messages in the Apple Watch app (the watch app is coming soon and only makes voice-bot calls). Even if you see a button for these in the app, the server doesn't accept them yet, so you may get an error. The full list is in About Pabal.