Documentation
Docs
Learn
Release Notes
  • English
  • Українська
Docs
Learn
Release Notes
  • English
  • Українська
  • Getting Started

    • ConnectiveOne Documentation
    • Client Portal (support)
    • About this documentation
    • Editorial policy
    • Security and privacy
    • Support and service status
  • Channel Configuration

    • Channels

      • Connect communication channels to ConnectiveOne
      • Explanations

        • What is ConnectiveOne Widget
        • Widget JavaScript API
      • Instructions

        • How to Configure IP Blocking Message?
        • How to Configure Widget in Settings
        • How to Connect Facebook Messenger and Instagram to ConnectiveOne
        • How to Connect Gmail to ConnectiveOne
        • How to Connect Outlook to ConnectiveOne
        • How to Connect Telegram to ConnectiveOne
        • How to Connect Numbered Viber, Telegram, and WhatsApp via e-chat
        • How to Connect Viber to ConnectiveOne
        • How to Connect WhatsApp to ConnectiveOne
        • How to Customize Widget Colors
        • How to Manage Widget from Website
        • How to Pass Parameters from Website to Scenario
        • How to Configure Sending SMS via Alpha SMS
        • How to Configure Sending Viber/SMS via Infobip
        • How to Connect Widget to Website
        • Telephony

          • How to configure a telephony channel
          • How to configure webhook enrichment
        • How to Use Custom Code for Widget
        • How to Work with Widget on SPA Applications
  • Request Processing

    • Operator Panel (OperatorLine)

      • Operator — OperatorLine Scenarios Hub
      • Supervisor — OperatorLine Scenarios Hub
      • Configure Operator Panel for a support team
      • Integrator — Operator Panel Hub for OperatorLine
      • Explanations

        • About Processing Requests in ConnectiveOne
        • What Are Filters and Why You Need Them
        • Knowledge base sources in chat (CITATIONS block)
        • About Auto-Distribution of Dialogs Between Operators
        • About Automatic Connection of Free Operator to New Dialog
        • Instagram Content Display in Chats
        • About Connecting Chat with Operator Through Operator Panel
        • HEIC/HEIF image support (photos from iPhone)
        • About Redistribution of Chats from Operator
        • Email View Modes in Conversations
      • Instructions

        • Change Request Status
        • Create Filter
        • Create Folder
        • Create Outbound Request
        • How to create a ticket in OperatorLine
        • How to Download Attachments from the Dialog?
        • How to export a chat to PDF?
        • How to Link Tickets to Each Other?
        • How to Manage Email Reply Recipients?
        • Manage Folders
        • How to Edit Ticket Fields?
        • How to Manage Ticket Watchers?
        • Monitor Operator Statuses
        • Queue monitoring and distribution audit
        • Open Request
        • Reorder Folders
        • How to Reply to a Client?
        • Set Topic and Tags
        • How to Switch the Email View Mode in a Conversation?
        • Use Copilot
        • View knowledge base sources in chat
        • Use Quick Replies
        • How to View Active Dialogs in Client Card?
        • View Chat List
        • View Chats in Table
        • View Quality Assessment in Chat
        • View Request Queue
        • How to View Ticket Logs?
        • How to View Ticket SLA Metrics?
    • Client Portal

      • Client Portal — end-user hub
      • Client Portal — administrator hub
      • What is the ConnectiveOne Client Portal
      • Organization and ticket scope in Client Portal
      • Staff view in Client Portal
      • Instructions

        • How to sign in to Client Portal?
        • How to register in Client Portal?
        • How to view the ticket list?
        • How to create a ticket in Client Portal
        • How to comment on a ticket?
        • How to submit a CSAT rating?
        • How to use notifications?
        • How to enable self-registration in Client Portal?
        • How to configure ticket creation in Client Portal?
        • How to manage Client Portal organizations?
        • How to configure staff access to Client Portal
    • Profile

      • Configure your ConnectiveOne operator profile
      • Administrator — Profile Scenarios Hub
      • Instructions

        • How to Change Interface Language?
        • Configure Folders
        • Configure notifications in your profile
        • Configure Operator Settings in Profile
        • Configure Quick Replies
        • Configure Signature
    • BroadcastUsers (Clients)

      • Operator — BroadcastUsers Scenarios Hub
      • Integrator — BroadcastUsers Scenarios Hub
      • Administrator — BroadcastUsers Scenarios Hub
      • Explanations

        • Why Does One Client Have Many Channels?
        • Client Card Sections
        • About Registered Contacts and Visitors Without a Profile
      • Instructions

        • Create Segment by Filters
        • Edit Client Data
        • Export Client Data
        • Filter Clients
        • Manage Subscription
        • How to Search and Merge Similar Contacts
        • How to Find a Client?
        • Search Clients by File
        • Send Broadcast to Selected Clients
        • How to View a Client Card?
        • View Client Channels
        • View Visitors Without a Client Profile
  • Broadcasts

    • Broadcast

      • Operator — Broadcast Hub
      • Integrator — Broadcast Settings Hub
      • Analyst — Broadcast Analytics Hub
      • Instructions

        • How to Activate a Scheduled Broadcast?
        • How to Add Images to Broadcasts?
        • How to Check Broadcast Status?
        • How to Configure an Automatic Broadcast?
        • How to Configure Alias in Broadcasts?
        • How to Configure Broadcast Limits?
        • How to Create a Broadcast Template?
        • How to Create a Broadcast?
        • How to Create a Broadcast Topic?
        • How to Deactivate a Broadcast Topic?
        • How to Edit a Broadcast Draft?
        • How to Edit a Broadcast Topic?
        • How to Export Broadcast Results to Excel?
        • How to Format Messages in Broadcasts?
        • How to Launch a Broadcast Immediately?
        • How to Save a Broadcast as a Draft?
        • How to Find Contacts by File?
        • How to Send a Broadcast from the Clients Module?
        • How to Configure a Scheduled Broadcast?
        • How to Configure Subscription to Broadcast Topics?
        • How to View a Broadcast Report?
        • How to View Broadcast Results?
        • How to View Click Statistics?
        • How to View Delivery Statistics?
        • How to View Open Statistics?
  • Automation

    • Scenario Builder

      • Scenario Builder — Integrator Hub
      • Instructions

        • How to add translations to a scenario in Scenario Builder
        • How to Configure an Instagram Scenario in Scenario Builder
        • How to configure operator queue cascade
        • How to create a new bot scenario in Scenario Builder
        • How to create a scenario section in Scenario Builder
        • How to edit a scenario in Scenario Builder
        • How to edit a scenario together with colleagues
        • How to find a node on the canvas in Scenario Builder
        • How to export and import a scenario in Scenario Builder
        • How to send a client an HTML email from a scenario
        • How to test a scenario in Scenario Builder
        • How to use an action in a Scenario Builder scenario
        • How to use scenario secrets in Send Request
        • How to view scenario version history in Scenario Builder
        • How to view scenario C1 Flow (YAML) in Scenario Builder
    • Scenario Dialog (Legacy)

      • Integrator — Scenario Dialog Scenarios Hub (Legacy)
      • Explanations

        • Actions in Scenarios — What They Are and How They Work
        • About Using autobroadcast__create Action in Scenarios
        • About Copying Existing Bot Scenario
        • About ConnectiveOne Integration with Corezoid Through Operator Panel
        • About Displaying Images to User
        • About Email Categorization Using AI
        • About Facebook Ads Referral Tags
        • About Launching Scenario from Facebook Ads
        • About HTML Text Formatting in Telegram and Widget
        • About Inline Keyboard in Telegram and Widget
        • About Configuring Alias for Outgoing Dialog
        • About Payment via Bot
        • About Telegram Group Bots
        • Telegram Keyboard Button Styling
        • About Telegram WebApp in Scenarios
        • About Viber Keyboard Styling
        • About Viber Start Message
      • Instructions

        • How to Add Translations to a Scenario?
        • How to Create a New Bot Scenario?
        • How to Create a Scenario Section?
        • How to Edit an Existing Bot Scenario?
        • How to Export or Import a Scenario?
        • How to Use an Action in a Scenario?
        • How to View and Restore Scenario Versions?
    • ActionJail

      • Operator — ActionJail Scenarios Hub
      • Explanations

        • Action Jail Editor Sections
        • How Action Jail Data Flows to Scenario Builder
      • Instructions

        • How to Create a Custom Action in Action Jail
        • How to Create and Maintain an Action in ActionJail (Administrator)
        • AI Generator Setup in Action Jail (Administrator)
        • How to Clone an Action in ActionJail
        • How to Quickly Find an Action in ActionJail
        • How to Connect an ActionJail Action to a Bot Scenario (Integrator)
        • How to use saved scenario secrets in a custom Action Jail action
      • Reference

        • Actions Reference
        • Standard bot constants (Operator Panel)
        • Actions

          • Action add_to_cart
          • Action api__callnode
          • Action apple_google_pay
          • Action autobroadcast__create
          • Action autobroadcast__remove
          • Action broadcast__subscribe
          • Action broadcast__subscribed
          • Action broadcast__unsubscribe
          • Action call_node
          • Action card_pay
          • Action card_pay_block_scenario
          • Action chatroom_update
          • Action check_language
          • Action check_schedule
          • Action clear_constant
          • Action close_chatroom
          • Action create_hash
          • Action create_message
          • Action custom_modules__export
          • Action custom_modules__get
          • Action custom_modules__set
          • Action custom_modules__update
          • Action custom_modules_list
          • Action esputnik__push_contact
          • Action existing_chatroom
          • Action fastline
          • Action fastline_completion
          • Action fastline_pro
          • Action fastline_search
          • Action fastline_summarize
          • Action fastline_transcribe
          • Action files__get
          • Action fl_transfer_to_operator
          • Action fl_transfer_to_skill_group
          • Action generate_barcode
          • Action generate_list
          • Action get_channel
          • Action get_chat_room_messages
          • Action get_client_by_chat_room_id
          • Action get_command
          • Action get_language
          • Action get_ticket_info
          • Action get_user_input
          • Action goto_alias
          • Action if_else
          • Action interval__end
          • Action interval__end_all
          • Action interval__last
          • Action interval__start
          • Action language__get
          • Action language__set
          • Action log
          • Action loop__end
          • Action loop__start
          • Action loop_end
          • Action loop_start
          • Action menu_slider
          • Action meta_type
          • Action my_chatrooms_list
          • Action operator_panel__clear_data
          • Action operator_panel__connect_to_operator_with_msg
          • Action operator_panel__get_last_dialog
          • Action operator_panel__nps_confirm_answer
          • Action registered_users__check_phone
          • Action registered_users__get
          • Action registered_users__set
          • Action remove_from_cart
          • Action return_to_chatroom
          • Action scan_barcode
          • Action scan_qr
          • Action schedule__check
          • Action send_email
          • Action send_file
          • Action send_me
          • Action send_photo
          • Action send_request
          • Action send_sticker
          • Action send_video
          • Action set
          • Action set_current_date
          • Action set_language
          • Action sleep
          • Action statistic__set
          • Action subscription__check
          • Action subscription__remove
          • Action subscription__set
          • Action switch
          • Action test_list
          • Action testing__search
          • Action tickets_clear_input
          • Action tickets_create
          • Action tickets_create_v2
          • Action tickets_create_wrapped
          • Action tickets_list
          • Action tickets_update
          • Action validate
          • Action verify_online_payment
          • Action widget__callout
    • Integrations

      • Integrator — ConnectiveOne Integrations Hub
      • Explanations

        • Launch Scenario via Deeplink
        • Transfer UTM Tags Through Messages
        • What are ConnectiveOne Integrations
      • Instructions

        • How to Integrate Operator Panel as Widget in CRM/ERP
        • How to Configure Product Name for Zoho CRM
        • How to Integrate External System via Custom Channel
        • How to get API data with send_request
        • How to send ConnectiveOne data with send_request
        • How to Configure User Subscription to Notifications
        • How to Launch Bot Scenario via API call_node
        • How to Integrate ConnectiveOne with eSputnik
        • How to Send Phone Broadcast via Route
        • How to Use ConnectiveOne API
        • How to Configure Operator Panel Webhook
      • Reference

        • API Reference — ConnectiveOne API Reference
    • Custom Data

      • Integrator — Custom Data
      • Administrator — Custom Data hub
      • Analyst — Custom Data hub
      • Explanations

        • About Custom Data in ConnectiveOne
        • About Custom Data compared to other approaches
        • About large Custom Data tables
        • Custom Data patterns and examples
        • Advanced Custom Data Cases
      • Instructions

        • How to Add a Field to a Table?
        • How to bulk edit records?
        • How to configure field display?
        • How to configure field type?
        • How to configure row highlighting in Custom Data
        • How to configure a «List by API» (ActionJail) field?
        • How to configure system field types?
        • How to Create an Association Between Tables in Custom Data?
        • How to create a record card field group?
        • How to create a table?
        • How to edit a table?
        • How to enable the new Custom Data UI
        • How to Export Filtered Data?
        • How to Export Table Data?
        • How to Extend Client Contacts Table Through Custom Data?
        • How to filter records?
        • How to import data from a file?
        • How to import from Google Sheets?
        • How to speed up sorting on a large table?
        • How to Save Data from Scenario to Custom Data?
        • How to sort records?
        • How to use Ask AI for Custom Data?
        • How to Get a Record from Custom Data by Search Criteria?
        • How to Use Autocomplete Search in Custom Data?
        • How to Create a Record in Custom Data from Scenario Data?
        • How to use kanban view (board)?
        • How to use model starters?
        • How to use row macros?
        • How to use saved views?
        • How to use the process tab on a table?
        • How to use trash and restore tables?
        • How to Validate Data?
        • How to view table records?
      • Reference

        • Advanced Model Options Reference
        • Custom Data Field JSON Configuration Reference
        • Semantic field types reference
    • FileManager

      • Operator — FileManager Scenarios Hub
      • Instructions

        • How to Copy a File Link?
        • ⚠️ DEPRECATED: How to Create a Jira Task with a File?
        • How to Delete a File or Folder?
        • How to Navigate to a Folder?
        • How to Rename a File?
        • How to Upload a New File?
        • How to View the File List?
  • Artificial Intelligence

    • FastLinePro

      • Integrator — FastLinePro Scenarios Hub
      • Administrator — FastLinePro Scenarios Hub
      • Instructions

        • Activate KB Plugin
        • How to Check AI Agent Response in Scenario?
        • Check Synchronization Status
        • Configure agent prompt
        • How to bind a Scenario MCP Tool section to a Fast Line Pro agent
        • Connect and configure agent tools
        • How to Configure Agent Variables in FastLinePro?
        • How to Configure Chunking in FastLinePro Knowledge Base?
        • How to split a Fast Line Pro knowledge-base file with Ask AI
        • Configure KB Plugin Synchronization
        • Configure Knowledge Synchronization
        • How to Connect Knowledge Base to AI Agent in FastLinePro?
        • Create agent
        • How to Create a Chatbot?
        • How to Create a Knowledge Base?
        • Deactivate KB Plugin
        • How to Generate Gemini API Key for FastLine Pro
        • How to Prepare a File for FastLinePro Knowledge Base?
        • Run KB Synchronization
        • Update KB Files
        • Upload Files to KB
        • How to Use action_fastline_pro Action in Scenario?
    • Quality Assurance

      • Supervisor — Quality Assurance Scenarios Hub
      • Administrator — Quality Assurance Scenarios Hub
      • Analyst — Quality Assurance Scenarios Hub
      • Instructions

        • How to Adjust AI Assessment Criteria?
        • How to Approve Assessment?
        • Assess Request
        • Conduct Quality Check
        • How to Create a New Dialogue Assessment?
        • Export Assessments
        • Filter Assessments
        • Test a Checklist on a Real Dialogue
        • Use Checklist
        • View Assessment Details
        • How to View Assessments List and Find the Needed One?
        • View Quality Dashboard
        • View Quality Reports
  • Statistics

    • Statistics

      • Supervisor — Statistics Scenarios Hub
      • Administrator — Statistics Scenarios Hub
      • Analyst — Statistics Scenarios Hub
      • Explanation

        • Hybrid ticket analytics: how to read the dashboard
      • Instructions

        • Apply Filters to Report
        • How to Configure CSAT (Customer Satisfaction) in Statistics?
        • How to Create and Configure a Funnel in Statistics?
        • Create Detailed Report
        • Create Funnel
        • Export Report
        • How to Export Statistics Data?
        • Set Target Metrics
        • View Daily Report
        • View Dashboard
        • How to View Metabase Dashboards in Statistics Module?
        • How to View Operator Schedule in Statistics?
        • How to view the quality period summary?
        • View Shift Report
      • Reference

        • Statistics Metrics — Reference
  • Administration

    • Constructor

      • Constructor — home screen and navigation
      • Explanations

        • What is the instance knowledge base in Constructor
        • What is the AI Assistant
        • What are instance tours in the knowledge base
      • Instructions

        • How to use the Constructor home screen?
        • How to use the instance knowledge base
        • Use instance tours
        • How to use the AI Assistant
        • How to use web search and site reading in the AI Assistant
        • How to configure AI Assistant access
        • How to enable internet search and URL reading for the AI Assistant
    • Settings

      • Supervisor — Operator Panel Settings Hub
      • Administrator — System Settings Hub
      • Instructions

        • How to Activate or Deactivate a Bot?
        • How to Configure Authentication and Access Management?
        • How to configure Automatic Check schedule parameters
        • How to Configure a Bot?
        • How to Configure Operator Calendars?
        • How to Configure Chat Parameters?
        • How to Configure Field Display in the Client Card?
        • How to Configure Client Fields?
        • How to configure email templates (header and footer)?
        • How to Configure File Parameters?
        • How to get an MCP token for your ConnectiveOne instance
        • How to Configure Hot Keys?
        • How to Configure Instance Parameters?
        • How to Log In as a User?
        • How to manage scenario secrets
        • How to enable the Notification Center on the instance (root)
        • How to Configure Operators in Chats?
        • How to Configure Roles and Access Rights?
        • How to Configure Styles and Scripts?
        • How to Configure Ticket Topics?
        • How to Configure General System Settings?
        • How to Configure Ticket Parameters?
        • How to Configure Timers for Chats?
        • How to Configure User Fields?
        • How to Create a New Bot?
        • How to View Bots List?
        • How to view the settings change log?
        • How to View System Status?
        • How to View Users List?
      • Explanations

        • What are scenario secrets?
      • Reference

        • What Are Server Requirements for Hosting ConnectiveOne?
    • Access Recovery

      • Access Recovery — Scenarios Hub
      • Instructions

        • How to Enable Password Recovery Flow (Administrator)
        • How to Generate a Password Reset Link Manually (Administrator)
        • How to Reset Password Through "Forgot Password?"
  1. Docs
  2. /Integrations
  3. /How To
  4. /Crm Erp
  5. /How to Integrate ConnectiveOne with Odoo CRM

How to Integrate ConnectiveOne with Odoo CRM

Important: Odoo CRM integration (module, iframe, webhooks) is implemented by the client's IT team. ConnectiveOne provides public guides and standard mechanisms (autologin, event_webhook_url); it is not part of the CO implementation estimate.

This guide describes typical ways to integrate ConnectiveOne with Odoo CRM: embedding the operator panel, webhook events, and contact/lead synchronization. It is intended for teams building an Odoo module on the client side.

What Can Be Integrated

CapabilityDirectionDocumentation
Operator panel on contact / lead cardOdoo → ConnectiveOne (iframe + autologin)OP widget in Odoo
Chat events (created, operator connected, closed)ConnectiveOne → Odoo (webhook)Operator panel webhook
Lead create/update from botConnectiveOne → Odoo (XML-RPC / JSON-RPC)This doc, § «Leads and Contacts»
Custom fields to CRMTwo-way via scenario + Odoo API§ «Custom fields»
Discuss messagesUsually not duplicated — embed OP recommendedWhy embed

Recommended Architecture

Principle: dialogues and routing stay in ConnectiveOne; Odoo holds CRM cards, activities, and manager directories.


Step 1. Embed Operator Panel

Full guide: How to integrate operator panel as widget in Odoo CRM.

Summary:

  1. Match manager email in Odoo and ConnectiveOne.
  2. Store login_key for autologin in Odoo secure storage.
  3. Add iframe tab on res.partner / crm.lead.
  4. Build URL server-side with client phone.

Step 2. Operator Panel Webhook in Odoo

ConnectiveOne Configuration

In operator_panel__connect_to_operator_with_msg:

{
  "auto_connect_operator": true,
  "subject_alias": "support",
  "event_webhook_url": "https://your-odoo.example.com/connectiveone/events"
}

Event list and payload format — webhook configuration.

Example Odoo Controller (Python)

from odoo import http
from odoo.http import request

class ConnectiveOneWebhook(http.Controller):

    @http.route("/connectiveone/events", type="json", auth="public", methods=["POST"], csrf=False)
    def receive_event(self, **kwargs):
        data = request.jsonrequest
        event_name = data.get("event_name")
        client = data.get("client") or {}
        phone = client.get("phone")
        partner = False
        if phone:
            partner = request.env["res.partner"].sudo().search([
                "|", ("phone", "ilike", phone[-9:]),
                ("mobile", "ilike", phone[-9:]),
            ], limit=1)

        if event_name == "chat_created" and partner:
            partner.activity_schedule(
                "mail.mail_activity_data_todo",
                summary="New ConnectiveOne chat",
                note=data.get("text", ""),
            )
        elif event_name == "chat_closed_by_operator" and partner:
            partner.message_post(body="ConnectiveOne chat closed by operator")

        return {"status": "ok"}

Add authentication for production (shared secret header, VPN, or mTLS).

Typical CRM Event Actions

EventSuggested Odoo action
chat_createdActivity on partner / lead
operator_connectedChatter message
chat_closed_by_operatorClose activity, update stage
chat_transferred_to_operatorReassign responsible (optional)

Step 3. Leads and Contacts from Bot

Create Lead via Odoo External API

From Action Jail or scenario call Odoo External API:

// Example in custom action (pseudocode)
// authenticate → execute_kw('crm.lead', 'create', [{ name, phone, description }])

Recommended lead fields:

Odoo fieldBot source
nameClient name or request subject
phone / mobileScenario constant
descriptionRequest text / product
user_idAssigned manager (if known)
tag_idsChannel source (Telegram, Viber)

Step 4. Custom Fields and Identifiers

ConnectiveOne (OP client)Odoo
external_id / phoneres.partner.id
Custom field odoo_partner_idPartner ID
chat_room_idOptional field on partner

This enables correct dialogue deep links from iframe and webhook updates on the same card.


Step 5. Odoo System Parameters

KeyExampleDescription
connectiveone.instance_urlhttps://company.connectiveone.ioBase URL
connectiveone.login_key(secret)Autologin
connectiveone.default_bot_id12Bot for init_dialog
connectiveone.default_channeltelegramDefault channel
connectiveone.webhook_secret(secret)Webhook verification

Why Embed, Not Discuss

Duplicating chat in Odoo Discuss requires full message, attachment, and routing sync. That is costly to maintain and conflicts with ConnectiveOne skill groups.

Recommendation: operator panel iframe + webhooks for status and activities.


Implementation Checklist

  • Odoo users = ConnectiveOne operators (email)
  • Autologin URL tested on staging
  • iframe renders in partner / lead form view
  • Webhook endpoint handles chat_created and creates activity
  • (Optional) Action Jail creates crm.lead on bot request
  • CSP / cookies verified in production browsers
  • Secrets not in Odoo module repository

Limitations

  • Odoo Online may restrict custom controllers — check hosting plan
  • Autologin requires valid login_key
  • Webhook URL must be reachable from ConnectiveOne servers
  • Full two-way message sync is a separate large scope

Related Articles

  • Operator panel widget in Odoo
  • Integrate operator panel as widget (general)
  • Configure operator panel webhook
  • Integrate via Custom Channel
  • What are integrations

On this page