Odoo Live Chat provides a rule-based chatbot alongside its human agent chat widget. For businesses that handle repetitive inbound questions - shipping status, return policies, product availability - the chatbot deflects traffic before it reaches the support queue. The configuration is visual and code-free, but the logic structure requires planning before you start.
Live chat channel setup#
Live Chat → Configuration → Live Chat Channels → New.
Each channel is a separate live chat widget with its own:
- Operator assignment: which employees (or bots) receive incoming chats.
- Availability rules: open hours for human agents.
- Chatbot: which bot script handles chats when no human agent is available.
- Channel email: where transcripts go.
Create separate channels for different business contexts: e-commerce site, dealer portal, internal help desk. Each gets its own embed code.
Embed code: Copy from the channel form → Go To Website. Add the snippet to your site's HTML or paste into the Odoo Website module directly.
Chatbot script structure#
A chatbot script is a decision tree. Live Chat → Configuration → Chatbots → [Bot] → Script.
Each script step has:
- Message: what the bot says.
- Step type: what happens next.
- Answers: the buttons the visitor sees (for button-based steps).
Step types#
| Step type | What it does |
|---|---|
| Text | Displays a message; proceeds immediately. |
| Question: Selection | Shows answer buttons; routes to different next steps by answer. |
| Question: Free Input | Captures free-text response (name, order number, etc.) |
| Create Lead | Creates a CRM lead from the conversation context. |
| Create Ticket | Creates a helpdesk ticket from the conversation context. |
| Forward to Operator | Transfers the chat to a human agent. |
| Asks for and validates an email address. |
Building a lead capture flow#
Step 1 (Text): "Hello! How can I help you today?"
Step 2 (Question: Selection):
Answers:
→ "Get a quote" → leads to Step 3a
→ "Track my order" → leads to Step 3b
→ "Talk to support" → leads to Step 3c
Step 3a (Question: Free Input): "What product are you interested in?"
Step 4a (Email): "What's your email address?"
Step 5a (Create Lead): creates lead with product + email
Step 6a (Text): "Thanks! A team member will contact you within 24 hours."
Step 3b (Question: Free Input): "Please enter your order number."
Step 4b (Text): "To track your order, visit our order status page: [link]"
Step 3c (Forward to Operator): Routes to human agent.The tree depth is unlimited. Add as many branches as needed.
Routing to human agents#
Forward to Operator passes the conversation to an available operator in the channel. If no operator is online, Odoo queues the chat and sends the visitor an offline message configured in the channel settings.
Availability configuration:
Live Chat → Configuration → Live Chat Channels → [Channel] → Availability:
- Set business hours (Monday–Friday 9 AM–6 PM).
- Outside hours: show offline form (visitor leaves an email), or continue bot-only mode.
The bot handles all chats when no agent is available. The agent handoff step is only reachable during staffed hours unless you configure the bot to handle it differently.
If all operators are busy:
Configure the maximum chat capacity per operator: Live Chat → Configuration → Settings → Maximum Chat Capacity. When all agents are at capacity, new chats either queue or the bot handles them.
Ticket and lead creation from bot#
The Create Lead and Create Ticket steps pull values from the conversation:
- Fields collected via "Email" steps populate the lead's email field.
- Fields collected via "Free Input" steps populate the description.
- The conversation transcript attaches automatically.
To map a free-input response to a specific lead field, use the Save as setting on the step: map the captured value to "Lead Name," "Phone," or any custom field.
For helpdesk tickets, the ticket type and team are set on the Create Ticket step configuration.
Testing a chatbot script#
Before publishing:
- Open the channel's chat widget preview: Go To Website → click the chat bubble.
- Walk through every branch of the script as a visitor.
- Check that leads and tickets are created correctly.
- Test the operator handoff: log in as an operator in another browser, verify the chat transfer appears in the operator's queue.
The bot preview in Odoo's admin interface does not create real leads/tickets - it simulates the conversation only. Use a real session via the embed on a test page to verify record creation.
Reporting#
Live Chat → Reporting:
- Conversations: volume, duration, operator response time.
- Bot effectiveness: rate at which the bot resolved conversations without operator handoff.
- Channel comparison: which channel has the highest deflection rate.
Deflection rate = (conversations resolved by bot without handoff) / (total conversations). A well-tuned bot for common FAQ patterns typically achieves 40–60% deflection.
If deflection is below 20%, review the bot script: the most common first messages from visitors likely do not match the script's initial question categories. Add those topics to the first branching step.

