A build-to-order Odoo integration that connects your cloud phone system to Odoo, logging every inbound and outbound call against the right contact, lead, or ticket. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0, 18.0, and 19.0. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
App-Manifest
Auf Ihren Workflow zugeschnitten
A build-to-order Odoo integration that connects your cloud phone system to Odoo, logging every inbound and outbound call against the right contact, lead, or ticket. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0, 18.0, and 19.0.
Keine Selbsteinrichtung — eine funktionierende App, die von ECOSIRE erstellt, installiert und betreut wird.
Starten Sie mit einem einmaligen Entwicklungspreis. Den Umfang legen wir beim Kickoff gemeinsam fest.
ECOSIRE erstellt, konfiguriert und installiert sie auf Ihrem Odoo.
Sie gehen in etwa 2–4 Wochen live, mit einem Support-Zeitraum nach dem Launch.
Sales and support teams that live in Odoo lose context the moment a call happens outside it. Reps dial from a softphone in another browser tab, calls never make it into the mail.thread history, and there is no reliable way to tie call duration, recordings, or missed-call follow-ups back to the crm.lead or helpdesk.ticket that triggered them. Odoo core has no native concept of a cloud PBX: there is no telephony model, no webhook receiver for call events, and no click-to-dial. Managers end up reconstructing call activity from spreadsheets and memory, and every "did we call them back?" question turns into a manual investigation.
This is a build-to-order integration that ECOSIRE designs and develops against your specific cloud telephony account. We create a dedicated telephony module with its own __manifest__.py declaring dependencies on mail, crm, and (optionally) helpdesk, plus a res.config.settings extension that securely stores your API ID, API token, and per-user agent numbers. A new voip.call.log model (extending models.Model) captures direction, from/to numbers, duration, timestamps, call status, recording URL, and a Reference field that links each call to the matching res.partner, crm.lead, or ticket. Compute fields with @api.depends derive talk-time and answer/miss classification, and every logged call posts a message into the linked record's chatter so the full timeline lives where your team already works.
Technically, the integration works in both directions. A hardened controller exposes an authenticated webhook endpoint that receives call events from the provider in near real time, verifies the signature, matches the phone number to an existing contact (creating a lightweight lead when configured to), and writes the log. Outbound click-to-dial is delivered through an OWL widget and a JSON-RPC method that triggers the call from the record view. Number matching is normalized to E.164 so extensions and country prefixes reconcile cleanly. Access is governed by ir.model.access.csv plus record rules so agents see only their own calls while managers see the team, and an optional automated action (or scheduled ir.cron) creates a follow-up mail.activity on every missed inbound call so nothing slips.
Delivery is build-to-order, not an instant download. We start with a scoping call to confirm your Odoo version and edition, which events you want captured, the objects calls should attach to, and how number matching and lead creation should behave. You approve a fixed quote and scope, we build and test on a staging database, you run UAT, and we deploy to production with a rollback plan. Typical delivery is 2 to 4 weeks from confirmed scope, depending on complexity and integration depth. Community and Enterprise are both supported; helpdesk-linked calling and some UI hooks depend on the Enterprise apps you run, which we confirm during scoping.
Pricing starts from $249 (indicative, single-company base scope); multi-company routing, additional integrations, deeper recording/transcription handling, custom reporting, and historical call-data migration increase the quoted scope. The scoping call produces a firm fixed quote before any build work begins.
Wants every rep's inbound and outbound calls logged automatically against the right lead, with talk-time and missed-call follow-ups visible in the pipeline instead of a separate phone dashboard.
Needs calls tied to tickets so response history is complete, agents can click-to-dial from the ticket, and missed calls auto-create a follow-up activity.
Reports on call volume, answer rates, and duration by agent and team using Odoo pivot and graph views, without exporting from a third-party telephony portal.
Wants a maintainable, version-targeted module with clean access rules, secure credential storage, and a git handover rather than a brittle in-house script.
| Kriterium | ECOSIRE | Benutzerdefinierter Build | Konkurrent | Odoo Native |
|---|---|---|---|---|
| Fit to your telephony setup | Built to your exact account, events, and objects | Fully bespoke but you specify everything | Generic feature set, take it as shipped | |
| Call-to-record linking | Auto-links to partner, lead, or ticket via Reference field | Depends on your build effort | Usually partner-only, limited objects | |
| Inbound event ingestion | Signature-verified webhook controller in near real time | You design and secure the endpoint | Often polling or partial event coverage | |
| Click-to-dial | OWL widget + JSON-RPC on record forms | Build and maintain yourself | Varies; sometimes missing | |
| Security model | ir.model.access.csv + record rules, agent vs manager scoping | Your responsibility to design | Basic access, rarely row-level | |
| Version support | Targeted build for 17.0 / 18.0 / 19.0, CE or EE | Whatever you build for | May lag new Odoo releases | |
| Support & handover | Support window, training, docs, git handover | In-house knowledge only | Vendor tickets, no source ownership | |
| Total cost & risk | Fixed quote after scoping, from $249 indicative | High effort, unpredictable cost | Low list price, integration gaps you fund later |
This is a build-to-order integration, not an instant download. Typical delivery is 2 to 4 weeks from confirmed scope, depending on which call events you capture, the objects calls attach to, and your integration depth. The timeline is confirmed in writing after the scoping call.
Pricing starts from $249 (indicative, single-company base scope). We hold a short scoping call to confirm your Odoo version, edition, and requirements, then issue a firm fixed quote before any build work begins. Multi-company, extra integrations, recording/transcription handling, custom reports, and historical data migration increase the quote.
Every build includes a post-go-live support window for defect fixes and configuration tweaks, plus a git handover so you own the code. Ongoing maintenance, version upgrades (e.g. moving from 18.0 to 19.0), and new feature work are available as a separate support agreement quoted to your needs.
We build for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. The core call-logging, webhook ingestion, and click-to-dial work on Community; helpdesk-linked calling and certain UI hooks depend on the Enterprise apps you run, which we confirm during scoping.
Incoming and outgoing numbers are normalized to E.164 and matched against `res.partner` records. When a number matches, the call is linked and posted to that record's chatter. For unknown numbers you can configure the integration to auto-create a `crm.lead` or simply log the call without a link.
Yes. API ID, token, and per-user agent numbers are stored via a `res.config.settings` extension with restricted access, and the inbound webhook endpoint verifies each event's signature. No credentials are exposed in views or logs.
Yes. The `voip.call.log` model ships with list, kanban, and pivot/graph views so you can analyze call volume, answer versus miss rates, and duration by agent, team, or period without leaving Odoo or exporting from the provider portal.

A build-to-order Odoo localization that loads Algeria's full wilaya and commune hierarchy with bilingual French and Arabic names, wired into partner addresses and reporting. ECOSIRE builds, installs, and supports it after your quotation.
A build-to-order Odoo integration that connects your cloud phone system to Odoo, logging every inbound and outbound call against the right contact, lead, or ticket. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0, 18.0, and 19.0.