Intents and Chatbot Actions
This guide provides detailed instructions on how to set up, manage, and optimise intents in your chatbot. It also includes an overview of all possible actions that can be configured within intents.
What are intents and chatbot actions?
Intents allow you to set up specific responses and actions for your chatbot to handle particular user queries. This is useful for cases where you don’t want the LLM (Large Language Model) to generate answers or when you need workflows that go beyond simple text-based replies. Think of intents as structured workflows powered by chatbot actions.
Types of Intents:
Message Intents: Triggered by text-based user inputs.
Image Intents: Triggered by users sending images (e.g., screenshots, documents).
Chatbot actions define what the bot does when an intent is triggered. These actions allow you to create workflows such as sending messages, collecting user data, or interacting with external systems.
Types of actions:
Message: Send a predefined text response to the user.
Media: Share images, videos, or other media files with the user.
Carousel: Display a carousel of cards with information, images, or links.
Survey: Collect structured feedback or information from users using a survey format.
Agent Takeover: Transfer the conversation to a live agent.
Modify Variable: Create a variable or change the value of a stored variable during the conversation.
Jump: Redirect the user to another part of the chatbot flow - any other intent or action.
JSON API: Trigger an API call to fetch or send data to external systems.
Branch: Create conditional flows based on user inputs or variable values.
Create Ticket: Automatically generate a support ticket in your system.
Apps Takeover: Enable external applications to take control of the conversation or perform specific actions.
Chat Started Intent
The "Chat Started" intent is a special system intent that comes preset with a standard welcome message. This intent is always automatically triggered when a user initiates a conversation with the chatbot. It serves as the entry point of the chat and is typically used to set the tone for the interaction, collect initial information, or guide users toward their desired outcome.
Purpose of the Chat Started Intent
Welcome Users: Greet users as soon as the chat begins to create a positive first impression.
Set Expectations: Clearly outline what the chatbot can assist with, so users know what to expect.
Guide Users: Provide buttons or quick replies to direct users toward common intents or actions.
Segment Customers: Optionally, use a Branch action to create tailored experiences for specific customer segments.
Example: VIP players are automatically routed to live chat with a human agent, while other players follow the standard chatbot flow.
Localizing Intents
When setting up intents, you'll configure various actions under them, along with the messages your customers will receive. Remember, if you have multiple languages enabled, you’ll need to manually add translations for each one. To do this:
Inside the intent editor, click the dropdown that displays the current language.
Switch to another language.
Go through each action and translate any text visible to customers into the appropriate language.
Ensure that all customer-facing content is accurately translated to maintain a seamless user experience.
Creating Intents in Yola
To create and configure intents:
Open your chatbot and navigate to the "Intents" section.
Click Create New Intent and:
Provide a clear and descriptive name. This is only for internal use so you can find the intent easily later.
Select the intent type (Message or Image).
Set a clear description of what messages from customers will trigger this intent e.g. "If a user says they forgot their password or they need to reset it"
Hit "Create" and, optionally, open the intent and add Training Phrases that should always trigger this intent.
Be mindful when adding training phrases as these will trigger the intent whenever the keywords match, so only add training phrases for very specific keywords that should trigger the intent e.g. a bonus code.
Set the chatbot actions: Define the sequence of actions for the chatbot to take when the intent is matched.
Continue refining intents by changing your intent description or updating actions as needed to improve accuracy and performance.
How to Setup Chatbot Actions
Open an intent and click "+ Add bot action" at any point of the intent flow. Explore the sections below for a detailed explanation on when to use each action and how to set them up.
Message
Purpose: The Message action type is used to send a predefined message to your customer. This action is often utilised to share information, provide updates, or guide the user during the chatbot flow.
Example use case: Send a friendly greeting when the "Chat Started" intent is triggered, such as: "Hi, {_customer.name}! How can I assist you today?"
How to Use
Select the Message action from the available actions list.
Enter the text you want the chatbot to deliver.
If you have multiple languages enabled, make sure to add the appropriate translation.
Media
Purpose: The Media action type is used to send multimedia content, such as images or videos, to your customers. This action is ideal for sharing visual information or supporting materials.
Example use case: Sending an infographic about a product feature or a promotional video in response to user queries.
How to Use:
Select the Media action from the available actions list.
Upload the image or video file you want to send.
If you have multiple languages enabled, make sure to add the appropriate media file or description for each language.
Carousel
Purpose: The Carousel action type allows you to display multiple cards with text, images, and links in a horizontal scrolling format. It is ideal for showcasing options or products in a visually appealing way.
Example use case: Showing a user multiple promotions recommendations with images, descriptions, and links to enroll.
How to Use:
Select the Carousel action from the available actions list.
Add cards to the carousel, each containing an image, title, description, and optional buttons or links.
If you have multiple languages enabled, ensure all text content in the carousel cards is translated.
Survey
Purpose: The Survey action type is used to gather structured feedback or input from your users. This action is helpful for collecting opinions, preferences, or other data.
Example use case: Collecting emails from customers to use it in a Create Ticket action.
How to Use:
Select the Survey action from the available actions list.
Define the questions and response options (e.g., multiple-choice or open text).
If multiple languages are enabled, translate the questions and options for each language.
Agent Takeover
Purpose: The Agent Takeover action allows the chatbot to transfer the conversation to a live agent for manual handling. This is useful for queries requiring human intervention.
Example use case: When a user requests to speak with a human agent, such as for a complex technical issue.
How to Use:
Select the Agent Takeover action from the available actions list.
Configure the conditions or triggers for the action (e.g., "User requests help").
Ensure the agent routing settings are properly configured.
Modify Variable
Purpose: The Modify Variable action type is used to create a variable or change the value of stored variables during a conversation. This action is typically used in conjunction with system variables or variables collected by a Survey action.
Example use case: Modify the result from a JSON API block using _.json_parse(variable_name) to extract a specific segment as a variable that can be referenced in a Message action to provide information to a Customer.
How to Use:
Select the Modify Variable action from the available actions list.
Specify the variable you want to modify and the new value.
Ensure any dependent actions or conditions are updated to use the modified variable.
Jump
Purpose: The Jump action type redirects users to another part of the chatbot flow. It’s useful for creating flexible, non-linear experiences.
Example use case: Redirecting users to a live chat intent or action when the chatbot is unable to provide a response.
How to Use:
Select the Jump action from the available actions list.
Choose the target flow or step where you want the user to continue.
Test the flow to ensure smooth transitions between steps.
JSON API
Purpose: The JSON API action type enables the chatbot to fetch or send data by connecting to external APIs. This is ideal for dynamic responses or integrations with other systems.
Example use case: Fetching a user's order status from a third-party CRM and displaying it in the chat or creating a ticket in a third party app.
How to Use:
Select the JSON API action from the available actions list.
Configure the API endpoint, headers, and request body.
Map the API response to variables or directly display the data in the chat.
Branch
Purpose: The Branch action type allows you to create conditional flows based on user inputs or stored variables. It is useful for personalising user journeys.
Example use case: Routing VIP users to a dedicated support flow while directing other users to the general help flow.
How to Use:
Select the Branch action from the available actions list.
Define conditions based on user attributes or variables.
Create paths for each condition and link them to the appropriate actions or flows.
Create Ticket
Purpose: The Create Ticket action automatically generates a support ticket in your system, capturing the details of the user’s query for follow-up.
Example use case: Using it in conjunction with the Survey action. The Survey action comes first in the intent flow to collect user's details and issue description and save them as variables and the ticket action comes after and fields are populated with the variables collected in the survey action.
How to Use:
Select the Create Ticket action from the available actions list.
Configure the ticket fields (e.g., subject, description, priority).
Map any user-provided information to the ticket fields.
Apps Takeover
Purpose: The Apps Takeover action type is similar to the "Agent Takeover" action but it sends the livechat for your agents to address within a third party app.
Example use case: When you want the livechat to take place within Bitrix24 so agents don't need to access Yola to respond to the customer.
How to Use:
Firstly, create and enable the app within the "Apps" section of your chatbot. See detailed instructions on the Apps and Integrations section in these docs.
Select the Apps Takeover action from the available actions list.
Configure the integration settings and link the required app.
Test the integration to ensure it works as expected during the conversation.
Last updated