Skip to main content

How to use it

Available in product edition: Professional

Opening the chatbot

  1. Open a project in the Solution Designer — the chatbot icon only appears within projects.
  2. Click the Chat icon in the top header bar. The chatbot opens as a sidebar panel on the right-hand side.
  3. Click the same icon again (or the close button inside the sidebar) to close it.

Interacting with the chatbot

ActionHow
Send a messageType in the text area and press Enter. Use Shift+Enter to insert a newline. You can also click the send button.
Mention a referenceType @ to open the mentions picker and insert a project, diagram, or model element. See Mentions.
Stop generationWhile the assistant is responding, a stop button appears — click it to cancel the current response.
Open a new sessionClick + in the session tab bar to open another independent chat. Existing sessions stay open. See Multiple sessions.
Switch sessionClick a session tab (Session 1, Session 2, …) to switch chats. Each session keeps its own history.
Close a sessionClick X on a session tab to remove that chat only. Other sessions are unchanged.
Export chatClick 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 promptsWhen the conversation is empty, clickable prompt chips are shown to help you get started.
Use a commandType / 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 actionsSome responses request a confirmation before applying a change. Confirm and Reject buttons appear on those messages and can each only be clicked once.

Multiple sessions

You can run several independent Design Assistant chats at once. Sessions appear as tabs in the chatbot sidebar (Session 1, Session 2, …).

  1. Click + to open a new empty chat without losing the others.
  2. Click a tab to switch between chats — each keeps its own message history, mentions, and confirmations.
  3. 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:

ActionEffect on sessions
Close the chatbot panelHides the sidebar; open sessions and their histories stay available when you reopen it
Change project or branchClears all sessions
Refresh the browserClears all sessions
Close a session tab (X)Removes that chat only

Sessions cannot be renamed manually. Chat history is not persisted to the server or local storage — use Export chat if you need a record of a conversation.

Mentions

Use mentions when you want the assistant to focus on a specific project, diagram, or model element.

Type @ in the chat input to open quick reference list. Choose a project, diagram, or model element, 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

  1. In the chat input, type @ at the start of the message or after a space or newline.
  2. A mentions picker opens above the input with three 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
  3. Alternatively, keep typing after @ (without spaces) to search insertable items.
  4. Select an item (click, or use / and Enter).
  5. 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

CategoryWhat you selectResult
ProjectsA project branchReference to that project and branch
DiagramsA concrete diagramReference to that diagram
Model elementsA concrete element instanceReference to that element

Scope:

  • Projects come from all solutions you can access.
  • Diagrams and model elements come from the currently opened model.
  • 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 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
  • 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, or element.
  • 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 clears them with that conversation history. 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.

❗️important

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, or model element.
  • 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.
  • 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.
  • Chat history is session-only. It is not persisted to the server or local storage.
  • 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, or model elements, 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.
  • Conversation history for the current session is considered up to 20 messages. Keep sessions at 20 messages or fewer to ensure all relevant context is considered.
  • Open a new session when switching to a new topic or task, so each chat stays focused.
  • Use Export chat before closing a session tab, changing project or branch, or refreshing if you need a record of the conversation. Chat history is not persisted after the session ends.

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.
  • 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).

Executing design tasks

  • Create, edit, or delete — single-step or guided changes from plain instructions (names, properties, relationships).
  • 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 and the current design data 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.

💡tip

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.

Executing design tasks

Beyond answering questions, the Design Assistant can create and modify design elements 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.

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.

Limitations

Because the Design Assistant is in beta, keep the following in mind:

  • Only a subset of all available design operations is supported. Complex multi-step workflows may require manual intervention.
  • The assistant is limited to work on model elements and their relationships only. Answering questions about diagrams or modifying them is currently not supported. You can still @ mention a diagram as a reference in the chat.
  • 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.