This repository is used to generate importable bot templates for third-party bot vendors that can be connected to LivePersons Conversational Cloud.
LivePerson offers its brands to connect third party bots to their Conversational Cloud account.
Configuring those bots in the third party vendors editors from scratch can be pretty cumbersome. Especially if rich content
that needs to be displayed on different messaging channels is involved. (see next section for more information) Therefore the templates offered in this repository aim to serve as a starting point and a blueprint for LivePerson brands that want to create bots in the vendor of their choice, accustomed to the capabilities of the Conversational Cloud.
Besides that, importing a template and connecting it to a test account is a great way to discover the available functionalities of the Conversational Cloud on different messaging channels.
In the context of the templates the content that gets sent by the bots to the Conversational Cloud is differentiated into three categories:
When a bot sends a plain text
payload to the Conversational Cloud, the message text included will be displayed unchanged to the end customer.
When a bot sends a vendor action
payload to the Conversational Cloud it is not treated like a regular message. Vendor actions rather contain instructions how the Conversational Cloud should proceed with the conversation. Example results of such instructions can be the closure or the transfer of the conversation.
When a bot sends a rich content
payload to the Conversational Cloud, it gets interpreted and displayed to agents and the end customer according to the LivePerson rich content definition.
It is important to note that rich content
that works on one channel (e.g. Facebook) likely will not work the same or at all on another channel. Therefore one should always make sure that the bot knows on which channel the conversation is held and acts accordingly. This can either be achieved by simply asking the end customer directly or using a third party bot vendor that is capable of detecting the channel automatically. (e.g. IBM Watson)
Vendor | Template available? |
LivePerson documentation |
Import instructions |
---|---|---|---|
Amazon Lex | ✅ | Link | Link |
Custom Integrations | ✅ | Link | ⬅️ see LP-docs |
Google Dialogflow CX | ✅ | Link | Link |
Google Dialogflow ES | ✅ | Link | Link |
IBM Watson | ✅ | Link | Link |
Microsoft Bot Framework | ✅ | Link | Link |
Microsoft Composer | ✅ ❗ beta ❗ |
Link | Link |
Microsoft PVA | ❌ | Link | ❌ |
Bot Framework and Composer are so far only tested locally with the emulator
The following diagram illustrates how a conversation between a customer and a bot which is based on the templates is structured.
See supported vendors section for links to specific import instructions of the different vendors.
This section collects prerequisites that have to be fulfilled for certain vendor actions
or rich content
to work. The following tables are not a complete list of all bot contents
available. They only cover those, which do not work out of the box.
vendor action -name |
Description | Prerequisites |
---|---|---|
Transfer to Skill | Transfers the conversation to the next available agent that is assigned to the configured skill. | - The configured skill needs to exist and an agent assigned to it needs to be online. - Default value for skill is AgentSkill . - Bot needs to have the correct permissions to transfer the conversation. |
Transfer to Agent | Transfers the conversation to the configured agent. The transfer switches to transferring to the configured skill if the agent is not online. | The configured agent and the configured skill need to exist. - Default value for skill is SpecificAgentSkill .- Default value for agentId is 1005369632 . - Bot needs to have the correct permissions to transfer the conversation. |
Invoke Function | During a conversation, it is possible to trigger a LivePerson Function that is deployed to the LivePerson Functions (Function as a Service) platform. This provides a way to run custom logic with a bot. | See the Lex documentation (works same for all vendors) for more information. |
Encoded Metadata | Conversational Cloud Messaging platform provides a new metadata input type (encodedMetadata ) for passing base64 encoded metadata on a conversation. The new metadata input type is in addition to the existing conversation metadata input field. |
- Messaging only. (not available in Chat conversations) - Metadata size is limited to 5000 characters. - Reach out to a LP-employee to activate this feature for your account. (provide them with this link) |
Information on how to connect messaging channels to your Conversational Cloud account:
Relevant For... | Prerequisites |
---|---|
...all rich content containing domains, such as images, buttons and external links. |
Domains have to be whitelisted by a LP-employee. (provide them with this link) |
...all rich content intended for the Facebook Messaging channel. |
All domains of images, buttons and links have to be whitelisted in Facebook. For the templates to work correctly whitelist the following domains: - https://i.imgur.com/ - https://www.google.com/ - https://www.liveperson.com/ - https://www.bellaloves.me/ |
...Date Picker Templates for the Web channel | Only supported on Conversational Cloud accounts using UMS version 4.2, contact a LivePerson employee to validate if your account qualifies for this feature. |
...Schedule Slot List Template for the Web channel | Only supported on Conversational Cloud accounts using UMS version 4.2, contact a LivePerson employee to validate if your account qualifies for this feature. |
Instead of navigating a conversation via quick replies, you can require specific bot content
directly. This is achieved by sending the following trigger commands as a regular message into a conversation with a bot.
Expand list
Trigger command | Type | Description |
---|---|---|
close conversation |
vendor action |
Triggers the "Close Conversation"-vendor action. |
delay message |
vendor action |
Triggers the "Delayed Message"-vendor action. |
encoded metadata |
vendor action |
Triggers the "Encoded Metadata"-vendor action. |
Invoke function |
vendor action |
Triggers the "Invoke Function"-vendor action. |
transfer to agent |
vendor action |
Triggers the "Transfer to agent"-vendor action. |
transfer to skill |
vendor action |
Triggers the "Transfer to Skill"-vendor action. |
private message |
vendor action |
Triggers the "Private message"-vendor action. |
apple auth |
rich content -ABC |
Makes the bot send an example of the Apple Auth Template. |
apple custom interactive message |
rich content -ABC |
Makes the bot send an example of the Apple Custom Interactive Message Template. |
apple list picker |
rich content -ABC |
Makes the bot send an example of the Apple List Picker Template. |
apple pay |
rich content -ABC |
Makes the bot send an example of the Apple Pay Template. |
apple rich links |
rich content -ABC |
Makes the bot send an example of the Apple Rich Links Template. |
apple time picker |
rich content -ABC |
Makes the bot send an example of the Apple Time Picker Template. |
Button Template |
rich content -FB |
Makes the bot send an example of the Facebook Button Template. |
Carousel Template |
rich content -FB |
Makes the bot send an example of the Facebook Carousel Template. |
facebook generic template |
rich content -FB |
Makes the bot send an example of the Facebook Generic Template. |
Quick Replies Template |
rich content -FB |
Makes the bot send an example of the Facebook Quick Replies Template. |
google business messages card |
rich content -GBM |
Makes the bot send an example of the GBM Card Template. |
google business messages carousel |
rich content -GBM |
Makes the bot send an example of the GBM Carousel Template. |
GBM quick replies |
rich content -GBM |
Makes the bot send an example of the GBM Quick Replies Template. |
Line card |
rich content -Line |
Makes the bot send an example of the Line Card Template. |
line carousel |
rich content -Line |
Makes the bot send an example of the Line Carousel Template. |
line quick replies |
rich content -Line |
Makes the bot send an example of the Line Quick Replies Template. |
rcs card |
rich content -RCS |
Makes the bot send an example of the Google RCS Card Template. |
rcs carousel |
rich content -RCS |
Makes the bot send an example of the Google RCS Carousel Template. |
rcs quick replies |
rich content -RCS |
Makes the bot send an example of the Google RCS Quick Replies Template. |
web card |
rich content -Web |
Makes the bot send an example of the Web Card Template. |
web carousel |
rich content -Web |
Makes the bot send an example of the Web Carousel Template. |
web date picker |
rich content -Web |
Makes the bot send an example of the Web Date Picker Template. |
web multiple checklist |
rich content -Web |
Makes the bot send an example of the Web Multiple Checklist Template. |
web schedule slot list |
rich content -Web |
Makes the bot send an example of the Web Schedule Slot List Template. |
whatsapp reply button |
rich content -WA |
Makes the bot send an example of the WhatsApp Reply Button Template. |
For more general information about VSC-DevContainers see here.
Attention: For better performance it is recommended to clone the repository in a volume rather than opening the folder in the container.
- fully functional and pre-configured Eslint setup for consistent file formatting.
- feature rich Jest extension which automatically runs tests in the background for live feedback.
- other convenient stuff like more git tooling, spell checker, proper zsh installation, markdown linting, additional preview rendering, etc