Use Case - Integrating Nimbus Virtual User with external systems

Extending your Nimbus Virtual User with external capabilities

INC Use Case Preview Feature

PREVIEW - This Use Case showcases features that may not yet be available to all customers. Note that functionality, scope, and design of preview features may change significantly in future. As we define the last technical details, requirements and steps may be subject to change.

In this Use Case we're setting up a Virtual User to determine the intent of a customer in a direct conversation, store the customer intent directly into parameters and analyze the intent directly for call routing

To achieve this, we're going to cover the following topics in this Use Case: 

  • How to configure Nimbus in order to use the Virtual User in your workflows.
  • How to configure parameters, to instruct the Virtual User AI on how to select parts of a customer's requests as stored data.
  • How to set up the workflow and make service calls for further adjustments.

INC Icon Legend Accordion

Show Icon Legend 💡 = A hint to signal learnings, improvements or useful informati...

Show Icon Legend

💡 = A hint to signal learnings, improvements or useful information in context. 🔍 = Info points out essential notes or related page in context.
☝ = Notifies you about fallacies and tricky parts that help avoid problems. 🤔 = Asks and answers common questions and troubleshooting points.
❌ = Warns you of actions with irreversible / data-destructive consequence. ✅ = Intructs you to perform a certain (prerequired) action to complete a related step.
 
 

Preconditions

INC AI and Virtual User Preconditions

PRECONDITIONS: AI Features, Bots and Virtual Users

✅ Nimbus Tenant Admin consent is required to enable the use of AI features. This is done in the Data Privacy Tenant Settings.  AI use will require your Tenant data (e.g. caller information) to be processed by external services

💡Good to know - shared setup effort: Once consent is granted, both Admin Roles “Tenant Admins” and “OU Admins” are able to create various AI Configuration items in the Nimbus Admin Portal. This also includes:

  • Access to Service Distribution Settings, e.g. to test workflows with your configured Virtual Users. 
  • Steer feature visibility via Companion Service Settings (e.g. when activities are supposed to happen unobtrusive in the background).
 
 

Virtual User Licensing

✅Nimbus License Management

  • Contact Center Enterprise Routing service licenses are required to use AI-driven Virtual User functionality. 
    ⮑With the license applied, corresponding Service Features (e.g. workflow activities, configuration tabs) are enabled.
  • Individual Virtual User license requirement: Same as regular Nimbus users, each Virtual User requires a separate license. This license can be applied individually in the Virtual User configuration - or in bulk - via Admin > Licensing view. 
    ⮑The license enables usage of the “Add Virtual User” Workflow Activity, without it the activity will be skipped over. For additional Virtual User licenses on your service, get in touch with your Customer Success representative.
 
 

Virtual User Bot Configuration

Virtual Users rely on Nimbus Configuration items:

✅ ALL: Virtual Users require Bots to be configured. Your bot choice also determines the underlying AI LLM into which the Nimbus Virtual User integrates. Your bot typ and profile should therefore be chosen with the intended use case in mind.

INC Language model comparison matrix

Defined in Bots Defined in Virtual Users 

Type

Nimbus managed or BYO

Agent Type

Underlying LLM

Virtual User Profile

Pre-built configurations to fulfill a certain use case

Nimbus AI Service Azure OpenAI1
  • Intent Analyzer  - Intent Analysis Use Cases. 
  • AI Workflow - Extending Virtual User with additional external system capabilities (MCP or Web Request) and handle the response directly in Nimbus Workflows 

Custom AI Service

 

  • Intent Analyzer  - Intent Analysis Use Cases. 
  • AI Workflow - Extending Virtual User with additional external system capabilities (MCP or Web Request) and handle the response directly in Nimbus Workflows 
  • Open Profile - Same as AI Workflow, but with additional controls over Verbosity, Tone, Role 
M365 Copilot Direct Line 3.0

Notes

1 Due to Microsoft Azure AI foundry availability in limited regions, data processed by a Nimbus Virtual User “GPT”-Realtime" integration might temporality leave due to failover scenarios:

  • Nimbus Cluster DE01, DE02, CH01, CH02, UK01, EU01, AU01 computation will be primarily performed in Sweden Central region.
  • Nimbus Cluster US01 computation will be primarily performed in the US East region.
 

✅SPECIFIC AI services / Agent technologies (e.g. Microsoft Copilot) may require additional configuration items such as: 


🔎For more details and specific configuration steps, refer to our AI Use Cases category and the specific Use Cases and pages linked above.

 
 
 

Use Case Overview

Details will be covered below in this Use Case. As a quick tl;dr, here is an overview of items you will need: 

What? Where? Why?
Bot Configuration Nimbus Admin > Configuration To select the correct model for intent analys.
Parameters  Nimbus Admin > Configuration To store the bot outputs and instruct the AI on how to use the parameter in the according context of conversation.
Virtual Users  Nimbus Admin > Configuration To define the initial bot instructions, map System Fields and Parameters and apply the license which enables the bot to perform tasks.

Web Requests 

 

Nimbus Admin > Configuration To define connections with external systems that the Virtual User can leverage on request.
“Add Virtual User Activity” (in Workflow) Workflows > Conversation Handling Activities  To invite the Bot to the conversation and route the outcomes accordingly.

Step 1 - Nimbus AI Bot Setup

✅ This step consists of setting up a Bot configuration that relates to your Copilot Agent. “Add Virtual User” activity within your Nimbus Workflows.

 

Configuring the Bot

✅ The Bot is your “mapping” to the Bot and API endpoint you configured above, including the authentication.

  1. Head to Nimbus Administration > Configuration > Bots and create a new Bot.
  2. Give your Bot a descriptive name
    💡This name is just for Nimbus UI purposes, and must not match Copilot. 
  3. Define the Organization Unit under which this Bot will be selectable. 
  4. Type is Nimbus AI Services - Audio Intent Analyzer.
  5. Save and Close.

Configuring the Virtual User

Virtual Users. Here you can give your AI bot instructions on how to interact with the Customer.

  1. Head to Nimbus Administration > Configuration > Virtual Users and create a new Virtual User.
  2. Give your Virtual User a descriptive name, e.g. Virtual Front Desk Concierge.
    💡This name is just for Nimbus UI purposes, e.g. for later selection in your WorkflowsNext step.
  3. Define the Organization Unit under which this Virtual User is selectable. 
    💡Should ideally match your intended Services and Workflows accessing this Virtual User. Of course you can pick a “higher” OU if you want to share this definition among similar Services that will use the same kind of Agent for Customer interaction.
  4. Define the Language and Voice of your Virtual User.
    💡Nimbus development aims to expand this list of supported languages gradually, ensuring that every User Voice is also compatible with each Language selected.
  5. The “System Instructions” acts as a behavioral guideline for your Virtual User.

    💡Note that this field is optional in Nimbus:

    The underlying AI will engage with the Customer automatically. Optionally you can use these instructions to go directly into the first Conversation Topic. By adding Custom Parameters or System Fields and Parameters (retrieved via CRM using Flow Actions) you can also lead directly into a more direct conversation. 


    A possible example of an System Instruction could be:

    You are a Front Desk Operator of an insurance company. If available, greet the Customer with their Client ID and $(CustomContextParameters.DOC_ClientId) Company $(Customer.Company). Politely ask for their reasons for calling.

    💡Of course your flows using these parameters need to ensure that these Parameters have Defaults or a fallback in your data-retrieving Power Automate Flow Actions, so the Virtual User can operate normally when no additional data is available.

     
  6. If you want to use your Virtual user productively, ensure your Virtual User has a license applied. This license can either be applied directly in the Virtual User configuration steps below or - in bulk - via Admin > Licensing view. 
    ⮑ Applying the license enables usage of the “Add Virtual User” Workflow Activity.

Step 2 - Preparing your Parameters

✅During the live conversation with the customer, the Virtual User will use Parameters to fill in customer responses. As you configure the workflow further below, you will need to specify 3 parameters for the “Add Virtual User” Conversation Handling activity: 

  • One “Fallback Parameter” which will be used by the AI if the customer request cannot be fulfilled. For example, if your bot is supposed to decide between “Sales” and “Support”, but the customer has a different question or problem to discuss, this parameter will contain the topic the AI identified as “Fallback”.
  • Optionally: Two Parameters per Workflow “Add Virtual User” activity exit
    ☝Note that these parameters require “Virtual User Context” to be provided with the Parameter definition itself. Any information that helps the AI to fill in the correct information can be filled in.

    ✅If you want to handle more exits with corresponding data (e.g. Sales, Support), add more parameters and Virtual User Context as needed.

Step 3 - Configuring your Nimbus Workflow

✅Last but not least you need to configure a new Workflows to handle the Audio/Video interaction between Customers and your new Virtual User.

Virtual User Activity with one additional “Sale” exit. and two parameters.
  1. Head to Nimbus Administration > Configuration > Workflows.
  2. Design or adjust any existing workflows you want to repurpose. 
    💡We recommend creating a copy of an existing Workflow so you can switch and test it with ease and return back should something not work as intended.
  3. In your Workflow, Accept a call as normally. 
    💡Important: Do NOT add a “Queue” activity unless you want to involve human interaction in your workflow as well (e.g. after the Virtual User interaction).
  4. Instead, connect your Caller to the AI by using the “Add Virtual User in your workflow. You can find it in the Conversation Handling Activities
  5. Configure the “Add Virtual User activity as follows:
    1. Virtual User: Select from your list of Virtual Users as previously configured previously above.
      💡Note that the Virtual User will greet the Customer with the “Initial Message” field instructions provided. If any Parameters have been retrieved, they will be part of that message as well.
    2. Max Input Timeout: Define this to a reasonable time where no answer has been given by the Customer - e.g. 1 minute. → The activity will take the “Idle Timeout” exit.
    3. Define a Fallback Parameter which is used as the topic for the Virtual User if no resolution can be found.
      💡A good way to route this exit would be a regular “Queue” step, so a human can take the call instead of the Virtual User. 
      💡The Parameter can also be shown in the Extensions Service Settings (e.g. within My Sessions) as additional context for the receiving service user.
  6. Optionally: Add additional activity Exits taken within your Workflow. An Exit is defined as follows: 
    1. Name of the exit, as shown in the activity bottom.
    2. Context for the AI on when to take this exit. These can be instructions like: 
      “The customer mentions an invoice, billing or other payment-related issue.”
    3. Up to two Parameters, as previously configured → in the chapter above.
      💡Note: When a parameter lacks “Virtual User Context” it will be shown with a warning. You may still select it, but the Virtual User will most-likely not know what part of the customer answer to fill into this parameter, so it will remain at its default value.
    4. Optionally: Add additional Exits and respective parameters as needed.
  7. Finally: 
    1. Don't forget to route your all your Activity exits, e.g. Failed/Idle Timeout conditions.
    2. Establish a fallback route to Service Queues, Voicemail or Transfer where necessary.
    3. Don't forget theDisconnect” activity at the end and to Save your workflow.

✅ Testing your Virtual User

  1. Start a “Test Call” to your Service, either via PSTN or the UPN shown in the General Service Settings.
  2. Test your Workflows: 
    1. Make sure to test robustness of your Virtual User, by bringing creative or alternative wording choices or topics.
    2. Temporarily add regular “Announcement” activities just to double-check if Parameters were updated and exits were taken correctly.
 

Known Limitations

INC AI and Virtual User Limitations

General note on AI-driven interactions

AI driven replies are not deterministic and depend highly on what the Customer is saying. For example, if the Customer is saying “I have trouble with my internet” it is not necessarily given that the Bot will associate “Router, Modem” as your workflow routing exit, unless specifically handled in your Virtual User integration. In this specific example, AI instructions should also cover alternative wordings like “Router, Internet”, to be handled in topics accordingly.

🔎Refer to our Best Practices - Virtual Users in Nimbus for some considerations and risks when using Virtual Users instead of Human interaction.

 

General Virtual User limitations

The current Nimbus implementation with AI-driven bots underlies the following limitations: 

  • Supported Modalities: Virtual Users (Bots) are currently available for Audio/Video modality tasks.
  • Virtual User Reporting: Sessions involving Virtual Users are not reflected as dedicated User Session. Virtual User session reporting is planned for a later point this year.
 
 

Microsoft Copilot Limitations

  • Expect processing delays: Processing AI answers takes a few seconds for voice-to-text-transcription, followed by AI processing and then the same transcription back into a voiced response. Luware is trying to minimize the delay on Nimbus call infrastructure, but the dependency on external APIs will always incur this delay. The Customer will hear silence during this processing and no audio feedback / silence detection.
  • Ensure you have no ambiguity in your topics. For instance, the word “Service” may be too generic if you want to transfer to different services. Rather use healthcare|medical|emergency as identifiers or use more complex Regular Expressions to identify replies.
 
 

Nimbus AI Services - Profile: Intent Analyzer

🔎By design (not a limitation or reportable issue): 

  • The Nimbus Intent analyzer Bot runs on pre-defined prompts.  Any usage outside of the descriptions specified under Use Case - Setting up a Nimbus Virtual User for Intent Analysis is not supported.
  • Fallback handling: If a workflow uses exits with multiple parameters, e.g. to collect customer name and invoice number, and only one parameter can be retrieved, the fallback exit is taken.
 
 

Nimbus / Custom AI Services - Profile: AI Workflow

🔎By design (not a limitation or reportable issue):

  • Failed condition: If either a Web Request connection or MCP server connection fails, the “Failed” workflow activity exit will be taken immediately.  Also applies for any other Nimbus-internal or technical error.
  • Fallback condition: Any “Fallback” parameters will be updated with the response generated by the AI when a case cannot be handled.

☝️Current limitations, coming with a later update:

 
 

Custom AI Services - Profile: Open Profile

☝️Current limitations, coming with a later update:

  • The use of Extensions Tools (either Web Request or MCP Server) is currently mandatory in this profile. 💡This will be improved in a future update to allow for no tools to be used.
  • For this profile there currently there are no custom exits in the “Add Virtual User” Conversation Handling Activity. You only have Success, Fallback, Failed, Idle timeout.
  • There is currently no support for custom Parameters in “Add Virtual User” Conversation Handling Activity.
 
 

Table of Contents