Create your first BPMN diagram using AI and Modelio in under 10 minutes.
- Go to claude.ai and click Projects in the sidebar
- Create a new project (e.g., "Modelio BPMN")
- In project settings, click Add files
- Upload this file into it:
Attach the same file to your conversation or paste its contents as context.
Copy approaches/config-helpers/BPMN_Helpers.py to your Modelio macros folder:
| OS | Path |
|---|---|
| Windows (workaround) | C:\<your Modelio installation folder>\.modelio\5.4\macros\BPMN_Helpers.py |
| Linux | ~/.modelio/5.4/macros/BPMN_Helpers.py |
Note: Replace
5.4with your Modelio version. Create themacrosfolder if it doesn't exist.
Start a conversation in your Claude project and describe your business process:
Create a BPMN diagram for an order fulfillment process:
Lanes:
- Customer
- Sales
- Warehouse
Process:
1. Customer places an order
2. Sales receives and validates the order
3. If valid, Sales confirms; if invalid, Sales rejects
4. Warehouse picks and ships items
5. Customer receives delivery
Claude will generate a Jython script (Modelio macro) that creates the BPMN diagram. Copy the generated script to your clipboard.
Once you have opened Modelio and created or opened a project:
- Select a Package in the model explorer
- If you don't have one: Right-click root → Create element → Package
- Go to Views → Script to display the Script view, then paste the generated Jython script.
- Click Run (play button)
- Expand your package in the model explorer
- Find the new process (named like
SalesInquiryToOrder_14363) - Double-click the process diagram to open it in the diagram view.
- Your BPMN diagram is ready!
Edit the configuration section in generated scripts:
CONFIG = {
"TASK_WIDTH": 140, # Wider tasks for longer labels
"TASK_HEIGHT": 70, # Taller tasks
"SPACING": 180, # More horizontal space
# ...
}Modify column indices in the layout section:
"layout": {
"Place Order": 0, # First column
"Validate Order": 1, # Second column
"Ship Items": 3, # Skip column 2 for visual spacing
}| Problem | Solution |
|---|---|
| "No such file" error | Check that BPMN_Helpers.py path matches your Modelio version |
| Script doesn't run | Make sure you selected a Package before running |
| Diagram is empty | Wait a moment and refresh; check the model tree for the process |
| Elements overlap | Adjust column indices in the layout section |
| Unicode/encoding errors | Ensure script uses only ASCII characters |
| Text cut off | Increase TASK_WIDTH and TASK_HEIGHT |
The script outputs diagnostic information. Go to Views → Console to see:
==================================================================
BPMN PROCESS CREATION
==================================================================
Process Name: OrderFulfillment_12345
...
[3] Customer: 2 elements
[4] Sales: 3 elements
...
| Tip | Example |
|---|---|
| Name your lanes clearly | "Lanes: Customer, Sales Team, Warehouse Staff" |
| Describe decisions explicitly | "If order is valid, confirm it; otherwise reject it" |
| Mention parallel work | "While Warehouse picks items, Sales notifies customer" |
| Specify task types | "automated email notification" → Service Task |
| Include error handling | "If shipping fails, notify Sales" |
Create a document approval process with:
- Lanes: Author, Reviewer, Manager
- Author submits document
- Reviewer checks it
- If OK, Manager approves; if not, Author revises
Create an employee onboarding process:
- Lanes: HR, IT, New Employee
- HR and IT work in parallel after employee is hired
- HR handles paperwork while IT sets up accounts
- New Employee completes orientation after both finish
Create a customer support ticket process:
- Lanes: Customer, Agent, Specialist
- Customer submits ticket
- Agent triages: simple issues handled directly, complex go to Specialist
- If customer not satisfied, reopen ticket
- Track resolution with a final confirmation
- See
approaches/config-helpers/examples/for complete working macros - Read
approaches/config-helpers/system_prompt.mdfor all supported BPMN elements - Check
approaches/config-helpers/docs/API_REFERENCE.mdfor configuration options
| Type | Use For |
|---|---|
START |
Process begins |
END |
Process ends |
USER_TASK |
Human work with IT system |
SERVICE_TASK |
Automated/system task |
MANUAL_TASK |
Physical work without IT |
EXCLUSIVE_GW |
XOR decision (one path) |
PARALLEL_GW |
Fork/join (all paths) |
MESSAGE_START |
Triggered by message |
MESSAGE_END |
Sends message on completion |
TIMER_START |
Triggered by schedule |

