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. Telegram Templates & Inline Buttons v 18.0
  4. Sales Conditions FAQ

Telegram Templates & Inline Buttons

by Steven Marp
Odoo

$ 128.37

v 18.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Community Apps Dependencies Show
• Telegram Integration Core - Send Messages
• Telegram Connector - Base
Lines of code 1374
Technical Name sm_telegram_template
LicenseOPL-1
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Community Apps Dependencies Show
• Telegram Integration Core - Send Messages
• Telegram Connector - Base
Lines of code 1374
Technical Name sm_telegram_template
LicenseOPL-1
  • Description
  • Documentation
  • License

Telegram Templates & Inline Buttons

Create reusable Jinja2 message templates with inline keyboard buttons, PDF attachments & live preview

Module Video Overview

Your browser does not support the video tag.

Features

1 Dynamic Jinja2 templates

Build reusable message templates powered by Jinja2. Use dynamic variables like {{ object.name }}, {{ partner.name }}, {{ company.name }} to personalize every message. Supports Markdown & HTML formatting out of the box.

Dynamic Jinja2 templates
Inline keyboard buttons

2 Inline keyboard buttons

Add clickable URL buttons directly in your Telegram messages - View Order, Pay Invoice, Visit Website. Configurable per template with row management. URLs support Jinja2 variables for dynamic links.

3 Send with template

Select a template from the Send Telegram wizard and the message is instantly rendered with the current record's data. Pick recipients, review the preview, and send - all from the chatter.

Send with template
PDF report attachment

4 PDF report per template

Attach a QWeb PDF report directly in the template configuration. On send, the report is auto-generated for the current record and delivered alongside the text message - Quotation, Invoice, Delivery Slip, and more.

5 Default template per model

Set a default template for each Odoo model. When users open the Send Telegram wizard from a Sale Order, the SO Confirmation template is pre-selected automatically - saving time and ensuring consistency.

Default template per model

And much more...

Live Preview

See a real-time preview of your template body. Verify variables and formatting before sending to recipients.

Markdown & HTML

Format messages in Markdown or HTML. Bold, italic, links, code blocks - all supported natively by Telegram.

Per-Partner Rendering

When sending to multiple recipients, each partner gets their own personalized message rendered from the template.

Dynamic Button URLs

Button URLs support Jinja2 variables. Use portal URLs like {{ object.get_portal_url() }} for direct links to orders and invoices.

Button Row Management

Organize inline buttons into rows. Mark any button as "New Row" to start a new line - up to 3 buttons per row.

Template per Log

Every sent message log records which template was used, making it easy to audit and trace message history.

Model-Scoped Templates

Templates are linked to specific models. Only relevant templates appear in the wizard based on the current document type.

Active/Inactive

Archive unused templates without deleting them. Inactive templates are hidden from the wizard but can be restored anytime.

3 Demo Templates

Comes with ready-to-use templates for Sale Order, Purchase Order, and Invoice - complete with inline buttons and PDF reports.

Support

We provide free bug fixes and updates for all our modules. If you need help, please submit a support request through the Odoo Apps support page. Our team is always ready to assist you.

Telegram Templates & Inline Buttons - Documentation

Table of Contents

  • 1. Overview
  • 2. Installation
  • 3. Creating a Template
    • Fields
    • Example Template Body
  • 4. Inline Keyboard Buttons
    • Fields
    • Example Button URL
  • 5. Default Template per Model
  • 6. Sending with Templates
  • 7. Template in Message Logs
  • 8. Jinja2 Reference
    • Available Variables
    • Useful Expressions
  • 9. Troubleshooting
    • Template syntax error
    • Button URL rejected

1. Overview

This module adds reusable message templates and inline keyboard buttons to the Telegram Integration ecosystem. Templates use the Jinja2 engine to render dynamic, per-partner messages with data from any Odoo record.

Depends on: Telegram Integration Core - Send Messages (sm_telegram_core)


2. Installation

  1. Make sure sm_telegram_base and sm_telegram_core are already installed.
  2. Upload the sm_telegram_template folder to your custom addons directory.
  3. Restart Odoo and update the apps list.
  4. Search for "Telegram Templates & Inline Buttons" and click Install.

Note

Three demo templates are created on install: SO Confirmation, PO Notification, and Invoice Reminder.


3. Creating a Template

Navigate to Telegram > Message Templates > New.

Fields

Template Name:

A descriptive name (e.g. "SO Confirmation").

Applies To:

The Odoo model this template is for (e.g. sale.order).

Format:

Choose Plain Text, Markdown, or HTML.

Active:

Uncheck to archive a template without deleting it.

Message Body:

The Jinja2 template body. Available variables:

  • {{ object }} - the current record
  • {{ partner }} - the recipient partner
  • {{ user }} - the current Odoo user
  • {{ company }} - the current company
Attach Report:

Optionally attach a QWeb PDF report that will be auto-generated on send.

Include Buttons:
 

Enable to show the inline keyboard button editor.

Example Template Body

*Order Confirmation* 🎉

Hello *{{ partner.name }}*,

Your order *{{ object.name }}* has been confirmed!

📦 Items: {{ object.order_line | length }} lines
💰 Total: {{ "%.2f" | format(object.amount_total) }} {{ object.currency_id.name }}

Thank you for your business!
_{{ company.name }}_

4. Inline Keyboard Buttons

When Include Buttons is enabled, you can add clickable URL buttons that appear below your Telegram message.

Fields

Button Text:The label displayed on the button (e.g. "View Order").
URL:The URL the button links to. Supports Jinja2 variables. The module automatically prepends web.base.url if the URL is relative.
Sequence:Controls the order of buttons.
New Row:Check to start this button on a new row. Maximum 3 buttons per row.

Example Button URL

{{ object.get_portal_url() }}

This renders to the portal link of the current record (e.g. /my/orders/50). The module auto-converts it to an absolute URL like https://erp.company.com/my/orders/50.


5. Default Template per Model

You can set a default template for each model so it is pre-selected when users open the Send Telegram wizard.

  1. Navigate to Telegram > Configuration > Model Configuration.
  2. Open the config for the desired model (e.g. Sale Order).
  3. Set the Default Template field to your preferred template.

When a user clicks Send Telegram from a Sale Order chatter, the SO Confirmation template will be automatically loaded with the rendered message.


6. Sending with Templates

  1. Open any record that has Telegram enabled (e.g. a Sale Order).
  2. Click Send Telegram in the chatter.
  3. The wizard opens with the default template pre-selected (if configured).
  4. The message body is instantly rendered with the current record's data.
  5. Select recipients, review the message, and click Send.

The template body is rendered per-partner, so each recipient gets a personalized message with their own name.


7. Template in Message Logs

Every sent message records which template was used. You can filter and group message logs by template in Telegram > Message Logs.


8. Jinja2 Reference

Available Variables

Variable Description
object The current Odoo record
partner The recipient res.partner
user The current res.users (logged-in user)
company The current res.company

Useful Expressions

{{ object.name }}                          - Record name
{{ partner.name }}                         - Recipient name
{{ company.name }}                         - Company name
{{ object.amount_total }}                  - Numeric field
{{ "%.2f" | format(object.amount_total) }} - Formatted number
{{ object.date_order.strftime('%d %b %Y') if object.date_order else '-' }}
{{ object.order_line | length }}           - Count of lines
{{ object.get_portal_url() }}              - Portal link

9. Troubleshooting

Template syntax error

If you see a "Template syntax error at line X" message, check your Jinja2 syntax. Common mistakes:

  • Missing closing }}
  • Using {% if %} without {% endif %}
  • Accessing a field that does not exist on the model

Button URL rejected

Telegram requires absolute URLs starting with http:// or https://. The module automatically prepends web.base.url for relative URLs like /my/orders/50. Make sure your web.base.url system parameter is set correctly.

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

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 or have a question related to your purchase, please use the support page.
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