Skip to main content

Design Assistant

Available in product edition: Professional
Beta

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.
ℹ️note

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

  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.
Stop generationWhile the assistant is responding, a stop button appears — click it to cancel the current response.
Start a new sessionClick Start new session in the sidebar header to clear the conversation and begin fresh. Disabled while the assistant is actively streaming.
Use example promptsWhen the conversation is empty, clickable prompt chips are shown to help you get started.
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.

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.

💡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, 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.