Skip to main content
Message Templates Everywhere — A build-to-order Odoo extension that lets your team fire pre-approved WhatsApp, Instagram, and — 1/1Illustrative preview

A build-to-order Odoo extension that lets your team fire pre-approved WhatsApp,

Instagram, and Messenger messages straight from sales orders, invoices, and CRM records — with dynamic field merging and a full audit trail in the chatter.

ECOSIRE scopes, builds, installs, and supports it for you.

What is Message Templates Everywhere?

A build-to-order Odoo extension that lets your team fire pre-approved WhatsApp, Instagram, and Messenger messages straight from sales orders, invoices, and CRM records — with dynamic field merging and a full audit trail in the chatter. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated `messaging.template` model with a channel selector (WhatsApp / Instagram / Messenger) and per-model binding via `model_id`
`mail.render.mixin`-backed template bodies so you reuse the native `${object.field}` placeholder syntax for names, order refs, amounts, and portal links
Reusable 'Send message' action injected into `sale.order`, `account.move`, `crm.lead`, and any custom model form view you nominate
Live render-and-review step: the agent sees the fully merged message before it is dispatched, preventing wrong-record sends
Every dispatched message logged back to the record's `mail.thread` chatter as a note for a complete audit trail
Provider credentials stored via `ir.config_parameter` and a guarded settings screen — no secrets hard-coded in source
`base.automation` triggers to auto-send a template on stage change, invoice validation, or delivery confirmation
Access controlled through `ir.model.access.csv` plus record rules, including multi-company scoping so branches only see their own templates
`@api.depends` computed fields for derived template values (e.g. resolved recipient number, computed greeting) that stay in sync
Send routine exposed over XML-RPC / JSON-RPC so external systems can trigger the same templates programmatically
Language-aware rendering that respects the partner's `lang` for multilingual template variants
Delivery-status write-back where the provider API supports it, surfaced on the record and in the chatter
Graceful failure handling: send errors are caught, logged, and shown to the user without breaking the underlying transaction
Packaged as an upgrade-safe addon with a proper `__manifest__.py`, targeting Odoo 17.0, 18.0, or 19.0 on Community or Enterprise

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Most teams that run Odoo still copy the customer's phone number out of a sales order, switch to a phone or a browser tab, hunt for the right greeting, paste in the order reference by hand, and hope they typed the amount correctly. Odoo core will happily send a templated email from almost any record, but the moment your customers live on WhatsApp, Instagram DMs, or Messenger, the native mail.template engine runs out of road: there is no first-class channel binding, no reusable message library scoped to those platforms, and no way to trigger a personalized chat message from a sale.order, account.move, or crm.lead without leaving Odoo. The result is slow follow-ups, off-brand wording, and zero record of what was actually sent.

Message Templates Everywhere is a build-to-order module ECOSIRE designs, builds, and installs to close that gap. We introduce a dedicated template model (conceptually messaging.template) with a channel selector, a mail.render.mixin-backed body so you get the same Jinja/QWeb-style placeholder syntax as native email templates (${object.partner_id.name}, ${object.amount_total}, order and invoice references, portal links), and a model_id binding so a template only surfaces on the record types it belongs to. A reusable "Send message" action is injected into the form views of the models you nominate — sales, invoicing, CRM, helpdesk, subscriptions, or any custom model — rendering the merged text, letting the agent review it, and dispatching it through your chosen messaging provider's API. Every send is written back to the record's mail.thread chatter as a logged note, so the conversation history and the audit trail live where your team already looks.

Technically, the module ships as a clean, upgrade-safe addon: a proper __manifest__.py declaring dependencies (mail, sale, account, crm, and whichever apps your scope needs), ORM models with @api.depends computes for any derived fields, ir.model.access.csv plus record rules so only authorized users and the correct companies can see and send templates, XML/OWL view extensions for the send action, and — where you want it hands-off — base.automation automated actions that fire a template on a stage change, invoice validation, or delivery confirmation. Because outbound chat platforms authenticate per business account, we wire the provider credentials through Odoo system parameters and a guarded settings screen rather than hard-coding anything, and we expose the send routine over the standard XML-RPC/JSON-RPC API so your other systems can trigger the same templates. It runs on Community or Enterprise, and we target your exact series — Odoo 17.0, 18.0, or 19.0 — so nothing depends on version-specific behavior we haven't tested against.

Because this is made to order, nothing is downloaded and switched on the same afternoon. We start with a short scoping call to confirm which record types need the action, which messaging channels and provider accounts you use, the initial template set, and any automation triggers. From confirmed scope, typical delivery is one working week: we build on a staging copy of your database, hand it to you for UAT, then install into production behind a rollback plan. Pricing starts from $999 (indicative, single-company base scope); additional messaging channels, multi-company routing, deeper localization of template content, and integrations with more record types or external systems increase the quoted scope. You receive a firm fixed quote after the scoping call — never a surprise on the invoice.

What you get

  • Installable source code for the module built against your exact Odoo series (17.0 / 18.0 / 19.0), Community or Enterprise
  • Installation and configuration on your environment, including provider-credential wiring and initial template set
  • Technical documentation: model reference, security matrix, automation triggers, and API usage notes
  • End-user guide plus a live training session for the team members who will send and manage templates
  • Post-go-live support window for defect fixes and configuration adjustments
  • UAT on a staging copy of your database with a documented rollback plan before production install
  • Full git repository handover with commit history and tagged release
  • Configured automated actions (where in scope) with a test log demonstrating each trigger firing correctly

Who this is for

Sales operations lead

Runs the pipeline in Odoo CRM and Sales and wants reps sending consistent, on-brand WhatsApp follow-ups straight from the quotation — without leaving the record or retyping the order reference.

Finance / accounts receivable manager

Chases payment against `account.move` invoices and needs a one-click, logged reminder over the customer's preferred chat channel, with every message recorded in the chatter for audit.

Customer support / helpdesk manager

Handles inbound tickets and wants agents to reply with approved templated messages on Instagram or Messenger directly from the ticket, keeping the full conversation history inside Odoo.

Odoo administrator or IT lead

Owns the instance and needs a clean, upgrade-safe addon with proper access rules, credential handling, and API hooks — not a bolt-on that breaks on the next Odoo upgrade.

How Message Templates Everywhere Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Chat channels (WhatsApp / Instagram / Messenger)Built in and bound to your provider accountsPossible but you build every channel yourselfOften one channel or a fixed set you can't extendNone — email templates only
Send from sales / invoice / CRM recordsOne-click action on the record types you nominateDepends entirely on what your developer scopesUsually a fixed list of supported modelsNo chat send from records at all
Dynamic field mergingNative `${object.field}` placeholders via render mixinMust be reimplemented and maintainedVaries; sometimes limited placeholder supportFull for email, not available for chat
Audit trail in chatterEvery send logged to the record's `mail.thread`Only if explicitly built and testedInconsistent; may log elsewhere or not at allN/A for chat channels
Fit to your models and processScoped to your exact records and triggersFully bespoke but slow and costly to specifyYou adapt your process to the moduleFixed to core behavior
Upgrade safety (17/18/19)Built and tested against your target seriesYour team owns all upgrade riskDepends on vendor's update cadenceMaintained by Odoo, but no chat feature to keep
Support and ownershipPost-go-live window plus full git handoverIn-house or contractor, no vendor backingVendor support varies; code often obfuscatedCommunity/Enterprise support, feature absent
Time to working solutionone working week from confirmed scope, UAT-verifiedOften months of spec, build, and iterationFast to install, slow to bend to your needsImmediate, but the capability doesn't exist

Frequently Asked Questions about Message Templates Everywhere

Is this an app I can download and install today?

No. Message Templates Everywhere is build-to-order. ECOSIRE designs, builds, installs, and supports it for your specific Odoo instance — it is not an existing apps.odoo.com download. That is what lets us bind it to your exact record types, channels, and provider accounts.

How long does delivery take?

Typical delivery is one working week from confirmed scope. After the scoping call we build on a staging copy of your database, hand it over for UAT, then install into production behind a rollback plan. Larger scopes (many record types, multi-company, extra channels) sit at the upper end of that range.

How does pricing and scoping work?

Pricing starts from $999 (indicative, single-company base scope). We hold a short scoping call to confirm channels, record types, template set, and automations, then give you a firm fixed quote before any build work begins. Additional channels, multi-company routing, deeper localization, and extra integrations increase the quoted scope — you never get a surprise on the invoice.

What about ongoing support and Odoo updates?

Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. Because we hand over the full git repository, you own the code. We can also quote a separate maintenance arrangement to keep the module compatible as you move between Odoo 17, 18, and 19.

Which messaging channels and Odoo records are supported?

We target WhatsApp, Instagram, and Messenger, dispatched through your business provider account. The 'Send message' action can be attached to sales orders, invoices, and CRM leads out of the base scope, and to helpdesk tickets, subscriptions, or any custom model you nominate during scoping.

Does it work on Odoo Community, and which versions?

Yes. The module runs on both Community and Enterprise, and we build against your exact series — Odoo 17.0, 18.0, or 19.0. We test on your version so nothing relies on behavior we haven't verified there.

How are our messaging-provider credentials handled?

Credentials are stored through Odoo system parameters (`ir.config_parameter`) behind a guarded settings screen and access rules — never hard-coded in the source. Sending is permission-controlled via `ir.model.access.csv` and record rules so only authorized users can dispatch.

Request a quote

Message Templates Everywhere

A build-to-order Odoo extension that lets your team fire pre-approved WhatsApp, Instagram, and Messenger messages straight from sales orders, invoices, and CRM records — with dynamic field merging and a full audit trail in the chatter. ECOSIRE scopes, builds, installs, and supports it for you.

  • Dedicated `messaging.template` model with a channel selector (WhatsApp / Instagram / Messenger) and per-model binding via `model_id`
  • `mail.render.mixin`-backed template bodies so you reuse the native `${object.field}` placeholder syntax for names, order refs, amounts, and portal links
  • Reusable 'Send message' action injected into `sale.order`, `account.move`, `crm.lead`, and any custom model form view you nominate
  • Live render-and-review step: the agent sees the fully merged message before it is dispatched, preventing wrong-record sends

Request a Quotation

Tell us about your Message Templates Everywhere requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.