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 it is used for
  • Implementation
  • A single FAQ or multiple FAQs?
  • Conclusion
  • Additional information
  1. CREATE AI APPLICATIONS
  2. Designing your application
  3. Conversation Design
  4. Conversational Patterns
  5. Building robust assistants

Contextual FAQ

The contextual FAQ pattern refers to an FAQ turn that is available within the context of a scene.

PreviousContextual and Global No MatchNextOpenings

Last updated 7 months ago

What it is used for

The contextual FAQ pattern allows the user to ask questions that are relevant to the task they are completing. For instance, image the following conversation as a user signs up for a life insurance policy:

...

Assistant: Great! I'll ask you some questions to set you up with the policy that best fits your needs. [...]

Assistant: How long would you like your life insurance for?

User: I'm not sure. What do most people go for?

Assistant: 20-year and 30-year term life insurance policies are the most popular on the market. The amount of time you need depends on the financial obligations your family would face in the event of your death.

What term would you like to go for?

User: 20 years

Assistant: Ok. Let's move on to ...

In the example above, the user does not answer the policy duration question. Instead, they ask a question of their own and the assistant (FAQ) provides an answer. Once the assistant has answered the question, the assistant asks the user the original question again, e.g. What term would you like to go for. This is called re-prompting.

Note that in a real scenario we could e.g. offer the user a calculator to better help them answer their question. We've simplified the interaction for the sake of the example.

Implementation

Note: as an example, the screenshots in this section illustrate adding an FAQ turn to the welcome scene so that FAQ is available within that scene. You need to add FAQ turns to each scene in which you want the FAQ to be available.

We add an FAQ turn to the scene:

The FAQ turn consists of a user intent to capture the user's question and an app intent that shares the FAQ answer with the user and contains the re-prompt.

Depending on the NLU service provider, the name of the intents may be predetermined. For instance, when using DialogFlow KB, the user intent name is "intent.dialoflow.faq".

The app intent must contain a specific reference. This reference is also dependent on the NLU service provider that is used. Again using Dialogflow KB as an example, the app intent needs a custom message with XML that indicates the attribute-message with value "user.dialogflow_message" as shown in the screenshot below.

The screenshot below shows and example of a reprompt ("Do you have any other questions..."). The reprompt helps to move the conversation forward and can be designed to fit your needs. In this case, the system asks whether the user wants to ask another question. An alternative could be to ask the original system question again.

A single FAQ or multiple FAQs?

Since the contextual FAQ pattern is added to each scene where the user may have questions, it is possible to create separate FAQs for each instance. For instance, an FAQ for questions specific to the policy (used in a policy scene), another FAQ for questions about the terminology used in the medical section of the insurance policy quote journey (used in the medical questions scene), etc... But it is also possible to keep all FAQs for the entire scenario in a single FAQ knowledge base and use that throughout all scenes.

There is no clear right or wrong way to choose between a single FAQ or multiple FAQs. In general, it is easier to use a single FAQ throughout, as it only requires setting up a single interpreter for instance and hence there is no need to keep track of the names of multiple interpreters, and which FAQ covers what types of questions.

Conclusion

The contextual FAQ pattern allows users to ask questions about the task they are completing. We refer to it as "contextual" because the user can ask a question within the context of what they are currently doing; they do not need to go look for answers somewhere else, but can get those answers within the conversation they have with the assistant.

Additional information

In this section we've described the conversational flow for the FAQ pattern. To make this pattern operational in your assistant, the FAQ needs to be set up in the NLU service provider's environment and the NLU interpreter needs to be set up in the OpenDialog platform.

For information on intent names and XML to use for different NLU service providers, please consult the reference information on . For instance, creating and linking a external knowledge base can be found in the page.

interpreters
Google Dialogflow Knowledge Base
Package Bot FAQ Welcome Scene
Screenshot showing XML for DialogFlow KB