Commit Graph
13 Commits
Author SHA1 Message Date
Aurélien WarnonandPatrick Hoste ea680d8595 [IMP] im_livechat: introduce chatbot scripts
PURPOSE

This commit introduces a chatbot operator that works based on a user-defined
script with various steps.

SPECS

A im_livechat.chatbot.script can be defined on a livechat rule.
When a end-user reaches a website page that matches the rule, the chat window
opens and the script of the bot starts iterating through its steps.

The chatbot code is currently directly integrated with the existing livechat
Javascript code.
It defines extra conditions and layout elements to be able to automate the
conversation and register user answers.

AVAILABLE STEPS

A script is defined with several steps that can currently be one of the
following types:

"text"

A simple text step where the bot posts a message without expecting an answer
e.g: "Hello! I'm a friendly robot!"

"question_selection"

The bot will ask a question and suggest answers, the end-user will have to
click on the answer he chooses
e.g: "How can I help you?
  -> Create a Ticket
  -> Create a Lead
  -> Speak with a human"

"question_email"

That step will ask the end user's email address (and validate it)
The result is saved on the linked im_livechat.im_livechatchatbot.mail.message

"question_phone"

Same logic as the 'question_email' for a phone number
We don't validate the input this time as it's a complicated process
(requires country, ...)

"forward_operator"

Special type of step that will add a human operator to the conversation when
reached, which stops the script and allow the visitor to discuss with a
real person.

The operator will be chosen among the available operators on the
livechat.channel.

If there is no operator available, the script continues normally which allows
to automate an "answering machine" that will redirect the user in case no
operator is available.

e.g: "I'm sorry, no operator is available right now, please contact us by email
at 'info@company.com', we will try to respond as soon as possible!".
(Or even something more complex with multiple questions / paths).

"free_input_single"

Will ask the visitor for a single line of text.
This text is not saved anywhere else than in the conversation, but it's still
useful when combined with steps that create leads / tickets since those print
the whole conversation into the description.

"free_input_multi"

Same as "free_input_single" but lets the user input multiple lines of text.
The frontend implementation is made by waiting a few seconds (currently 10) for
either the next submitted message or the next character typed into the input.

This lets visitors explain their issue / question with multiple messages.
Which is very useful since new messages are sent every time you press "Enter".

LINKS

Task-2030386

Part-of: odoo/odoo#84000
Co-authored-by: Patrick Hoste <pko@odoo.com>
Co-authored-by: Aurélien Warnon <awa@odoo.com>
2022-04-01 18:49:56 +02:00
Jérome Maes 132e96accb [IMP] im_livechat : refactoring + improving performance by removing rpc call 2015-09-01 20:58:11 +02:00
Jérome Maes 95b97d1010 [REF] im_livechat : refactoring, make it compatbile with the nw mail module, change reporting sql view (split them in 2), adapt view, ... 2015-09-01 20:16:09 +02:00
Jérome Maes a80219e292 [MIG] bus, im_chat, im_livechat, website_livechat : migration to new API.
Migrate the models and controller to new API. Renaming xml id according to convention, renaming openerp tag into odoo tag. Add comment strings and documentations.
2015-04-28 17:04:16 +02:00
Jérome Maes 6dcad6d0ec [IMP] im_livechat : add rule to display (or not) the support button. 2014-11-21 15:21:17 +01:00
Jérome Maes 85dda405e8 [IMP] im_chat, im_livechat : add reporting view, quit conversation, option dropdown menu, feedback for live support, better access rules and shortcode model. 2014-10-03 12:08:02 +02:00
Antony Lesuisse c60798d3b0 MERGE] odoo bus, im_chat and im_livechat
Add a generic bus for instant communication based on postgres LISTEN/NOTIFY and HTTP comet.
Both threaded and gevent greenlet mode are supported. Chat should now work on every platform.

im_chat improvements
- proper support for multiple windows
- present, away and offline status
- improved data model for multi user chat session

im_livechat improvements
- standard css js assets are now used
- qweb templates are now used instead of jinnja
2014-06-29 04:01:13 +02:00
Christophe Simonis c202dc1c52 merge upstream
bzr revid: chs@openerp.com-20140129190834-xfcat3ulfbg5omhn
2014-01-29 20:08:34 +01:00
Denis Ledoux f13dd8cee7 [FIX][ADD] im, im_livechat: fix security rules and add history when opening a conversation
bzr revid: dle@openerp.com-20140128162649-aptjndl85ocmem8a
2014-01-28 17:26:49 +01:00
Thibault Delavallée 3ecb289c1e [FIX] addons: fixed some references to portal.group_portal -> base.group_portal
bzr revid: tde@openerp.com-20131008132616-6rhc4xuzfgtyvweg
2013-10-08 15:26:16 +02:00
Christophe Matthieu 6a9bbba17e [IMP] remove portal_anonymous, create group_public in server and public user in website
bzr revid: chm@openerp.com-20130726090445-4mmd1xlx5uwd6vmx
2013-07-26 11:04:45 +02:00
Thibault Delavallée 9dec66ed63 [FIX] im_livechat: fixed missing access rules for portal users.
bzr revid: tde@openerp.com-20130524133341-5k17letufzurpuek
2013-05-24 15:33:41 +02:00
niv-openerp 296b9fbbb4 Renammed modules
bzr revid: nicolas.vanhoren@openerp.com-20130315112153-ftm3i021erfnqp01
2013-03-15 12:21:53 +01:00