Skip to content

CMS Introduction

Basic concept

Each element that the framework is sending to the user is described by a JSON message in the Conversational CMS. The most basic conversational element is a single text message.

In order to develop a conversation with the user three basic concepts are available:

  • Free conversation: Respond to user questions using NLU
    In DialogShift core add a NLU provider (e.g. Dialogflow or RASA) and define what conversational elements get triggered based on intents and parameters.
    (See tutorial Use Dialogflow NLP for Conversations)

  • Scripted conversation: Display quick-reply buttons for the user to choose from
    Add quick-reply buttons that can be easily clicked/tapped by the user to trigger a new conversational element.

  • Rule-based conversations: Define business logic how to react to typed user input
    Add regex based rules to search for expressions in the user input and trigger next elements based on this result.

  • Live Chat: Route user input to the live chat app and have human agents talk to user
    Handover the conversation to a live agent using DialogShift's live chat app.

These concepts should be blended together to achieve an engaging user experience.

Conversational Element

Each conversational element has this mandatory structure:

{
  "elementCode": "unique-identifier-also-used-for-description",
  "elementType": "text/carousel/feedback/silent/...",
  ...
}

Fixed conversational elements

The following conversational elementCodes are mandatory for each conversational model. They serve purposes that are described below. You are encouraged to adjust the texts to be displayed to your users. You can also add buttons at your discretion. Successors are also possible.

  • fix-welcome-1 Default first message a user gets displayed if he/she opens the chat for the very first time. This is where data protection law compliance and user on-boarding should be handled. This can be overwritten with the javascript SDK or using an URL parameter to allow for personalized onboading dialogues.
  • fix-nlp-fail If NLP is used and it could not understand the user's input this element gets triggered.
  • fix-livechat-startbyuser If a user hits this element a live chat is being opened with the DialogShift live chat app. This element can be triggered by NLP or successor.
  • fix-livechat-endbyuser If a user hits this element an existing live chat is being closed by the framework. This element can only be triggered by a successor. NLP is deactivated during live chat mode.
  • fix-livechat-startbyclient This element gets triggered if an agent opens a chat with a customer in the live chat app.
  • fix-livechat-endbyclient This element gets triggered if an agent closes a chat with a customer in the live chat app.

In case you have activated custom widgets with DialogShift (feedback, reservation, booking, etc.) there will be additional fixed conversational elements present in your CMS.