| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Invoicing (account) • Purchase (purchase) • Discuss (mail) |
| Lines of code | 1115 |
| Technical Name |
tamadoo_telegram_integration |
| License | OPL-1 |
| Website | https://tamadoo.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Invoicing (account) • Purchase (purchase) • Discuss (mail) |
| Lines of code | 1115 |
| Technical Name |
tamadoo_telegram_integration |
| License | OPL-1 |
| Website | https://tamadoo.com |
Tamadoo Telegram Integration
Run your Odoo business from Telegram. Browse, search, and create sales orders, invoices, purchase orders, and contacts — all via chat. Get instant alerts the moment a deal closes, invoice is posted, or payment arrives. Real-time webhook, zero polling delay.
Odoo 18 Webhook Real-time Multi-company OPL-1Screenshots
Key Features
Real-time Webhook
Messages processed instantly via Telegram's push webhook — no cron polling, zero delay.
Browse & Search
List recent sales, invoices, purchases, contacts with pagination. Search any record by name or ID.
Create Records
Guided multi-step creation for sale orders, invoices, purchase orders, and contacts — entirely in chat.
Instant Notifications
Automatic Telegram alerts: sale confirmed, invoice posted, invoice paid, purchase confirmed.
Access Control
Whitelist of allowed chat IDs. Unauthorized chats are silently rejected.
Multi-company Ready
Each bot config is scoped to a company. All data queries are filtered to the configured company.
Webhook Security
Optional secret token verified on every incoming request (X-Telegram-Bot-Api-Secret-Token header).
Session Management
Per-chat conversation state. Stale sessions cleaned up automatically every 2 hours.
Bot Commands
View Records
| Command | Description |
|---|---|
/sales | Browse recent sale orders (5 per page, paginated) |
/invoices | Browse recent invoices |
/purchases | Browse recent purchase orders |
/contacts | Browse recent contacts |
Search
| Command | Description |
|---|---|
/search | Search by name or ID — choose type (contact / sale / invoice / purchase), then type a query |
Create Records
| Command | Description |
|---|---|
/newsale | Create a sale order (customer → products → confirm) |
/newinvoice | Create an invoice (customer → date → products → confirm) |
/newpurchase | Create a purchase order (vendor → products → confirm) |
/newcontact | Create a contact (name → email → phone → company?) |
Other
| Command | Description |
|---|---|
/start | Welcome message |
/help | Full command list |
/status | Bot connection status |
/cancel | Cancel any in-progress operation |
Architecture & Data Flow
BotFather is used only once at setup to obtain the bot token. It is never part of the live data flow.
Automatic Notifications
| Event | Toggle |
|---|---|
| Sale order confirmed | Notify: Sale Confirmed |
| Invoice posted | Notify: Invoice Posted |
| Invoice paid / in payment | Notify: Invoice Paid |
| Purchase order confirmed | Notify: Purchase Confirmed |
Example: Create a Sale from Telegram
User: /newsale
Bot: 🛒 New Sale Order
Step 1 of 3: Customer
Type the customer name to search.
User: John
Bot: Found 2 customers:
[👤 John Doe] [👤 John Smith]
User: [taps John Doe]
Bot: ✅ Customer: John Doe
Step 2 of 3: Products
Type a product name to search.
User: Vaccine
Bot: [💊 Rabies Vaccine]
User: [taps Rabies Vaccine] → Quantity: 2 → Price: 150000
Bot: ✅ Added: Rabies Vaccine — 2 × Rp 150.000 = Rp 300.000
Type another product name or /done
User: /done
Bot: ✅ Sale Order Created!
Order: S/2026/0042
Customer: John Doe
Total: Rp 300.000
Requirements
| Requirement | Notes |
|---|---|
| Odoo 18.0 | Community or Enterprise |
Python requests library | pip install requests |
| Telegram account | Free — bot created via @BotFather |
| Public HTTPS URL | Production server, or ngrok for local development |
Quick Setup
- Create a Telegram bot via @BotFather → copy the token.
- Get your Telegram chat ID via @userinfobot.
- Install the module in Odoo.
- Go to Settings → Technical → Telegram Bot → fill in token, webhook URL, allowed chat IDs.
- Click Set Webhook — done. Your bot is live.
localhost:8069 with a public HTTPS URL.
Run ngrok http 8069, copy the URL, set it as your Webhook URL, click Set Webhook.
Security Notes
- Bot token stored in Odoo DB — protect your database access.
- Allowed Chat IDs whitelist prevents unauthorized users from interacting with the bot.
- Webhook Secret Token option verifies that requests genuinely originate from Telegram.
- All webhook traffic uses HTTPS.
- Message text passes through Telegram's servers (covered by Telegram's Privacy Policy).
- Odoo data sent as formatted reply text — no raw database dumps.
Module Structure
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