Connect modules connect_elevenlabs

Voice AI

Connect ElevenLabs

Connect ElevenLabs integration module.

ElevenLabs Conversational-AI voice agents on the Connect platform, shipped as a Twilio add-on. An inbound call on a Twilio number or extension is handed to ElevenLabs’ SIP ingress, an agent answers with the caller’s Odoo context already loaded, and it uses tools that call straight back into Odoo — look the caller up, create them as a partner, check a calendar, book a meeting, transfer to a human.

Agents, prompts, templates, tools, transfer rules and voices are all managed inside Odoo and synced to your ElevenLabs workspace whenever you save. Authentication runs two ways: a shared agent token on the initiation webhook and every server tool, and an HMAC signature with a 30-minute replay window on the post-call webhook. When the call ends, the transcript and summary come back as a connect.call and a connect.recording, so a voice-AI call reads like every other call in the journal.

The module also lends its voice to the rest of the Twilio setup: call-flow prompts, invalid-input messages and per-user voicemail greetings are rendered as ElevenLabs audio and played with <Play>, falling back to Twilio <Say> on any error. Domain add-ons extend the same agent with Helpdesk, Knowledge and Sales tools.

What it offers

  • Agents built and synced from Odoo

    Create, edit and delete connect.elevenlabs_agent records in Odoo and the change is pushed to your ElevenLabs workspace on save — you never open the ElevenLabs dashboard. Each new agent also gets a virtual SIP phone number registered under it so ElevenLabs accepts inbound INVITEs, with an allowed-IP list that defaults to Twilio's SIP signalling ranges.

  • Prompt versions and reusable templates

    Every edit to the system prompt is snapshotted as a numbered connect.elevenlabs_agent_prompt version, so you can roll back to an earlier wording from a dropdown. Agent templates hold reusable prompts, and the first message is translatable — each translation is exported as an ElevenLabs language preset.

  • Choose the voice, LLM and TTS model

    Per agent: a voice from your synced ElevenLabs library, the reasoning model (OpenAI GPT, Google Gemini, Anthropic Claude or an ElevenLabs-hosted open model), and the TTS model with stability, speed and similarity-boost tuning. Turn timeouts, max call duration, concurrency and daily limits are pushed to ElevenLabs as platform settings.

  • Numbers, extensions and WhatsApp routing

    Point a Twilio number at an agent by picking it as the destination, give the agent an internal extension with one button, or route a WhatsApp sender's inbound calls to it. Inbound calls render TwiML that dials ElevenLabs' SIP ingress with the connect.call id attached as an X-Connect-Call-Ref header.

  • Caller context before the first word

    A conversation-initiation webhook feeds the agent the caller's partner record, the summary of their previous conversation, the user directory, the published extensions it may transfer to, and a language override. If the caller is unknown, the create_partner tool creates a res.partner mid-call and links it to the call.

  • Calendar booking during the call

    Five webhook tools give the agent the Odoo calendar app: current server date and time, free business-hours slots for a user on a given day, booking an event (deduplicated by user and start/stop), listing a partner's meetings, and cancelling one by id.

  • Transfer to a human or another agent

    The transfer_to_exten tool hands the live call to a company extension when the caller asks for a person — only extensions you mark as published are offered to the AI. With the transfer_to_agent system tool the agent can also hand over to another agent, each target carrying a plain-language condition for when to do it.

  • Transcript and summary land in Odoo

    An HMAC-verified post-call webhook writes a connect.call plus a connect.recording carrying the ElevenLabs transcript and summary, deduplicated by conversation id so re-delivery is safe. ElevenLabs Speech-to-Text (scribe_v1) is also selectable as the transcript provider for ordinary recordings.

Scope of the current version

  • A Twilio add-on by design: it defines no numbering plan of its own and retargets the connect.twilio.* models, so connect_twilio must be installed and working first. It co-installs happily with FreeSWITCH, Telnyx or Asterisk, but agents only answer calls that arrive through Twilio.
  • An ElevenLabs account with an API key that has Conversational-AI access.
  • The elevenlabs Python package in the Odoo environment — validated against SDK 2.58.0.
  • Odoo must be reachable on a public HTTPS URL. The conversation-initiation webhook, the post-call webhook and every server tool URL are built from the core API URL and pushed into your ElevenLabs workspace.
  • The Odoo calendar application, used by the built-in calendar tools.
  • A licensed Oduist module: without a valid connect_elevenlabs license, agents refuse to save and inbound calls play a trial-expired message instead of connecting.
  • No scheduled jobs. Everything happens on record save or on an inbound webhook; reconciling Odoo with the remote workspace is a manual SYNC from the settings form, which also rotates the agent token.
  • Only extensions flagged as published appear in the agent's transfer list — an unpublished extension is invisible to the AI.

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