White-label voice AI · self-hosted

Add phone-to-AI to your app and team — today.

Rex turns phone → voicemail → AI processing into infrastructure you own: your Twilio number, your Anthropic key, your domain, your brand. Inbound calls become structured, triaged data. Triaged data becomes signed webhooks your product can act on.

No vendor lock-in — deploys to your own Netlify + Twilio + Anthropic accounts.

Twilio-powered voice Anthropic-powered triage HMAC-signed webhooks Self-hosted on your infra Deploy in minutes

Phone-to-AI, AI-to-phone, voicemail-to-AI — pick your integration.

Every mode runs on the same self-hosted core: your phone lines, your triage rules, your delivery targets.

Phone → AI

Inbound calls become structured data

Every call hits your Twilio number, gets recorded and transcribed, and comes out the other side as JSON: intent, urgency, spam flag, extracted tasks, callback number.

  • Multi-line routing by profile
  • VIP allow-list & blocklist, evaluated before AI ever runs
  • Structured tasks pushed to Todoist or your queue
AI → phone

Trigger live calls from your product

Click-to-call dials out through your Twilio number with PIN-gated caller-ID control, optional recording, and AI notes on the bridged conversation.

  • Live-forward with silent AI notes, not just voicemail
  • Verified outgoing caller IDs per team member
  • Same triage pipeline for live-call summaries
Voicemail → AI

Missed calls never sit unread

Voicemail-to-AI-processing runs the moment a recording lands: transcription, spam filtering, task extraction, and delivery — all before your team even opens their phone.

  • Fallback delivery even if AI triage fails
  • Slack, email, SMS, webhook, and Todoist out of the box
  • Every recording stays saved — AI never gatekeeps the original

Signed webhooks, not a black box.

Every delivery carries an HMAC-SHA256 signature you can verify server-side before trusting the payload.

X-Rex-Signature

t=<unix_ts>,v1=<hmac_sha256> — verify against your configured signing secret before processing.

ai.triage

Structured urgency, spam classification, callback flag, and extracted tasks with names and numbers.

recording.url

Signed, expiring playback link — no shared credentials, no public bucket.

inbox_url

Deep link back into the (white-labeled) inbox UI, for handoff from your product to Rex's review screen.

verify.ts
import { createHmac } from "node:crypto";

function verify(body, header, secret) {
  const [t, v1] = header.split(",").map(s => s.split("=")[1]);
  const expected = createHmac("sha256", secret)
    .update(`${t}.${body}`)
    .digest("hex");
  return v1 === expected;
}

White-label by deployment, not by license fee.

Every Rex instance is a separate deployment — your domain, your admin UI, your data. There's no "Rex" watermark for your customers to see.

01

Your domain

Point your own domain at the deploy and every signed link, inbox URL, and admin page carries it — configured once in Settings.

02

Your Twilio, your Anthropic key

No shared usage pool, no per-minute markup from us — you own the underlying accounts and their billing directly.

03

Branded per line

Owner name, greeting script, and triage instructions are configurable per phone line — one deployment can front several named teams.

04

Own the data

Transcripts, recordings, and triage output live in a database you provision. Export or delete on your own terms.

One script, one Twilio number, one deployed instance.

Clone & run the setup scriptProvisions the Netlify site, database, and a first-run setup secret — retrieved from your own terminal, never over HTTP.
Point a Twilio number at itVoice and MMS webhooks are signature-verified from the first request.
Add your Anthropic keyTriage, transcription, and summaries start flowing on the next call.
Wire a delivery channelSlack, email, SMS, Todoist, or your own signed webhook — pick as many as you need.
$ git clone your-fork/rex && cd rex
# provisions Netlify + database, prints your setup secret
$ npm run setup:secret
Setup secret (use as 'invite_secret' at /admin.html):
  7f2c9e1a4b6d8f0c2e4a6b8d0f2e4a6c

# open /admin.html, claim the instance, add a phone line
$ open https://your-brand.app/admin.html

Bring phone-to-AI to your team this week.

Tell us what you're building — white-label reseller, internal tool, or a one-off deployment for your own team. We'll help you get the first call triaged.

We'll reply with setup help — no sales call required to try it yourself.