OpenDialog Docs
opendialog.aiStart BuildingTalk to an expert
  • GETTING STARTED
    • Introduction
    • Getting ready
    • Billing and plans
    • Quick Start AI Agents
      • Quick Start AI Agent
      • The "Start from Scratch" AI Agent
        • Chat Management Conversation
        • Welcome Conversation
        • Topic Conversation
        • Global No Match Conversation
        • Supporting LLM Actions
        • Semantic Classifier: Query Classifier
      • A Process Handling AI Agent
  • STEP BY STEP GUIDES
    • AI Agent Creation Overview
    • Add a new topic of discussion
    • Use knowledge sources via RAG
    • Adding a structured conversation
    • Add a 3rd party integration
    • Test and tweak your AI Agent
    • Publish your AI Agent
  • CORE CONCEPTS
    • OpenDialog Approach
      • Designing Conversational AI Agents
    • OpenDialog Platform
      • Scenarios
        • Conversations
        • Scenes
        • Turns and intents
      • Language Services
      • OpenDialog Account Management
        • Creating and managing users
        • Deleting OpenDialog account
        • Account Security
    • OpenDialog Conversation Engine
    • Contexts and attributes
      • Contexts
      • Attributes
      • Attribute Management
      • Conditions and operators
      • Composite Attributes
  • CREATE AI APPLICATIONS
    • Designing your application
      • Conversation Design
        • Conversational Patterns
          • Introduction to conversational patterns
          • Building robust assistants
            • Contextual help
            • Restart
            • End chat
            • Contextual and Global No Match
            • Contextual FAQ
          • Openings
            • Anatomy of an opening
            • Transactional openings
            • Additional information
          • Authentication
            • Components
            • Example dialog
            • Using in OpenDialog
          • Information collection
            • Components
            • Example dialog
            • Using in OpenDialog
            • Additional information
          • Recommendations
            • Components
            • Example dialog
            • Additional information
          • Extended telling
            • Components
            • Example dialog
            • Additional information
          • Repair
            • Types of repair
            • User request not understood
            • Example dialog
            • Additional information
          • Transfer
            • Components
            • Example dialog
            • Additional information
          • Closing
            • Components
            • Example dialog
            • Using in OpenDialog
            • Additional information
        • Best practices
          • Use Case
          • Subject Matter Expertise
          • Business Goals
          • User needs
            • Primary research
            • Secondary research
            • Outcome: user profile
          • Assistant personality
          • Sample dialogs
          • Conversation structure
          • API Integration Capabilities
          • NLU modeling
          • Testing strategy
          • The team
            • What does a conversation designer do
          • Select resources
      • Message Design
        • Message editor
        • Constructing Messages
        • Message Conditions
        • Messages best practices
        • Subsequent Messages - Virtual Intents
        • Using Attributes in Messages
        • Using Markdown in messages
        • Message Types
          • Text Message
          • Image Message
          • Button Message
          • Date Picker Message
          • Audio Message
          • Form Message
          • Full Page Message
          • Conversation Handover message
          • Autocomplete Message
          • Address Autocomplete Message
          • List Message
          • Rich Message
          • Location Message
          • E-Sign Message
          • File Upload Message
          • Meta Messages
            • Progress Bar Message
          • Attribute Message
      • Webchat Interface design
        • Webchat Interface Settings
        • Webchat Controls
      • Accessibility
      • Inclusive design
    • Leveraging Generative AI
      • Language Services
        • Semantic Intent Classifier
          • OpenAI
          • Azure
          • Google Gemini
          • Output attributes
        • Retrieval Augmented Generation
        • Example-based intent classification [Deprecated]
      • Interpreters
        • Available interpreters
          • OpenDialog interpreter
          • Amazon Lex interpreter
          • Google Dialogflow
            • Google Dialogflow interpreter
            • Google Dialogflow Knowledge Base
          • OpenAI interpreter
        • Using a language service interpreter
        • Interpreter Orchestration
        • Troubleshooting interpreters
      • LLM Actions
        • OpenAI
        • Azure OpenAI
        • Output attributes
        • Using conversation history (memory) in LLM actions
        • LLM Action Analytics
    • 3rd party Integrations in your application
      • Webhook actions
      • Actions from library
        • Freshdesk Action
        • Send to Email Action
        • Set Attributes Action
      • Conversation Hand-off
        • Chatwoot
    • Previewing your application
    • Launching your application
    • Monitoring your application
    • Debugging your application
    • Translating your application
    • FAQ
    • Troubleshooting and Common Problems
  • Developing With OpenDialog
    • Integrating with OpenDialog
    • Actions
      • Webhook actions
      • LLM actions
    • WebChat
      • Chat API
      • WebChat authentication
      • User Tracking
      • Load Webchat within page Element
      • How to enable JavaScript in your browser
      • SDK
        • Methods
        • Events
        • Custom Components
    • External APIs
  • Release Notes
    • Version 3 Upgrade Guide
    • Release Notes
Powered by GitBook
On this page
  • Designing a message
  • Combining message blocks
  • Reordering message blocks
  • Formatting Text using HTML tags
  • Design best practices
  • Bite-sized information is easier to read
  • Words per app turn
  • Accessibility
  1. CREATE AI APPLICATIONS
  2. Designing your application
  3. Message Design

Constructing Messages

How to use the message editor to construct and build messages in OpenDialog

PreviousMessage editorNextMessage Conditions

Last updated 4 months ago

In OpenDialog, messages are the primary means of interaction between your conversational interface and its users. Understanding how to use the various message blocks available within the platform is crucial for crafting effective and engaging interactions.

Designing a message

Message blocks are modular components that can be combined to form a complete message. Each block serves a specific purpose, allowing you to tailor your messages to the needs of your users and the goals of your application. By leveraging these blocks, you can construct messages that are not only informative but also interactive and user-friendly.

To design your message, click on any message block(s) to add those to the designer. You will see each of them appear, one after the other. You can then go ahead and add your message content as required.

Each block can be deleted, duplicated, or reordered using the relevant icons.

Combining message blocks

When constructing a message in the message editor, you don't just have the option of using only one message block. You can use a variety of different message blocks per message, to mix and match and convey what you want to say in a variety of different ways.

However, when you are putting certain message blocks together, there are a number of rules that you need to follow. This is because certain message blocks need to be in a certain position when being compiled with others. Below, some of the main rules have been highlighted for specific block types:

You can only add one form message type to each message, and it should be the last message in the list.

When using an autocomplete message with other message block types, these must be the very last in the list.

Note that the autocomplete message will cause the user input field to be taken over by an autocomplete modal.

As a general rule for setting up messages with multiple blocks, it is always best practice to put any full-page messages to the end of your list. The full-page messages are:

Reordering message blocks

Within every message type, there is also a drag-and-drop feature for you to use.

To access the drag-and-drop feature, go to the top left corner of any message block and click on the icon with six dots.

From here, you can grab and move your message block to its desired place.

Formatting Text using HTML tags

You can use the following HTML tags in messages

ALLOWED_TAGS: ['a', 'br', 'strong', 'b', 'wbr'],
ALLOWED_ATTR: ['href', 'target', 'class']

You can also direct your LLM actions to produce content that uses these tags instead of markdown, providing some examples of the type of content you would like to product.

In an upcomign release of OpenDialog (Jan 2025) we will also be supporting markdown in messages.

Design best practices

Bite-sized information is easier to read

A single turn may include several pieces of information. For instance, it may include a welcome, some instructions, and some facts such as appointment information to verify during the interaction.

It helps legibility if the information is provided in multiple messages (all within the same app intent).

Notice the difference between the following screens:

Words per app turn

How much information can be conveyed in a single app turn? This depends to some extent on the nature of the assistant and the interaction. Some turns convey a lot of information, and some can be quite concise.

For example, "Thank you. Is there anything else?"

A key practice is to ensure that the content of a single turn does not exceed the screen height. In other words, the user should not have to scroll to view all the information shared in a single turn. Forced to do so requires effort from the user, who may hardly be aware that there is more information that scrolled up, and it breaks the easy reading experience.

A rule of thumb in a typical OpenDialog assistant is to limit the text in a single turn (if the content consists entirely of text):

  • 9 lines with buttons, ideally in 3 or 4 chunks

  • Consider that on average, each line holds about 30 - 35 characters, or 5 to 6 words of average length (based on an average word length in English of 4.7 characters per word).

Always test your assistant to make sure the content does not scroll up. Note that images or carousels take up a lot of vertical space, so be mindful of the amount of text you add before or after such an element in a single turn.

Accessibility

A key element to consider for all message types is , especially for messages that include customization with multimedia types such as buttons, images, and links. For all information on accessibility within OpenDialog, please click .

Form message
Autocomplete message
Full page messages
Full page form messages
Full page rich messages
Location messages
E-sign messages
here
Accessibility
Individual message screen to design your message
All text in a single message
Text divided up in smaller chunks for readability
Example screen and content