Navigation
Middleware CRM · 8 min read

Connect CRM Integration

Connect CX-Engine to your CRM for screen pop and automatic call logging on inbound and outbound calls.

#Setting Up the Integration

In the CX-Engine application, go to the Integrations menu. The page displays all currently connected integrations along with their associated API keys. To connect a new CRM, click the Add Integration button, select the integration corresponding to your CRM, choose the desired authentication method, and fill in the corresponding parameters (URL, username, password, etc.). The specific requirements for each integration are listed further down this page.

Once connected, the integration appears in the list with its API key visible. You can then configure it from the CRM Connector > Settings menu.

In the Settings menu, features such as contact lookup and call logging are configured in two steps:

  1. Enable the feature at the general level by toggling it on
  2. Under each enabled feature, check the desired integrations to activate it for

If one or more PBXs are associated with the account, you can also enable call data enrichment. This allows retrieval of information not transmitted by the native IPBX CRM integration — for example, the direct line dialed by the contact, call segments, audio recordings, etc.

Enable the basic Middleware features for CRM integrations

#Integration-Specific Setup

#Business Central (via Dynamics 365)

Prerequisites

Before proceeding with the configuration, make sure you have the following information provided by Business Central:

  • The API URL of your instance, for example https://api.businesscentral.dynamics.com/v2.0/{tenant-id}/Dev/ODataV4/Company('CX-Engine')
  • The client_id / client_secret pair for authentication

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Dynamics 365.

In the popup window, enter the following values:

  • API Key Type: OAuth 2.0 Client Credentials
  • API URL: Enter the base API URL: https://api.businesscentral.dynamics.com
  • Client ID: Enter your client_id
  • Client Secret: Enter your client_secret
  • Tenant ID: Enter the company name from Company(), without quotes — for example CX-Engine
  • Scope: Enter the portion just before ODataV4 — for example Dev

Dynamics 365 integration configuration — URL breakdown

In the CRM Connector > Settings menu, click Configure on the Dynamics 365 integration, then select the Dynamics 365 Business Central variation. In the table lookup order, add a section for the built-in Contacts table.

When an agent creates a contact from the screen-pop, CX-Engine creates it in this same Contacts table, as a contact of type Person.

#Loji (by Neoteem)

Prerequisites

Before proceeding with the configuration, make sure the call logging module is enabled on your Loji instance. You will need the following information provided by Neoteem:

  • The URL and port of the Loji instance
  • The username / password pair for authentication

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Neoteem.

In the popup window, enter the following values:

  • API Key Type: Basic Auth
  • API URL: Enter the base API URL and port of your instance, for example https://voip.neotimm.com:123
  • Username / Password: Enter the values provided by Neoteem

#Dynamics 365 Sales

Prerequisites

  • The URL of your Dynamics 365 environment, for example https://yourorg.crm4.dynamics.com
  • A Microsoft account with access to this environment, to authorize CX-Engine

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Dynamics.

In the popup window, enter the following values:

  • API Key Type: OAuth Azure
  • Domain (Api URL): Enter the URL of your Dynamics 365 environment

After saving, you are redirected to Microsoft to sign in and authorize CX-Engine. Once back in CX-Engine, go to CRM Connector > Settings, click Configure on the integration and keep the Dynamics 365 (default) variation.

#Salesforce

Prerequisites

  • A Salesforce user allowed to access the Salesforce API, to authorize CX-Engine

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Salesforce.

In the popup window, enter the following values:

  • API Key Type: OAuth 2.0 Authorization Code

After saving, you are redirected to Salesforce to sign in and authorize CX-Engine (access to the API and offline access through a refresh token). No URL or key needs to be entered manually.

#HubSpot

Prerequisites

Choose one of the two authentication methods:

  • OAuth 2.0 Authorization Code (recommended): a HubSpot user who can authorize CX-Engine on the HubSpot account
  • API token: the access token of a HubSpot private app (it starts with pat-). Give the private app the same scopes CX-Engine requests through OAuth: crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.owners.read, crm.objects.deals.read, crm.objects.deals.write

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Hubspot.

In the popup window, enter the following values:

  • API Key Type: OAuth 2.0 Authorization Code, or Api token
  • Token (Api token only): Paste the private app access token

With OAuth, after saving you are redirected to HubSpot to choose the account and authorize CX-Engine.

#Sellsy

Prerequisites

  • A Sellsy API access of the personal access type, created from your Sellsy account, with its client_id / client_secret pair

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Sellsy.

In the popup window, enter the following values:

  • API Key Type: OAuth 2.0 Personal Access Token
  • Client ID: Enter your client_id
  • Client Secret: Enter your client_secret

#ActiveCampaign

Prerequisites

  • The API URL of your ActiveCampaign account, for example https://youraccount.api-us1.com
  • An ActiveCampaign API key

Both are shown in the developer settings of your ActiveCampaign account.

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Active Campaign.

In the popup window, enter the following values:

  • API Key Type: Api token
  • Api URL: Enter your account API URL, without the /api/3 suffix
  • Token: Enter your API key

Calls are logged as tasks. In CRM Connector > Settings, you can set the default owner email and the task type to use.

#GLPI

Prerequisites

The GLPI REST API must be enabled on your instance. You will need:

  • The URL of the GLPI REST API, for example https://glpi.example.com/apirest.php
  • An app token, from an API client declared in GLPI's API settings
  • A user token: the API token of the GLPI user that CX-Engine will act as

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select GLPI.

In the popup window, enter the following values:

  • API Key Type: App & User token
  • Api URL: Enter the GLPI REST API URL
  • App token: Enter the app token
  • User token: Enter the user token

Calls are logged as a task on an existing GLPI ticket. The ticket must be passed to CX-Engine during the call, as a ticket_id context, with a call context token. Calls without a ticket are not logged.

#ConnectWise

Prerequisites

You will need the following information from ConnectWise PSA:

  • The API base URL of your ConnectWise site, for example https://na.myconnectwise.net/v4_6_release/apis/3.0
  • Your company ID (the one used to sign in to ConnectWise)
  • A client ID, issued by ConnectWise for API integrations
  • The public key / private key pair of an API member

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select ConnectWise.

In the popup window, enter the following values:

  • API Key Type: ConnectWise API Keys
  • API Base URL: Enter the API base URL
  • Company ID: Enter your company ID
  • Client ID: Enter your client ID
  • Public Key / Private Key: Enter the API member's keys

Calls are logged as activities linked to the matching contact.

#Atera

Prerequisites

  • An Atera API key, generated from the API section of your Atera admin settings

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Atera.

In the popup window, enter the following values:

  • API Key Type: Api token
  • Api URL: Leave empty to use https://app.atera.com/api
  • Token: Enter your API key

The Atera integration is used for contact lookup (screen pop). It does not log calls.

#Webhook (generic connector)

Prerequisites

Use the Webhook connector for any CRM, ERP or business tool that is not natively supported. Your API must expose the routes described in Requirements for the CX-Engine Middleware.

Enabling the Integration

In the CX-Engine application's "Integrations" menu, click Add Integration and select Webhook.

In the popup window, choose the API Key Type matching your API, then fill in the fields:

API Key Type Fields
None Api URL
Basic Auth Api URL, Username, Password (sent on every request)
Api token Api URL, Token, Key placement (Header or Request Parameter), Header name or Request parameter name, Header prefix (default Bearer)
Username and password Api URL, Username, Password
OAuth 2.0 Client Credentials Api URL, Client ID, Client Secret
OAuth 2.0 Resource Owner Password Api URL, Client ID, Client Secret, Username, Password

The Api URL is the base URL of your API. For Username and password and the two OAuth 2.0 methods, CX-Engine first calls the authentication endpoint set in the integration settings (CRM Connector > Settings > Configure), in the Authentication Api URI field (Token endpoint path for OAuth 2.0 Resource Owner Password), for example /oauth2/token:

  • Username and password: CX-Engine sends the username and password, and expects a token field in the JSON response
  • OAuth 2.0: CX-Engine requests a token (client_credentials or password grant) and expects an access_token field in the JSON response

The token is then sent as a Bearer token on every request, and renewed automatically.

Then, in CRM Connector > Settings, click Configure on the Webhook integration to set the routes CX-Engine calls (contact lookup, contact creation, user lookup, phone call creation and update, chat creation and update) and to map the fields returned by your API.

The contact creation route is set in the Create contact Api URI field of the Contact lookup section, with its HTTP Method (POST by default). It defaults to /contacts. CX-Engine reads the created contact's id from the response, or applies the contact lookup Custom mapping when the response has the same shape as a lookup result.