OmniConnect JS API Overview

The OmniConnect JS API is a framework with which developers can integrate MedInquiry with telephony providers. The OmniConnect JS API provides standard call methods that developers use to integrate with methods or endpoints provided by their chosen telephony provider. These methods are explained in the OmniConnect JS API Reference. Once integrated and configured, users in Vault Medical using MedInquiry can respond to incoming calls and chat requests in Vault. MedInquiry may also match callers to existing Case Contact records, auto-populate Case fields, and create Conversation records.

Vault provides standard integrations that use the OmniConnect JS API. These standard integrations are built and maintained by Veeva. If Vault does not provide a standard integration for your telephony provider, you can create your own custom integration with the OmniConnect JS API.

Vault Medinquiry uses the Connection (connection__sys) object to store integration data. You can create your own custom Connection record and use it with the integration using the OmniConnect JS API.

To create a custom OmniConnect Integration:

  1. Download the version of the OmniConnect JS API that corresponds to your Vault.
  2. Create and deploy your custom application.
  3. Configure a Connection record in the Vault Admin UI.

Downloading the OmniConnect JS API

The OmniConnect JS API includes methods thatto specify logic for telephony events, such as an agent logging in or disconnecting a call. Each of these methods must be mapped to the corresponding method from your telephony provider’s API. You can download the OmniConnect JS API and see a description of each event in the OmniConnect JS API Reference.

Creating the Custom Application

Your custom OmniConnect application must include both UI and custom logic.

Creating the Call Controls UI

Your custom application must include HTML and CSS to create the UI elements agents will use from the Call Controls UI. These Call Controls appear within MedInquiry. Some telephony providers offer embeddable interfaces that you can use in your application.

The following example shows HTML to create a simple UI with buttons that correspond to OmniConnect JS API events.

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="./styles.css" />
  </head>
  <body>
    <button id="vm-omniconnect-sign-in" type="button">Sign in</button>
    <button id="vm-omniconnect-logout" type="button">Logout</button>
    <button id="vm-omniconnect-accept-call" type="button">Accept Call</button>
    <button id="vm-omniconnect-end-call" type="button">End Call</button>
    <button id="vm-omniconnect-user-available" type="button">User Available</button>
    <button id="vm-omniconnect-user-offline" type="button">User Offline</button>
  </body>
</html>

Creating Custom Logic

You must import the OmniConnect JS API into your application.

import {
  omniconnectEvent,
  AgentStatus
} from "./vault-medical-omniconnect-{version}{release}.js";

You can find the version and release in the filename of the downloaded API. For example, vault-medical-omniconnect-24.2.0-release10001.zip.

As a best practice, we recommend creating a listener function for each element in the Call Controls UI. Within this function, you will provide custom logic and map events from Vault to your telephony provider. See the reference for your OmniConnect JS API version for details.

When your application is complete, you must deploy it to the platform of your choice. Make a note of the application URL as you will need it to configure the Connection record in the next step.

Configuring the Connection Record

Once your application is deployed, you will need to configure a Connection record in the Vault Admin UI. You may find it useful to review the reference lookups, integration rules, and field rules configured on standard integrations as a guide to creating your custom integrations.

See detailed instructions in Vault Help.