Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions ai_oca_bridge_chatter/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=====================
Ai Oca Bridge Chatter
=====================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:57dc3cf709469bf2be35d088794b713d47b74b9aa9c9beb7f1f9f2cf088ee9d2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fai-lightgray.png?logo=github
:target: https://github.com/OCA/ai/tree/19.0/ai_oca_bridge_chatter
:alt: OCA/ai
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/ai-19-0/ai-19-0-ai_oca_bridge_chatter
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/ai&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows usage of LLM chatbots inside Odoo.

The logic of the chatbot should be defined in an external system like
n8n.

**Table of contents**

.. contents::
:local:

Configuration
=============

On your external AI system create a workflow that will receive messages
and will return the call directly.

Here you can see an `example <./static/description/Chat.json>`__ of
configuration in n8n.

After that, create a bridge with usage type chatter and payload type
chatter. Then, create a user and assign the bridge to it.

With this configuration, the user will answer automatically using the
external systema and will be online permanently. It can be used on
livechat without any issues.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/ai/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/ai/issues/new?body=module:%20ai_oca_bridge_chatter%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Dixmit

Contributors
------------

- `Dixmit <https://www.dixmit.com>`__

- Enric Tobella

- `Binhex <https://www.binhex.cloud/>`__

- Adria Hortoneda

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/ai <https://github.com/OCA/ai/tree/19.0/ai_oca_bridge_chatter>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions ai_oca_bridge_chatter/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions ai_oca_bridge_chatter/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 202 Dixmit
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Ai Oca Bridge Chatter",
"summary": """Integrate a Bridge with a user that will use it on chatter""",
"version": "19.0.2.0.0",
"license": "AGPL-3",
"author": "Dixmit,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/ai",
"depends": [
"ai_oca_bridge",
],
"data": [
"views/res_users.xml",
"views/ai_bridge.xml",
],
"demo": [],
}
84 changes: 84 additions & 0 deletions ai_oca_bridge_chatter/i18n/ai_oca_bridge_chatter.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * ai_oca_bridge_chatter
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_res_users__ai_bridge_id
msgid "AI Bridge"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_ai_bridge
msgid "Ai Bridge Configuration"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_ai_bridge_execution
msgid "Ai Execution"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields.selection,name:ai_oca_bridge_chatter.selection__ai_bridge__payload_type__chatter
#: model:ir.model.fields.selection,name:ai_oca_bridge_chatter.selection__ai_bridge__usage__chatter
msgid "Chatter"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge_execution__chatter_user_id
msgid "Chatter User"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_res_partner
msgid "Contact"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,help:ai_oca_bridge_chatter.field_ai_bridge__usage
msgid ""
"Defines how this bridge is used. If 'Thread', it will be used in the mail "
"thread context."
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_discuss_channel
msgid "Discussion Channel"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge__payload_type
msgid "Payload Type"
msgstr ""

#. module: ai_oca_bridge_chatter
#. odoo-python
#: code:addons/ai_oca_bridge_chatter/models/ai_bridge_execution.py:0
msgid "The message does not belong to any channel."
msgstr ""

#. module: ai_oca_bridge_chatter
#. odoo-python
#: code:addons/ai_oca_bridge_chatter/models/ai_bridge.py:0
msgid "The record must be a mail.message instance."
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge__usage
msgid "Usage"
msgstr ""

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_res_users
msgid "User"
msgstr ""
91 changes: 91 additions & 0 deletions ai_oca_bridge_chatter/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * ai_oca_bridge_chatter
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-08-16 01:25+0000\n"
"Last-Translator: \"Leonardo J. Caballero G.\" <leonardocaballero@gmail.com>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.4\n"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_res_users__ai_bridge_id
msgid "AI Bridge"
msgstr "Puente de IA"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_ai_bridge
msgid "Ai Bridge Configuration"
msgstr "Configuración de puente de IA"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_ai_bridge_execution
msgid "Ai Execution"
msgstr "Ejecución de IA"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields.selection,name:ai_oca_bridge_chatter.selection__ai_bridge__payload_type__chatter
#: model:ir.model.fields.selection,name:ai_oca_bridge_chatter.selection__ai_bridge__usage__chatter
msgid "Chatter"
msgstr "Chatter"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge_execution__chatter_user_id
msgid "Chatter User"
msgstr "Usuario de Chatter"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_res_partner
msgid "Contact"
msgstr "Contacto"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,help:ai_oca_bridge_chatter.field_ai_bridge__usage
msgid ""
"Defines how this bridge is used. If 'Thread', it will be used in the mail "
"thread context."
msgstr ""
"Define cómo se utiliza este puente. Si es 'Hilo', se usará en el contexto "
"del hilo de correo."

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_mail_channel
msgid "Discussion Channel"
msgstr "Canal de discusión"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge__payload_type
msgid "Payload Type"
msgstr "Tipo de carga útil"

#. module: ai_oca_bridge_chatter
#. odoo-python
#: code:addons/ai_oca_bridge_chatter/models/ai_bridge_execution.py:0
#, python-format
msgid "The message does not belong to any channel."
msgstr "El mensaje no pertenece a ningún canal."

#. module: ai_oca_bridge_chatter
#. odoo-python
#: code:addons/ai_oca_bridge_chatter/models/ai_bridge.py:0
#, python-format
msgid "The record must be a mail.message instance."
msgstr "El registro debe ser una instancia de mail.message."

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge__usage
msgid "Usage"
msgstr "Uso"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_res_users
msgid "User"
msgstr "Usuario"
91 changes: 91 additions & 0 deletions ai_oca_bridge_chatter/i18n/es_VE.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * ai_oca_bridge_chatter
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-08-16 01:25+0000\n"
"Last-Translator: \"Leonardo J. Caballero G.\" <leonardocaballero@gmail.com>\n"
"Language-Team: none\n"
"Language: es_VE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.4\n"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_res_users__ai_bridge_id
msgid "AI Bridge"
msgstr "Puente de IA"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_ai_bridge
msgid "Ai Bridge Configuration"
msgstr "Configuración de puente de IA"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_ai_bridge_execution
msgid "Ai Execution"
msgstr "Ejecución de IA"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields.selection,name:ai_oca_bridge_chatter.selection__ai_bridge__payload_type__chatter
#: model:ir.model.fields.selection,name:ai_oca_bridge_chatter.selection__ai_bridge__usage__chatter
msgid "Chatter"
msgstr "Chatter"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge_execution__chatter_user_id
msgid "Chatter User"
msgstr "Usuario de Chatter"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_res_partner
msgid "Contact"
msgstr "Contacto"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,help:ai_oca_bridge_chatter.field_ai_bridge__usage
msgid ""
"Defines how this bridge is used. If 'Thread', it will be used in the mail "
"thread context."
msgstr ""
"Define cómo se utiliza este puente. Si es 'Hilo', se usará en el contexto "
"del hilo de correo."

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_mail_channel
msgid "Discussion Channel"
msgstr "Canal de discusión"

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge__payload_type
msgid "Payload Type"
msgstr "Tipo de carga útil"

#. module: ai_oca_bridge_chatter
#. odoo-python
#: code:addons/ai_oca_bridge_chatter/models/ai_bridge_execution.py:0
#, python-format
msgid "The message does not belong to any channel."
msgstr "El mensaje no pertenece a ningún canal."

#. module: ai_oca_bridge_chatter
#. odoo-python
#: code:addons/ai_oca_bridge_chatter/models/ai_bridge.py:0
#, python-format
msgid "The record must be a mail.message instance."
msgstr "El registro debe ser una instancia de mail.message."

#. module: ai_oca_bridge_chatter
#: model:ir.model.fields,field_description:ai_oca_bridge_chatter.field_ai_bridge__usage
msgid "Usage"
msgstr "Uso"

#. module: ai_oca_bridge_chatter
#: model:ir.model,name:ai_oca_bridge_chatter.model_res_users
msgid "User"
msgstr "Usuario"
Loading
Loading