Design Assistant
The Design Assistant is in beta. Capabilities are limited to certain tasks in this release and will be expanded in future versions. Behaviour and supported operations may change.
Introduction
The Design Assistant is an AI-based chatbot integrated into the Solution Designer. It supports users during their daily design work by answering questions about the current project and executing design tasks on their behalf.
The assistant is accessible from anywhere within the workbench, so teams can get guidance quickly without breaking their flow.
Capabilities
The Design Assistant currently supports two main areas:
- Answering questions about the current design — explore and understand the model elements, relationships, and overall structure of your project through natural-language questions.
- Executing design tasks — create model elements, establish relationships between them, and perform other design operations based on your instructions.
The capabilities of the Design Assistant are limited to certain tasks in this release. Support for additional operations will be added in upcoming versions.
Using the Design Assistant
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. |
| Stop generation | While the assistant is responding, a stop button appears — click it to cancel the current response. |
| Start a new session | Click Start new session in the sidebar header to clear the conversation and begin fresh. Disabled while the assistant is actively streaming. |
| Use example prompts | When the conversation is empty, clickable prompt chips are shown to help you get started. |
| 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. |
Good to know
- The chatbot automatically uses the current project and branch as context — you do not need to specify them.
- Chat history is session-only. It is not persisted to the server or local storage. Closing the sidebar or starting a new session clears the conversation.
- 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 instances, use the 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.
- It is recommended to start a new session when switching to a new topic or task.
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.
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.
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.
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, 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.
- Responses depend on the AI model's interpretation of your prompt — be as specific as possible for best results.
- The assistant operates within the scope of the currently selected project and branch.