Using Virtual Agent Bot Interconnect in your configuration
Summarize
Summary of Using Virtual Agent Bot Interconnect in your configuration
Virtual Agent Bot Interconnect enables ServiceNow customers to create a seamless and unified chat experience across multiple bot channels. Acting as the primary bot, it integrates secondary bots such as Google Dialogflow, Microsoft Power Virtual Agents, and other ServiceNow Virtual Agents, allowing end users to access a broad range of enterprise tasks through a single interface. This integration reduces complexity and enhances user engagement by consolidating various chatbots into one cohesive system.
Show less
Key Features
- Multi-Bot Support: Integrate third-party bots (Google Dialogflow, Microsoft Power Virtual Agents) and ServiceNow Virtual Agent bots from other instances as secondary bots.
- User Authentication and Account Linking: Ensures secure and consistent user identity management across bots.
- Intent Discovery: Detects user intents across all supported skills of primary and secondary bots.
- Conversation Management: Supports one active bot conversation at a time with unified conversation modeling and data storage for improved analytics and reporting.
- Language Support: Passes user language preferences to secondary bots; however, Bot Interconnect itself does not translate responses.
- Timeout Configuration: Allows customization of the maximum wait time for responses from secondary bots via scriptable timeout settings.
- Debugging Tools: Enables detailed debug logs with conversation IDs to assist in troubleshooting.
- Custom Transformations: Supports custom transformation maps to override default logic for handling secondary bot responses, enhancing flexibility in message formatting.
- Live Agent Connection: Routes interactions from the primary bot to live agents on secondary instances based on agent availability and configured matching conditions, with fallbacks for unavailable agents.
- Installation and Licensing: Requires admin role for installation from the ServiceNow Store and a Pro license similar to Virtual Agent.
Practical Use Cases
- Google Dialogflow as Secondary Bot: Enables execution of Dialogflow skills and topics through channels configured for ServiceNow Virtual Agent.
- Microsoft Power Virtual Agents as Secondary Bot: Allows Power Virtual Agents skills and topics to be accessed and executed via ServiceNow Virtual Agent channels.
- ServiceNow Virtual Agent as Secondary Bot: Supports multiple ServiceNow Virtual Agent instances working together within Bot Interconnect for extended capabilities.
What to Expect
By implementing Virtual Agent Bot Interconnect, ServiceNow customers can expect a streamlined chatbot ecosystem that simplifies management of multiple bots, delivers consistent user experiences across platforms, and provides rich analytics through unified data collection. Additionally, flexible customization options and live agent routing enhance support capabilities, making it easier to meet diverse enterprise communication needs.
Use Virtual Agent Bot Interconnect to create a unified chat experience across multiple channels. You can support secondary bots, such as Google Dialogflow, Microsoft Power Virtual Agents, and ServiceNow® Virtual Agent.
Virtual Agent Bot Interconnect functions as the primary bot in a diverse chat environment. It can help you reduce complexity and create a unified chat experience for your end users. Virtual Agent Bot Interconnect gives your end users access to multiple channels and a wide variety of enterprise tasks that are available from ServiceNow.
- Ready integration with third-party bots such as Google Dialogflow and Microsoft Power Virtual Agents.
- Easy integration with ServiceNow Virtual Agent bots on other instances.
- The ability to add any other third-party bot as a secondary bot in the system.
- User authentication and account linking in Bot Interconnect.
- Intent discovery in Bot Interconnect across all skills that are supported by the primary and secondary bots.
- LLM topic conversations across primary and secondary bots
- Conversations occur with one bot at a time.
- Bot Interconnect provides a common conversation model and data storage, which unifies reporting and analytics.
Supported Controls
All input controls and bot response controls are supported.
Features and default behavior
- Language support
- Responses in Bot Interconnect are not translated. Bot Interconnect passes the user language to the secondary bot and expects the secondary bot to return any responses in that language. For example, if the primary bot has a German-speaking user and the secondary instance is localized in German, then German responses are returned to the primary bot.
- Timeout value from the secondary bot
- The timeout value is the maximum time the primary bot waits for a response from the secondary bot. You can pass a custom timeout value (in milliseconds) in the Bot Interconnect Topic Block properties to override this.
- Select the Bot Interconnect Topic Block node in the shell topic on your primary instance.
- In the Additional Params (String) area, select the script icon
.
- Add the following script:
In this example, 30000 equals 30 seconds.return JSON.stringify({ timeout : 30000 }) - Save and publish the topic.
- Closed conversations
- Conversations are closed on the secondary bot when a user closes the conversation on Bot Interconnect or when the Bot Interconnect conversation times out.Note:Conversations always remain open in Microsoft Power Virtual Agents.
- Debug logs
- To enable debug logs in the Bot Interconnect instance, set the sn_va_bot_ic.bot_interconnect.enable.logging system property to true. You will see a conversation ID attached to most logs, as well as the file name.
- Pass output from the secondary bot topic to the primary bot
- You can apply custom logic to the output of the secondary bot conversation in the Bot Interconnect shell topic.
- Support for custom transformation maps
Developers can pass a custom transformation map using the getTransformerMap method. A custom transformation map lets you override the default transformation logic.
Example in the DialogflowInboundTransformer script include for Google Dialogflow:/** Custom transformation map based on control types in DialogFlow messenger **/ getTransformationMap: function() { return { ‘text’: ‘transformText’, ‘info’: ‘transformInfoCards2’, ‘description’: ‘transformDescription’, ‘button’: ‘transformButtonLink’, ‘image’: ‘transformImage’, ‘chips’: ‘transformChips’, /* fallback logic in case VA API response format is mentioned in Dialogflow custom response payload */ ‘servicenow’: ‘transformServiceNowResponse’ }; },In this example,
text,info,description, and so forth are the control types that correspond to the secondary bot. The specified method (such as transformText) is called to do the transformation for the control type. For each secondary bot response, Virtual Agent uses the getControlType method to return the control type specified in the transformation map for the secondary bot message. The inbound transformer in Google Dialogflow provides a good example for how to use this.If the transformation method called does not exist, Virtual Agent API logs it as an error.
- Live agent connection
- You can enable live agent connection to route a Virtual Agent interaction in the primary instance to a live agent on the secondary instance. The following are the possible connection scenarios.
- If there are no matching agents available in the primary instance to cater to the interaction, Bot Interconnect will evaluate the matching conditions configured in the live agent connection and route the interaction to the appropriate live agent in the secondary instance.
- If there is only one matching connection, the interaction is routed to that connection and agent availability is checked in the secondary instance.
- If there are multiple matching connections, the user is presented with options in the order defined and is connected to the selected connection.
- If there are no matching agents available in the secondary instance, the following message is displayed: "There are no agents available. Please try again later.".
- If there are matching agents available in the secondary instance, the user is redirected to the available live agent who can cater to the interaction.
Autopilot mode is currently not supported in the secondary instance when the conversation is initiated on the primary instance. Live agent connection in the secondary instance works only when the secondary instance is in asynchronous mode.