Htet Lin.
← All work
Intelgrity Consulting, Singapore · October to November 2026

Odoo 19 Enterprise, website assistant and AI integrations

Took over an undocumented production ERP and website, built a 240-step branded website assistant with WhatsApp handover and CRM routing, fixed the booking and email experience, and connected Odoo to ChatGPT and Claude through scoped API modules.

Role: Lead Odoo consultant and developer

Odoo 19 EnterpriseLive ChatAppointmentsMCPAWSPostgreSQL 17
240
Chatbot steps
599
Conversation paths verified
0
Dead ends
Odoo 19 Enterprise, website assistant and AI integrations

Summary

Intelgrity is a Singapore business-growth consultancy running CRM, sales, accounting, appointments and its public website on Odoo 19 Enterprise. I took over the platform after the previous vendor left, audited it, and delivered a series of change requests that turned a stock Odoo setup into a branded, assistant-driven lead funnel, then opened the system to AI clients through two in-house API modules.

Challenge

  • No documentation, no backups, and an unregistered enterprise database with a lock date four weeks away.
  • A marketing site built on a custom standalone layout that bypassed Odoo’s page framework, so live chat and editor behaviour did not work on it.
  • A client brief for a website assistant with strict conversation standards, lead qualification and WhatsApp handover, to be built with Odoo’s native chatbot rather than a third-party widget.
  • A booking page that embedded the whole Odoo site inside itself, producing duplicate headers, cookie banners and chat windows.

What I delivered

Platform audit and safety net. Mapped the hosting layout, services, mail flow and risks on day one. Established verified database and source backups with checksums and a repeatable restore recipe.

Branded website assistant on Odoo Live Chat. Built a 240-step rule-based chatbot from the client’s Chatbot SOP: seven topic branches, 24 approved FAQ answers, consent-based contact capture, and lead routing to Sales, Technical, Marketing and Client Support teams. When no agent is online the bot offers a WhatsApp handover with a pre-filled, topic-tagged message. Every one of the 599 conversation paths was walked by script before go-live.

Chat design to match the brand. Replaced the default widget look with the client’s navy-to-teal palette, Inter typography, flat message cards, pill answer buttons and a logo-mark avatar, delivered as a stylesheet injected into the chat’s shadow DOM so it survives upgrades.

Website integration fixes. Made the standalone layout cooperate with Odoo: chat loader injection, correct behaviour inside the website editor, and a bare embed rendering mode triggered by iframe requests. Rebuilt the Growth Strategy Session page so the appointment calendar appears as a native, auto-sizing part of the page.

Email and identity fixes. Corrected outgoing Reply-To after the migration off Odoo Online, cleaned email signatures, and restored portal document previews through a versioned module migration.

AI integrations. Deployed two in-house modules: a scoped Bearer-token JSON API for external assistants such as ChatGPT and Grok, and a Model Context Protocol server so Claude Code and Claude Desktop can read Odoo data with per-model scopes, rate limits and an audit trail. Installed on the live database without downtime.

Techniques worth noting

  • Odoo chatbot branching rule: answers from the same question combine with OR, answers from different questions with AND. The script was generated programmatically around that rule and verified by a path walker.
  • Odoo 19’s live chat renders inside a shadow DOM; theming is done by registering a stylesheet on the embed asset bundle.
  • Iframe detection via the Sec-Fetch-Dest header lets one layout serve both full pages and bare embeds.
Branded Odoo Live Chat assistant with topic menu and FAQ answer
Branded Odoo Live Chat assistant with topic menu and FAQ answer
Themed appointment calendar embedded in the Growth Session page
Themed appointment calendar embedded in the Growth Session page
Booking details form styled to the brand
Booking details form styled to the brand
Assistant on a phone screen
Assistant on a phone screen