{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":5291,"path":"conversational-interfaces/virtual-agent/va-static-choicelist.md","title":"Static Choice user input control","bundle":null,"doc_type":null,"release":"australia","body":"\n# Static Choice user input control\n\nUse the Static Choice user input control in a Virtual Agent topic to list predefined choices available to the user. You can select only one item from a choice list.\n\n## Choice display\n\nThe choice list contains up to 10 items per page. When more than 10 items exist in an NLU conversation, you have the option to show the additional items and also filter the search results. The choice list prompt contains a search icon \\[Omitted image \"icon-search.png\"\\] Alt text: Search icon. that users can select to filter the results. When more than 10 items exist in an LLM chat conversation, a scroll bar appears. When more than 16 items exist in an LLM chat conversation, a search bar appears.\n\nThe Static Choice control provides the option to add a header card that displays above the choice list. Header cards are supported in web and mobile channels.\n\n-   The header card can contain a large or small image or a YouTube video card, along with descriptive text. The choice list contains up to five items by default, but the search feature is suppressed. If there are more than five items, users can choose to show the additional items.\n\n-   To control the number of items displayed below a header card, add the **com.glide.cs.web\\_header\\_picker\\_page\\_limit** system property. Use the **Value** to specify the number of items displayed in the choice list. For details about creating a system property, see [Add a system property](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/t_AddAPropertyUsingSysPropsList.md).\n\n\n## Static Choice user input control properties for LLM topic discovery\n\n<table id=\"table_zjt_pz3_h1c\"><thead><tr><th>\n\nProperty\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nName\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 \\[Omitted image \"LLM-input-discoverable-toggle.png\"\\] Alt text: When the Allow automatic slot-filling toggle is inactive, the detail description includes Data Pill Picker and script dynamic options. When the toggle is active, the Detail description field becomes static.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nChoices\n\n</td></tr><tr><td>\n\nDisplay name\n\n</td><td>\n\nFor each choice, the text that appears to the user for that choice. Use short phrases in your choice lists.\n\n-   Slack has a limit of 30 characters for choice list labels.\n-   Workplace has a limit of 20 characters for choice list labels.\n\n</td></tr><tr><td>\n\nValue\n\n</td><td>\n\nFor each choice, the string that is stored in the variable when the corresponding choice is selected.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nAdvanced\n\n</td></tr><tr><td>\n\nHeader Card\n\n</td><td>\n\nToggle to open a field to add cards which may include images or YouTube videos. For more information, see [Insert a header card in a Static Choice or Dynamic Choice control](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/insert-header-card-user-input-control.md)\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 If users enter a value such as `skip this step` when the conditions do not allow skipping, they receive a message saying the node cannot be skipped and are re-prompted to provide an answer.\n\n</td></tr></tbody>\n</table>## Example Static Choice user input control for LLM topic discovery\n\n**Note:** Asset library controls may display and function differently in other channels.\n\n<table id=\"table_rc5_cp5_zzb\"><thead><tr><th>\n\nInput properties\n\n</th><th>\n\nList user prompt\n\n</th></tr></thead><tbody><tr><td>\n\n\\[Omitted image \"va-static-choice-llm-3.png\"\\] Alt text: All basic Static choice 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 \"nass-dynamic-choice-user-prompt-zp4.png\"\\] Alt text: A choice list returns a list to select from.\n\n</td></tr></tbody>\n</table>## Static Choice user input control properties for NLU topic discovery\n\n<table id=\"table_nff_y1b_3db\"><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\nDetail description\n\n</td><td>\n\nThe one piece of information needed from the user. For example, `Ask the user which service catalog item they need.`\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 You can create rich text to alter the styling of the prompt:\n\n-   Use single asterisks or underscores for italic text. For example, `*text*` or `_text_`.\n-   Use double asterisks or underscores for bold text. For example, `**text**` or `__text__`.\n-   Use triple asterisks or underscores for italic and bold text. For example, `***text***` or `___text___`.\n-   Use a spaced hyphen to add a bullet point to a line. For example, `- text`.\n-   Use a spaced right angle bracket to create a block quote. For example, `> text`.\n-   Use between one and six hash marks to create headers. For example, `#text#` or `######text######`\n-   Use brackets and parentheses to create a hyperlink. For example, `[Link text](url)`. Add an exclamation point to a hyperlink to display an image. For example, `![alt text](image url)`\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 This field is available only when NLU discovery is enabled on the instance.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nChoices\n\n</td></tr><tr><td>\n\nDisplay name\n\n</td><td>\n\nFor each choice, the text that appears to the user for that choice. Use short phrases in your choice lists.\n\n-   Slack has a limit of 30 characters for choice list labels.\n-   Workplace has a limit of 20 characters for choice list labels.\n\n</td></tr><tr><td>\n\nValue\n\n</td><td>\n\nFor each choice, the string that is stored in the variable when the corresponding choice is selected.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nAdvanced\n\n</td></tr><tr><td>\n\nHeader card\n\n</td><td>\n\nToggle to open a field to add cards which may include images or YouTube videos. For more information, see [Insert a header card in a Static Choice or Dynamic Choice control](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/insert-header-card-user-input-control.md)\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nDefault value\n\n</td></tr><tr><td>\n\nDefault Value\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 class=\"sub-head\" colspan=\"2\">\n\nThis section is available only when NLU discovery is enabled on the instance.\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 if\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>## Example Static Choice user input control for NLU topic discovery\n\n**Note:** Asset library controls may display and function differently in other channels.\n\n<table id=\"table_f1f_v2p_xdb\"><thead><tr><th>\n\nInput properties\n\n</th><th>\n\nList prompt\n\n</th></tr></thead><tbody><tr><td rowspan=\"2\">\n\n\\[Omitted image \"va-static-choice-properties.png\"\\] Alt text: Basic properties include the node name, prompt, associated NLU entity, and a defined list of choices.\n\n \\[Omitted image \"va-add-header-card-dialog.png\"\\] Alt text: Fields include Card type, title, description, image link, and image alt text.\n\n</td><td>\n\n\\[Omitted image \"va-static-choice-web.png\"\\] Alt text: A basic Static Choice list prompt that reads, \"OK, what's the urgency of your issue?\" Response include 1-High, 2-Medium, and 3-Low.\n\n \\[Omitted image \"va-static-choice-list-web.png\"\\] Alt text: Static Choice list in the web UI with the header, \"Here are the breakfast items,\" followed by a list of more than 10 items.\n\n The choice list displays 10 items per page. When 10 or more results are returned, the following occurs:\n\n-   The list includes a link at the end of the list to show more results.\n-   A search icon displays in the prompt for filtering search results. Select the icon to open a search box and enter the filter.\n\n</td></tr><tr><td>\n\n\\[Omitted image \"va-static-choice-header.png\"\\] Alt text: Example Static Choice list. The header title reads \"From your neighborhood candy store,\" followed by an embedded video and a list of five items.\n\nThe choice list contains five items per page. When five or more results are returned, the list provides an option to show more results.\n\n**Note:** The search feature is suppressed when a header card is used.\n\n</td></tr></tbody>\n</table>## Channel support\n\n<table id=\"table_iw1_2j3_rsb\"><thead><tr><th>\n\nChannel\n\n</th><th>\n\nLLM support\n\n</th><th>\n\nNLU/keyword support\n\n</th><th>\n\nConstraints\n\n</th></tr></thead><tbody><tr><td>\n\nWeb UI\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nNone\n\n</td></tr><tr><td>\n\nMobile UI\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nNone\n\n</td></tr><tr><td>\n\nServiceNow Otto panel\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nNone\n\n</td></tr><tr><td>\n\nMicrosoft Teams\n\n</td><td>\n\nSupported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nNone\n\n</td></tr><tr><td>\n\nSlack\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nHeader cards aren’t supported.When a choice list has three or fewer choices, Slack displays the list as buttons.\n\n</td></tr><tr><td>\n\nWorkplace\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nHeader cards aren’t supported.\n\n</td></tr><tr><td>\n\nFacebook Messenger\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nIn a quick reply, the label has the maximum character limit of 20 characters. You can view only 13 quick replies at a time. If there are more than 13 quick replies, the pagination format is used to view more options. The default value of the maximum number of replies for a page is set in the **sn\\_va\\_fb\\_messenger.max\\_quick\\_replies** system property. This property is located in the System Property \\[sys\\_properties\\] table.\n\n</td></tr><tr><td>\n\nSMS Twilio\n\n</td><td>\n\nSupported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nHeader cards aren’t supported.\n\n</td></tr><tr><td>\n\nLINE\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nIn a quick reply, the label has a maximum limit of 20 characters. You can view only 13 quick replies at a time. If there are more than 13 quick replies, the pagination format is used to view more options. The default value of the maximum number of replies for a page is set in the **sn\\_va\\_line.max.picker.choices** system property. The property is located in the System Property \\[sys\\_properties\\] table.\n\n</td></tr><tr><td>\n\nWhatsApp \\(powered by Twilio\\)\n\n</td><td>\n\nSupported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nNone\n\n</td></tr><tr><td>\n\nWhatsApp\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nHeader cards aren’t supported. The prompt or body text has a maximum limit of 1,024 characters.\n\nFor list buttons:-   Each button label can have a maximum of 24 characters.\n-   Only 10 list buttons are visible at a time.\n-   If there are more than 10 buttons, the system automatically uses pagination to show additional options.\n\n</td></tr><tr><td>\n\nApple Messages for Business\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nNone\n\n</td></tr><tr><td>\n\nAlexa \\(Voice\\)\n\n</td><td>\n\nNot supported\n\n</td><td>\n\nSupported\n\n</td><td>\n\nFor screen devices, use touch scroll. For nonscreen devices, use voice pagination.\n\n</td></tr></tbody>\n</table>**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"}}