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
  • What is an attribute message?
  • When to use attribute message
  • How to create attribute message
  • How to use attribute message
  1. CREATE AI APPLICATIONS
  2. Designing your application
  3. Message Design
  4. Message Types

Attribute Message

This page describes when to use and find an attribute message type

PreviousProgress Bar MessageNextWebchat Interface design

Last updated 5 months ago

What is an attribute message?

Attribute message allows you to define message structure at runtime during the conversation rather than design time.

When to use attribute message

You want to use attribute message when you don't know exact message structure when designing your conversation. This is typically happens when you need to retrieve data for your message structure from external services or as a result of action.

How to create attribute message

Navigate to the and create a Custom Message. Copy the at the bottom of this page into the black box, or select attribute-message from the dropdown.

XML Snippet

<attribute-message>context_name.attribute_name</attribute-message>

attribute_name - attribute which contains XML definition of a messages.

Pay attention that you do not need to use attribute syntax here (with curly braces {attribute}) to specify which attribute you want to use.

Content of an attribute

Attribute which you will use to construct your attribute message must be in a specific format:

<message disable_text="{true|false}" hide_avatar="{true|false}">
    ...XML definition of messages you want to display...
</message>
  1. Root element must be message with attributes disable_text and hide_avatar specifying whether you want these to be true or false

  2. In child elements you put XML definition of any other message(s) that OpenDialog supports. Below you can find examples of what it might be.

Text message

<message disable_text="false" hide_avatar="false">
    <text-message>Here is text message</text-message>
</message>

Rich message followed by text message

<message disable_text="false" hide_avatar="false">
  <rich-message>
    <title>Rich Message</title>
    <subtitle>With a subtitle</subtitle>
    <text>Here is rich message followed by text message</text>
  </rich-message>

  <text-message>Here is text message</text-message>
</message>

Image message followed by list message followed by button message

<message disable_text="false" hide_avatar="false">
  <image-message> 
    <src>https://opendialog.ai/wp-content/uploads/2021/03/Dark-Logo-Side-by-Side@2x-300x72-1-e1615372542577.png</src>
    <url new_tab="true">https://opendialog.ai</url>
  </image-message>

  <list-message>
    <item><text-message>Text message list item1</text-message></item>
    <item><text-message>Text message list item2</text-message></item>
  </list-message>

  <button-message>
    <text>A bit of explainer text at the top</text>
    <button> 
      <text>Button text</text>
      <callback>intent.app.startAConversations</callback>
    </button>
  </button-message>
</message>

How to use attribute message

Attribute messages really shines when you need to construct your message dynamically. Let's walk through some examples.

Example 1. You want to display list of items retrieved from API

TBD

Example 2. You want to process list of items from user input

TBD

context_name - name of a where to look for an attribute followed by dot . If context is omitted then conversation engine will assume user context.

context
Message Editor
XML snippet
How to create an attribute message in custom message block