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 unified chat experience by integrating multiple chatbots across various channels. It acts as the primary bot that connects secondary bots such as Google Dialogflow, Microsoft Power Virtual Agents, and other ServiceNow Virtual Agent instances. This setup simplifies management, expands chatbot capabilities, and offers end users seamless access to a wide range of enterprise tasks and services.
Show less
Key Features
- Multi-bot Integration: Supports ready integration with third-party bots like Google Dialogflow and Microsoft Power Virtual Agents, as well as easy integration with ServiceNow Virtual Agent bots across different instances.
- User Authentication and Account Linking: Ensures secure user identity management across connected bots.
- Unified Intent Discovery and Conversations: Allows intent discovery across all skills supported by primary and secondary bots, with conversations handled by one bot at a time.
- Common Conversation Model and Data Storage: Provides unified reporting and analytics across all bot interactions.
- Language Support: Passes user language to secondary bots, which return responses in the appropriate language; however, Bot Interconnect itself does not translate responses.
- Timeout Configuration: Custom timeout values for waiting on secondary bot responses can be set via Bot Interconnect Topic Block properties.
- Conversation Management: Conversations close on secondary bots when the primary conversation closes or times out, except for Microsoft Power Virtual Agents where conversations remain open.
- Debug Logging: Debug logs can be enabled for troubleshooting, with conversation IDs included for traceability.
- Custom Output Transformation: Developers can customize how secondary bot responses are transformed and handled using transformation maps and script includes.
- Live Agent Connection: Supports routing interactions from the primary bot to live agents on secondary instances based on agent availability and configured conditions, enhancing customer support capabilities.
Installation and Licensing
The Bot Interconnect application requires administrative rights for installation and is available from the ServiceNow Store. It requires a Pro license similar to ServiceNow Virtual Agent.
Practical Use Cases
- Google Dialogflow Integration: Use ServiceNow Virtual Agent as the primary bot while leveraging Google Dialogflow’s skills as a secondary bot, accessible from ServiceNow-configured channels.
- Microsoft Power Virtual Agents Integration: Enable Microsoft Power Virtual Agents as a secondary bot with ServiceNow Virtual Agent as the primary, allowing execution of Power Virtual Agents skills through ServiceNow channels.
- Multi-instance ServiceNow Virtual Agent: Use Bot Interconnect to connect multiple ServiceNow Virtual Agent instances, extending bot capabilities across different environments.
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.