Collect Input

Fill in a specific parameter value based on user input. In every Collect Input node, the virtual agent will prompt a question to the user. The parameter value will be captured and stored if the input is matched to the correct entity type bound to the parameter

To fill in a parameter value, select the name of the parameter you would like to fill, and add the prompt and retry prompt.

Receive files, images, and voice recordings as responses

Allow your virtual assistant to receive different input types such as text, images, audio, files, and location. Select which type of input you want to be accepted by the virtual assistant regardless of whether you are using regular text, reply buttons, or list messages in the Collect Input node. By default, your Collect Input node is set to "text", but you can select multiple different types.

If you select "Audio", you can choose between a regular audio recording as well as the option to transcribe it to text. To transcribe the input, select the ASR symbol on the top right of the "Audio" box.

The tabs inside the node will show the input type you chose and map out a different flow based on that input.

"Unexpected Input Type" - If you have selected only a few possible input types, the agent will not be able to understand the others. For example, if you have only text and voice enabled and the user responds with an image, this is the flow that will be triggered.

"Missed" - When the input of the caller doesn't match the selected entity. The agent will repeat the prompt (how many times depends on the number of retries you added) before triggering the "Missed" flow. You can specify what kind of behavior you want the agent to follow in such a case, e.g. route the call or ask a follow-up question to redirect the flow.

When to use Collect Input

To fill in a user ID that contains numbers only, create the parameter “USER_ID” and assign the @sys.number entity to that parameter. A good prompt might be “What is your ID number please?”. You can also choose to dictate the flow of the conversation based on a value-filled by using the “Classification” or “Conditions” nodes.

"Skip this node if value is already collected" - What if the value has been collected before in the same conversation?

If the parameter value has been collected on a previous node (or even the same node in case the caller went back to the same node during the same conversation), you can choose to skip this Collect Input node and keep the original value collected. If you like to override the value, leave this box unchecked.

Receiving location as a response

Our WhatsApp virtual assistants also have the ability to receive and send locations in two formats:-

  • Longitude + Latitude: Exact coordinates to pinpoint specific locations

  • Direct Address: This can either be typed in or entered as a pinned location on a visual map

In order to use both of these methods the entity attached to the collection parameter must be the system entity - sys.any.

If you choose to use the Longitude/Latitude response option, your end users will be able to provide decimal degree coordinates in this syntax:-

Latitude,Longitude

Eg - "12.1, -31.4"

Please make sure to inform your users of the syntax in your Collect input prompt reduce the chances of missed input.

Using the pinning mechanism to mark a location on the map provides users with an easy, intuitive means of sending the virtual assistant a location for further processing. Using the "Address" option the parameter value/user input is stored as complete address in textual form for eg, 10 Park Walk, East Village, London E20 1DH, UK.

End users will have to use the 'Location' option that becomes available when clicking on the paper clip option within WhatsApp UI. Text entered as plain text through the chat text input field will be classified as missed input

Reply Buttons & List Messages

In some cases, users will be asked to provide input that matches a narrow list of options, without using natural language (i.e appointment date/time, store branch, or list of products). In order to provide users an easy way to choose a value, you can set the Collect Input node to present a list of options for the user to choose from.

Vonage AI Studio offers two different options to present lists: Reply Buttons and List Messages.

Reply Buttons

Reply Buttons present the user with up to 3 options to choose from. Once the user has chosen one of the options, WhatsApp will present their choice as a direct reply to the Virtual Agent’s message instead of asking them to type it in.

Under the Reply Buttons sub-menu, you will see the message properties:

  • Header - The message header will be presented as the first line of the message, and always in Bold. (optional)

  • Body - The body of the message. Use this field to ask a question, describe the options, or give context to the message. (mandatory)

  • Footer - Use this field to add any notes relevant to the message. The footer will show in a smaller, more transparent font at the bottom of the message. (optional)

  • Buttons - Add up to 3 buttons to display choices for your users. Each button has a “Title” and a “Value”. The Studio allows you to differentiate between what users see in the message and the actual parameter value collected.

    • Button Title - This is the text that will be presented to the users. (mandatory)

    • Button Value - This is the actual text that will be collected as the parameter value. (mandatory)

If you’re looking for a more flexible experience, you can set each property to be a parameter value or a contact (similar to mentions). You can also use a simple JSON code to set dynamic buttons - simply copy the code example and add it as a parameter value.

[
  {
    "title": "Button 1",
    "value": "value1"
  },
  {
    "title": "Button 2",
    "value": "value2"
  }
]

The parameter value that will be collected will always match the button value and not the button title. Make sure to set the following logic accordingly. Make sure to match @sys.any entity to the collected parameter to avoid mistakes.

Beware of Field limitations in Reply Buttons: - Header (max. 60 characters) - Body (max. 1024 characters) - Footer (max. 60 characters) - Button Title (max. 20 characters) - Button Value (max. 256 characters)

View your Reply Buttons in the Chatbot Tester

List Messages

List messages present multiple options for the user to choose from as a separated sub-menu within the message. The Virtual Agent will show a message followed by the “List” button that will show different options to choose from.

Under the List Messages sub-menu, you will see the message properties:

  • Header - The message header will be presented as the first line of the message, and always in Bold. (optional)

  • Body - The body of the message. Use this field to ask a question, describe the options, or give context to the message. (mandatory)

  • Footer - Use this field to add any notes relevant to the message. The footer will show in a smaller, more transparent font at the bottom of the message. (optional)

  • List Title - Choose a name for the list you’re creating. This name will be presented on the button users will tap to open the list of values. (mandatory)

  • Sections - Define sections that will help users differentiate between the options presented to them. You can create up to 10 sections, with each section including up to 10 buttons. You must have at least 1 section included in the list message.

    • Section Title - Give the section a name. mandatory Button Title - This is the text that will be presented to the users. (mandatory)

    • Button Description - Add a description to the button - the description will show as a smaller, more transparent font below the title. (optional)

    • Button Value - This is the actual text that will be collected as the parameter value. (mandatory)

If you’re looking for a more flexible experience, you can set each property to be a parameter value or a contact (similar to mentions). You can also use a simple JSON code to set dynamic buttons - simply copy the code example and add it as a parameter value.

[
  {
    "title": "Section 1",
    "rows": [
      {
        "title": "Row 1",
        "value": "row-1",
        "description": "the first row"
      },
      {
        "title": "Row 2",
        "value": "row-2",
        "description": "the 2nd row"
      }
    ]
  }
]

The parameter value that will be collected will always match the button value and not the button title. Make sure to set the following logic accordingly. Make sure to match @sys.any entity to the collected parameter to avoid mistakes.

Beware of Field limitations in List Messages: - Header (max. 60 characters) - Body (max. 1024 characters) - Footer (max. 60 characters) - List Title (max. 20 characters) - Section Title (max. 24 characters) - Button Title (max. 24 characters) - Button Description (max. 72characters) - Button Value (max. 200 characters)

View your List Message in the Chatbot Tester

Global Parameters

These parameters are being saved right from the start throughout the entire conversation. Feel free to use them in case e.g. you need to send a text message to the caller or use the call start date/ time in your reporting.

SENDER PHONE NUMBER - Phone number of the user

CONVERSATION START DATE - Date of the conversation

CONVERSATION START TIME - Time when the agent send or received the first message

AGENT PHONE NUMBER - Virtual phone number of the agent

INITIAL MESSAGE - The first message that the sender will send will be caught as the value of this parameter

SESSION ID - Sequence of numbers and letters to identify the specific conversation

Last updated