Hyperchat Integration

Hyperchat escalation and integration

This example uses buildWithDomainCredentials to build the Chatbot SDK, as explained on the main page.

It also uses the NL (Natural Language) escalation 2 adapter included in the SDK from version 1.31.0.

This example shows:

  • The configuration needed to use the nl-escalation-adapter.
  • The configuration needed for the hyperchat-adapter.
  • How to use the internal adapters.

For more information about each adapter, see:

Important note about the order of elements in the array

Make sure that you respect the order of the elements in the adapters array: because of the callback adapter system, to avoid any conflict, the first element of the adapter array must be the escalation adapter, and the next one the external chat adapter. Do not alter the order, or the subscriptions may not execute the callback as expected. This can cause the chatbot to malfunction or show unexpected behavior.

NL (Natural Language) escalation 2 configuration

This adapter requires certain intents and the escalation dialog. For more information, see Creating Required Contents for Live Chat Escalation (This link redirects you to the Help Center).

Hyperchat-adapter configuration

This example uses the default configuration. You only need to set the required parameters:

  • appId: The ID of the HyperChat app.
  • region: The geographical region where the HyperChat app lives.
  • room: The room where the chat will be open, in this case will depend on the value of q in the url

This example uses both adapters from the internal code.

Integration code

<!DOCTYPE html>
<html>
    <head>
        <title>HyperChatBot Demo</title>
        <meta charset="utf-8">
    </head>
    <body>
        <script>
            window.buildUI = function () {
                var authorization = {
                    domainKey:'<example_domain_key>',
                    inbentaKey:'<example_api_key>'
                };

                var rejectedEscalation = {
                    action: 'displayChatbotMessage',
                    value: 'What else can I do for you?'
                };
                var noAgentsAvailable = {
                    action: 'intentMatch',
                    value: 'NoAgentsAvailable'
                };

                SDKHCAdapter.configure({
                    appId: '<chat_app_id>',
                    region: '<chat_app_region>',
                    room: function () {
                        return SDKHCAdapter.helpers.getQueryParameterValue('q');
                    },
                });

                var config = {
                    launcher: {
                        title: 'HyperChatBot Demo'
                    },
                    adapters: [
                        SDKNLEscalation2(SDKHCAdapter.checkEscalationConditions),
                        SDKHCAdapter.build(),
                    ],
                };

                InbentaChatbotSDK.buildWithDomainCredentials(authorization, config);
            };
        </script>
        <script src="https://sdk.inbenta.io/chatbot/1/inbenta-chatbot-sdk.js" onload="buildUI()"></script>
    </body>
</html>