Connect modules connect_bird

Provider integration

Connect Bird

Bird.com (MessageBird) integration for Oduist Connect.

Bird.com (formerly MessageBird) as a messaging-first backend for Connect: SMS and WhatsApp with approved templates, a call ledger fed by Bird voice events, click-to-call and call recordings. Odoo talks to the Bird developer platform REST API with an access key whose workspace and region are encoded in the key itself, and Bird pushes events back through a single signed webhook endpoint.

Because Bird ships no browser SDK, calling works by callback rather than by web phone: Bird rings the agent’s own number first, then connects the destination. Inbound routing — IVRs, queues — stays on the Bird side, and Odoo records the resulting calls in the shared ledger alongside every other provider.

Recordings are downloaded into Odoo as attachments rather than linked, so the core transcription and summarisation pipeline treats Bird calls like any other. The module is honest about the platform’s current state: until Bird exposes messaging and voice webhook subscriptions, delivery status is polled and inbound messages do not arrive.

What it offers

  • SMS from the shared composer

    Outgoing SMS goes through the standard Connect composer on any record, with the sender taken from the user's Bird Message Number and a configurable content category (transactional by default) sent with each message.

  • WhatsApp with approved templates

    SYNC BIRD ACCOUNT imports your approved templates into connect.bird.message_template with their language, category, variables and body preview, so the WhatsApp composer can start a conversation when the 24-hour customer-service window is closed.

  • Callback click-to-call

    Click-to-call is a two-leg callback: Bird dials the agent's own Bird Agent Phone first and bridges the destination once they pick up, with the caller ID taken from their Bird Voice Number and a configurable agent ring timeout.

  • Voice calls in the Connect ledger

    Bird voice events create and update connect.call records keyed on bird_call_id, so Bird calls sit next to every other provider's calls in Connect → Calls and in the same reporting.

  • Recordings downloaded as attachments

    With Record Calls on the Connect user, Bird records the call and the scheduled action "Connect Bird: Fetch Call Recordings" pulls the audio into Odoo every two minutes — Bird's download links are short-lived, so the file is stored as an attachment. Transcription then runs as it does for any provider.

  • One signed webhook endpoint

    SETUP WEBHOOKS registers a single /bird/webhook endpoint and stores the signing secret Bird issues exactly once; deliveries are verified against the Standard Webhooks specification with a configurable timestamp tolerance. Registered endpoints are listed under Bird → Configuration → Webhook Endpoints.

  • Numbers imported from your account

    The account sync pulls your Bird numbers into Connect → Bird → Numbers with their capabilities and a Default flag, so senders and caller IDs are picked from real numbers rather than typed by hand.

  • Inbound routing configured ahead of the platform

    Message Configuration already maps a Bird number to a destination model for messages from unknown senders — creating a partner by default, with a default_values dict merged into the new record. It is in place for the day Bird opens messaging webhooks; see the scope note below.

Scope of the current version

  • There is no browser phone: Bird publishes no public WebRTC SDK, so every agent needs a real phone number (mobile or landline) for click-to-call.
  • Parts of the Bird voice API still require validation against a live account.
  • As of mid-2026 the Bird platform delivers webhook events for the email product only — sms.*, whatsapp.* and voice.* events cannot be subscribed yet. Until they can, outgoing delivery statuses are polled every five minutes by the scheduled action "Connect Bird: Poll Message Status", and inbound messages cannot be received.
  • Inbound call routing — IVRs and queues — stays on the Bird side; Odoo records the resulting calls but does not control them.
  • The Odoo API URL must be a public HTTPS URL reachable by Bird.
  • The access key needs scopes for sms, whatsapp, voice, numbers and webhooks; a key missing one authenticates but gets 403 on that product's endpoints, and the full key is shown only once at creation.

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