When a bot has a phone number, its calls and texts show up in one thread per contact. A caller who texts and then calls lands in the same thread.

Texts

A thread on a phone number looks like a text conversation: your contact’s messages on the left, the bot’s on the right, with a delivery state under each message you send.
  • The composer shows a segment counter. A text is 160 characters in plain GSM characters (153 per segment when it splits), or 70 (67) if it contains emoji or other non-GSM characters.
  • Pending carrier registration. New US numbers need carrier registration before texts go out. Until it’s approved, a quiet banner says “Texts out are pending carrier registration — replies send once it’s approved.” You can still send; if the carrier refuses, the reason shows on that message. Calls work during this time.
  • STOP. If a contact texts STOP, texts to them are blocked and the thread says so until they text START.

Start a text or a call

You don’t have to wait for someone to text first. In the bot’s chat, under its conversations, choose New text or Have <bot> call… (shown when the bot has a number).
  1. Type the number. It formats as you go: ten digits are a US number, and + starts an international one.
  2. For a text, write the message. For a call, say what it’s about — that is the bot’s brief for the call.
  3. Choose Send text or Call. A text appears in its thread at once and shows Failed to send with the reason if it doesn’t go. A call opens the call screen showing Dialing…; if nothing connects in a minute it says “The call did not connect”.
From an existing text thread, Call above the thread has the bot call that contact, and the message box sends a text from the bot’s number. First contact needs permission. The bot can only reach someone who has texted or called the number, or whom you’ve added as a contact. Otherwise you’ll see “They haven’t texted or called this number yet. Add them as a contact to allow the bot to reach them.” Choose Add contact and Allternit adds them and tries again. Nothing is added unless you choose it. Developers: the app calls POST /api/v1/phone/text, POST /api/v1/phone/call and POST /api/v1/phone/contacts on the runtime, and lists numbers with the cloud’s GET /api/v1/phone/numbers. A call the bot can’t place without consent returns 403 {"error":"no_consent"}. Client: src/lib/gateway/phone-outbound.ts; UI: src/components/gateway/phone/NewPhoneConversation.tsx in allternit-ai.

Calls

A call appears in the thread as a call card: who called, a live timer or the outcome (Ended · 2:14), and the last line of the transcript. A live call has Open call. A live call also opens the call screen by itself. It shows the number, a call timer, the live transcript, and these controls: Buttons show what the call is actually doing (confirmed by the voice service), not what you tapped a moment ago, so a button may take a second to change. When a call ends the screen becomes a summary with the reason, duration, and whether it was recorded. Every call begins with a fixed line that says the caller is speaking with an AI and whether the call is recorded.

After a call

  • Outcome: the call card says No answer when the person you called never picked up, and Missed call when someone hung up before the bot spoke.
  • Summary: a short summary of the call and any follow-ups appear on the call card once the call ends.
  • Transcript: the live transcript is replaced by a cleaned-up version made from the recording, marked “cleaned up after the call”.
  • Recording: if recording is on in the bot’s call settings, an ended call has a play control. Recordings are deleted after 90 days, and a voicemail is the same recording. Recording is off unless you turn it on, and the call’s opening line always says whether it’s recorded.

Texting and calling out

Your bot can start a text or a call from its own number, and so can you.
  • Ask the bot. Say “text Sam that I’m running late” or “call the dentist to confirm Friday”. Any bot with a phone number has two tools, phone_text and phone_call.
  • Do it yourself. The runtime has routes for starting a text or call and adding contacts (see Phone numbers and SMS (runtime)); the Text and Call buttons on Desktop, ai.allternit.com and the m.allternit.com phone app are coming in a UI update. A text you start appears in the thread as a message from the bot; a call appears as a call card.

Who the bot may contact

The bot only texts people who texted this number first (or texted START after a STOP). That is the one sign-up path the number’s carrier registration declares, so adding someone as a contact, or them having called, does not allow a text. The bot only calls people who texted or called the number first, or that you added as a contact; adding a contact records your consent for calls on that number. Anyone else is refused, and the bot says why (“+1 415 555 0123 hasn’t texted this number, so I can’t text them”). STOP always wins. If a person texts STOP, the bot can’t text or call them again, even if they are a contact, until they text START.

Texting pending carrier approval

US texting needs carrier registration (10DLC). The phone wizard asks who is texting: a business (legal name, EIN, address, contact) or just you (a person or sole proprietor without an EIN: your name, address and mobile number; the carrier texts a code to that mobile and you enter it in the wizard). The registration tells the carriers one way people sign up: they text your number first, after seeing it on a public opt-in page. Give the wizard your own page (it must show the number and say that texting it means agreeing to replies, with STOP and HELP), or leave it blank and Allternit hosts one for the number at https://api.allternit.com/sms/<number id>. Review usually takes a few days to two weeks and is up to the carriers. If the registration is held on Allternit’s side, the wizard says it is waiting and it continues by itself; if the carrier rejects it, the wizard shows why so you can fix the details and resubmit. Until your number is approved, texts out are held back and the composer says so. Calls don’t need it. Outbound calling is switched on per deployment; where it isn’t on yet, the bot says outbound calling isn’t available.

On a phone

On ai.allternit.com on a phone and in the m.allternit.com app:
  • The call screen takes the whole screen, with large round buttons and a bigger keypad. Close it with ✕ at the top; the call carries on and the card stays in the thread.
  • Call cards and text bubbles fit a 390 px screen: long numbers wrap and Open call is a full-width button under the card.
  • Text composers are sized so the phone does not zoom when you tap them.
  • New text, Have <bot> call… and the thread’s Call button are full-height touch targets, and their fields are sized so the phone does not zoom.

Connect an Android phone

A separate feature lets your bot operate a spare Android phone (see its screen, tap, type, send a text or place a call from the phone’s SIM). That needs Allternit Desktop. On a phone, Settings → Computers → Phones shows “Connect a phone from Allternit Desktop.” Once connected, the bot can use the phone from any of your devices. Full guide: A phone for your bot (Android).