Virtual Agent Designer controls
Summarize
Summary of Virtual Agent Designer controls
Virtual Agent Designer controls enable you to build and manage conversational flows in ServiceNow’s Virtual Agent. These controls collect, process, and present information to users, as well as interact with instance records by reading, creating, or updating them. Each control type serves a distinct function to guide and enhance the user conversation experience.
Show less
Control Types
- Start segment: Automatically included at the beginning of every topic flow; it cannot be added or removed manually. It can be configured with a greeting message to welcome users.
- End segment: Automatically included at the end of every topic flow; it cannot be added or removed manually. It can be configured with a final confirmation message. All conversation branches must eventually connect to this segment.
- User Input: Prompts users and captures their input during conversations.
- Bot Response: Displays messages or responses from the bot to the user.
- Utilities: Executes actions and manages logic within the topic flow, such as running scripts, branching conversations, or invoking Workflow Studio workflows.
Using Data Pills and Scripts
Controls that accept prompts, messages, or values can use data pills to insert dynamic content easily without scripting. Data pills allow you to pull information from variables created by User Input or scripts.
For more complex scenarios, scripting can be used, for example, to handle message translation or advanced logic. Both methods enable personalized and context-aware responses, such as including the customer’s name dynamically in bot messages.
Conditional Logic to Control Flow
Most controls have a condition property that determines whether the control is executed or skipped in a conversation. You can define conditions using:
- The condition builder interface, which lets you create rules using data pills.
- Custom scripts that return true or false, enabling advanced logic based on user permissions or context.
For example, a script condition can check if the current user has permission to create incident records and skip the control if not, ensuring conversations adapt dynamically to user roles and data.
A Virtual Agent topic consists of a collection of controls within a topic flow. Use these controls to collect, process, and present information to your users. Controls can also read, create, and update records on your instance.
Each set of controls performs specific functions in a conversation flow.
| Category | Description |
|---|---|
| Start segment | Appears automatically in a topic flow and cannot be added to or removed from a conversation. This control can be configured with a greeting response that appears when a conversation begins. |
| End segment | Appears automatically in a topic flow and cannot be added to or removed from a conversation. This control can be configured with a final confirmation message before the end of a conversation. Ensure that all branches of your topic eventually connect to this control. |
| User Input | Prompts and captures information from the user in a conversation. |
| Bot Response | Displays bot responses in a conversation. |
| Utilities | Handles actions and logic within a topic, such as running a script or adding different conversation paths (branches) in a topic. You can also use them to call automated Workflow Studio workflows. |
- Text strings
- Data pills
- Strings with embedded data pills
- Scripts that return strings
Data pills
Use data pills to quickly and easily add dynamic information to your controls without using a script. Select the data pill icon to open the data pill picker interface. In this interface, you can select data from script variables and from input variables set by your User Input controls.
Using data pills enables you to quickly and easily access the data in your variables. In contrast, scripting provides more complex options, like handling translation. The following examples illustrate how to use a text bot response that includes the name of the customer, handled both as a data pill and a script.
| Method | Result |
|---|---|
| Data pill | |
| Script | |
The first example uses the data pill selector to choose Get Name, an
input variable that contains the name of the customer. The second example accomplishes the same
thing using a script. The script example also uses gs.getMessage to handle
translating the message.
Hide or skip this node (condition property)
Almost all controls have a condition property. The exceptions are the Decision utility and the Start and End nodes.
- Create a condition using the condition builder interface, which lets you add data pills to specify conditions built using this interface.
- Provide a script for the condition property that returns a value of true or false. If the return value is false, the control is not used and the conversation will continue to the next control along that branch of the topic.
Use conditions to make your conversations more dynamic based on context, data, or scripted logic.
| Scripted condition | Condition builder condition |
|---|---|
Sample script for conditionally showing the node: |
In this example, a condition script returns a value of true if the current user is able to create incident records. This condition prevents a utilities control from creating an incident when the user does not have permission to do so.