{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":5295,"path":"conversational-interfaces/virtual-agent/va-text-input.md","title":"Text user input control","bundle":null,"doc_type":null,"release":"australia","body":"\n# Text user input control\n\nThe Text user input control in a Virtual Agent topic prompts the user for a text string.\n\n## Text user input control properties for LLM topic discovery\n\n<table id=\"table_of1_vt5_g1c\"><thead><tr><th>\n\nProperty\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nNode name\n\n</td><td>\n\nName that identifies this node in the topic flow.\n\n</td></tr><tr><td>\n\nVariable name\n\n</td><td>\n\nName of the variable that stores the user response to this prompt. The variable name is automatically created from the **Node name** property.\n\n</td></tr><tr><td>\n\nAllow automatic slot-filling\n\n</td><td>\n\nToggle to allow this node’s value to be automatically set by other nodes, as well as during topic discovery. When this toggle is activated, the Detail description field changes from dynamic Data Pill Picker and script options to a static text field.\n\n</td></tr><tr><td>\n\nDetail description\n\n</td><td>\n\nDescription of the information that you need from users. If the **Allow automatic slot filling** toggle is deactivated, you can create a dynamic detail description by selecting the Data Pill Picker icon \\[Omitted image \"variable-reference-picker.png\"\\] Alt text: to define conditions, or select the Open Editor icon \\[Omitted image \"icon-script.png\"\\] Alt text: to enter a script. If the **Allow automatic slot filling** toggle is activated, you can only enter a static description.\n\n</td></tr><tr><td>\n\nInput format\n\n</td><td>\n\nText format that is validated when a user enters certain text items. If the user doesn't enter the expected format, an error message indicates that the format is not valid and asks the user to reenter the text. Choose the format of the text item to be validated:\n\n-   Text: Any text string \\(no validation\\).\n-   Email: Format that consists of an email prefix \\(user name\\), the @ symbol, and domain.\n-   IP address \\(IPV4, IPV6\\): Data communication delivery format for Internet Protocol version 4 or version 6.\n-   Phone number \\(E.164\\): Internationally recognized standard phone number format.\n-   URL: Web address format.\n-   Custom: A script that provides a validation rule for a custom text format. The script should include related error messages that are displayed when the expected format is not entered.\n\nFor phone and IP address format examples, see [E.164 phone formats](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/r_ConfigureE.164PhoneNumberFields.md) and [IP address field types](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/r-IPAddressFieldType.md).\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nAdvanced\n\n</td></tr><tr><td>\n\nEnforce user prompt\n\n</td><td>\n\nToggle to open a field for a custom message shown to the user instead of the message generated by the large language model \\(LLM\\). You can create custom messages in plain language, input a script, or define conditions with the data pill picker.\n\n</td></tr><tr><td>\n\nValidation\n\n</td><td>\n\nAdd a script to validate the user input. For example, check if the user entered a valid email address.\n\n</td></tr><tr><td>\n\nAdditional instructions for LLM\n\n</td><td>\n\nFurther instructions to the LLM, such as adding data formats, restrictions, or default values for user responses. You can create additional instructions in plain language, input a script, or define conditions with the data pill picker.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nHide or skip this node\n\n</td></tr><tr><td>\n\nConditionally use this node if\n\n</td><td>\n\nNo-code condition statement or low-code script that specifies a condition for presenting this node in the conversation. The condition must evaluate to true.\n\n</td></tr><tr><td>\n\nAllow user to skip this node if\n\n</td><td>\n\nNo-code condition statement or low-code script that specifies a condition for letting users skip this node in the conversation. The condition must evaluate to true. You can set this field using either the condition builder or a script.\n\n</td></tr></tbody>\n</table>## Example Text user input control for LLM topic discovery\n\n<table id=\"table_ar2_jn5_g1c\"><thead><tr><th>\n\nInput properties\n\n</th><th>\n\nInput prompt\n\n</th></tr></thead><tbody><tr><td>\n\n\\[Omitted image \"va-text-input-llm-3.png\"\\] Alt text: All basic Text user input fields are openly available. Select any of the advanced options to toggle them open individually.\n\n</td><td>\n\n\\[Omitted image \"va-text-input-web-llm.png\"\\] Alt text: Web client showing input prompt. The text reads, \"Could you please provide your first service catalog item?\"\n\n</td></tr></tbody>\n</table>## Text user input control properties for NLU topic discovery\n\n<table id=\"table_ir2_jn5_g1c\"><thead><tr><th>\n\nProperty\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nNode name\n\n</td><td>\n\nName that identifies this node in the topic flow.\n\n</td></tr><tr><td>\n\nVariable name\n\n</td><td>\n\nName of the variable that stores the user response to this prompt. The variable name is automatically created from the **Node name** property.\n\n</td></tr><tr><td>\n\nPrompt\n\n</td><td>\n\nPrompt or question for the user. The prompt can be either a text string or a script that returns text. This value is used only when the default value is not specified. For example: `What's your name?`\n\n</td></tr><tr><td>\n\nInput format\n\n</td><td>\n\nText format that is validated when a user enters certain text items. If the user doesn't enter the expected format, an error message indicates that the format is not valid and asks the user to reenter the text. Choose the format of the text item to be validated:\n\n-   Text: Any text string \\(no validation\\).\n-   Email: Format that consists of an email prefix \\(user name\\), the @ symbol, and domain.\n-   IP address \\(IPV4, IPV6\\): Data communication delivery format for Internet Protocol version 4 or version 6.\n-   Phone number \\(E.164\\): Internationally recognized standard phone number format.\n-   URL: Web address format.\n-   Custom: A script that provides a validation rule for a custom text format. The script should include related error messages that are displayed when the expected format is not entered.\n\nFor phone and IP address format examples, see [E.164 phone formats](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/r_ConfigureE.164PhoneNumberFields.md) and [IP address field types](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/r-IPAddressFieldType.md).\n\n</td></tr><tr><td>\n\nNLU entity\n\n</td><td>\n\nOption to associate an NLU entity with the node. If an NLU entity is associated with the input variable for this node, Virtual Agent can slot-fill the specified value based on the user's utterance. Select an entity from the list of entities associated with the topic intent.\n\n When you specify an entity for the node, the Do not ask users to confirm recognized entity toggle switch is displayed. When enabled, users are not prompted to confirm the extracted entity.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nAdvanced\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nMake this input secure\n\n</td></tr><tr><td>\n\nEnable\n\n</td><td>\n\nToggle switch that encrypts the input control. When enabled, the user input is masked and appears as a series of dots in the chat window.\n\n</td></tr><tr><td>\n\nHash function\\[Visible when Make this input secure is enabled\\]\n\n</td><td>\n\nThe method digest algorithm based on the standard WS-security standard. Choose one of the following:\n\n-   **SHA-256 \\(lower case\\)**\n-   **SHA-1 \\(lower case\\)**\n\nFor more information about the WS-security standards, see [WS-Security properties](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/web-services/ws-security-properties.md).\n\n</td></tr><tr><td>\n\nEncryption salt\\[Visible when Make this input secure is enabled\\]\n\n</td><td>\n\nRandom data that is used as an additional input to a one-way function that hashes data.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nDefault value\n\n</td></tr><tr><td>\n\nPredefine a value for user input\n\n</td><td>\n\nPredefined value for the user response to the question or prompt. The response defined in the **Default value confirmation** field asks the user to confirm the default value. If the user responds with `no`, the value becomes null. The default value can be either a text string or a script that returns text. For example, if you're using dot-walking, the default value might be: `Script Variables > Last username`. Or if you're using a script, the default value might be: `{{vaScripts.lastUsername}}`.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nConfirmation messages\n\n</td></tr><tr><td>\n\nInput completion confirmation\n\n</td><td>\n\nBot response shown to the user when the node interaction is complete. The message can be either a text string or a script that returns text. For example, if you're using dot-walking: `Thanks, (Input Variables > Username)!` Or if you're using a script, the acknowledgement might be: `Thanks, {{vaInputs.username}}!`\n\n</td></tr><tr><td>\n\nDefault value confirmation\n\n</td><td>\n\nMessage that asks the user to verify that the value in the **Default value** field is correct. This message is used instead of a value in the **Prompt** field. It can contain either a text string or a script that returns text. For example, if you're using dot-walking: `Are you (Input Variables > Username)?` Or if you're using a script, the confirmation message might be: `Are you {{vaScripts.lastUsername}}?`.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nConversation switching\n\n</td></tr><tr><td>\n\nTurn on to let users change the subject\n\n</td><td>\n\nOption to enable NLU prediction for this node. If enabled, users can enter text to answer questions, regardless of the type of input control being used. Virtual Agent uses this utterance to match another existing intent, letting the user switch topics.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nHide or skip this node\n\n</td></tr><tr><td>\n\nConditionally show this node if\n\n</td><td>\n\nNo-code condition statement or low-code script that specifies a condition for presenting this node in the conversation. The condition must evaluate to true.\n\n</td></tr><tr><td>\n\nAllow user to skip this node if\n\n</td><td>\n\nNo-code condition statement or low-code script that specifies a condition for letting users skip this node in the conversation. The condition must evaluate to true. You can set this field using either the condition builder or a script.\n\n</td></tr><tr><td>\n\nSkip reprompting\n\n</td><td>\n\nNo-code condition statement or low-code script that specifies a condition for letting users skip reprompting in the conversation. When a preceding node is revisited through a topic loopback or Dialog Act, Virtual Agent bypasses this node and automatically retains its original value.\n\n</td></tr></tbody>\n</table>## Channel support\n\n**Note:** Asset library controls may display and function differently in other channels.\n\n|Channel|LLM support|NLU/keyword support|Constraints|\n|-------|-----------|-------------------|-----------|\n|Web UI|Not supported|Supported|None.|\n|Mobile UI|Not supported|Supported|None.|\n|ServiceNow Otto panel|Not supported|Supported|None.|\n|Microsoft Teams|Supported|Supported|None.|\n|Google Chat|Supported|Supported|None.|\n|Slack|Not supported|Supported|Slack users can edit text previously entered in a conversation. However, Virtual Agent processes messages as they are first entered. If aSlack user edits text input, such as a comment to update a case, then Virtual Agent does not evaluate the edited update.|\n|Workplace|Not supported|Supported|None.|\n|Facebook Messenger|Not supported|Supported|The maximum character limit is 5000 characters.|\n|SMS Twilio|Not supported|Supported|None.|\n|LINE|Not supported|Supported|The maximum character limit is 5000 characters.|\n|WhatsApp \\(powered by Twilio\\)|Supported|Supported|None.|\n|WhatsApp|Not supported|Supported|The maximum limit is 4,096 characters.|\n|Apple Messages for Business|Not supported|Supported|None.|\n|Alexa \\(Voice\\)|Not supported|Supported|For screen devices, character limits may apply. For more information, see the [Alexa developer documentation](https://developer.amazon.com/en-US/docs/alexa/custom-skills/display-interface-reference.html).|\n\n**Parent Topic:**[Assistant Designer user input controls](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/va-user-inputs.md)\n\n"}}