BPMN AI Agent
The BPMN AI Agent adds an LLM-powered chat assistant to CIB seven Modeler. From the BPMN Agent panel you describe what you need in natural language and the agent designs, generates, edits, reviews, and explains BPMN diagrams directly on the canvas. It connects to any OpenAI-compatible model endpoint you configure — hosted (OpenAI, OpenRouter) or self-hosted (Ollama, vLLM, and others).
Enterprise Feature
The BPMN AI Agent is available only in the Enterprise Edition and requires a valid CIB seven license. It also requires the modeler to be enabled (cibseven.webclient.modeler.enabled: true); see Enable / Disable.
Prerequisites
- CIB seven Enterprise Edition with a valid license.
- The modeler enabled:
cibseven.webclient.modeler.enabled: true(a database is required — see Enable / Disable). - At least one OpenAI-compatible provider and one model configured (below).
Enabling the Agent
The BPMN AI Agent is disabled by default. Enable it by setting enabled: true under cibseven.webclient.modeler.ai in cibseven-webclient’s application.yaml:
cibseven:
webclient:
modeler:
ai:
enabled: true
Or via environment variable:
CIBSEVEN_WEBCLIENT_MODELER_AI_ENABLED=true
Required configuration
When the agent is enabled, the defaultModel must match one of the listed models, and every listed model must reference a provider whose baseUrl is set — otherwise the webclient will not start.
Configuring an OpenAI-Compatible Provider
Providers are named entries under ai.providers; each points at an OpenAI-compatible HTTP endpoint. Set its baseUrl (required) and, where the endpoint needs authentication, an apiKey. API keys support environment-variable expansion such as ${OPENAI_API_KEY:}, so secrets stay out of the configuration file.
Typical base URLs:
- OpenAI —
https://api.openai.com/v1 - OpenRouter —
https://openrouter.ai/api/v1 - Ollama —
http://localhost:11434/v1 - vLLM / other self-hosted —
http://<host>:<port>/v1
The api field selects the API surface: chat-completions (the default, /v1/chat/completions) works with virtually every OpenAI-compatible server. Use responses (/v1/responses) for OpenAI gpt-5.x reasoning models that also use tools. See the configuration reference for all provider fields.
Defining Models
Models are listed under ai.models. Each model’s provider must match the key of a configured provider, and value is the model id sent to that endpoint. The label is shown in the model dropdown. defaultModel must equal the value of one of the listed models.
Choosing a model
For day-to-day modeling, prefer a fast model (capability: FAST) — lower latency keeps the chat responsive and the experience smooth. Also configure a frontier model for complex or ambiguous requests where answer quality matters most, and switch to it from the model dropdown when needed. For a cost-efficient, self-hosted option, serve the latest Gemma 4 models through an Ollama server.
Complete Example (OpenAI)
A minimal end-to-end configuration that enables the agent against OpenAI:
cibseven:
webclient:
modeler:
enabled: true
ai:
enabled: true
defaultModel: gpt-5.4-2026-03-05
providers:
openai:
baseUrl: https://api.openai.com/v1
apiKey: ${OPENAI_API_KEY:}
api: responses
models:
- value: gpt-5.4-2026-03-05
provider: openai
label: "GPT-5.4"
contextWindow: 400000
Set the OPENAI_API_KEY environment variable to your key. The model then appears in the modeler’s model dropdown and is selected by default.
Other OpenAI-Compatible Endpoints
Because the agent speaks the OpenAI API, any compatible server works the same way — only the baseUrl (and, if required, apiKey) change. A local Ollama server needs no API key — point baseUrl at its OpenAI-compatible endpoint and reference the model by the name Ollama serves it under:
cibseven:
webclient:
modeler:
ai:
enabled: true
defaultModel: gemma4:26b
providers:
ollama:
baseUrl: http://localhost:11434/v1
models:
- value: gemma4:26b
provider: ollama
label: "Gemma 4 (local)"
capability: LIGHTWEIGHT
The same models entries work against a hosted aggregator too — for example OpenRouter (baseUrl: https://openrouter.ai/api/v1, with an apiKey) exposes Gemma as google/gemma-4-26b-a4b-it:nitro.
Per-Distribution Configuration
The configuration from the example above works across all distributions. Place the cibseven.webclient.modeler.ai properties in the distribution-specific file listed below:
- CIB seven Run —
configuration/default.yml(orconfiguration/production.ymlwhen started with--production), under the existingcibseven.webclient.modelertree. - Tomcat —
conf/Catalina/localhost/webapp.xml, as context<Parameter>entries. - WildFly —
WEB-INF/classes/application-wildfly.yamlin the deployed WAR.
Using the Agent
Open a BPMN diagram, then open the BPMN Agent panel from the modeler toolbar. The panel docks beside the canvas — you can float, resize, or collapse it, and its position is remembered between sessions. Type what you want in natural language and send it; the agent’s reply streams in live, and you can Stop a running request at any time.
Composing a request
The compose box at the bottom gives you several ways to shape a request:
- Model — pick the model from the dropdown; for reasoning models a reasoning effort level is shown next to it.
- Mode — choose how the agent should act on the request (for example, ask a question about the diagram instead of editing it).
- Context — select elements on the canvas to attach them as context, and attach files for the agent to take into account.
- Voice — dictate a request instead of typing it.
- Token budget — an indicator shows how much of the per-session context budget the conversation has used.
Reviewing and applying changes
When the agent modifies the diagram, the change is shown as a diff card listing the added, changed, and removed elements. Review it and Apply or Discard it, or ask the agent to revise it. Enable the Auto-accept toggle to apply edits automatically without confirming each one; the layout is tidied up automatically when needed.
For a larger request the agent first proposes a plan. You can approve the whole plan, generate a quick draft, or work through it one step at a time — continue to the next step, skip a step, modify it, or reject the remaining steps.
Fixing validation issues
When the diagram has BPMN validation problems, the panel lists them inline with the number of errors and warnings, each with a quick-fix the agent applies on click.
Chat sessions
Each conversation is kept as a session. Start a new chat, switch between previous sessions from the history, and delete the ones you no longer need.
Beta
The BPMN AI Agent is currently in beta. Review generated diagrams before deploying them.
Configuration Reference
All properties live under the cibseven.webclient.modeler.ai prefix.
Agent options
| Property | Default | Description |
|---|---|---|
enabled |
false |
Master switch for the agent. |
defaultModel |
– | Model value selected by default; must match a listed model. |
maxTokens |
50000 |
Per-session chat-memory token budget (input + history). |
limits.messageMaxChars |
600000 |
Max characters in a user message. |
limits.filesMaxCount |
10 |
Max attached files per request. |
limits.filesMaxBytesPerFile |
5242880 |
Max size (bytes) of any single attached file. |
limits.currentBpmnXmlMaxChars |
500000 |
Max characters of canvas BPMN XML sent per request. |
limits.elementTemplatesMaxCount |
1000 |
Max element templates sent per request. |
systemPrompt.append |
– | Inline text appended to every agent system prompt. |
systemPrompt.appendFile |
– | A classpath: or file: resource appended to every system prompt. |
skills |
– | Extra skill directories, each laid out as <dir>/<skill>/SKILL.md. |
Provider options (providers.<name>)
| Property | Default | Description |
|---|---|---|
baseUrl |
– (required) | OpenAI-compatible base URL, e.g. https://api.openai.com/v1. |
apiKey |
– | Bearer token sent as Authorization; supports ${ENV_VAR:} expansion. |
timeoutSeconds |
300 |
Per-request timeout. |
api |
chat-completions |
API surface: chat-completions or responses (needed for gpt-5.x reasoning + tools). |
headers |
– | Extra HTTP headers added to every request (values support ${ENV_VAR:}). |
Model options (entries under models)
| Property | Default | Description |
|---|---|---|
value |
– (required) | Model id sent to the endpoint. |
provider |
– (required) | Key of a configured provider. |
label |
– | Name shown in the model dropdown. |
contextWindow |
– | Context size in tokens. |
capability |
GENERAL |
GENERAL, FAST, or LIGHTWEIGHT. |
supportedEfforts |
[] |
Reasoning effort levels, e.g. [low, medium, high]. |