MoySklad
Odoo
amoCRM
Tizimlashtirish
Marketing
AI agentlar
BUline
MoySklad
Odoo
amoCRM
Систематизация
Маркетинг
Маркетинг: обзор
Стратегия и контент
Стратегия и планКонтент и SMM
Рекламные каналы
Google AdsYandex DirectРеклама в TelegramInstagram и FacebookМаркетплейсы
Органический рост
SEO
Измерение и аналитика
Аналитика и KPI
AI-агенты
BUline
MoySklad
Odoo
amoCRM
Systematization
Marketing
AI agents
BUline
Home/Odoo/Messaging channels
Odooimplemented by BUline
Odoo · Integrations · Messaging channels

Telegram, WhatsApp, SMS and email: the reply goes out from Odoo to wherever the customer wrote

A customer expects the order status in Telegram, the invoice by email, a reminder by SMS. Each channel has its own rules: Odoo provides some out of the box, while others need a separate connection. First, we decide which message suits which channel.

TelegramWhatsAppSMSEmailLive ChatInstagram
Channels

Six channels: what Odoo has and what gets connected

What follows is based on the Odoo 20 documentation and release notes, reviewed on October 25, 2026. A feature not described in the documentation is not labeled “absent”; we mark it “checked during the diagnostic”.

ChannelIn the Odoo 20 documentationEdition and hosting
TelegramA connection to Telegram is not described in the documentation. The Telegram Bot API is open, and the Apps Store has third-party modulesThe module cannot be installed on Odoo Online. A connection through a webhook is possible on Online
WhatsAppAvailable: messaging through Meta's Business Platform, templates, a conversation in DiscussAn Enterprise app, stated explicitly in the documentation
SMSAvailable: Odoo's SMS service (prepaid credit) or Twilio. Uzbekistan is supported in Odoo's country listA ready-made connection for a local provider is not described in the documentation: it requires custom setup
EmailAvailable: incoming and outgoing mail, aliases, templates, mass mailingOn Online, the standard mail server works. For your own domain, SPF and DKIM are required
Live Chat and DiscussAvailable: website chat, chatbot, internal communication. The Odoo 20 release notes announce connecting Messenger and Instagram DM to the chat teamLive Chat is in the open-source code repository. A documentation page on the social network connection was not found: checked during the diagnostic
Instagram and social networksAvailable: Social Marketing. Post scheduling, stories, analytics. Business accounts only; Instagram connects through FacebookThe app was not found in the open-source code repository; it is likely Enterprise. The edition is confirmed during the diagnostic
Honest scope

What Odoo includes as standard and what we add

Based on the Odoo 20 documentation. If your version differs, we check at the diagnostic.

GoalIn standard Odoo / in an external serviceExtra work (BUline)
Sending an SMS to a customerAvailable: Odoo SMS (credit) or Twilio. The sender name is 3–11 charactersText templates, character count, consent flag
Sending SMS through a local providerDocumentation: your own provider does not work out of the box. Eskiz (a local SMS provider) describes an open APIConnecting to the Eskiz API: a module or an intermediate service, status feedback
WhatsApp messagingAvailable (Enterprise): templates, Discuss, integration with Sales, Point of Sale, EventsMeta setup, template text and category, roles
Telegram notifications and inquiriesNot described in the documentationTesting a bot, a webhook chain or a ready-made module
EmailAvailableDomain records, aliases, separating the bulk and transactional servers
Website chat and chatbotAvailable: chatbot steps create a lead and a ticketScript, operator duty schedule, linking to CRM and Helpdesk
Instagram and Messenger messagingAnnounced in the Odoo 20 release notes; no documentation page foundRequirements are checked during the diagnostic
Choosing a channel

Choosing a channel by message type

This is BUline's recommendation, not Odoo documentation. The choice is made during the diagnostic, based on your customers' habits and whether consent exists.

MessageSuitable channelReason
Order status, courier on the wayTelegram or WhatsApp, with SMS as a fallbackShort and fast; the customer can ask a question
Payment reminder, invoiceEmail or a WhatsApp templateThe document is attached, and the correspondence stays in Odoo
One-time codeSMSThe customer does not need an app
Advertising messageA channel for which consent has been obtainedThe law requires prior consent
A website visitor's questionLive ChatThe conversation turns into a lead or a ticket
Internal alert to employeesA Telegram group or DiscussThe responsible employee sees it right away
Telegram

Telegram: notifications and inquiries through a bot

The Odoo 20 documentation does not describe a Telegram connection. Telegram provides an open Bot API, so the connection is built in one of two ways.

Telegram rules (official documentation)

  • The bot sends a message over HTTPS using the sendMessage method; the text is 1–4096 characters
  • It is recommended to send no more than one message per second to a single chat, and no more than 20 per minute to a group
  • Bulk sending is limited to about 30 messages per second; if exceeded, a 429 error is returned
  • Incoming messages are received via a webhook (HTTPS, port 443, 80, 88 or 8443) or via getUpdates; the two cannot work at the same time
  • The start parameter in the link helps tie the customer to an order or a contact in Odoo

Two paths on the Odoo side

  • A third-party module from the Apps Store: notifications or a chat in Discuss. The version and the author are checked
  • An Odoo rule (“Send Webhook Notification”) → an intermediate service → the Telegram Bot API. This path also works on Online
  • The customer's question comes back to Odoo: the intermediate service writes it through JSON-2 into a Helpdesk ticket or a CRM lead. The external API depends on the subscription type. Ways to connect →

Security and errors

  • The bot token is stored like a password: it is not written into code or a shared chat
  • In the webhook, the secret_token header sent by Telegram is verified
  • If Telegram does not receive a 2xx response, it resends the message. To avoid recording it twice, duplicate protection is needed
  • If the customer is not connected to the bot, a fallback channel (SMS or email) is planned in advance
SMS

SMS: Odoo's own service or a local provider

An SMS can be sent from the customer record, from a sales document or in bulk. The rules depend on the sending method. The SMS and WhatsApp article →

Odoo SMS service

  • Works on prepaid credit; the credit does not expire
  • Uzbekistan is supported in the country list, and a custom sender name of up to 11 characters is possible. Delivery to the subscriber depends on local operator rules and is not confirmed in the source
  • The recipient cannot reply to the SMS
  • A GSM7 message holds 160 characters; if other characters are present, Unicode holds 70. Above the limit, the message is split into parts (153 and 67)
  • Whether the apostrophes of the Uzbek letters (in o' and g') fit in the GSM7 table is tested in Odoo's character counter: Unicode increases the number of parts

Eskiz API (open documentation)

  • A token is obtained and refreshed with a login
  • Single, bulk and international sending use separate methods
  • The status (delivered and others) is returned via callback_url or requested by ID, within 30 days
  • A template goes through moderation; messages are classified as service or advertising
  • There is a method that checks and replaces special characters
  • In test mode, only the ready-made texts from the documentation are sent

Connection method

  • Odoo documentation: your own SMS provider does not work out of the box; an Odoo specialist sets it up
  • No module for Eskiz was found in an Apps Store search; the search works by name
  • Enterprise: an upgrade-safe module (Odoo.sh or your own server)
  • Online: an Odoo rule → webhook → intermediate service → Eskiz
  • The sending status is visible in the message record in Odoo; on an error, an alert goes to the responsible employee
WhatsApp

WhatsApp: a Meta account, templates and conversations

Odoo does not provide WhatsApp itself; it connects to Meta's Business Platform. A personal account and an account of the regular WhatsApp Business app do not work.

Preparation (Odoo documentation)

  • A Meta business account and developer account, an app and a phone number are required
  • Meta asks for a payment method for an anti-fraud check
  • A permanent token is created; switching the app to Live mode requires a link to a privacy policy
  • The webhook address must be a publicly accessible https address: the Odoo database must be visible to Meta's servers from the internet

Rules (Meta documentation)

  • Messages are sent only to a user who has opted in to receive them
  • When the customer writes, a 24-hour window opens: free text is allowed during it, and only an approved template afterwards
  • There are three template categories: marketing, utility, authentication. A wrong category leads to rejection

In Odoo 20

  • If the company sends a template and the customer replies within 15 days, a conversation window opens in Discuss
  • If the customer writes first, the channel operators join a group conversation
  • A Sales quotation, a Point of Sale receipt and an Events ticket are sent with a template
  • What's new: a WhatsApp button on the website, abandoned cart, shift schedule, interactive template, number blocking, simplified authentication
Chat and social networks

Website chat, Discuss and Instagram

These channels bring the customer into a single conversation inside Odoo: the inquiry turns into a lead or a ticket.

Live Chat

  • Channel rules show or hide the chat button depending on the page address
  • Chatbot steps: text, question, email, phone, forwarding to an operator, creating a lead and a ticket
  • CRM must be installed for leads, and Helpdesk for tickets
  • The operator sees the conversation in Discuss

Discuss

  • Internal channel, direct messages, chatter on records
  • By default, the notification goes to email; if “Handle in Odoo” is selected, it lands in the Discuss inbox
  • Mobile: the recommended PWA app delivers push notifications

Instagram and Facebook

  • Social Marketing: posts, scheduling, analytics, a lead from a comment, stories in Odoo 20
  • Business accounts only; the Facebook page administrator grants access
  • According to the documentation, if a very large number of pages (about 40 in the example) are connected in one company, Odoo runs into difficulties
  • Messenger and Instagram DM: new in Odoo 20; the requirements are checked during the diagnostic
Email

Email: outgoing, incoming and bulk mail

Email is the simplest channel, but deliverability depends on the domain setup. If the setup is wrong, the email lands in spam.

Outgoing

  • On Online and Odoo.sh, mail works without configuration; the email goes out from the database subdomain
  • For your own domain, SPF, DKIM (the odoo._domainkey record) and DMARC are required. On Online, DKIM is mandatory for DMARC to pass
  • On Online and Odoo.sh, port 25 is blocked: ports 465, 587 or 2525 are used
  • Separate servers can be allocated for transactional and bulk mail

Incoming

  • An email arriving at the sales team's alias becomes a lead, and one arriving at the Helpdesk team's alias becomes a ticket
  • On Online, only the subdomain created together with the database works
  • For your own domain, emails are forwarded or a mail server is connected
  • An OAuth connection is described for Gmail and Outlook

Bulk

  • Odoo's mail server is intended for transactional mail and small-scale marketing
  • The daily limit depends on the database type and apps; on Online, the page shows the limit
  • Those who unsubscribe are added to a blocklist
  • For a large list, a separate bulk mailing service is connected
Uzbekistan

Legal requirements for sending messages

Even when the technical connection works, sending messages needs a legal basis. The following is taken from lex.uz; for a legal opinion, consult a lawyer.

Advertising consent

  • Article 30 of the Law “On Advertising”: advertising during a telecommunications service is distributed if the subscriber has given prior consent
  • Resolution PQ-265 (July 15, 2026), clause 11: from November 1, 2026, written or electronic consent is required for offers by SMS, and advertising messages are not distributed from 18.00 to 09.00
  • Odoo's unsubscribe link does not replace consent (BUline's conclusion)

Personal data

  • A phone number and correspondence are personal data
  • Part 3 of Article 27¹ of the law: data other than the groups listed in part 2 (biometric, genetic, telecom operator users) may be processed abroad if one of three conditions is met
  • We find out from the provider's documentation where its server is located. Details →

Proving consent

  • The contact record stores the date, source and channel of consent
  • A campaign is sent, using a filter, only to contacts who have given consent
  • If the customer says “stop”, the flag for that channel is set immediately
A hypothetical day

How an order status reaches the customer

The example is hypothetical: no figures, only to show the mechanism. An online store sends the order status in Telegram, and if the customer asks a question, it comes back to Odoo.

  • The order page has a “Track in Telegram” link; the order number is passed as the start parameter
  • When the warehouse confirms delivery, an Odoo rule sends a webhook to the intermediate service
  • The service sends the message through the Telegram Bot API. A customer not connected to the bot receives an SMS, provided consent exists
  • If the customer writes “where is the courier?”, the question turns into a Helpdesk ticket, and an operator answers in Discuss
  • On an error, the record goes to the “failed” list and an alert is sent to the responsible employee
—
—
—
The BUline Method

How we implement messaging channels

The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →

01Diagnostic1–2 weeks

Which message suits which channel, where customers write, whether consent exists, Meta and provider accounts. Result: a business requirements document (BRD).

02Architecture1–3 weeks

The channel and the connection method (documentation, module, intermediate service) are chosen, hosting is confirmed, and the template and consent rules are written down.

03Testing and sprints8–16 weeks

The connection is tested in a copy of the database: a test database is created with no external messages sent. The template is approved in Meta, the status feedback is checked, followed by a pilot.

04Training

Operators, salespeople and managers are trained by role: taking over a conversation, sending a template, checking consent. We provide an instruction manual and video lessons.

05Post-launch support30 days + ongoing

After launch, 30 days of enhanced support, then agreed ongoing support. When Odoo or the provider changes, the connection is tested again.

Preparation

What to gather before we start

This list speeds up the diagnostic. We can start even if not everything is ready.

Accounts

  • A Meta business account and a phone number
  • A contract with the SMS provider, the sender name
  • The owner of the Telegram bot (BotFather account)

Messages

  • Which message is sent on which event
  • Text samples in Uzbek and Russian
  • Working hours: whether messages should be held back at night

Consent and domain

  • The customer list and the source of consent
  • Access to the email domain and DNS records
  • Hosting type: Online, Odoo.sh or your own server
Mistakes

Common mistakes and how to avoid them

MistakeConsequenceHow we prevent it
Deciding on hosting after choosing a moduleThird-party modules cannot be installed on OnlineAgree on hosting before choosing a channel
Leaving the Meta setup until lastUntil the app is switched to Live, messages go only to test numbersPrepare the account, payment method and privacy policy link at the start of the project
Testing in the production databaseA test message goes to a real customerTesting only in a copy of the database, with external actions disabled
Not checking consentThe advertising law is violatedA campaign only to contacts with consent
Storing the token and key in a shared placeThe key leaks, and someone writes in your nameThe key is held only by the bot user, and its validity period is monitored
FAQ

Frequently asked questions

Can Telegram be connected to Odoo?

The Odoo 20 documentation does not describe a Telegram connection. Telegram provides an open Bot API, the Apps Store has third-party modules, and a connection can also be made by sending a webhook from an Odoo rule. Which path fits depends on the hosting and the requirements: we choose it during the diagnostic.

Can SMS be sent from Odoo through Eskiz?

Eskiz has open API documentation, but according to the Odoo documentation, your own SMS provider does not work out of the box. The connection is built with a module or an intermediate service. The Eskiz contract and a test environment are requested during the diagnostic.

What is needed for WhatsApp?

The Enterprise edition, a Meta Business Platform account, approved templates and a publicly accessible https address. A personal account does not work. Until the Meta app is switched to Live, you can message test numbers only.

Do these channels work on Odoo Online?

WhatsApp, Live Chat, email and Odoo's SMS service work on Online. Third-party and custom modules are not compatible with Online, so for Telegram and Eskiz the path through a webhook and an intermediate service is chosen. Hosting types →

In which alphabet should an SMS be written to keep the cost lower?

According to the Odoo documentation, a GSM7 message fits 160 characters, and Unicode fits 70. We will test in Odoo's character counter which of the Uzbek letters switch a message to Unicode, and write the text accordingly.

Is permission needed to send a customer an advertising message?

Yes. The Law “On Advertising” requires the subscriber's prior consent. Resolution PQ-265 sets written or electronic consent for offers by SMS from November 1, 2026. Ask a lawyer how messages such as an order status differ.

How much does the service cost and how long does it take?

The Odoo license depends on the number of users and apps (terms are at odoo.com); WhatsApp is an Enterprise app. The terms of channel providers are separate. The scope of BUline's work depends on the number of channels, templates, the connection method, branches, customization and training. The exact cost and timeline are given in a written proposal after the free diagnostic.

Free diagnostic

Let’s decide together which Odoo apps to start with

During the diagnostic, we review your processes and tell you where standard Odoo is enough and where configuration is needed — with an app list, edition and phases.

Free diagnostic