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 that reaches out to your external systems mid-conversation — looking up customer or order data, querying ticket systems, or using any other APIs the bot needs to do its job. The Virtual User uses Nimbus' AI Workflow profile together with Extension Tools: Web Requests for any HTTP API, and MCP Servers for tool collections that speak the Model Context Protocol.
To achieve this, we're going to cover the following topics in this Use Case:
- How to configure the Bot and Virtual User on the AI Workflow profile.
- How to write a Flow Description — the playbook that tells the model when to call a tool, which one to pick, and what to do with the result.
- How to attach Web Requests and MCP Servers as Extension Tools, and how to describe them to the model.
- How to wire the Virtual User into a Nimbus Workflow, including the default exits.
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
Admin Consent: AI Features
✅ 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 |
|
|
Custom AI Service
|
|
|
| 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:
- Bot Response Templates, to map bot answers back into Nimbus workflow parameters.
- Speech Recognizers (Transcribers) to convert the Customer voice into text for the bot to process.
🔎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 pick the bot's hosting service and agent technology that hosts the AI conversation. |
| ✅ Virtual Users | Nimbus Admin > Configuration | To select the AI Workflow profile, write the Flow Description, attach Extension Tools, and apply the license that enables the bot to perform tasks. |
| ✅ Web Requests | Nimbus Admin > Configuration | To define connections with external HTTP APIs that the Virtual User can call on demand. |
| ✅ MCP Servers | Nimbus Admin > Configuration > Virtual User | To attach a Model Context Protocol endpoint that exposes a whole toolset to the Virtual User (e.g. an internal Jira or ticketing helper). |
| ✅ Parameters | Nimbus Admin > Configuration | To store the Fallback topic the AI returns when it cannot resolve the caller's request. |
| ✅ “Add Virtual User Activity” (in Workflow) | Workflows > Conversation Handling Activities | To invite the Bot to the conversation and route the default exits accordingly. |
Step 1 - Nimbus AI Bot Setup
✅ This step consists of setting up a: …
- … Bot configuration, which specifies either Azure OpenAI or Copilot as Agent Type, and a …
- Virtual User with the corresponding behavioral settings for the bot, as well as Extensions Tools such as Web Requests and MCP Servers.
Virtual User and Bot Overview
Below is a comparison matrix of how Virtual Users and Bots are configured in Nimbus, and for which type of Use Case. For this example we are going with the "AI Workflow” profile to make the configuration a bit easier.
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 |
|
|
Custom AI Service
|
|
|
| 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.
Configuring the Bot
✅ The Bot is your “mapping” to the AI service that hosts the conversation.
- Head to Nimbus Administration > Configuration > Bots and create a new Bot.
- Give your Bot a descriptive name.
💡This name is just for Nimbus UI purposes. - Define the Organization Unit under which this Bot will be selectable.
- Type: pick Nimbus AI Service for the Luware-managed option (no endpoint or API key required), or Custom AI Service if you bring your own Azure OpenAI deployment.
-
Agent Type is Azure OpenAI — the only agent technology that supports Web Requests and MCP Servers.
💡If you picked Custom AI Service, fill in the Endpoint, Authentication Type and API Key fields. For Nimbus AI Service those fields are hidden — Nimbus provides them. - Save and Close.
Configuring the Virtual User
✅ Virtual Users. Here you give your AI bot instructions on how to interact with the Customer and which Extension Tools it may use.
- Head to Nimbus Administration > Configuration > Virtual Users and create a new Virtual User.
- Give your Virtual User a descriptive name, e.g. Order Status Concierge.
💡This name is just for Nimbus UI purposes, e.g. for later selection in your Workflows. -
Define the Organization Unit under which this Virtual User is selectable.
💡Should ideally match the Services and Workflows accessing this Virtual User, and the OU where your Web Requests live. - Select the Bot you configured above.
-
Set Profile to AI Workflow.
💡The Profile decides how the bot behaves in the conversation. AI Workflow unlocks the Extension Tools section further down the page (Web Requests, MCP Servers, Flow Description). The Intent Analyzer profile is intentionally blocked from using Extension Tools — pick it only for pure intent classification (see the Intent Analysis use case). - The “System Instructions” field is your behavioral guideline (persona, hard rules, flow order). Keep it about who the bot is, not about which tool to call — the latter goes into the Flow Description below.
- Optionally define the Conversation Messages:
💡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. - Optionally set a Closing Message — a short line the Virtual User will say before handing off or disconnecting (e.g. “Thank you, I'll transfer you to a colleague now.”).
- 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. - If you want to use your Virtual User productively, ensure your Virtual User has a license applied. This license can be applied directly in the Virtual User configuration or — in bulk — via Admin > Licensing view.
⮑ Applying the license enables usage of the “Add Virtual User” Workflow Activity.
Step 2 - Configuring your Extension Tools
✅This is the heart of the integration: deciding which external systems the Virtual User may reach into, describing them well enough for the model to pick the right one, and writing the Flow Description that orchestrates the whole conversation.
Flow Description
The Flow Description is a single free-text field on the Virtual User that tells the model how to drive the conversation when Extension Tools are involved. The model reads it alongside the System Instruction every turn and uses it to decide when to call a tool, which tool to pick, and what to do with the result.
🔍 The same Flow Description applies to both Web Requests and MCP Servers configured on the Virtual User. It is only stored and sent to the model when Web Requests or MCP Servers is on. At least one of the options needs to be enabled.
💡 Keep it concrete and step-driven. The model performs best when it can read the description as a numbered playbook rather than as prose:
- Spell out the conversation phases (greet → identify → look up → confirm → close).
- Name each tool by the exact label it has on the Virtual User — “call the
OrderLookupWeb Request”, not “call the order system”. - State when the bot should call a tool, and what to do if the tool fails or returns nothing.
- Avoid duplicating the System Instruction (role, tone, language). The Flow Description is about flow, not personality.
- Field length cap: 5,000 characters.
Example for an order-status bot:
1. Greet the caller and ask for their order number.
2. Call the OrderLookup Web Request with the order number the caller provided.
3. If OrderLookup returns a result, read back the order status and the expected delivery date.
4. If OrderLookup returns no result or an error, apologise, offer to transfer to a human agent,
and end the conversation.
5. After confirming the status, ask whether there is anything else. If not, say goodbye and close.
Never invent an order status. Only state what OrderLookup returns.Attaching Web Requests
✅A Web Request attaches a (previously) configured Web Request to the Virtual User so the model can call it mid-conversation.
- Enable “Web Requests” on the Virtual User. This unlocks the Web Requests sub-section.
- Click Create and pick a Web Request from the Virtual User's Organization Unit (or a parent OU). The Web Request's Name is what the model sees as the tool's identifier — use the same name in your Flow Description.
- Fill in the AI Description for this binding. This is a per-Virtual-User field — the same Web Request can have a different AI Description on every Virtual User it is bound to.
💡A vague AI Description is the single most common reason for a bot to ignore a tool it is allowed to use.
- Fill in the AI Description for this binding. This is a per-Virtual-User field — the same Web Request can have a different AI Description on every Virtual User it is bound to.
💡 TIPS — AI Description template
Three sentences is usually enough. A reliable template says:
- What it does — “Looks up an order by order number in the e-commerce backend.”
- When to call it — “Call this whenever the caller asks about the status, delivery date, or contents of a specific order.”
- What you'll get back — “Returns the order status, expected delivery date, and a list of line items, or an empty result if the order number is unknown.”
Attaching MCP Servers
An MCP Server attaches a Model Context Protocol endpoint to the Virtual User. The server's tools are exposed to the model in real time during the call.
- Enable “MCP Servers” on the Virtual User. At least one MCP Server is required when the toggle is on.
- Click “Create” and fill in:
- Name of the MCP Server
- URL
- Description
- Authentication
- API key
💡 TIPS — MCP configuration
- The MCP Description is a Free-text summary of what the MCP server is for and when the model should reach for it (e.g. "Internal Jira instance. Use for any ticket lookup, comment, or transition.").
- In the → Flow Description of the Virtual User, you can clearly define how MCP tools are to be used. The model will follow the order and logic you specify in the flow description, not the order in which the MCP servers were added.
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.
- Head to Nimbus Administration > Configuration > Workflows.
- 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. -
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). - Connect your Caller to the AI by using the “Add Virtual User” activity. You can find it in the Conversation Handling Activities.
-
Configure the “Add Virtual User” activity as follows:
-
Virtual User: Select the Virtual User you configured above.
💡Note that the Virtual User will greet the Customer with the “Initial Message” field instructions provided. If any Parameters have been retrieved earlier in the workflow, they will be part of that message as well.
💡Outbound calls: when the “Add Virtual User” activity runs inside an outbound-call workflow, the Initial Message is spoken once the call connects — no extra silence before the greeting. - 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.
- Define a Fallback Parameter which receives the AI's summary of the conversation when the bot cannot resolve the request.
💡A good way to route this exit is 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.
-
Virtual User: Select the Virtual User you configured above.
- Route the default exits of the activity.
- Finally: add the “Disconnect” activity at the end and Save your workflow.
✅ Testing your Virtual User
- Start a “Test Call” to your Service, either via PSTN or the UPN shown in the General Service Settings.
-
Test the tool-calling behaviour:
- Try happy-path scenarios where the bot should call a specific Web Request or MCP Server.
- Try failure scenarios — caller gives wrong inputs, requests data your tools cannot provide — and verify the bot follows the fallback rules in your Flow Description rather than inventing answers.
- If the bot picks the wrong tool, calls it at the wrong moment, or misuses its output, sharpen the Flow Description and the AI Description on the Tool Extension before changing the tools themselves.
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 usehealthcare|medical|emergencyas 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 nameandinvoice 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:
- For this profile there currently 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.
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.