Developers

SDK Adapters

Adapters overview

An adapter is a function that has access to the Chatbot object. Please read the Customization page and our handy Step-by-Step Guide carefully before use for a full description of adapters and their functions. 

Adapters Guide

Adapters are a powerful tool that allow you to expand the functions and behaviour of your Inbenta Chatbot.

 
Important

The adapters provided by Inbenta are fully functional adapters that you can freely test "as is" or adapt for your own purposes. Please note the following:

• Internal adapters are an integral part of the SDK product, and Inbenta provides full support accordingly.

• External adapters are provided purely as a demonstration of the kind of extra features that adapters can offer. Inbenta offers no support or guarantee that they will function in your specific environment.

 
Caution

If you want to use external adapters "as is" in production environments, you must copy and use them from your servers. To avoid any potential issues, do not use the direct Inbenta links for Production, as Inbenta may change or update links or files without prior notice.

Adapter examples

The following adapters demonstrate some of the functionalities and features that you can add to the SDK.

Escalation and integration to external chat

The following adapters configure the escalation conditions and gathers the data needed to perform an escalation to an external live chat. In this case, we use an adapter to integrate the Inbenta Hyperchat.

Notes

  • If your SDK is version 1.11.0 or later, the Escalation and Integration adapters are built-in in the SDK. For more information on how to use these adapters, follow the links below.
  • If you need to build an adapter to escalate to an external chat provider, see External Chat Tracking to know more about tracking the agent conversation.
Title Description
NL (Natural Language) escalation adapter (DEPRECATED - DO NOT USE. SEE BELOW) This adapter confirms a user's intent to escalate, then calls an intent in a Chatbot instance to gather the data needed to escalate.
NL (Natural Language) escalation 2 This adapter confirms a user's intent to escalate, then calls an intent in a Chatbot instance to gather the data needed to escalate. This new version offers several improvements over the previous adapter.
HTML escalation adapter This adapter confirms a user's intent to escalate, gathers the data needed displaying an HTML form
Hyperchat adapter This adapter performs the integration between the Inbenta hyperchat (human-human chat) and the Chatbot SDK.
Caution

nl-escalation-adapter is deprecated - DO NOT USE. FOR REFERENCE ONLY. Use nl-escalation-adapter-2 instead.

  • nl-escalation-adapter-2 The escalation adapter v2 uses the agents_available variable. When it detects the escalationStart js_callback, it first checks if there are agents available before performing a directCall to escalationStart.

The combination of both adapters gives you the ability to escalate to Hyperchat under certain conditions. The Chatbot asks the user for information before performing the escalation:

In the following example, Hyperchat is integrated into the Chatbot SDK. This means that the SDK now only performs the Hyperchat functionality:

Miscellaneous

Each of the following adapters performs an interesting feature that you can use to customize your Inbenta Chatbot SDK.

Miscellaneous

Each of the following adapters performs an interesting feature that you can use to customize your Inbenta Chatbot SDK.

Title Description
Language detection Send a message to redirect to another page for multi-language instances integration
Promotional Message Push a custom message at the begining of the conversation
Brewery API example Connect to a third-party API
Sanitizer Sanitize part of the message
Output demo Adapter to see all available outputs and answers
Cross domain conversation User gets redirected to another website, continuing with the previous conversation
Show survey on close Chatbot Shows a survey when the user clicks on close conversationWindow
Update labels from AppData Sets new labels after build method using AppData request
Helper custom HTML Uses a Helper to modify the HTML and set event bindings
Create ticket adapter Creates a ticket to a related Benti instance
Upload file adapter Uploads a file into an external system when the Chatbot asks for it