Telnyx: SMS and voicemail
com.me.telnyx connects one phone number on your Telnyx account. With it, Me can:
- receive texts to that number into the inbox;
- send texts (after your approval);
- record voicemails left on the number;
- send you notifications and verification codes by SMS.
It is also how you can text the system itself: see The system’s number.
Before you start
Section titled “Before you start”You need:
- A public webhook address: Telnyx pushes every message, receipt and call to Me. The operator sets one up with the Cloudflare tunnel.
- In the Telnyx portal:
- Buy or port a number.
- Put it on a messaging profile.
- Create an API key (Auth → API Keys).
- Copy the account’s public key (Keys and Credentials → Public Key). Me checks every webhook’s Ed25519 signature with it, and refuses timestamps more than 5 minutes off.
Connect
Section titled “Connect”me integration add com.me.telnyx --name "My number" --from +16175550100# api_key and public_key are asked at the hidden prompt| Setting | Required | What it is |
|---|---|---|
--from |
yes | The number, in E.164 (+16175550100) |
--messaging-profile-id |
The messaging profile id | |
--voicemail-greeting |
What callers hear before the beep. The default is “Please leave a message after the tone.” | |
api_key (secret) |
yes | The Telnyx API key |
public_key (secret) |
yes | The account public key, base64 |
The check confirms that “Telnyx accepted the key and the number is on the account”. The answer also prints the
connection’s webhook URL: the full https://<your tunnel host>/webhooks/conn_… once the
tunnel is set up, or only the /webhooks/conn_… path,
with a note, until then. Then, back in the Telnyx portal:
- For texts: set the messaging profile’s inbound webhook to that URL.
- For voicemail: set the webhook of the number’s Call Control (voice) application to the same URL. The
instructions printed by
me integration adddon’t mention this step yet.
Texts to the number arrive as sms messages, one conversation per correspondent. Delivery receipts update each sent
message’s delivery.
me comms conversation listme comms reply --message msg_… --body "On my way" # waits for your approval: it contacts someone outsideme comms channel list # the number's channel (chan_…), for --from-channel- Sending is limited to US numbers (Canada and the Caribbean
+1area codes are excluded). International SMS isn’t HIPAA-eligible on Telnyx, so the connection must allow it explicitly, andme integration addhas no setting for that yet. - MMS (pictures) is not supported yet.
Voicemail
Section titled “Voicemail”An incoming call to the number is answered and hears the greeting. After the beep, it is recorded as MP3 for up to 3
minutes. The recording becomes a voicemail and publishes call.voicemail.received.
me call voicemail listme get vm_…The caller is named when their number matches a known person’s identity that is verified, or that you (the owner)
added yourself. An identity an agent added doesn’t name anyone until you confirm it. A silent “is this them?”
suggestion for a near match is made only after a voicemail is transcribed, so it doesn’t happen on main yet (see
below).
Transcription: the comms hub transcribes each voicemail through
transcribe.audio. No plugin in the local install provides it yet, so onmainvoicemails are recorded but not transcribed. This has been reported.
The system’s number
Section titled “The system’s number”Every Telnyx number you connect is also the system’s own line: members can text it from their phone and get an answer from what the system knows about them. It answers questions; it never acts on a text. Anything with an effect still needs you to run or approve it.
The system answers a text only when all of these hold:
- Your person record is linked to your login:
me person create --display-name "<you>" --principal <your pr_…> - Your phone number is on it:
me person identity add --person per_… --kind phone --value +1… - The number is verified. Run
me person identity verify --identity <id>, and a code comes by SMS (valid for 10 minutes, at most 3 an hour). Then run it again with--code <6 digits>. - You turned the line on yourself:
me session line enable.me session line disableturns it off.
Texts from anyone else are ignored, because SMS senders can be spoofed. Answers go to your verified addresses, never back to whoever sent the text.
Not yet: live voice calls with the system (a real-time AI session by phone). Without a signed BAA with Telnyx, no content above
Internalgoes over SMS: sensitive notifications arrive as an opaque notice pointing you to the inbox.
Errors
Section titled “Errors”| You see | What to do |
|---|---|
| “Telnyx refused the API key.” | Create a new key in the portal, then add the connection again |
| “+1… is not a number on this Telnyx account.” | Check the number, or buy or port it first |
| “This Telnyx number only sends to US numbers.” | International SMS is off by default (see above) |
| “Telnyx rate-limited the send.” | Try again later |