Virtual Agent

Create a Virtual Agent Topic

Virtual Agent topics let you build conversational flows that guide users through tasks or help them find information without human intervention. This guide walks you through creating a topic from scratch and getting it live for real users.

Why Virtual Agent topics replace human handoffs

Before Virtual Agent, most ServiceNow implementations relied on service catalog forms, knowledge articles, or direct contact with support teams. Users had to know exactly what they were looking for or wait for someone to help them navigate options. Virtual Agent topics let you capture the troubleshooting or guidance conversations that your best technicians have with users and automate them. The people who build these — typically service delivery managers and platform developers — can now codify institutional knowledge instead of watching it walk out the door when experts leave.

How topics and conversation flows work

A Virtual Agent topic is a decision tree built from conversation nodes. You start with a trigger (either NLU intent recognition or keyword matching), then chain together Input nodes (collect information), Condition nodes (branch based on responses), Integration nodes (call ServiceNow APIs or external systems), and End nodes (wrap up the conversation). The key choice is trigger method: NLU intents understand natural language but require training data and ongoing tuning, while keyword triggers are predictable but rigid. Most production implementations use NLU for discovery conversations and keywords for specific procedural topics.

Taking topics from proof-of-concept to production

A working topic handles the happy path — user asks question, bot collects needed details, provides answer or creates record. Production-quality topics handle edge cases: unclear user input, API failures, handoff to human agents when the conversation goes off-script. You'll add validation to Input nodes, error handling to Integration nodes, and fallback paths throughout. The biggest enhancement is connecting topics to real ServiceNow data — pulling incident status, checking user permissions, creating requests — instead of static responses.

Before you start

  • Virtual Agent Conversation Admin role or equivalent
  • NLU model created and published if using intent-based triggers
Sourdough
Chrome Extension

Sourdough: ServiceNow Monitoring and Analytics

A Chrome extension for ServiceNow Admins and Developers with essential tools, analytics, graphs and monitoring features.

Instance HealthGraphs & ChartsAPI HealthDeveloper ToolsQuick SearchInstance Switcher
Add to Chrome

Free to install. Pro $5/month after a 14-day no-card trial.
Pro requires the ServiceNow admin role. Upgrade inside the extension.

Overview
Tasks
CMDB
API
Metrics
Monitor
Internals
Instance:sourdoughdev·Version:Yokohama
Instance StateONLINE
System StatusFully Operational
Session Timeout90 minutes
Logged-In Sessions2 (20 active)
Build Nameyokohama-12-18-2024_p1
IP Address10.159.128.43
Instance HealthHealth Score: 90%
🔥 5dSourdough (Chrome Plugin)Dark Mode

Step by step

1

Open Virtual Agent Designer

Navigate to Virtual Agent > Designer. Click "Create Topic" in the main canvas area. Enter a topic name that describes the user's goal, not your internal process name — "Reset my password" not "Password reset workflow".

2

Configure the topic trigger

Choose between Intent-based (natural language understanding) or Other (keyword matching). For Intent-based, select an existing intent from your NLU model — the bot will respond when user messages match that intent with sufficient confidence. For keyword matching, enter specific phrases users must type. Intent-based is more user-friendly but requires a trained NLU model.

TIP

Use keyword triggers for topics that users access through menu options or guided flows, intent triggers for open-ended discovery conversations.

3

Add conversation nodes

Drag nodes from the palette to build your flow. Start with an Input node to collect required information — set the prompt text, variable name, and expected data type. Chain a Condition node to branch logic based on the input value. Add Integration nodes to call ServiceNow APIs (like creating incidents) or query external systems. Connect nodes by dragging between their connection points.

4

Configure node behavior

Click each node to set its properties. Input nodes need clear prompts and validation rules. Condition nodes require JavaScript expressions that evaluate to true/false. Integration nodes need API endpoints and parameter mapping. Set meaningful variable names — you'll reference them in downstream nodes. Each conversation path must end with an End node that summarizes what happened.

5

Test in the designer

Click the Test button in the designer toolbar. Type messages that should trigger your topic and walk through each conversation path. Verify that variables populate correctly and integrations return expected results. Test edge cases like invalid input and API errors.

TIP

Designer testing uses perfect intent matching — it won't reflect real NLU confidence scores or handle ambiguous user input like production will.

6

Publish to production

Click "Publish" when testing passes. Select your target Virtual Agent configuration (production bot instance). The topic becomes available immediately to users interacting with that bot. Monitor the Virtual Agent Analytics dashboard for conversation success rates and common failure points after publishing.

Best practices

  • Always include error handling in Integration nodes — API calls fail and your topic should gracefully handle timeouts or invalid responses.

  • Set clear variable names that describe the data, not the input method — use 'user_department' not 'dropdown_1'.

  • Test topics with actual user language, not the clean phrases you used during development — users rarely type exactly what you expect.

  • Use Input node validation to catch bad data early rather than letting it propagate through your entire conversation flow.

  • Create separate topics for distinct user goals rather than building mega-topics that try to handle everything — they become unmaintainable fast.

Test Your Knowledge

Quick 3-question quiz — see how your ServiceNow skills stack up.

Question 1 of 3Performance

A list view on a table with millions of records is slow. Best fix?

Select an answer to continue