How to use it
Opening the chatbot
- Open a project in the Solution Designer — the chatbot icon only appears within projects.
- Click the Chat icon in the top header bar. The chatbot opens as a sidebar panel on the right-hand side.
- Click the same icon again (or the close button inside the sidebar) to close it.
Interacting with the chatbot
| Action | How |
|---|---|
| Send a message | Type in the text area and press Enter. Use Shift+Enter to insert a newline. You can also click the send button. |
| Mention a reference | Type @ to open the mentions picker and insert a project, diagram, model element, or MCP external system. See Mentions. |
| Stop generation | While the assistant is responding, a stop button appears — click it to cancel the current response. |
| Open a new session | Click + in the session tab bar to open another independent chat. Existing sessions stay open. See Multiple sessions. |
| Switch session | Click a session tab (Session 1, Session 2, …) to switch chats. Each session keeps its own history. |
| Close a session | Click X on a session tab to remove that chat only. Other sessions are unchanged. |
| Export chat | Click the Export button in the sidebar header to download the full conversation of the current session as a text file. Useful to review, share, or retrace what was asked and answered — for example when the assistant did not behave as expected. |
| Use example prompts | When the conversation is empty, clickable prompt chips are shown to help you get started. |
| Use a command | Type / to open slash commands from the project’s baseline design recipes and from your enabled personal design recipes. Select a command to insert its prompt. Element-scoped commands also appear on selected model elements. |
| Confirm or reject actions | Some responses request a confirmation before applying a change. Confirm and Reject buttons appear on those messages and can each only be clicked once. |
| Answer a clarification | When the assistant needs one decision, a clarification card lists the choices as option boxes. Click a box to answer. See Clarification questions. |
| Allow an MCP tool | Before the assistant calls a tool on an external system, the working step asks for Tool consent. You can choose only once. See Consent before an MCP tool runs. |
| Open custom MCP settings | In the chatbot header, open the settings menu and choose Custom MCP Settings. User settings → External systems opens in a new browser tab, including tools you have permanently allowed. |
Clarification questions
When the assistant needs one decision before it can continue, it pauses and shows a clarification card in the working steps. The card stays open until you answer. The chat input stays disabled while the question is waiting, so you answer on the card.
The assistant asks when your request can be carried out in more than one way and the choice changes what it does next. Typical cases:
- Several model elements match what you named, and the assistant cannot tell which one you mean.
- An element you asked to create already exists, and the assistant needs to know whether to update that element or create a new one.
- The request contains conflicting instructions.
The assistant asks one question at a time. If it still needs a decision later in the same task, another card appears.
What the card shows
The question is the card title. Suggested answers are option boxes under it, labeled A, B, C, and so on. Choice boxes come first. A text field, when the assistant includes one, is the last row.
| What you see | What you can do |
|---|---|
| Option box | A suggested answer. Click the box to send that answer. |
| (Recommended) | The assistant's preferred choice. At most one option carries this mark. |
| Description | Hold the pointer over an option to read a short note about what that choice does, when the assistant provided one. |
| Text field | Your own answer, shown as the last row when the assistant includes it. The placeholder is Type your own answer..., or a label the assistant supplied. Type your answer and press Enter, or click Send answer. A blank field cannot be sent. |
| Copy question | Copies the question text. |
| Chevron | Collapses or expands the card. |
For example, the assistant might ask Which Cart should I delete? with boxes Aggregate: Cart and Entity: Cart. Entity: Cart can be marked (Recommended), and holding the pointer over it can show a note about what that choice deletes.
Answer the question
- Click an option box, or type your own answer in the text field and send it.
- The assistant continues from where it stopped. Work it already prepared for this request stays in place.
- The card collapses. Expand it to see Answer and the text you sent.
Each card accepts one answer. While the assistant is responding, the option boxes and the text field are disabled.
Confirm and Reject appear on a later message, when a change is ready to be applied. See Confirm or reject actions.
When the assistant finishes, the working steps collapse into Agent worked, or Agent worked for N s when a duration is shown. Open that block again to see the question and your answer.
Multiple sessions
You can run several independent Design Assistant chats at once. Sessions appear as tabs in the chatbot sidebar (Session 1, Session 2, …).
- Click + to open a new empty chat without losing the others.
- Click a tab to switch between chats — each keeps its own message history, mentions, and confirmations.
- Click X on a tab to close that session only.
How sessions start from commands: Element-scoped or slash design commands may open in a new session, or reuse an unused first session if one is still empty.
What is kept and what is cleared:
| Action | Effect on sessions |
|---|---|
| Close the chatbot panel | Hides the sidebar; open sessions and their histories stay available when you reopen it |
| Change project or branch | Clears all sessions |
| Refresh the browser | Clears all sessions |
| Close a session tab (X) | Removes that chat only |
Sessions cannot be renamed manually. The sidebar keeps them in the open page only. It does not write them to browser storage, and it does not open a session again after you close its tab, change project or branch, or refresh. The assistant keeps each conversation on the server for 24 hours after the last message, for your user only. Closing the sidebar session leaves that copy in place. While the same session is still on the page, later messages continue from it. After the copy expires, the next message in a tab that is still open continues from the chat shown in the sidebar. Use Export chat if you need a record you can keep.
Mentions
Use mentions when you want the assistant to focus on a specific project, diagram, model element, or MCP external system.
Type
@in the chat input to open quick reference list. Choose a project, diagram, model element, or external system, or keep typing after@to search across all of them and insert a reference.
The current project and branch are already used as context automatically. Mentions add an explicit reference on top of that.
Insert a mention
- In the chat input, type
@at the start of the message or after a space or newline. - A mentions picker opens above the input with four categories:
- Projects — pick a project, then a branch
- Diagrams — pick a diagram type, then a diagram
- Model elements — pick an element type, then a model element
- External systems — pick an MCP external system that an administrator registered (see MCP support)
- Alternatively, keep typing after
@(without spaces) to search insertable items. - Select an item (click, or use ↑/↓ and Enter).
- Add more text and/or more mentions, then send.
Dismiss the picker with Escape, or by typing a space after an incomplete @….
What you can mention
| Category | What you select | Result |
|---|---|---|
| Projects | A project branch | Reference to that project and branch |
| Diagrams | A concrete diagram | Reference to that diagram, so the assistant can read or change what is drawn on it |
| Model elements | A concrete element instance | Reference to that element |
| External systems | An administrator-defined MCP external system | Reference so the assistant can call that MCP server |
Scope:
- Projects come from all solutions you can access.
- Diagrams and model elements come from the currently opened model.
- External systems come from MCP connections that administrators registered. When you mention a system, the assistant loads that server's tools. Before each call, it asks you to allow that tool, unless you have already allowed it permanently or for this session. If you have enabled custom MCP settings for it, your personal headers (for example an
Authorizationtoken) and default arguments are applied in addition to the admin configuration. - Only diagram types that have diagrams, and element types that have instances, appear in the picker.
- People/users and free-form text cannot be mentioned.
How mentions appear and navigate
- In the input, mentions show as purple chips with a remove control.
- In sent messages (and in assistant replies that include the same references), mentions stay visible as clickable purple text.
- Clicking a project, diagram, or element mention navigates to the referenced resource:
- Project — opens that project/branch in a new tab
- Diagram — opens that diagram in the same tab
- Element — opens that element’s profile in the same tab
- External system mentions identify the MCP server in the conversation; they do not open a workbench page.
- An empty search or list shows No entries found.
Mentions tips and limitations
- Prefer mentions over typing labels alone when you want the assistant to target a specific project, diagram, element, or MCP external system.
- If the MCP server requires your credentials, add them first under User settings → External systems and mark sensitive values as Secure.
- Mid-word
@(for example in an email address) does not open the picker. - Search after
@cannot include spaces — a space closes the picker. - Mentions are part of the chat text for that session. Closing a session tab, changing project or branch, or refreshing the browser removes them from the sidebar with that chat. Closing the chatbot panel alone does not.
- Project and branch mentions enable cross-project support: the assistant can read from another project or branch while writing only in the current one.
Cross-project support
By default, the Design Assistant operates on the current project and branch. When you refer to another project or branch — with an @ mention or by name — the assistant can read from that project or branch and use the information in the current chat.
Access to other projects and branches is read-only. The assistant cannot create, update, or delete design data outside the project and branch you currently have open. Write operations always apply to the current project and branch.
How to refer to another project or branch
To work with another project, specify both the project and the branch:
- Prefer an @ mention from the Projects picker (project, then branch). That inserts a valid project acronym and branch name and avoids typos.
- You can also type the project acronym and branch name in plain text. Use only valid acronyms and branch names the assistant can resolve.
For another branch of the same project, naming the branch (or mentioning it) is enough.
Example use cases
Design based on information in another project
Based on requirement "Req" from project REQUIREMENTSPROJECT, branch main, create a DDD model
The assistant reads the requirement from the other project and creates the DDD model in the current project.
Reuse or clone elements from another project
Read all discussion threads related to current project from project HIGHLEVELARCH, branch main and create discussion threads in the current project.
The assistant reads from HIGHLEVELARCH / main and writes the new discussion threads only in the current project.
Compare with another branch of your project
Compare current branch with branch main
Useful to see what differs between your working branch and main without leaving the chat.
Good to know
- The chatbot automatically uses the current project and branch as context — you do not need to specify them. Use @ mentions when you want an explicit reference to a project, diagram, model element, or MCP external system.
- With a diagram open in the modeling tool, this diagram means that diagram. The assistant can explain it and change what is drawn on it.
- With cross-project support, the assistant can read from other projects and branches you refer to; it can only write in the current project and branch.
- Design recipes from the project baseline plus your enabled personal recipes supply skills and
/commands. Personal recipes apply on every query, independent of the baseline. - @ Mention an MCP external system to have the assistant call that server's tools. The assistant asks before each tool call. Custom MCP settings in User settings supply your personal headers and default arguments on top of the admin configuration. Tools you allow permanently are listed on that system's MCP tools tab.
- You can keep multiple sessions open in parallel as tabs. Closing the panel hides the sidebar but keeps sessions; changing project or branch, or refreshing the browser, clears them.
- The assistant keeps each conversation on the server for 24 hours after the last message, for your user only. Closing the sidebar session leaves that copy in place. The sidebar keeps the chat in the open page and does not reload it after you close the tab, change project or branch, or refresh.
- Responses are streamed in real time via server-sent events (SSE).
Usage hints
- Be as explicit as possible in the prompts to make sure the design assistant responses match your expectations.
- When referring to existing projects, diagrams, model elements, or MCP external systems, prefer @ mentions so the assistant receives a precise reference — especially for cross-project prompts, so project acronyms and branch names stay valid.
- If you cannot use a mention, use label values or file names so the assistant can identify the intended instance reliably. Wrapping labels and file names in quotes (
"...") can improve identification. - Some actions require confirmation during the flow. If a suggestion is not correct, click Reject and tell the assistant what should be changed.
- When a clarification card appears, answer on the card. The chat input stays disabled until you do.
- When the assistant is about to call an MCP tool, choose a Tool consent option on the working step. See Consent before an MCP tool runs.
- Open a new session when switching to a new topic or task, so each chat stays focused — not because of memory limits.
- Use Export chat before closing a session tab, changing project or branch, or refreshing if you need a record of the conversation. The sidebar does not bring that chat back. The server keeps the conversation for 24 hours after the last message.
Example use cases
The Design Assistant is a good fit when you want to stay in natural language and let the model reason over the whole branch. Typical scenarios fall into understanding the design and changing the design.
Answering questions about the design
- Project overview — summarise what the branch contains or list major element types (for example REST APIs, entities, services).
- Connections — explain how elements relate (inheritance, associations, dependencies, or how APIs map to entities).
- Requirements versus design — paste or describe a requirement and ask what is already covered, partially covered, or missing.
- Diagram content — summarize a diagram, explain what is drawn, or check it for gaps. See Diagram content.
- Cross-project or cross-branch context — read requirements or design data from another project or branch, or compare the current branch with another (see Cross-project support).
- External systems — @ mention an MCP connection so the assistant can call that server's tools. Before a call runs, you allow that tool. Use your custom MCP settings where the server needs your credentials.
Executing design tasks
- Create, edit, or delete — single-step or guided changes from plain instructions (names, properties, and relationships).
- Diagram content — place elements as nodes, draw relationships as edges, rearrange them, or take them off a diagram. See Diagram content.
- Bulk operations — many similar creates, renames, or deletes in one go.
- Extend from a requirement — add elements or relationships so the model matches a described goal.
- Derive from existing elements — new elements that reuse structure or field values from a template element.
- Reuse from another project — read elements from another project or branch and create corresponding elements in the current project.
Please see the sections below for concrete usage examples
Asking questions
Use the Design Assistant to explore and understand your project without navigating through the UI manually. The assistant can interpret your OML configuration, the current design data, and the content of a diagram to provide concise answers.
Overview of what is in the project
In a nutshell, what is the content of this project?
Provides a high-level summary of the project scope and its main design elements.
What are the available REST APIs?
Lists all REST API elements defined in the current branch — useful when you need a focused slice of the project rather than the full inventory.
List all the available model elements in the project and how they are related.
Gives a comprehensive overview of every model element and their connections.
Connections between elements
What are the available entities and how are they connected?
Describes the entity model elements and the relationships between them.
The comprehensive list prompt above (List all the available model elements…) also answers connection questions when you need the full graph, not only a specific element type.
Requirements compared with the existing design (gaps)
Use this when you have acceptance criteria, a user story, or a short spec and want a structured gap list before you change the model.
There is the following requirement: Customers must be able to cancel an order until it ships; cancelled orders must retain line items for audit.
Compare this to the current design and list gaps: missing elements, missing relationships, or rules we cannot enforce with what exists today.
Alternative prompt:
Is the DDD design covering all parts of the following requirement:
Customers must be able to cancel an order until it ships; cancelled orders must retain line items for audit.
Adjust the requirement text to match your domain; the assistant compares your wording to the current branch.
After identifying the gaps, use the prompt Adjust the design in order to close the identified gaps in order to complete the design to match your requirements.
Information from an MCP external system
@ Mention an administrator-defined MCP external system from the External systems category so the assistant loads that server's tools. See MCP support for what the assistant can do with those tools. Before a tool runs, the working step asks for tool consent.
Add custom MCP settings first if the connection needs your personal headers (for example an Authorization token).
Using @Jira, summarise the open issues related to this project
Replace Jira with the name of the system your administrator registered. For registering Rovo MCP, the Basic Authorization header, and Jira proxy types, see the Jira integration example.
What a diagram shows
Open the diagram, @ mention it, or name it, then ask. The assistant can summarize what is drawn, explain the relationships, and list gaps such as relationships between shown elements that are not drawn yet. See Diagram content.
Summarize this diagram, and list relationships between the shown elements that are not drawn yet.
Executing design tasks
Beyond answering questions, the Design Assistant can create and modify design elements and relationships based on your instructions. Describe what you need in natural language, and the assistant translates your intent into concrete design operations. Some changes may ask you to Confirm or Reject before they are applied.
Bulk creation, deletion, or similar changes
Create 10 REST APIs: names should all be prefixed with "version" and increasing numbers as suffix.
The assistant creates ten REST API elements named version1, version2, … version10.
For bulk deletion (or similar batch changes), name the selection rule explicitly — for example:
Delete all REST APIs with tag "deprecated".
Create, edit, or delete from instructions
Creating entities with properties and inheritance fits here when you specify a full structure to add in one message.
Create the following entities:
- abstract root entity "Expense" which is an entity for the travel expense management, with the following properties:
- expenseId (string, required)
- root entity "Meals Expense", extending "Expense"
- mealName (string, required)
- breakfast (boolean, optional)
- root entity "AccomodationExpense", extending "Expense" with the following properties:
- hotelName (string, required)
The assistant creates the entity hierarchy including all properties and inheritance relationships.
For edits to specific instances, prefer an @ mention of the element, or refer to labels or file names in quotes. For example:
For REST API "orders-api", set the summary to "Order lifecycle" and align its description with REST API "customers-api".
For deletes of a few named elements, name them explicitly; use the bulk delete pattern in the previous subsection when many elements match a rule. If a suggestion is wrong, click Reject and describe the correction.
Create, edit, or delete relationships
Use the Design Assistant to create, edit, or delete relationships between model elements from a natural-language instruction. Prefer @ mentions of the source and target elements, or refer to their labels in quotes, so the assistant can identify the intended connection.
Create a relationship from "Order Service" to "Orders API" with the label "retrieves orders".
Change the label of the relationship from "Order Service" to "Orders API" to "reads orders" and add the tag "core".
Delete the relationship from "Order Service" to "Orders API".
You can also include relationships as part of a larger create or refactor instruction, as in the entity example above.
Relationship type cannot be changed. To use a different type, delete the existing relationship and create a new one:
Delete the "uses" relationship from "Order Service" to "Orders API" and create a "depends on" relationship instead.
Custom properties are not supported. The assistant can only set or change the default properties that all relationship types share (for example label, description, and tags). Properties defined for a specific relationship type in the OML profile must be edited in the relationship details.
Extend the design from a given requirement
Use this when you already know the target behaviour and want the model extended (new types, properties, or links) in line with that description.
Extend the design so that "PurchaseOrder" supports an approval workflow:
add states or status values Draft, Submitted, and Approved, and any relationships or constraints needed so only Approved orders can reference invoices.
Tailor entity names and rules to your project; keep the requirement sentence explicit.
Create new elements based on others
Create new REST API "v2" with same description, summary and interaction type as REST API v1.
The assistant reads the properties of the existing element and applies them to the newly created one.
Place, update, or remove diagram content
Ask the assistant to put elements on a diagram as nodes and relationships as edges, to move or rearrange them, or to take them off the diagram. Open the diagram and say this diagram, or @ mention it. You confirm the change once, together with any elements or relationships created in the same request. See Diagram content.
Add all REST APIs that are not on this diagram yet, and draw their relationships to the elements already shown.
Remove all elements with tag "deprecated" from this diagram.
Taking a node or edge off a diagram leaves the model element or relationship in the project. Say delete from the project when it should be deleted everywhere.
Limitations
Keep the following in mind:
- Only a subset of all available design operations is supported. Complex multi-step workflows may require manual intervention.
- Diagram content covers questions about a diagram and changes to its nodes and edges. Colors, line styles, markers, images, and freehand drawings stay on the modeling canvas. See the limitations on that page.
- When working with relationships, the relationship type cannot be changed through the assistant — delete the existing relationship and create a new one with the desired type instead. Only the default properties shared by all relationship types (for example label, description, and tags) are supported; custom properties defined for a specific relationship type in the OML profile are not.
- Responses depend on the AI model's interpretation of your prompt — be as specific as possible for best results.
- The assistant uses the currently selected project and branch as default context. It can read from other projects and branches you refer to, but it can only write in the current project and branch. Prefer @ mentions so project acronyms and branch names resolve correctly.
- MCP tools are limited to servers registered as enabled external systems, and to the tools and permissions those servers expose. Read and writing tools are available by default. Writing tools can change data outside the workbench. An administrator can restrict the assistant to read-only tools. Each call still needs your consent, unless you have already allowed that tool permanently or for the current session.