Integration Hub

Integration Hub provides a standardized way of handling the integration of CXone with third-party authentication and web services. Web services can be applications, platforms, or systems.

Integration Hub is one of the ways you can work with REST API calls in CXone. The benefit of using Integration Hub is that you can add the connection and use it in multiple places. Other methods require building a connection each time you want to use it.

Additionally, Integration Hub provides enhanced security, including mTLS and secrets. Variables added as secrets are encrypted and cannot be accessed directly.

Connections and Connection Templates

Connections define the details of API requests, authentication details, and variables you want to use in CXone.  A connection doesn't have to include all types of connection information. It can hold any combination of the supported types of information.

Each connection you add to Integration Hub is created based on a connection template. Templates define the basic information that applies to all connections that will be made with the template. This includes:

  • The name of the web service you're connecting to.
  • The integration method. Currently, REST API is the only supported method.
  • The type of authentication, if any. Currently, you can choose OAuth 2.0 or no authentication.
  • The custom headers for authentication, if any are needed.
  • The verbs available for use by requests made based on the template. Verbs are the actions that can be taken with the connected web service, such as retrieving data or creating records.

Integration Hub has two types of templates: system templates owned by NICE, and templates you create yourself. System templates come with Integration Hub and cannot be deleted. They include: 

  • NICE CXone Dev Portal: Integrates with endpoints available in the API Developer Portal to reduce your dependency on Studio Framework actions. It uses OAuth 2.0 authentication. To determine authentication, it uses Discovery URL. It doesn't support client certificates.

System templates and templates you've created cannot be modified. However, your custom templates can be deleted. If you need to change something in a custom template later, you can delete the template and create a new one. Connections themselves can be modified. Deleting a custom template does not affect the connections created with that template.

Templates are available in the connection library in Integration Hub. Connections are listed under My Connections in Integration Hub. You can create a maximum of 50 connections. There is no limit on the number of templates.

Requests

Requests are API calls. They specify the following information, which is used to connect to a web service:

  • URL: The location of the resource you're connecting to.
  • Method (Verb): The action that you want the request to perform, such as retrieving data or creating a new record. Integration Hub supports these verbs: GET, PUT, POST, DELETE, TRACE, PATCH, HEAD, OPTIONS. The verbs available for use in a connection are defined in the template used to create the connection.
  • Headers: A part of the request that contains additional information about the request. This can include the language, credentials, and so on.
  • Query Parameters: A way to pass information with an API request. They are configured as key-value pairs. They can be used to filter, sort, customize, or control the data returned in the response.
  • Body: The content of the request. The format depends on the requirements of the API you're connecting to.  The media type of the body must match what the resource you're connecting to expects. It's also known as the MIME type or content type. These are the supported options and the associated content headers: 
    • ApplicationJson: application/json
    • ApplicationJsonPatch: application/json-patch+json
    • FormURLEncoded: application/x-www-form-urlencoded
    • TextHtml: text/html
    • TextPlain: text/plain
    • TextXml: text/xml

Each Integration Hub connection can have up to 50 requests. There is no restriction on how many requests can be active at a time.

CXone has a 32 KB limit on the size of responses. Use query parameters to filter the returned data. This can help you stay under that limit.

Manual and Studio Requests

Integration Hub supports two options for requests in connections:

  • Manual: A manual request is built in Integration Hub using the options on the Add Request page. You can use secrets in them. Manual requests are commonly used for cases where the data does not change. They can be executed directly from Integration Hub without requiring a Studio script. They can also be executed in Studio scripts.
  • Studio: In some cases, API requests cannot be built as manual requests in Integration Hub. For example, requests that require path parameters, variable substitution, or that connect to SOAP web services, must be built in a Studio script. However, you may want to keep track of these requests in your Integration Hub connections. The Studio request option allows you to do that. A Studio request appears on a connection's Requests tab along with all of the manual requests the connection has.

Variables

Integration Hub allows you to store value pairs as variables. Variables are unencrypted by default. However, you can encrypt a variable by turning it into a secret. Marking a variable as a secret adds security to sensitive information, such as passwords or keys.

Variables can be used in the connection where you create them. If you execute a connection or authentication request in a Studio script, you can use variables from that connection in the script.

Secrets are encrypted at rest. Integration Hub uses the Advanced Encryption Standard (AES) to encrypt the data. It's stored in an encrypted database. The only time the data is decrypted is at the time of execution.

Integration Hub Studio Actions

When you want to use authentication or make a request in a Studio script, use the following Studio actions: 

Key Facts About Integration Hub Studio Actions 

  • They require Integration Hub. If Integration Hub is not enabled in your CXone system, the actions do not work.
  • You can include more than one instance of each action in a script.
  • You can use variable substitution to execute different requests or use authentication from more than one connection in a single script.
  • Just as with other methods of making API calls in CXone, additional scripting is required to receive the response from the connected web service and handle it appropriately.
  • CONNECTAUTH doesn't allow for any customization. It executes the authentication request as defined in the connection in Integration Hub.