Configure your own Skills Tutorials

Configuring Skills for Virtual Agents


Overview

Virtual Agents are AI-driven interfaces that help users (travelers, partners, etc.) accomplish a variety of tasks using natural language conversations.

Each Virtual Agent is a collection of one or more specialized Skills encompassing a variety of pre-booking, post-booking and sales related tasks across the Expedia Group travel products, while also enabling partners to create their custom Tasks.

When a user engages with the Conversation Platform, the Virtual Agent evaluates the user input and routes the conversation to and from the appropriate Skills.

Virtual Agent Representation

A Virtual Agent comprises the following sections, as shown in the definition below:

{
 "name": "QUICKSTART_VA",
 "skills": [
 {
   "resource_uri": "{MY_FIRST_SKILL_RESOURCE_URI}",
   "name": "MY_FIRST_SKILL"
 },
 {
   "resource_uri": "{MY_ECHO_SKILL_RESOURCE_URI}",
   "name": "MY_ECHO_SKILL"
 },
 {
   "resource_uri": "{UNKNOWN_SCENARIO_SKILL_RESOURCE_URI}",
   "name": "UNKNOWN_SCENARIO_SKILL"
 }
 ],
 "confidence_settings": {
   "threshold": 0.9,
   "confidence_handling_skill": "UNKNOWN_SCENARIO_SKILL_INTENT"
 },
 "configuration": {
   "nlu_provider": "Ai",
   "error_message_text_code": "CUSTOM_ERROR_MESSAGE_CODE",
   "send_typing_indicator": true
 },
 "user_type": "CUSTOMER"
}

A brief explanation of the above resource is as follows:

Name Description
name Name of the Virtual Agent.
skills Collection of Skills, which includes corresponding skill_id and skill name. See Skills for more information.
confidence_settings Indicates the Skill Intent (confidence_handling_skill) to be executed when the Natural Language Understanding (NLU) engine confidence level reports a value lower than the threshold configured. The threshold values range from 0.1 to 1.0.
configuration Collection of key/value pairs available for the Virtual Agent. See Configuration for more information.
user_type Type of user that will be interacting with the Virtual Agent. See User Type for more information.

Skills

The Skills array object can hold information (resource_uri and name) about the out-of-the-box Platform Platform Skills and Partner developed Business Skills.

You can define your Virtual Agent with System Skills, your own Partner developed Skills or mix them all together.

There is no hard limit on the number of Skills that you can define in your Virtual Agent.

To learn more, visit the Skills section.

Configuration

The Configuration object at the Virtual Agents level holds information defined across all the Skills and Tasks in the Virtual Agent.

The values defined in the Virtual Agent Configuration object can be overwritten by Skills and/or Tasks resource definitions.

The Configuration object can hold the following values:

Key Required Possible Values Description
nlu_provider yes Ai The Natural Language Provider configured for the Virtual Agent.
nlu_provider_url no Ai provider endpoint The Natural Language Provider endpoint configured for the Virtual Agent. It overwrites the default endpoint.
error_message_text_code no Registered Message Code Custom error message to be displayed to the traveler/customer/user when the Conversation Platform can not reach the Partner's Task services. See Creating New Message Codes for more information on registering your own Message Code.
send_typing_indicator no true or false See the Typing Indicator section to learn more about it.
error_handling_skill no custom error handling intent See the Error Handling Skill section to learn more about it.

User Type

The participant type ie Traveler, HumanAgent or Supplier of the first participant that joins a conversation will govern which Virtual Agent type will be pulled into the conversation as the second participant.

First Participant Type User type of Virtual Agent
Traveler CUSTOMER
HumanAgent AGENT
Supplier SUPPLIER

For example: When the first participant of the conversation with type say Traveler initiates a conversation, the Virtual Agent of type Customer is searched for within the resource hierarchy and then add to the Conversation as the second participant.