Twilio gives you global phone coverage for inbound and outbound calling. Point Twilio at MyDaddy.io as your outbound carrier, route your Twilio numbers to MyDaddy.io for inbound, and add Twilio Messaging API credentials for SMS — all configured per workspace.
Three independent pieces — outbound calling, inbound calling, and SMS — share one Twilio account but are wired up separately so you can mix-and-match (e.g., Twilio for SMS, Bandwidth for voice).
Route outbound calls through Twilio. Get your Termination URI from the Twilio console, add it as a Provider in MyDaddy.io, and set destination prefixes (e.g., 1 for North America, +44 for UK).
Buy or port a number on Twilio, point it at MyDaddy.io in the Twilio console, and assign the number to a workspace ring group, an extension, or directly to the AI phone agent.
Send and receive SMS using your Twilio number. The portal exposes inbox / outbox under the SMS tab; status callbacks update delivery state in real-time. Same per-workspace credentials as voice.
Follow these steps from your workspace admin portal. You'll need a Twilio account with billing enabled and at least one purchased number.
In the Twilio console: Voice → Manage → Elastic SIP Trunking → Trunks → Create new SIP Trunk. Note the Termination URI Twilio assigns you (e.g., your-trunk.pstn.twilio.com).
Under Authentication, pick either IP-based (allow your MyDaddy.io server's public IP) or Credentials (username + password). IP-based is simpler if your server has a fixed IP.
In the admin portal: Settings → Providers → Add Provider. Set Host to your Termination URI, Transport to UDP or TLS, and paste credentials if you picked the credentials option on Twilio.
Leave audio preferences on the default (Twilio works best with them). Add destination prefixes you want this provider to handle.
For each number you want to route to MyDaddy.io: in the Twilio console under your trunk's Origination tab, add an Origination URI of the form sip:<your-mydaddy-host>:5060. Calls to your Twilio numbers will now land on MyDaddy.io.
Assign the number to a workspace inbound profile under Settings → Inbound Routing.
Under Settings → Integrations → SMS Provider, choose Twilio and paste your Account SID, Auth Token, and the From number in E.164 format. Set the inbound webhook URL on your Twilio number to https://<your-domain>/api/v1/sms/twilio-inbound.
From the browser phone, dial out to a known number. Inbound: call your Twilio number and confirm it rings the assigned extension or ring group. SMS: send a test from the SMS tab and check the Twilio Messaging logs for delivery.
All values are stored under your workspace's namespace. The portal writes these for you when you save the integration form — no need to touch them directly.
| Key | Purpose | Example |
|---|---|---|
providers.<id>.host | Twilio Termination URI | your-trunk.pstn.twilio.com |
providers.<id>.transport | Connection transport | UDP or TLS |
providers.<id>.username | Credentials username (leave blank for IP-based auth) | your-cred-user |
providers.<id>.password | Credentials password | ••••• |
providers.<id>.codecs | Audio preference order | PCMU,PCMA |
organizations.<org>.twilio-sid | Twilio Account SID for SMS | AC... |
organizations.<org>.twilio-token | Twilio Auth Token for SMS | ••••• |
organizations.<org>.twilio-from-number | Default From number | +15551234567 |
Keys are stored under your workspace's internal namespace. Everything is wiped automatically when the workspace is removed.
Create a workspace, add Twilio as a provider, and try a call. The setup is documented above — happy to help if you get stuck.