Virtual Agent slot authoring recommendations and limitations

When you enable Virtual Agent, you can use it to configure AI-powered slots. Before you configure your slots and slot types with Virtual Agent, review the limitations, considerations, and tips that Genesys developers recommend for large language model (LLM) slots. The following table defines the slot types that are available with Virtual Agent.

Slot Type Descripción Ejemplos de
Numeric sequence

Numeric sequences provided by bot participants with a fixed length.

  • A credit card number
  • A phone number
  • A PIN code
Letter-Number Combination

Alphanumeric sequences provided by bot participants with a fixed length.

  • A license plate
  • A passport ID
Free-form

A free-form sequence provided by bot participants with a given description.

  • An address
  • A name
  • An email address

The following sections describe slot limitations, information about how these slots handle explicit confirmation and negation by the bot participant, and specific examples.

Numeric slots

Use this slot type when you want the bot to consider only numeric characters as part of the extracted sequences. The bot does not recognize other characters.

  • Entities that exceed the set maxLength value are not accepted. For example, if the entity value is “123456” and the maxLength is set to 7 and the customer says “78,” then since the newly extracted entity is “12345678” and the length is now 8, the bot treats the new entity as a noMatch and keeps the remainder as “123456.”
  • Correction of cases that are not explicit or are in the middle portion of the extracted entity. In the following examples, the previously extracted entity was 1299554464.

    Examples of working corrections:
    • “No change the last two digits from 64 to 62”
    • “The last two digits should be 62”

Example of non-working corrections:

    • “No 62.” The LLM cannot determine what to alter.
    • “No, I meant 62.” The LLM cannot determine what to alter.
    • “Change 55 to 44.” This entry is difficult for the LLM to determine because it is in the middle of the entity.
    • “The entity should start with a 5.” The LLM may add a 5 to the start or it may correct “1299554464” to “5299554464” as expected.
    • The LLM does not have issues with larger numeric values; however, doing so increases the chance of more difficult correction. Bigger numeric values are more difficult to correct in the start or middle of the value. Because of this limitation, Genesys recommends the multi-slot nature use, so if a credit card number is extracted, ask for the data in 4-digit chunks. Any mistake occurs within the last four digits, which makes it easier to correct.

    Cases that work well are:

    • Simple digit extraction of all lengths. For example, “My credit card number is 0123456789012232.”
    • Digit extraction over multiple turns with digits in lexical format. For example:
      • Participant: “My card starts with 0011”  bot: “I got 0011 so far, please continue.”
      • Participant: “Then 7831″ <i class=”fa-sharp fa-regular fa-arrow-right”></i> “I got 0011 7831 so far, please continue.”
      • Participant: “Seven one double oh” <i class=”fa-sharp fa-regular fa-arrow-right”></i> “I got 0011 7831 7100 so far, please continue.”
      • Participant: “Finally, 3333″ <i class=”fa-sharp fa-regular fa-arrow-right”></i> “I got 0011 7831 7100 3333 is that correct?”
    • Explicit corrections; for example, “Change the last two digits from 84 to 82.”
    • The LLM treats “Double” as two of whatever comes after; for example, double 2 = 22. The ASR should convert this response to 22 in the first place. “Triple”/”Treble” is three of that digit and “quadruple” is four.
    • The LLM treats “Oh” as “0” in expected situations, not in unexpected ones such as, “Oh sorry I meant.”

    Tip: Explicit corrective action should be handled well, if the ASR captures it.

    Letter number slots

    Use this slot type to provide hints during the extraction when participants use phonetic alphabets; for example, the NATO phonetic alphabet. For example, a user can say “a for alpha” and the extracted character is “A.”

    • Entities that exceed the set maxLength value are not accepted. For example, if the entity value is “A12345,” the maxLength is set to 7, and the customer says “67,” then because the newly extracted entity is “A1234567” and the length is now 8, the bot treats the new entity as noMatch and keeps the entity “A12345.”
    • Duplicated characters over multiple turns. If, on turn 1, the extracted entity is “AB78G” and on the next turn the customer starts with another “g,” the LLM can mistakenly return “AB78G” instead of “AB78GG.”
    • Ambiguous corrections. For example, “No I said AZ.” An ambiguous correction can happen if, on turn 1 the customer said “A for apple, C 72” which was extracted as “AC72;” on the next turn they could make a difficult correction such as “No I said AZ.”
    • The LLM does not have issues with larger alphanumeric values; however, doing so increases the chance of more difficult correction. Bigger numeric values are more difficult to correct in the start or middle of the value. Because of this limitation, Genesys recommends the multi-slot nature use, so if a passport number is extracted, ask for the data in 3-character chunks. Any mistake occurs within the last 3 digits, which makes it easier to correct. 

    Cases that work well are:

    • Alphanumeric extraction of all lengths with phonetic spelling of letters, simply stated letters, and numerals. For example, “My passport number is a for apple, b for beta, c for charlie, d 8909.”
    • Alphanumeric extraction over multiple turns with digits in lexical format, for example:
      • Participant: “My membership number starts with AB11”  bot: “I got AB11 so far, please continue.”
      • Participant: “Then c for charlie and z for zeta”  bot: “I got AB11 CZ so far, please continue.”
      • Participant: “beta alpha”  bot: “I got AB11 CZ BA so far, please continue.”
      • Participant: “Finally, 99”  bot: “I got AB11 CZ BA 99 is that correct?”
    • Explicit corrections. For example, “No the last letter should have been Z for zeta not c.”
    • The LLM treats “Double” as two of whatever comes after; for example, double 2 = 22. The ASR should convert this response to 22 in the first place. “Triple”/”Treble” is three of that digit and “quadruple” is four.
    • The LLM treats “Oh” as “0” in expected situations, not in unexpected ones such as, “Oh sorry I meant.”

      Tip: Explicit corrective action should be handled well, if the ASR captures it.

      Free form slots

      Use these slots when you want the bot to recognize a textual description of the entity to capture. For example, an address with the street name, city, and PIN code.

      Note: When you create free form slots, consider that the description impacts how the LLM correctly identifies parts of an entity and the format.

      • Addresses
        • Address format per specific country standards. The bot participant must rely on the description that you provide to ensure the proper format.
        • Casing: The correct casing is typically correct; however, the extracted entity may occasionally return as all lowercase or all uppercase.
      • Correos electrónicos
        • Incorrect identification of custom domain names across multi-turn conversations. More common, accurate returns occur when the emails are provided in a single turn.
        • Cases where ASR transcriptions fail to convert dashes, dots, and underscore.
      • Names
        • Missing or rearranged characters when long names are spelled out.

      The model output after each call contains two parts: the extracted entity and a Boolean, whether the extraction is complete or not, on which the entity detection status is in progress or completed. For freeform, the bot uses the provided description.

      • The model uses the description to judge whether the entity is captured or if parts mentioned in the description are missing. A description should ideally contain what the entity is about and what other subentities or parts of an entity that it must contain.
      • It is also possible to skip ahead. If the customer explicitly says something similar to:  “I’m done, that’s it, that is all, I don’t have it, I don’t know,” and so on, the extraction status changes to completed and overrides the subentity collection based on the description.

      Free form slot examples: Cases where the bot can correctly judge the entity detection status

      In these examples, the slot is person_name to describe the first name and last name of a person. 

      • The bot participant specifically mentions what part of the entity is provided.

      Haga clic en la imagen para ampliarla. First and last name with provided entity

      • The bot participant only mentions which part of the name is provided in the initial turn; the model assumes that the next sub-entity that the bot participant provides is the last name.

      Haga clic en la imagen para ampliarla.
      person_name - first name and last name of a person. User only mentions what part of the name is provided in the initial turn, the model assumes that the next sub-entity being provided is the last name

      • Both subentities are provided at once and the status changes to completed after the first turn.

      Haga clic en la imagen para ampliarla. Both sub-entities are provided at once.

      • Status stays in progress because the bot participant specifies that the entity being provided is a middle name, not mentioned in the description; the next entity that the bot participant provides is assumed to be the last name, as expected.

      Haga clic en la imagen para ampliarla. Status stays in progress because the user specifies that the entity being provided is a middle name

      • Although the bot participant doesn’t specify, and “van der” should be assumed as a last name, it probably is not, since “van der” is a commonly used surname prefix and not an actual surname.

      Haga clic en la imagen para ampliarla.
      The user doesn’t specify and van der should’ve been assumed as a last name

      In these examples, the slot is delivery_address to describe a delivery address including house number and PIN code. 

      • Conversation stays in progress until both the house number and PIN code are provided; adds house number at the start of the address and PIN code at the end.

      Haga clic en la imagen para ampliarla.
      Stays in progress until both the house no and pin code are provided

      • Although a PIN code wasn’t provided, the status changes to completed because the bot participant indicates that they are done. This status does not occur when the participant doesn’t say “that’s it“ and the status only goes to completed when a PIN code is provided.

      Haga clic en la imagen para ampliarla. The status changes to completed because the user indicates that he’s done

      Free form slot examples: Early exit behavior

      These examples describe early exit behavior scenarios for a delivery_address slot that describes a delivery address with a house number and PIN code.

      • Example 1 Early exit example

      Haga clic en la imagen para ampliarla.
      Example 1 Early exit example: delivery_address - delivery address including house number and pincode

      • Example 2 Early exit example.

      Haga clic en la imagen para ampliarla.
      Example 2 Early exit example: delivery_address - delivery address including house number and pincode. 

      • Example 3 Early exit example.

      Haga clic en la imagen para ampliarla.
      Example 3 Early exit example: delivery_address - delivery address including house number and pincode.

      • Example 4 Early exit example.

      Haga clic en la imagen para ampliarla.
      Example 4 Early exit example: delivery_address - delivery address including house number and pincode. 

      For information about sample conversations that demonstrate how free form slot capture works, see Free form slot capture examples.

      General considerations

      • The quality of the slot extraction depends on the quality of the transcription from audio to text in the voice channel. The “garbage in, garbage out” concept applies here as transcription errors propagate.
      • The prompt message to the customer should mention that the entity can be provided in one or multiple turns.