Oduist Connect ElevenLabs — Administrator Guide
connect_elevenlabs adds ElevenLabs Conversational-AI
voice agents to the Oduist Connect telephony platform for Odoo. It ships as a
Twilio add-on (ADR-046): inbound calls that arrive on a Twilio number or
extension are handed off to ElevenLabs' native SIP ingress, where a
conversational agent answers, uses tools that call back into Odoo (partner
lookup, calendar, extension transfer, …), and posts a transcript and summary
back to Odoo when the call ends.
Because it builds on top of Twilio, the module does not define its own
numbering plan. Instead it retargets the Twilio PBX-configuration models
(connect.twilio.number, connect.twilio.exten, connect.twilio.callflow,
connect.twilio.outgoing_callerid) to add an elevenlabs_agent routing
destination, and it owns a set of ElevenLabs-specific models under the
connect.elevenlabs_* namespace (agents, prompts, templates, tools, transfers,
voices, TTS files).
What this module provides
| Area | Capability |
|---|---|
| AI agents | ElevenLabs conversational agents created, updated and deleted from Odoo (connect.elevenlabs_agent), fully synced to the ElevenLabs workspace on save |
| Prompts | System prompt with automatic version history, reusable agent templates, per-agent first message with per-language translations |
| Voices & models | Voices synced from the ElevenLabs voice library, choice of LLM (OpenAI / Gemini / Claude / open models), TTS model, and TTS tuning (stability, speed, similarity boost) |
| Tools | System tools (end call, language detection, voicemail detection, transfer, keypad tones), webhook tools that call Odoo (create partner, transfer to extension, calendar), and client tools |
| Routing | A phone number or extension routed directly to an agent; inbound WhatsApp calls routed to an agent; call transfer from the agent back to a published extension |
| Post-call | HMAC-verified post-call webhook that logs the conversation as a connect.call plus a connect.recording carrying the transcript and summary |
| Transcription | Optional ElevenLabs Speech-to-Text (scribe_v1) as a transcript provider for recordings, with an OpenAI summary |
| TTS prompts | ElevenLabs text-to-speech audio for Twilio call-flow prompts, invalid-input and voicemail messages, and per-user voicemail greetings |
Dependencies and prerequisites
The manifest declares depends = ['connect', 'connect_twilio', 'calendar'] and
the external Python dependency elevenlabs.
- A running Odoo instance with the core
connectmodule andconnect_twilioinstalled and configured (a working Twilio account, at least one Twilio number, SIP/voice routing). ElevenLabs rides on top of Twilio, so Twilio must work first — see the Twilio administrator guide. - The Odoo
calendarapplication (used by the built-in calendar agent tools). - The
elevenlabsPython package in the Odoo environment (validated against SDK2.58.0). - An ElevenLabs account with an API key that has Conversational-AI access.
- A publicly reachable HTTPS URL for Odoo. ElevenLabs delivers per-call and post-call data over webhooks; the module also pushes webhook URLs built from the core API URL into your ElevenLabs workspace settings.
Licensed module
ElevenLabs is a licensed Oduist module. Creating or updating an agent, and
rendering the routing TwiML at call time, all check the connect_elevenlabs
license. An invalid or expired license blocks agent creation and plays a
"trial period is over" message instead of connecting the call. See
Maintenance ▸ Licensing.
Guide contents
- Installation — Python dependency, module install, hooks, co-installation with Twilio.
- Account Configuration — ElevenLabs API key, enabling the integration, voices, sync actions, and the webhook token.
- Agents, Tools & Voices — building agents, prompts, templates, tools, transfers, and TTS files.
- Webhooks & Security — webhook routes, the agent token, HMAC post-call verification, and access groups.
- Maintenance — licensing, transcription, routing internals, and troubleshooting.
Menu location
Everything lives under the Connect ▸ ElevenLabs submenu of the Connect
app: Agents, Agent Templates (admin), Voices, Tools, and a
Configuration ▸ Settings entry (admin). Administrative screens require
the Connect Administrator group (connect.group_admin).