# Integrate Cloud Voice with Odoo CRM

Linking Cloud Voice to Odoo CRM (Customer Relationship Management) lets your Odoo users handle calls through their assigned extensions and brings your telephony and customer records together. This guide walks you through generating an Odoo API key, establishing the connection from the Cloud Voice portal, and mapping Odoo users to extensions.

## Before you begin

Make sure the following requirements are met on both sides of the integration.

**Odoo**

- Hosting type: Odoo Online
- Edition: Odoo Enterprise
- Version: Odoo 14.0 or later
- Use the **Administrator account** of the Odoo database to set up the integration.
- Have these details from your Odoo database on hand:
  - The name of the database where Odoo CRM is installed.
  - The domain name of that same database.

**Cloud Voice phone system**

- Firmware version 84.21.0.66 or later.

## Step 1. Create an API key in Odoo

Cloud Voice authenticates to Odoo with an API (Application Programming Interface) key, a secret token that lets one system access another on your behalf. Generate one first.

1. Sign in to the [Odoo Database Manager](https://www.odoo.com/my/databases) using an administrator account.
2. Locate the database that hosts Odoo CRM and click **Connect** next to it.

   
   ![Cloud Voice, the Connect button beside a database in the Odoo Database Manager](/images/pbx/odoo-crm-connect-to-database.png)

3. On the Odoo dashboard, open the account menu in the top-right corner and choose **Preferences**.

   ![The account menu expanded to show the Preferences option in Odoo](/images/pbx/odoo-crm-account-preferences.png)

4. Switch to the **Account Security** tab in the dialog, then click **NEW API KEY**.

   ![The Account Security tab with the New API Key button in Odoo preferences](/images/pbx/odoo-crm-create-api-key.png)

5. Type a description that identifies the key, then click **GENERATE KEY**.

   
   ![Cloud Voice, entering a description for a new Odoo API key](/images/pbx/odoo-crm-api-key-description.png)

6. Copy the generated key and store it somewhere safe, then click **DONE**. You will paste this key into Cloud Voice in the next step to authorize access to your Odoo user and CRM data.

:::caution
Odoo shows the API key only once, at creation. It cannot be viewed again afterward. If you lose it, delete the key and generate a replacement.
:::

## Step 2. Connect Odoo CRM to Cloud Voice

1. Sign in to the Cloud Voice management portal and go to **Integrations > CRM > Odoo**.

   
   ![Cloud Voice, selecting Odoo on the CRM integration page](/images/pbx/crm-integration-select-odoo.png)

2. Enter the authentication details you gathered from Odoo.

   ![The Odoo connection form with address, database, login, and API key fields](/images/pbx/odoo-crm-enter-autentication-information.png)

   - **Your Odoo Address**: The domain name of the database where Odoo CRM is installed.
   - **Database Name**: The name of that database.
   - **Administrator Login Name**: The email address used to sign in to the Odoo administrator account.
   - **API Key**: The key you created in Step 1.

3. Click **Save**. A dialog reports the outcome of the authentication attempt.

   ![A dialog confirming the Odoo authentication result](/images/pbx/odoo-crm-authentication-result.png)

4. Click **OK**. When the **Status** field reads **Connected**, Cloud Voice is linked to Odoo CRM.

   ![The integration page showing a Connected status for Odoo](/images/pbx/odoo-crm-connected.png)

## Step 3. Map Odoo users to extensions

With the connection in place, pair each relevant Odoo user with a Cloud Voice extension.

1. On the CRM integration page, click the refresh icon next to **Odoo User** to pull in the current list of Odoo CRM users.

   ![The Odoo user list on the CRM integration page after a refresh](/images/pbx/sync-users-from-odoo-crm.png)

2. Associate Odoo users with extensions using either method below.

   :::note
   Cloud Voice imports every Odoo user, regardless of type (Internal, Portal, and Public users). You only need to map extensions to the users who actually require call handling.
   :::

   **Associate automatically**

   Use this when a user's Odoo account and their extension share the same email address. Cloud Voice can then match them for you.

   ![The Associate Automatically option on the CRM integration page](/images/pbx/odoo-crm-associate-automatically.png)

   1. Click **Associate Automatically**.
   2. Click **OK** in the confirmation dialog.
   3. Click **Save**.

   **Associate manually**

   Use this when a user's Odoo account and extension use different email addresses, so you need to pair them by hand.

   
   ![Cloud Voice, manually pairing an Odoo user with an extension](/images/pbx/odoo-crm-associate-manually.png)

   1. In the **Extension / Extension Group** field next to the Odoo user, click the edit icon.
   2. Select the extension or extensions for that user in the dialog.
   3. Click **Confirm**.
   4. Click **Save**.

## Result

The integration between Cloud Voice and Odoo CRM is now active. Mapped Odoo users can place and receive calls on their extensions.

## What to do next

- [Set up contact synchronization with Odoo CRM](/pbx/integrations/odoo/set-up-contact-synchronization-with-odoo-crm/)
- [Set up lead or contact creation for Odoo CRM](/pbx/integrations/odoo/set-up-automatic-lead-or-contact-creation-for-odoo-crm/)
- [Set up call popup for inbound calls](/pbx/integrations/odoo/set-up-call-popup-for-inbound-calls/)
- [Use the Odoo CRM integration](/pbx/integrations/odoo/use-odoo-crm-integration/)
