odoo-mail-template

Automate Odoo mail.template design and rendering across v17, v18, and v19.

1|1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/halim-23/odoo-dev-plugin --skill odoo-mail-template
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: odoo-mail-template
Source: https://github.com/halim-23/odoo-dev-plugin/tree/main/skills/odoo-mail-template
Command: npx skills add https://github.com/halim-23/odoo-dev-plugin --skill odoo-mail-template

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Odoo mail template development across v17, v18, and v19 can be complex due to version-specific fields, layout logic, and rendering changes, making templates brittle and hard to maintain.

Core Features & Use Cases

  • Supports body_html rendering with QWeb and inline templates, dynamic placeholders, and security checks; handles v17/v18/v19 differences in fields like lang, partner_to, and use_default_to.
  • Documents common XML data patterns, mail layout templates, and the mail.template lifecycle from creation to sending via send_mail and generate_email; suitable for CE/EE deployments, automated emails, and canned responses in chatter.
  • Integrates with mail.render.mixin for rendering across models, with version-aware hooks and post-processing steps to ensure safe, correct output.

Quick Start

Create a mail.template in your module and test rendering by invoking send_mail on a sample record to verify the output.

Frequently Asked Questions about odoo-mail-template

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create Odoo mail templates that work across v17, v18, and v19?▼

Creating Odoo mail templates across versions requires applying version-specific XML data patterns and handling differences in fields like lang, partner_to, and use_default_to to ensure consistent email rendering.

What is the best way to render dynamic placeholders in Odoo mail.template securely?▼

Rendering dynamic placeholders in Odoo mail.template securely requires applying security checks during the body_html rendering process to prevent injection vulnerabilities and ensure safe email output.

How does QWeb rendering work with Odoo mail templates?▼

QWeb rendering in Odoo mail templates works by integrating with the mail.render.mixin to process body_html and inline templates across different models, applying version-aware hooks and post-processing steps for correct output.

Can I use the same mail.template XML data patterns for both Odoo Community and Enterprise editions?▼

Yes, you can use the same mail.template XML data patterns for both Odoo Community and Enterprise editions, as the template lifecycle from creation to sending via send_mail and generate_email applies to both deployments.

Why are my Odoo automated emails showing broken layouts in different versions?▼

Broken layouts in Odoo automated emails often occur due to version-specific changes in mail layout templates and rendering logic, requiring version-aware hooks and proper QWeb body_html structuring to fix.