Connect modules connect_twilio

Provider integration

Connect Twilio

Twilio integration for Oduist Connect.

Full cloud telephony, browser calling, and messaging controlled from Odoo: the Voice JS web phone, TwiML call flows and IVR, SMS and WhatsApp, and call recordings — with no PBX to run and numbers provisioned in minutes.

The module owns its own PBX configuration under the connect.twilio.* namespace — numbers, extensions, call flows, caller IDs, TwiML apps, and SIP domains — while calls, messages and recordings land in the shared Connect ledger. It never imports another provider’s code, so it can run alongside FreeSWITCH, Telnyx, Asterisk and the rest in one database.

It is also the reference telephony transport for ElevenLabs voice AI agents (connect_elevenlabs builds on this module).

What it offers

  • Inbound routing you configure in Odoo

    Every Twilio number routes to a user, a call flow, or a TwiML app. Change the destination and save — Connect pushes the matching webhook URLs to Twilio for you, and Sync imports the numbers already on the account.

  • Browser softphone, no desk phone required

    A web phone built on the Twilio Voice JavaScript SDK: incoming and outgoing calls, hold, mute, DTMF, and recording control at runtime, enabled per user.

  • SIP domains and per-user credentials

    Create a SIP domain and Connect provisions it on Twilio along with a credential list and credentials for every PBX user, so hardware and software SIP phones register without manual setup.

  • IVR menus and custom call logic

    Call flows with <Gather> DTMF and speech menus, plus TwiML applications you write as raw TwiML, Python, or an Odoo model method when a menu isn't enough.

  • SMS and WhatsApp from the same composer

    Send and receive SMS and WhatsApp through the shared connect.message ledger, with WhatsApp senders and pre-approved content templates synced from your Twilio account.

  • Click-to-call, transfer, recording, voicemail

    Outbound calls placed through the Twilio API from any Odoo record, with transfer, call recording, and voicemail landing in the same shared call journal.

  • Per-call cost and account balance

    Optionally fetch the price of each call from the Twilio API and show the account balance in Odoo, so telephony spend is visible next to the calls that caused it.

Scope of the current version

  • Odoo must be reachable on a public HTTPS URL — Twilio delivers every event by webhook and requires HTTPS for signature validation.
  • The twilio Python package must be available in the Odoo environment.
  • Extensions should be four digits or fewer: click-to-call treats anything longer as an external number.

Installs with full features free for 30 days; buy the license inside the module.