Slots and slot types overview
Slots are the specific pieces of information from an utterance to help understand the customer’s intent. For example, consider the utterance, “I want to book two rooms.” This utterance allows the bot to identify a specific piece of information or slot: rooms needed.
After the bot identifies a slot, it maps the slot to a slot type. A slot type defines how the bot processes the information available in the identified slot. Make sure that you map each slot to a slot type. Slot types help the bot define the information that the bot looks for when trying to find a slot in the utterance. A slot type must include at least one value.
In the previous utterance, the slot is “rooms needed,” and the slot maps to a number slot type. While this article relates to Genesys Dialog Engine Bot Flows and Genesys Digital Bot Flows, this video describes how slots and slot types work in Genesys Dialog Engine Bot Flows:
Global slot availability
Administrators and contact center managers can access any slot from any intent. Because slots are not bound to specific intents, they are accessible to multiple intents. This enhancement improves efficiency and reduces the effort to build bot flows.
You can access any slot from any intent. Slots are not bound to specific intents. The ability to access slots from multiple intents improves efficiency and reduces the effort needed to build bot flows. For example, previously if you wanted to reference a customer’s account number from the Check Account and Close Account intents, you had to create an Account slot within each Intent. You can also use slots without an intent. This feature is useful when you must perform identification and verification in self-service bots. For example, you can ask for the customer’s account number and PIN up front, before asking for their intent.
Also, if you created slots before the global slot availability, existing slots that share names merge, making them unique and easier to reference.
Slot types
Architect bots support two slot types: built-in slots and custom slots.
Slot type supportability
When you work with slot types, consider the following supported capabilities:
- Slot types: Up to 500 per flow
- Slots (entities) associated with a single slot type: Up to 10 per flow
- List slot type: Up to 50 per flow
- Regex slot type: Up to 20 per flow
Built-in slot types
You can create slots with built-in slot types when you create a slot from the Natural Language Understanding menu.
Architect includes the following built-in slot types by default:
NLU slot type | Architect data type | User input examples | Resolved format examples | Notes |
---|---|---|---|---|
builtin:amountOfMoney | Currency | “$30.23” or “forty dollars” |
30.23|USD |
|
builtin:date | Date | “June 15” or “next Tuesday” |
2021-06-15 |
|
builtin:number | Decimal | “23” or “three point five” |
23.0 3.5 |
|
builtin:time | Time | “3 p.m.” or “three-thirty p.m.” |
15:00:00.000 15:30:00.000 |
|
builtin:any | String | "Stratocaster" |
Stratocaster |
|
For more information, see Use built-in slot types in a bot flow.
Custom slot types
A custom slot type allows you to define slot types and use them to map slots. For example, you can create a location slot to denote cities for your travel bot. You can define a custom slot type and use that location slot to map locations in your utterances.
Architect supports four custom slot types:
- an AI-powered type with Virtual Agent
- a list type
- a dynamic list type
- a regular expression (regex) type
If you enable Virtual Agent, you can create generative, AI-powered slot types for Virtual Agent when you create a slot from the Natural Language Understanding menu. The large language model (LLM) helps Virtual Agent administrators and flow authors to capture and collect multiple slots in any order, capture slots over multiple turns, and make it easier for the bot to understand when customers perform tasks that are more complex for the bot, such as spell out their name.
With Virtual Agent, you can use numeric, alphanumeric, or free-form AI-powered slots and slot types to improve conversational bot behavior. Free-form slots allow you to add synonyms and examples to help the bot recognize multiple words and phrases for the same slot. These AI-powered options allow you to configure your bot so that conversations between the bot and participant more closely align with human conversations. For more information, see About Genesys Virtual Agent.
For more information about AI-powered slots and slot types, including best practices and limitations, see Virtual Agent slot authoring recommendations and limitations.
If your custom slot type data is a set of predefined words in the utterance, say like location names, use the list slot type. List slot types help you define the set of words that the bot must recognize to capture a slot.
You can also add synonyms for a slot type so that Architect can recognize multiple words and phrases for the same slot. For example, a slot type value of New York can have the synonyms: Big Apple or NYC. These synonyms allow the bot to understand that when the user says NYC, it maps to New York.
For more information, see Use custom list slot types in a bot flow.
If you do not know the allowed slot values when you create the bot flow, configure a dynamic list in your bot flow. Then use a data action or another source to retrieve the values during the bot conversation and store them in a string collection variable.
Dynamic lists are helpful if your bot contains many values for a slot type and you do not want to configure them manually and individually within Genesys Dialog Engine Bot Flows or Genesys Digital Bot Flows. These dynamic lists are also useful in cases where slot values are dynamic for each user.
For more information, see Use custom dynamic list slot types in a bot flow.
You can use regular expressions (regex or regexp) to identify patterns within utterances that match to a specific sequence of characters. If your bot has to identify a complex content in the utterance, a regex pattern is more useful in defining the slot type. For example, if you want to match flight codes for your travel bot, you must know the flight number for handling any cancellations. The regex pattern, ^[A-Z]{2}\d{3,4}$ matches any phrase in the utterance that matches this pattern as a flight number. For more information, see Use custom regular expression slot types in a bot flow and Regular expression language quick reference.
Add a slot type to your bot flow from the Slot Types menu
- Under Natural Language Understanding, click Slot Types.
- Click Slot Type. The Add Slot Type dialog box opens.
- Provide a meaningful name for the slot type and then click Save.
- Under Slot Type, to create a slot and slot type in parallel, select one of the available slot types:
- List. List slot types match items in a list.
- Dynamic List. Dynamic slot types are configurable.
- Regular Expression. RexEx slot types match a sequence of characters.
- AI Powered. AI powered slot types, when you enable Virtual Agent, leverage AI to understand and categorize input.
- If you chose List, then under Slot Type Value enter a value and click Add. Repeat this step to add more values.
- If you chose Dynamic List, follow these steps and create collection values:
- Click Edit Collections “>.
- In the dialog box that appears, click String.
- Under Values, enter a string value to associate with the slot type.
- Complete the remaining fields by associating synonyms and labels, as necessary.
- If you chose Regular Expression, enter an expression and click Add. Repeat this step to add more expressions, which Architect evaluates from top to bottom.
- If you enable Virtual Agent and chose AI Powered, then under Format, follow one of these steps:
- Choose Free-form. This type indicates to the bot to expect a long answer, rather than set digits.
- Under Description, provide a detailed prompt of the information you want to collect. For example, “The capital cities of Europe,” or “A person’s first and last name.”
- Click Example.
- Under Example Utterance, provide a potential utterance that the bot might expect. For example, “I once visited Paris,” or “My name is John Doe.”
- Under Expected Value, enter the value that the bot should recognize. For example, “Paris,” or “John Doe.”
- Choose Letter-number combination and under Length, set the expected character length of the slot. For example, the number of numbers and characters in your membership ID.
- Choose Numeric sequence and under Length, set the expected character length of the slot. For example, a 4-digit PIN number.
- Choose Free-form. This type indicates to the bot to expect a long answer, rather than set digits.
- Click Save.
Add a slot to your bot flow from the Slots menu
- Under Natural Language Understanding, click Slots.
- Click Add Slot.
- Provide a meaningful name for the slot.
- Under Slot Type, to create a slot and slot type in parallel, select one of the available slot types:
- Existing. Includes existing custom slot types or built-in slot types.
- New AI Powered. When you enable Virtual Agent, AI Powered slots use artificial intelligence to understand and categorize input.
- New List. List slot types match items in a list.
- New RegEx. RexEx slot types match a sequence of characters.
- New Dynamic. Dynamic slot types are configurable.
- If you chose Existing, click Select and choose an existing custom slot type or a built-in slot type.
- If you chose New AI Powered, New List, New RegEx, New Dynamic, or AI Powered, enter a slot type name.
- Click Save.
Architect returns a message to confirm that the new slot was created and, for New AI Powered, New List, New RegEx, and New Dynamic, that the slot type was created.
Add values to your slot types
To add values to your slot types, see the following article according to your slot type:
- Use built-in slot types in a bot flow
- Use AI Powered slot types in a bot flow
- Use custom list slot types in a bot flow
- Use custom dynamic list slot types in a bot flow
- Use custom regular expression slot types in a bot flow
Parallel slot and slot types example
In this example, the bot author wants to add slots and slot types for drum kit manufacturers.
- Under Natural Language Understanding, click Slots.
- Click Add Slot.
- Name the slot DrumKit.
- Under Slot Type, select New List.
- Name the slot type Manufacturer.
- Click Save.
Click the image to enlarge.
Architect creates the slot and slot type and returns a message, indicating that the Slot ‘DrumKit” and Slot Type ‘Manufacturer’ were created.
Click the image to enlarge.
Now you can add slot type values to the slot type.
- Under Natural Language Understanding, click Slot Types.
- Click the Manufacturer slot type.
- Under Slot Type Value here, type Yamaha and press Enter.
- Repeat step 4 for each additional drum kit manufacturer that you want to add.
Click the image to enlarge.
Now you can map the slots to utterances.
To map slots to utterances, follow these steps:
- Under Natural Language Understanding, click Intents.
- From the Intents page, add an intent called, “Buy a Volvo.”
- Click the new intent. The Utterance page opens.
- Under Utterances, click the term, “Volvo.” The Select Slot list appears.
- From the Select Slot list, choose Drums.
The slot is successfully mapped to the utterance.