Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Discuss
  3. Whatsmeow Templates & Composer v 19.0
  4. Sales Conditions FAQ

Whatsmeow Templates & Composer

by Fasil , Bytesraw
Odoo
v 19.0 Third Party 3
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
  • Description
  • Manifest
●  Available for Odoo 19.0

Whatsmeow Templates & Composer

Send templated WhatsApp messages from a record of any model — with placeholders, attachments, generated PDF reports, and no-code automation.

⭐ 19.0.1.0.0 📜 LGPL-3 🟢 Open Source 🏷️ Discuss
Explore Features → Contact Support
OVERVIEW

Write it once.
Send it from anywhere.

Whatsmeow Templates & Composer lets you send templated WhatsApp messages from a record of any model. A template is a saved message body — interpolated against the record with {{ object.name }} placeholders — that can carry static attachments or a freshly generated PDF report. Operators launch it from the chatter’s WhatsApp button, from a record’s Action menu, or automation fires it through a Send WhatsApp server action.

Unlike Meta’s Cloud API there is no template approval and no 24-hour session window, so a template here is simply a saved, field-interpolated message. Sending reuses the core connector’s queue untouched: the composer only creates outgoing messages, so every send inherits the same pacing, warm-up caps, retries, opt-out checks, and idempotency for free — this module adds no transport code of its own.

🧩

Send From Any Model

Point a template at any Odoo model and it becomes available on that model’s records — a sales order, an invoice, a contact. The recipient number is resolved automatically.

🖊️

Placeholders, Attachments & PDF Reports

Write the body once with placeholders and it renders per record. Attach static files, or name a report and each recipient gets their own generated PDF.

♻

Rides the Core Queue

The composer creates ordinary outgoing messages and hands them to the core connector’s paced queue, so pacing, daily caps, opt-out enforcement, and retries all apply automatically.

FEATURES

One template,
every way to send it.

Seven capabilities covering authoring, recipients, attachments, and automation.

📝

Templates for Any Model

Create a template against any model, with an optional default sending number. It is automatically published in that model’s contextual Action menu, so operators can launch it from a record without touching the model’s views.

🔠

Field Interpolation

The body renders against each record with {{ object.name }}, {{ user.name }}, and {{ company.name }} placeholders. WhatsApp’s own formatting markers inside a rendered value are neutralised, so a customer name never accidentally italicises the message.

📎

Attachments & Generated Reports

Attach static files that go with every send, and/or name a report that is rendered to a PDF per record and attached — each with a sensible filename derived from the record. A configuration check makes sure the report actually belongs to the template’s model.

🎯

Smart Recipient Resolution

Set an explicit recipient field path (e.g. partner_id.phone), or leave it blank to probe the record’s own phone fields and then its contact’s. Typos in a field path are caught while editing the template, not at send time.

🖼️

Composer With Live Preview

The composer opens preloaded with the template, shows the rendered message and resolved number for a single record, and lets the operator edit before sending. In batch mode each record renders its own body, and records with no number are reported, never silently dropped.

🤖

“Send WhatsApp” Server Action

Wire a template into an automation with a Send WhatsApp server action — “on order confirmed, WhatsApp the customer” — with no code. It composes and queues for every record it runs on, by exactly the same rules as a hand-launched send.

📣

Send to One or Many

Launch a template on a single record from its chatter, or select many records in a list and send to all of them at once. Every message goes on the paced queue, so a batch to fifty contacts is spaced out rather than fired in a burst.

INSTALLATION

Install the core connector first

This module extends the core connector, so the order matters.

1

Install Whatsmeow WhatsApp Connector

whatsmeow must be installed first — with its gateway deployed and at least one session paired.

2

Install this module

Once the core module is in place, install this one from the Apps list like any other add-on.

CONFIGURATION

Build your first template

Templates are managed under WhatsApp → Configuration → Templates, visible to WhatsApp Administrators.

1

Create a template

Click New and choose the model under Applies to.

2

Write the body

Enter the message with {{ object.field }} placeholders; a live preview shows how it renders.

3

Set sender and recipient

Optionally pick a default Send From number and a Recipient Field path.

4

Attach files or a report

Add static Attachments, and/or pick a Report to generate a per-record PDF.

5

Wire an automation (optional)

Create a Send WhatsApp server action, choose the model and template, and trigger it however you like.

SCREENSHOTS

See it in action

Building a template, adding a report and attachments, and sending it from a record.

1
Creating a template with a live preview Write the body with placeholders and watch it render.
Creating a WhatsApp template with a live rendered preview of the message body.
2
Attaching a report and static files A generated per-record PDF plus fixed attachments.
Adding a generated PDF report and static attachments to a template.
3
Launching a template from a record Available on the records of any model you point it at.
Sending a WhatsApp template from a record of any model.
USAGE

Build, send, automate

Four workflows from authoring a template to firing it automatically.

WORKFLOW · 01

Build a Template

Create a reusable WhatsApp message for a model.

✓
Go to WhatsApp → Configuration → Templates and click New
✓
Choose the model under Applies to and write the body with {{ object.field }} placeholders
✓
Optionally set a Send From number, Recipient Field, Attachments, and a Report
✓
Save — the template is now available in that model’s Action menu
WORKFLOW · 02

Send From a Record

Send a templated message to one contact.

✓
Open a record and click the WhatsApp button on its chatter, or pick the template from the Action menu
✓
Review the rendered Message and resolved Recipient in the composer, and edit if needed
✓
Choose the Send From number if you have more than one, and click Send
WORKFLOW · 03

Send in Bulk

Message many records at once.

✓
Open a list view of the template’s model and select the records you want to reach
✓
From the Action menu, choose the template’s Send WhatsApp entry
✓
Click Send; each record renders its own message, records without a number are reported, and the rest are queued and paced apart
WORKFLOW · 04

Automate a Send

Fire a template automatically when something happens.

✓
Create a Send WhatsApp server action (or automation rule) on the template’s model and select the template
✓
Trigger it however you like — on a status change, on a schedule, from a button
✓
Every record the action runs on is composed and queued by the same rules as a manual send
KNOWN ISSUES

Full transparency

This module only composes and queues; the actual delivery, pacing, and safeguards all live in the core connector.

⚠️

A big batch is spread out on purpose

A template send obeys every core safeguard: a contact who has opted out is skipped, a number known not to be on WhatsApp is not sent to, and a session’s daily cap still bounds how many of a large batch go out today. The rest stay queued for the following days — not delivered all at once.

⚠️

Records with no number are reported, not dropped

Records with no resolvable WhatsApp number are skipped and reported (a notification and a server-log line), never silently dropped, so you always know a batch did not reach everyone.

FAQ

Questions, answered

Quick answers to the most common questions.

Q

Do I need to get templates approved like on the WhatsApp Cloud API?

No. There is no template approval and no 24-hour session window here. A template is just a saved, field-interpolated message you can send at any time.

Q

Which models can I send from?

Any model. Point the template’s Applies to at the model you want, and it becomes available on that model’s records. The recipient number is resolved from the record or its contact automatically.

Q

Can I attach an invoice or quotation PDF?

Yes. Name a Report on the template and each recipient gets their own generated PDF, with the same filename you would see in the Print menu. You can also add static attachments that go with every send.

Q

How does a bulk send avoid getting my number banned?

The composer only creates outgoing messages and hands them to the core connector’s paced queue, so a batch is spaced out and bounded by that session’s warm-up and daily caps — it is not fired all at once.

Q

Can automation send a template without any code?

Yes. Create a Send WhatsApp server action on the model, choose the template, and trigger it from an automation rule, a button, or a schedule.

CHANGELOG

Release history

A clean record of every release.

2026-07-19 · Latest release
v19.0.1.0.0

Initial release

▸ Templates for any model, with {{ object.field }} placeholders and WhatsApp markup escaping
▸ Static attachments and per-record generated PDF reports
▸ Composer with live preview for single sends and batch mode for many records
▸ “Send WhatsApp” server action for no-code automation
▸ Sending reuses the core paced queue, inheriting pacing, caps, opt-out, and retries
Bytesraw logo

Bytesraw

Automate your success
🌐 www.bytesraw.com

🛠️ Need help?

Got a question, found a bug, or need a custom enhancement? Our support team responds within 24 hours on business days.

help@bytesraw.com →

💼 Custom development

Need this module tailored to your workflow, or a brand-new Odoo solution? Let’s talk about your project.

info@bytesraw.com →
OUR EXPERTISE
✓
Odoo Development
✓
Functional Training
✓
Community Upgradations
✓
Python & PostgreSQL
✓
Hosting Solutions
✓
Automation
✓
Security
✓
API & 3rd-Party Integrations
✓
E-commerce & POS Solutions
© 2026 Bytesraw · All rights reserved · Licensed under LGPL-3
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Community Apps Dependencies Show
Whatsmeow WhatsApp Connector
Lines of code 2885
Technical Name whatsmeow_template
LicenseLGPL-3

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with