SMS
Three-panel SMS client backed by Telnyx — manage contacts, threads, and outbound campaigns.
In progress
The SMS app is currently hidden in production. It's visible in dev, and the Telnyx setup paths below are correct. See Canvases and widgets → Hidden apps in production.
SMS is a three-panel SMS client backed by Telnyx. It uses your live People table for contacts.
Layout
CanvasSmsCard renders three cards:
- Left — contact list
- Search across name, email, phone
- Filter pills by status / tag
- Each row shows name, phone, last-contacted-at
- Center — conversation thread
- SMS bubbles, inbound and outbound
- Call logs as inline events
- Date separators
- Compose bar at the bottom
- Right — contact details
- Identity info from the People table
- Quick actions (call, email, edit)
- Activity stats — message count, last contacted, conversation count
- Notes field
ContactDropdown in the breadcrumb is a quick jump to any contact.
Where contacts come from
SMS reads directly from the People table — no parallel contact list.
Anything you add to People (manually, via campaign, or via the
upsert_person() helper) shows up immediately in SMS.
Setting up Telnyx
⌘K → Settings → Phone Numbers:
- Browse available numbers
- See per-number capabilities (SMS, voice, MMS) and monthly cost
- Buy a number with search and filter
Then Settings → SMS:
- 10DLC registration wizard for compliant outbound SMS in the US
- Brand info and campaign settings
- Compliance keywords (STOP, HELP, etc.)
- Auto-reply messages
- Quiet hours to enforce send windows
- Link-tracking toggle
- Contact-tags CRUD with a color picker
Webhooks
Inbound SMS and delivery receipts go through the telnyx-webhooks Edge
Function. The telnyx-sms-admin function handles outbound sends and
admin operations.
Where to go next
- Telnyx SMS integration
- Campaigns
- Data tables — the People table