Skip to content

Guides & reference

BPMN

Model BPMN 2.0 processes with Camunda 8 wiring, linting and quick fixes, token simulation, event-log mining, the flowss BPMN Agent, handbooks, versions and live editing.
Sculptural study of connected forms and structured ideas

BPMN is the flowss studio for modelling business processes in standard BPMN 2.0 notation. It is a full visual modeller: you drag events, tasks, gateways, pools and lanes onto a canvas, connect them with sequence flows, and fill in the runtime details a Camunda 8 engine needs (job types, forms, assignments, input and output mappings) in a properties panel. Around the modeller sit the tools that make a process trustworthy: two independent linters with one-click repairs, a deadlock check, a token-flow simulator with batch experiments and a cost model, an event-log miner that discovers a process from your data, AI that drafts and reviews processes, a readable process handbook export, per-diagram version history, comments and live collaboration. You open it at /bpmn. This page is a complete tour of every control in the studio.

At a glance

ItemDetail
Address/bpmn. A share link opens at /bpmn?d=...; a template deep link opens at /bpmn?template=<id>
Who can open itSigned-in accounts on Starter, Plus, Ultra or Enterprise. A signed-out visitor is asked to sign in first; Free accounts are sent to /pricing
NotationBPMN 2.0, with the Camunda 8 (Zeebe) extensions in the properties panel
ModesDesign, Implement, Play
Inspector tabsProperties, Variables, Source XML
Health checksProblems (bpmnlint, 16 rules) and Compliance (an independent structural check), merged into one status badge, plus a deadlock (soundness) check
Templates35 canonical processes in Browse templates
Ways inNew blank diagram, templates, .bpmn / .xml files, pasted XML, photo of a sketch, event-log mining (CSV), the universal import, share links, Send to from another studio
Exports.bpmn XML, SVG, PNG (2x), PDF (one A4 page), PNG to clipboard, process handbook as HTML or Markdown
SavingAutomatic, a moment after each change, in your browser and your Library
Version historyUp to 20 saved versions per diagram, with a "what would change" comparison before restoring
AIThe flowss BPMN Agent: Quick generate and refine, a review-only analyst, photo to BPMN, Fix with the flowss BPMN Agent, and multi-step modelling as the Process architect
CollaborationElement-anchored comments; live sessions with one active editor at a time ("the pen")

Plans and access

BPMN is one of the workstations that opens from Starter upwards. Inside the studio, AI and live collaboration follow the platform-wide rules.

WhatFreeStarterPlusUltraEnterprise
Open the BPMN studioNo (sent to /pricing)YesYesYesYes
Modelling, linting, simulation, mining, exports, versions, commentsNoYesYesYesYes
The flowss BPMN Agent (generate, refine, analyst, photo, Fix with the flowss BPMN Agent, Process architect)NoWith your own AI keyHosted AI points or your own keyHosted AI points or your own keyHosted AI points or your own key
Host a live sessionNoNoYes, up to 3 people (you included)Yes, no capYes, no cap
Join someone else's live sessionNo (Free cannot open BPMN)YesYesYesYes
Voice and screenshare in a live sessionNoNoNoYesYes

On the plans that can open BPMN there is no limit on how many diagrams you keep in the studio. Comments are not plan-gated inside the studio: anyone who can open BPMN can comment on their own diagrams. See Plans and what they include, AI points and limits and Bring your own AI key.

The screen

BPMN uses the flowss "islands" layout: the canvas fills the window and the controls float over it in small groups, so most of the screen is your diagram. A tour of the workspace explains the layout shared by every studio; here is what each island holds in BPMN.

WhereIslandWhat it holds
Top leftIdentityThe studio switcher, the diagram title (click to rename, ▾ to switch diagrams), the status badge (save state and health) and the ⋮ file menu
Top rightPeopleComments (with a count), Play the simulation / Stop the simulation, and Share
Left edgeRailThe modelling palette (tools, elements) and the Implement toggle at its foot
Bottom centrePrompt"Describe or change the process…" with Quick and Agent modes, an attach button and suggestion chips. During Play, the simulation controls take its place
Bottom rightViewUndo, redo, zoom, a light/dark switch, the layout switch and the help menu
Right edgeDrawerOne surface at a time: the Inspector, the Comments panel, or the flowss BPMN Agent — Process architect. Opening one puts the others away
Over the selectionSelection toolbarColour, Properties, Comment, a one-click fix when one exists, runtime wiring chips in Implement, and More actions

On a phone-width screen the rail moves into a dock along the bottom and the inspector becomes a bottom sheet.

When the canvas holds only the starting event of a new diagram (and you are in Design mode), a card reads Describe or drag a process with the line "Drag a shape from the rail, or describe the process in the prompt below.", a Templates… button, and links to Open a .bpmn file and Mine an event log. The prompt shows three starter chips: Insurance claim, Order to cash and Approval flow; each sends a full request (for example "Order-to-cash with payment and shipment swimlanes") to the AI. The card disappears as soon as the diagram has content, something is selected, or an import banner is showing. The chips can be hidden for good with Hide suggestions.

Diagrams in your workspace

The studio holds several diagrams at once, like tabs. The diagram on the canvas is the "open" one; the others wait in the switcher behind the title.

Switching, creating and renaming

  1. Click the ▾ beside the title to open the switcher. It lists every diagram (the open one is ticked), offers New diagram at the foot, and has duplicate and delete actions on each row. Once you have more than seven diagrams a Find a diagram search box appears at the top.
  2. Click a row to open that diagram. With more than one diagram you can also press ⌥⌘← and ⌥⌘→ (Alt+Ctrl+arrow on Windows) to step to the previous or next one.
  3. To rename the open diagram, click its title, type, and press Enter or click away. Titles are limited to 80 characters. An empty title is not saved.

Everything that brings in a new diagram opens it in its own tab rather than replacing what you have: New blank diagram, a template, an opened file, pasted XML, a share link, an import from another studio and a mined process. Nothing you are working on is overwritten.

Duplicating and deleting

Duplicate current diagram (in the ⋮ menu, or the duplicate button on a switcher row) copies the open diagram, including its latest edits, into a new tab next to it.

Delete diagram… (in the ⋮ menu) asks for confirmation. For a diagram called Order flow, the dialog is titled Delete "Order flow"? and explains that the diagram is removed from the workspace along with its saved versions, comments and simulation setup, and that it moves to the library trash, where it can still be recovered. Press Delete or Cancel. If it is your only diagram, deleting it starts a fresh blank one. If a live session is sharing the diagram you delete, you leave the session ("Left the live session — the diagram it was sharing was deleted here").

The delete action on a switcher row asks through your browser's own confirmation box instead ("Delete “Order flow”? This cannot be undone."). It does the same thing as the menu item: the diagram's versions, comments and simulation setup are removed, and the diagram itself goes to the library trash.

Saving

Saving is automatic. About a third of a second after your last change, the diagram is written to your browser and to its record in your Library, so a drag of many small moves costs one save. The status badge shows saving, then saved. The diagram is also saved when you switch to another diagram, close the page, or switch away from the browser tab. Its popover shows how many diagrams are in the workspace.

If the browser's storage for the site is full, the badge turns to an error, and you see "Couldn't save — this browser's storage for the site is full. Your work is still on screen: export it (.bpmn) or delete a diagram to free space." Before giving up, the studio trims older version snapshots and tries again; if that works you see "Storage was full — dropped N older version snapshot(s) to make room for your diagram".

If you have the same diagram open in two browser tabs, they reconcile instead of overwriting each other. A tab with no unsaved work follows the newer copy. A tab with unsaved work of its own keeps it, and the other tab's copy is saved as a version whose title ends in "— saved in another tab".

For syncing between devices, see Cloud sync, offline work and devices.

The ⋮ file menu

Every document verb lives in the ⋮ menu beside the title, in the same order every flowss studio uses. Each row is also a ⌘K command with the same name.

SectionRows
New and openNew blank diagram, Open .bpmn file…, Duplicate current diagram
TemplatesBrowse templates
Import ▸Photo → BPMN, Mine process from event log, Import from paste, link or camera
Export ▸Export PNG (⇧⌘P), Export SVG (⇧⌘S), Export PDF, Copy PNG to clipboard, Export BPMN 2.0 XML, Export process handbook (HTML), Export process handbook (Markdown)
SendSend to another studio…
HistoryOpen versions, Save version
DocumentBPMN 2.0 · Camunda 8 (opens the BPMN learn track)
DangerDelete diagram…

Some verbs live only in ⌘K: Copy share link, Fit diagram to view, Undo, Redo, Keyboard shortcuts, Toggle comments, and the live-session verbs (Share live (collaborate), Copy live session link, Leave live session, Take or request the pen, Join voice (beta), Leave voice, Share your screen (voice)).

Warning: Diagrams, versions, comments and simulation setups are kept in this browser first. If you clear this site's data or work in a private window, anything that has not synced to your account can be lost. Export important diagrams as .bpmn from time to time.

Modelling on the canvas

The canvas is the bpmn-js modeller, the same engine behind the Camunda Modeler, so its gestures will be familiar if you have used that tool. Behind the diagram is a dot grid that moves with the canvas as you pan and zoom.

The tool rail

The rail is regrouped into three sets plus the mode toggle. Each entry is a real button with a name, reachable with the keyboard (Tab to the rail, arrow keys between tools).

GroupToolWhat it does
NavigateHand tool (H)Pan the canvas by dragging
NavigateLasso tool (L)Drag a free shape to select several elements
NavigateCreate or remove space (S)Drag to push elements apart or pull them together
NavigateConnect (C)Draw a connection between any two elements
FlowEvents — start, intermediate, endClick for a menu of Start event, Intermediate or boundary event and End event. Dragging the button straight out places a start event
FlowGatewayAn exclusive gateway (change its type afterwards with the replace menu)
FlowTaskA task (change it to a user, service, script task and so on with the replace menu)
FlowSub-processAn expanded sub-process
ContainersData — object, storeClick for Data object or Data store. Dragging out places a data object
ContainersPoolA participant pool (add lanes from its context pad)
ContainersGroupA visual group
ModeImplement — the runtime wiringSwitches between Design and Implement (see below)

Placing, connecting and editing elements

  • Click a rail entry and then click on the canvas to place it, or drag it straight onto the canvas.
  • Select an element to see its context pad to the right of it. It offers the next elements you can append (they are connected automatically), the wrench for replace (change a task into a user task, a gateway into a parallel gateway, an event into a timer event and so on), connect, and delete.
  • Double-click an element or press E to edit its label in place.
  • Drag a selected element to move it; connected flows follow.
  • Press ⌘F (Ctrl+F) to search for an element by name.

The selection toolbar

When something is selected (other than a label), a small toolbar floats just above it. It hides while you drag, zoom or scroll and while Play is running. Press Alt+F10 to move keyboard focus into it.

ControlWhat it does
ColourOpens eight swatches (Slate, Blue, Teal, Green, Amber, Red, Purple, Pink) and Clear colour. Colours are stored as standard BPMN colour attributes, so they survive a round trip through .bpmn and show in other tools that support coloured BPMN
Properties (⌘.)Opens the inspector on the Properties tab for this element
CommentOpens the Comments panel, ready to comment on this element
Fix buttonAppears when a linter finding about this element has a repair (for example Append end event). Its tooltip says whether it is a mechanical one-undo-step repair or one that needs your judgement
Wiring chipsIn Implement mode only: up to two chips showing the element's runtime wiring (for example "Job type: payment-service"). Clicking one opens Properties
More actions (⋯)Align (with two or more selected): Align left, Align centre, Align right, Align top, Align middle, Align bottom. Distribute (with three or more): Distribute horizontally, Distribute vertically. Then Copy (⌘C) and Delete (⌫)

Zoom and navigation

The view island in the bottom-right corner holds Undo (⌘Z) and Redo (⇧⌘Z), Zoom out (⌘−), the zoom percentage and Zoom in (⌘+), a light/dark switch, a classic/modern layout switch, and Help. The percentage opens a menu with Zoom to fit, Zoom to 100% (⌘0), Zoom to selection, Full screen and Hide interface (⌥Z); on a phone, where the island has no room for the zoom buttons, the same menu also carries Zoom in and Zoom out. Help opens Keyboard shortcuts and Help centre.

Zoom to fit fits the whole diagram into the part of the canvas the islands do not cover, and never enlarges beyond 100%, so a small process opens at natural size. Zoom to selection frames the selected elements a little closer (up to 150%). Diagrams fit to the view automatically when they are opened or imported.

Design, Implement and Play

The studio has three modes. Design and Implement are toggled by the button at the foot of the rail; Play is the button beside Share. Your last mode (Design or Implement) and inspector tab are remembered between visits; Play is never restored on arrival.

Design

The default mode for drawing the process: palette, canvas, and the properties of whatever is selected.

Implement

Implement shows the runtime wiring of the process. Switching to it opens the inspector on the Variables tab, headed by an Implementation list of every runtime-facing attribute in the model. Each chip names the element and its wiring, and clicking a chip selects that element. The selected element's own wiring also appears as chips on its selection toolbar.

Wiring kindLabel shown
Zeebe task definitionJob type
Linked or embedded formForm
Call activity targetCalls process
User task assignmentAssignee
Message subscriptionCorrelation key
ScriptScript

If nothing is wired yet, the list says "Nothing wired to a runtime yet — select a task and set its job type, form or assignment in Properties." The inspector stays open if you switch back to Design.

Play

Play runs a token-flow simulation over the canvas. It is covered in detail in Simulating a process below.

The inspector

The inspector is the drawer on the right edge, titled Inspector, with three tabs. Open it with Properties on the selection toolbar, ⌘. (Ctrl+.), or ⌘K and the tab name. You can resize it by dragging its edge; it reopens on the tab you used last.

Properties

The BPMN properties panel for the selected element (or for the process when nothing is selected), with the Camunda 8 (Zeebe) providers. Depending on the element it shows groups such as General (id and name), Documentation, and the Zeebe implementation details: task definition (job type and retries), input and output mappings, assignment, forms, called process, message and correlation, timer definitions and conditions. Whatever you set here is written into the BPMN XML and appears on the Variables tab and in the handbook.

Variables

Every process variable the diagram reads or writes, grouped by variable name, with a count per variable. Each entry is tagged in (an input mapping), out (an output mapping or result) or cond (used in a condition), shows the element and the expression, and selects that element when clicked.

ControlWhat it does
Filter box ("Filter by name, origin, or expression…")Narrows the list by variable name, element or expression
Written by selectionShows only variables written by an input/output mapping on the selected element. With nothing selected it says "Select an element on the canvas to see what it writes."

When the model has no variables you see "No process variables" and a hint to add input/output mappings, script results or flow conditions in Properties. A model larger than 4 MB is not read at all; the tab then says "The model was not read" with the reason, rather than claiming there are no variables.

Source XML

The BPMN 2.0 XML the canvas is producing, live, with its size ("BPMN 2.0 · N KB · read-only"). It is read-only: change the diagram on the canvas, or export the XML, edit it in another tool and bring it back with Open .bpmn file… (it opens as a new tab).

Checking your diagram

Two independent checkers read every diagram as you work, and their findings are merged into one number on the status badge beside the title. Click the badge (or press ⇧⌘M) to open the status popover.

The status popover

SectionWhat it shows
Save stateSaving, saved or the storage error, with "N diagrams in this workspace" or the reason for the error
Fix N safeShown only when at least one safe repair exists. Applies every safe repair at once; each repair is one undo step. You see "Applied N fixes — undo reverses each", or "No safe fixes could be applied"
ProblemsThe bpmnlint findings on the live canvas. Each row names the element (click it to select the element and scroll to it), the message, and either a fix button or a one-sentence next step. With no findings it reads "No problems."
ComplianceShown only when the second, structural checker has found something bpmnlint has not already reported. Hovering a row highlights the element in rose on the canvas; clicking it scrolls there
ReadinessWhere the diagram stands overall, on the platform's five-step scale (Empty, Draft, Sound, Reviewed, Publishable), including the result of the deadlock check

When both checkers report the same issue about the same element (for example, a process with no end event), it is counted once and the Problems row is tagged "· compliance too". The badge's number always equals the two sections added together.

If the bpmnlint ruleset could not load (for example you went offline for a moment), the Problems section warns "bpmnlint didn't run — these rows come from the built-in walker, which never grades an error". The next check tries again.

One-click repairs

FindingFix buttonSafe for "Fix N safe"?
A path dead-ends without an end event, or a process has no end eventAppend end eventYes
Two identical sequence flows connect the same pairRemove duplicateYes
A gateway with one way in and one way outRemove & reconnectYes (one undo step)
An element with no nameName it (opens the label editor)No
An element with no connections at allDelete itNo

A fix that cannot apply because the diagram changed under it says "Couldn't apply the fix — the diagram changed under it; the list will refresh".

Problems rules (bpmnlint)

RuleSeverityWhat to do
Start event requiredErrorAdd a start event (circle) and connect it to your first task
End event requiredErrorAdd an end event (bold circle) so every path finishes somewhere
No disconnected elementsErrorDrag a sequence flow from a neighbouring element onto this one
No duplicate sequence flowsErrorTwo identical flows connect the same pair — delete one
Label requiredWarningDouble-click the element and give it a name
No implicit startWarningConnect a start event into this element so the process has one explicit beginning
No implicit endWarningConnect this element onward to an end event
Single blank start eventWarningKeep one unnamed start event; name, type or remove the others
Superfluous gatewayWarningThe gateway has one way in and one way out; delete it and connect the flows directly
Fake joinWarningRoute the joining flows through a gateway instead of straight into the task
Conditional flowsWarningGive each flow out of the split a condition (Properties, Condition), or mark one as default
Sub-process blank start eventWarningUse a plain (blank) start event inside the sub-process
No overlapping elementsWarningDrag the overlapping elements apart
Event sub-process typed start eventWarningGive the event sub-process's start event a type (message, timer, error…)
No implicit splitWarningRoute the outgoing flows through a gateway so the split is explicit
Superfluous terminationWarningA plain end event is enough here

The studio also adds informational notes the ruleset does not cover, such as "Element is not connected", "Element is an implicit end" and "Element is an implicit start", and a recommendation to name unnamed start and end events.

Compliance rules

FindingSeverity
Process has no start eventError
Process has no end eventError
Sequence flow has no source or target, or points at one that does not existError
Sub-process has nodes but no start eventWarning
A split whose paths meet again at a different kind of gateway, or are never joinedError or warning, depending on the case
Exclusive gateway with more than one unlabelled outgoing flowWarning
Element with no incoming or outgoing sequence flowWarning
Element with no nameInfo

Each Compliance row includes its own suggested fix in a second line, and a severity tag (error, warn or info). Rows about the whole process rather than one element cannot be highlighted on the canvas.

The deadlock check

Separately from the linters, the studio searches the process graph for deadlocks, for example an exclusive split whose paths feed a parallel join (which jams every case). The verdict feeds the readiness reading and is handed to the flowss BPMN Agent's analyst as a fact. It reads the same graph that Play simulates, so a deadlock it reports is one you can watch happen.

Simulating a process (Play)

Press Play the simulation in the people island to run your process as moving tokens over the canvas. The prompt is replaced by the simulation's transport controls, the right edge shows live analytics, and the selection toolbar is switched off. Press the same button (now Stop the simulation) or the exit control to return to Design. If the canvas is empty, Play shows "Add a start event and some tasks to your process, then press Play to watch it run."

Transport controls

ControlWhat it does
ResetRestarts the simulation from the current canvas
StepAdvances one step
Play / PauseRuns or pauses the animation
Inject a new instanceStarts another case at the start event
Speed slider0.25x to 4x in 0.25 steps (desktop only; phones run at 1x)
Sim setupOpens the setup panel: durations, branch weights, arrivals, cost rates
AnalyzeOpens the batch-experiment panel
Rebuild the simulation from the current canvasPicks up edits you made while Play was open
Exit simulationReturns to Design

Live analytics

ReadingMeaning
ElapsedSimulated seconds so far
In flightTokens currently moving
Waiting at joinsTokens parked at a join waiting for their partner branches (shown in amber, only when non-zero)
CompletedCases that reached an end
Avg cycle timeMean time from a case's start to its last token finishing
BottleneckThe busiest element, also ringed in amber on the canvas

When every case finishes you see "All N instances completed". If some did not, you see "Run over with X/Y completed" and why: cases aborted by the token cap (a runaway loop) or cases that ended without reaching an end event. If every live token is stuck at a join, the panel says "Every token is waiting at a join that can't fire — check the gateway pairing."

If the simulation could not carry part of your model into the run (for example a timer written in a form it cannot price, or a boundary event with no rate), an amber "N modelled details not in this run" note lists each one, so you know what the numbers leave out.

Sim setup

Every field writes straight into the setup, which is saved with the diagram and rebuilds the simulation. An empty field means "use the default".

SectionFields
ArrivalsNew instance every N seconds (empty means off)
Tasks & timersFor each task and timer: time in seconds (default 1.6 s for a task; a timer uses the duration in the model) and a cost per hour
Lane ratesA cost per hour for each lane (shown when the process has lanes)
Branch weights (%)For each decision gateway, a relative weight per outgoing flow ("auto" by default; the default flow is marked). A flow labelled "30%" on the canvas is picked up automatically
Exception ratesFor each boundary event, the percentage of visits on which it fires. Left empty ("dwell"), the event races its host on time alone, which can only ever come out as never or always

Other defaults: 1.1 s to travel a flow and 0.35 s at a gateway. Exclusive gateways choose one branch by weight, parallel gateways fork and wait for all branches, inclusive gateways fork a weighted subset and wait only for branches that can still arrive. A sub-process is simulated as a single step.

Analyze

Analyze pushes a batch of cases through the process instantly, without animation, and reports the distribution.

  1. Set Cases (1 to 500; default 100) and Every (s), the gap between arrivals (defaults to your arrival setting, or 1.5 s).
  2. Press Run. A progress line shows cases completed and ticks; Cancel stops it.
  3. Read the results.
Result blockContents
Header"X/Y completed", or "did not finish · X/Y" when the run hit its budget with work still in flight (numbers then cover completed cases only)
Cycle timep50 (median), p90, p99, Mean, Min · Max, Throughput per minute. Percentiles are real observed cycle times
BottlenecksThe top five elements by time, each with a bar split into busy time and time waiting at a join, and its share. The Heat map checkbox shades the canvas by load
CostTotal (batch), Per completed case and the top cost rows, once you set cost rates in Sim setup

AI in BPMN

All AI features need either hosted AI points (Plus and up) or your own AI key (Starter and up). See AI in flowss.

Quick mode: generate and refine

Type in the prompt ("Describe or change the process…") with Quick selected and press Enter. On a blank diagram the flowss BPMN Agent drafts a complete BPMN 2.0 process with gateways, lanes and events; once there is a diagram, the same prompt refines it ("add a parallel gateway after triage"). The conversation opens in the flowss BPMN Agent sheet above the prompt, with your requests, the agent's notes and a Try row of follow-up suggestions.

Tip: Save a version (⋮ › Save version) before a large AI change. The toast's Undo only lasts while the toast is on screen.

Because an AI result replaces the whole diagram, ⌘Z cannot undo it. Instead, each change by the agent shows a toast "The flowss BPMN Agent's revision was applied — ⌘Z can't reverse an import, but this can." with an Undo button that puts the previous diagram back. Each request is charged as one standard AI call. While the flowss BPMN Agent is working the sheet shows "Working…" and the prompt is disabled, but you can still switch diagrams; a reply that arrives for a diagram you have left is not applied (see Troubleshooting).

If a request fails (for example you are out of points, or the flowss BPMN Agent returned no diagram source), a red banner at the top of the canvas says why, with a Dismiss button.

The analyst

Once the diagram has content, the prompt's chips (shown when you click into the prompt) and the flowss BPMN Agent sheet offer the analyst, labelled "Analyst — reviews, never edits". On an empty diagram the analyst says "Model a process first — the analyst reviews what's on the canvas".

ActionWhat it reviews
Review soundnessReports the decided deadlock verdict, then discusses what a search cannot: whether the counterexample is realistic, missing exception paths, loops a real case cannot leave
Audit exceptionsTasks and interactions that can fail or time out with no boundary event, error path, escalation or timeout
Suggest improvementsUnnecessary hand-offs between lanes, steps that could run in parallel, rework loops, approvals gating low-risk paths, steps nobody downstream uses

The analyst is given the same facts you see (the Problems rows, Compliance findings, element counts and the deadlock verdict) and never changes your diagram; its three suggestions can be sent as ordinary refine requests.

Photo to BPMN

Choose ⋮ › Import › Photo → BPMN, or the attach button (Attach a file) on the prompt, and pick an image file of a sketched process. The flowss BPMN Agent recreates it as BPMN with full diagram layout, replacing the open diagram's content. Unlike a Quick-mode change, a photo import offers no Undo toast, so save a version first if you want to keep what is there; ⌘Z cannot undo an import. This is a vision request and costs twice a standard request. If the photo is read as some other kind of diagram, you see "Photo was recognised as engine, not BPMN. Try the relevant workstation instead."

Fix with the flowss BPMN Agent

When an import fails, or succeeds with dropped references, an amber banner at the top of the canvas explains why and offers Fix with the flowss BPMN Agent, which sends the original file and the error to the agent and asks for a version that imports cleanly while keeping your intent. The repaired diagram arrives with the same Undo toast as any change by the flowss BPMN Agent ("The flowss BPMN Agent's repair was applied…"). Dismiss hides the banner.

The Process architect (Agent mode)

In Agent mode the flowss BPMN Agent works as the Process architect. Switch the prompt to Agent and send a request, or choose flowss BPMN Agent — Process architect with ⌘K. A panel titled flowss BPMN Agent opens on the right, with the subtitle "A BPMN 2.0 specialist — it models pools, lanes, gateways and flows step by step, keeping the diagram interchange valid so it always renders." Its own field reads "Describe the process to model — e.g. 'an order-to-cash flow with a credit-check gateway'…". It works through several tool-assisted steps, shows its progress, and applies the result through the same door as any AI change (so the Undo toast appears). An agent run is a multi-step request and is priced as one; see AI points and limits. Example requests it suggests:

  • "Model an order-to-cash process with a credit-check exclusive gateway"
  • "Add an escalation path if approval takes more than 2 days"
  • "Split this into two pools: Customer and Fulfilment, with message flows"

A run is tied to the diagram it started on. If you switch to another diagram while it runs, the result is not applied to the wrong one; you are told to switch back and run it again. The panel is being redesigned; the behaviour described here is what it does. See The flowss Studio Agent and its modes for how agents work across flowss.

Templates

⋮ › Browse templates (or Templates… on the empty canvas) opens BPMN templates: "35 canonical processes — click to load. Each opens in its own tab." The template you loaded last is highlighted.

TemplateWhat it models
Insurance ClaimEnd-to-end insurance claim approval with a gateway and tasks
Loan ApprovalLoan approval with an exclusive gateway, service task and message events
Pizza OrderThe classic BPMN teaching example, with parallel cook and bake
Employee onboardingOffer accepted, then IT provisioning, buddy and paperwork, then ready
Leave requestSubmit, manager approval, HR record or send back
Expense approvalReceipt, policy check, over-threshold approval, reimburse
Order fulfilmentOrder, pay, pick, pack, ship, close
Customer support ticketOpen, triage, solvable?, fix or escalate, close
Incident handlingAlert, page, mitigate, postmortem
Procurement 3-way matchPO, goods received, invoice, match, pay
Hiring loopApplication, screen, interview, offer, hired
Software releaseCode complete, tests, staging, QA approval, production
Loan applicationApply, credit check, underwriting, approve or decline
Data pipeline runExtract, transform, validate, load (or alert)
online paymentCustomer payment flow with validation gateways
leave requestEmployee, manager and HR leave-approval workflow
customer support ticketSupport ticket lifecycle with an escalation gateway
order fulfilmentEnd-to-end fulfilment from order to ship
refund processCustomer-initiated refund with finance approval
Order-to-cash with credit check and dunningOrder validation, credit check with a credit-hold review, ship and invoice, then cash applied or a 30/60/90-day dunning cycle to collections; three lanes and message flows to the customer
Procure-to-pay with three-way matchRequisition, approval, PO, goods and invoice receipt in parallel, a three-way match with a variance loop, then payment and remittance
Employee onboarding through probationSigned offer to confirmed employment: parallel preparation, day-one induction, a timer-driven 30-day check-in and an end-of-probation decision
ITIL incident management with major-incident pathLog, prioritise by impact × urgency, first-line fix, escalation with a resolution timer, a separate major-incident path and auto-closure
Loan origination with DMN decision and manual underwritingA business-rule task evaluates a DMN decision (approve, refer or decline), manual underwriting for referrals, and an offer that is signed or lapses after 30 days
Customer support escalation (Tier 1 → Tier 2 → engineering)Tiered support with a 2-hour escalation timer, a hand-off to engineering and an event-based wait for the customer
Invoice approval with timer escalationCapture, duplicate check, GL coding, approver routing and a 3-day interrupting timer that escalates to the finance manager
Hiring collaboration with candidate and screening providerA collaboration of three pools exchanging ten message flows, with a 7-day offer timer
Emergency department patient intake and triage (ESI)Registration, nurse triage, ESI level, immediate care for ESI 1–2 and a timer-driven re-triage loop for ESI 3–5
Insurance claim from first notice of loss to settlementFNOL, cover check, fraud scoring with SIU referral, parallel documents and inspection, reserving, and a settlement negotiation loop
Software release with parallel quality gates and canary rolloutFour quality gates in parallel, change approval, a canary with a 30-minute bake timer, then promotion or rollback
Returns and refunds (RMA) with inspection gradingEligibility, RMA and label, a 14-day arrival timer, inspection grading and a refund
KYC / AML customer onboarding with screening and EDDIdentity verification, sanctions, PEP and adverse-media screening, risk rating, enhanced due diligence and MLRO approval
ITIL change enablement (standard, normal and emergency)Standard, normal (CAB) and emergency (ECAB) change paths, with a backout path and review
Quote follow-up with an event-based gatewayWaits for acceptance, a decline or 14 days, with up to two follow-ups before the opportunity is lost
Month-end financial close with timer startA monthly timer start, sub-ledger closes in parallel, reconciliations, consolidation, review and period lock

The timings, payment terms and service levels in the processes from Order-to-cash onwards are illustrative, and most of their descriptions say so. Replace them with your own before you rely on the model.

The same templates appear in the template gallery; clicking one there opens BPMN with it loaded in a new tab.

Bringing processes in

Way inHowOpens as
A .bpmn or .xml file⋮ › Open .bpmn file…A new tab named after the file
Pasted BPMN XMLPress ⌘V on the canvas with BPMN XML on the clipboard (text starting <?xml, <bpmn:definitions or <definitions)A new tab, "Pasted diagram"
A photo⋮ › Import › Photo → BPMN, or the attach button on the promptReplaces the open diagram's content. ⌘Z cannot undo this, so save a version first if you want to keep the current diagram
An event log⋮ › Import › Mine process from event logA new tab
Anything else⋮ › Import › Import from paste, link or camera, the universal import (paste, a URL, a photo or the camera, converted for you). See Importing and convertingA new tab, "Imported diagram"
A share linkOpen a /bpmn?d=... linkA new tab, "Shared diagram"
Another studioSend to from that studioA new tab

Copying and pasting elements within the canvas (⌘C, ⌘V) works as normal and does not trigger an import.

When a file imports with problems, the amber banner says what happened, starting with the file's name: "… failed to import: …" for a file that could not be read at all, or "… imported with N warnings — references that couldn't be resolved were dropped: …" when some references in the file pointed at elements that do not exist. After a failed import you are put back on the diagram you had open; the new tab stays in the switcher with the original bytes so that Fix with the flowss BPMN Agent (or a manual repair) has something to work on. Missing incoming and outgoing references that a file was allowed to omit are repaired automatically, so a valid file does not flood Problems with false "not connected" findings.

The file picker accepts .bpmn and .xml files. If the browser cannot read the file, you see "Couldn't read" with the file's name and the reason, ending "— pick it again".

Mining a process from an event log

Process mining discovers a process map from records of what actually happened. Choose ⋮ › Import › Mine process from event log (or Mine an event log on the empty canvas). The dialog explains: "A CSV of case · activity · timestamp rows becomes a discovered BPMN map — it opens as its own tab."

  1. Click Open CSV (accepts .csv, .tsv and .txt) or paste rows into the box. The first line must be a header, for example case,activity,timestamp.
  2. Under Column roles, check the detected columns: Case id, Activity, Timestamp (all required) and Resource (optional). The detector shows its confidence, or "not detected — pick the columns yourself".
  3. Adjust the Noise filter: keep all paths, light, medium or strong. Stronger settings hide rare paths. The map is re-discovered live, with a plain-language description and counts of cases, events, activities, edges kept and variants.
  4. If some rows could not be used, expand "N rows dropped — why" to see each row and its reason (the first 20 are listed, then "… and N more").
  5. Press Open as new tab (or Cancel). The new tab is named after the file, for example "orders (mined)", or "Mined process" for pasted rows, and you see "Discovered process opened in its own tab".

Frequencies and durations come from the log; nothing is estimated. If no traces can be built you see "No traces could be built from these roles — check the dropped-row reasons below."

Exporting and sharing

All exports are in ⋮ › Export. Files are named after the diagram title.

ExportWhat you get
Export PNG (⇧⌘P)A 2x raster on a white background. If the diagram is too large for a browser canvas at 2x, the scale is reduced and the toast says so; export SVG for full resolution
Export SVG (⇧⌘S)Vector image
Export PDFThe 2x raster fitted onto one A4 page, portrait or landscape to suit the diagram's shape
Copy PNG to clipboardThe same picture as Export PNG, ready to paste
Export BPMN 2.0 XMLA .bpmn file you can open in Camunda Modeler or any BPMN 2.0 tool
Export process handbook (HTML)A self-contained, readable document (<title>-handbook.html): the diagram itself, then Overview, Roles & responsibilities (one row per lane), Steps (type, lane, from and to, notes from each element's documentation), Decisions (each gateway as a table of branch, condition and destination, with the default marked) and the Compliance report
Export process handbook (Markdown)The same handbook as Markdown (<title>-handbook.md), for wikis and pull requests, without the embedded diagram

Pictures always use the light document palette, whatever your theme, so they read on white pages and slides. Element colours you chose are kept.

Share (people island) opens the Share popover:

  • Copy link copies a link that contains the whole diagram, compressed, and confirms "Share link copied" with an Open button. Anyone who opens it gets their own copy in a new tab (they need to be signed in on a plan that includes BPMN; a signed-out visitor is asked to sign in first and then lands on the diagram). Because the diagram travels inside the link, treat it as public. Links longer than about 8 KB are refused by servers, so a large diagram shows "This diagram is too large for a share link (N KB — links over 8 KB are refused by servers). Export it as .bpmn, or use Share live." instead of copying.
  • Live session starts or manages a live session (see below). How live sessions work opens the explanation.
  • Send converts the diagram and opens it in another studio. ⋮ › Send to another studio… opens the same menu. See Moving work between studios.

For embedding and other formats across flowss, see Exporting your work.

Version history

Each diagram keeps its own history of up to 20 saved versions, stored in your browser.

  1. Choose ⋮ › Save version to snapshot the diagram now ("Version saved").
  2. Choose ⋮ › Open versions to open the Versions panel. It lists each version with its title, date, time and size, and has a Save current button. With none saved yet it reads "No saved versions yet. Save one to snapshot the current diagram."
  3. Click Changes on a version to see what restoring it would do: "Restoring would make N changes", listing elements it Adds back, Removes, Renames, Retypes, elements with Changed details (conditions, documentation, lanes, Zeebe wiring and more), and a flow summary (added, removed, rewired, renamed). Each list shows five entries and "+ N more". A version that differs only in layout says "No structural changes — this version differs only in layout or formatting."
  4. Click Restore. If your current diagram has content, you are asked "Restore this version?" ("Your current diagram will be replaced. Save it as a version first if you want to keep it.") with Restore and Cancel. A successful restore says "Version restored" and also brings back the version's title.

The studio also saves versions for you in two situations: before a live session overwrites diverging local work (its title ends in "— before live session"; the three most recent are kept) and when another browser tab changed the same diagram. When storage runs out, older versions are trimmed to the five most recent before your diagram is ever refused. See Version history and undo.

Comments

Comments are threads attached to diagram elements. They are saved with the diagram (without changing the .bpmn file) and sync live during a live session.

  1. Select an element and press Comment on the selection toolbar, or open Comments in the people island.
  2. Type in the box ("Say something… (⌘↵ to post)") and press ⌘Enter. With nothing selected, the panel says "Select an element on the canvas to comment on it."
  3. Each thread shows the element it is about; click that chip to select the element. Reply ("Reply… (⌘↵ to post)"), resolve or reopen, or delete the thread.

A comment longer than 2,000 characters is trimmed ("Comment trimmed to 2,000 characters"). A thread keeps 50 messages; past that its oldest replies are removed ("Thread is full — its oldest replies were removed"). A diagram keeps 200 threads; past that the oldest thread is removed ("Comment limit reached — the oldest thread was removed to make room"). The Comments button's count is the number of threads on the open diagram. See Comments and review.

Live collaboration

A live session lets others join the diagram you are working on from a link. BPMN uses a "pen" model: one person edits at a time and everyone else watches the diagram update live. Hosting a session needs Plus (up to 3 people, you included) or Ultra and Enterprise (no cap). The seat count is the host's, but each guest still has to be able to open the BPMN studio: the link leads to /bpmn, so a guest must be signed in on Starter or above (a Free account is sent to the pricing page instead of the session). If your plan cannot host, Start live session is shown locked with a sentence naming the plan that unlocks it.

  1. Open Share and choose Start live session. The invite link is copied: "Live link copied — anyone who opens it lands in this diagram with you".
  2. Once someone else has joined, a banner under the top islands shows who has the pen. When someone else has it you see their name followed by "has the pen — watching live. The holder's next update replaces edits you make here." with Request the pen (which changes to "Pen requested…"). When you have it you see You have the pen (with a count of anyone waiting) and Release. When nobody has it, "The pen is free — the next person to edit takes it." with Take the pen. The holder gets a toast such as "Sam asks for the pen" with a Grant button.
  3. Use Copy live link or Leave session ("Your diagram stays as it is") in the Share popover. Voice is per person and needs Ultra or Enterprise: Join voice (peer-to-peer, beta), then Mute microphone / Unmute microphone, Share your screen / Stop sharing your screen and Leave voice.

A session is pinned to one diagram. If you switch to another tab, incoming edits are not applied there, and a message tells you live edits are still arriving for the shared diagram and to switch back to that tab to follow along; switching back catches you up. Before the session overwrites local edits you made without the pen, the studio saves them as a version. See Live collaboration.

Keyboard shortcuts

Press ? for the in-studio cheat sheet.

ActionMacWindows / Linux
Undo⌘ZCtrl+Z
Redo⇧⌘ZCtrl+Shift+Z or Ctrl+Y
Copy, paste⌘C, ⌘VCtrl+C, Ctrl+V
Select all⌘ACtrl+A
Delete selectionDelete or BackspaceDelete or Backspace
Move selectionArrow keysArrow keys
Edit labelE or double-clickE or double-click
Hand (pan) toolHH
LassoLL
Space toolSS
Global connectCC
Replace elementRR
Find element⌘FCtrl+F
Zoom in, out⌘+, ⌘−Ctrl++, Ctrl+−
Reset zoom⌘0Ctrl+0
Pan canvas⌘ plus arrow keysCtrl plus arrow keys
Export PNG⇧⌘PCtrl+Shift+P
Export SVG⇧⌘SCtrl+Shift+S
Inspector⌘.Ctrl+.
Focus the prompt⌘/Ctrl+/
Document status⇧⌘MCtrl+Shift+M
Previous, next diagram⌥⌘←, ⌥⌘→Alt+Ctrl+←, Alt+Ctrl+→
Selection toolbarAlt+F10Alt+F10
Hide interface⌥ZAlt+Z
Command palette⌘KCtrl+K
Keyboard shortcuts??

⌘K also takes you to any screen by name: Design, Implement, Play, Properties, Variables, Source XML, Problems, Compliance, Comments, flowss BPMN Agent and flowss BPMN Agent — Process architect. See Keyboard shortcuts for platform-wide keys.

Tips

  • Start from a template or the flowss BPMN Agent, then use Fix N safe to clear the mechanical problems before you look at the rest.
  • Label every outgoing flow of an exclusive gateway with its condition; the Compliance check, the handbook's decision tables and the simulator all read those labels. Writing "30%" on a flow also sets its simulated branch weight.
  • Use Changes in Versions before restoring; it tells you exactly what would come back and what would be lost.
  • Set cost rates on lanes in Sim setup, then run Analyze with 200 to 500 cases to compare two versions of a process.
  • Put the purpose of each task in its Documentation field in Properties; the handbook export turns it into readable step notes.
  • If Analyze reports "did not finish" and the live analytics show tokens waiting at a join, look for an exclusive split feeding a parallel join.

Limits and known constraints

  • BPMN needs a Starter plan or above; Free accounts cannot open it.
  • Diagrams and their versions, comments and simulation setups are stored in your browser first. A browser's storage for a site is limited (typically around 5 MB), and version snapshots are the largest thing kept. Export important diagrams as .bpmn.
  • Up to 20 versions per diagram; when storage is short they are trimmed to 5.
  • Share links are limited to about 8 KB; larger diagrams must be exported or shared live.
  • PNG and PDF exports are rasters; very large diagrams are exported below 2x. SVG has no resolution limit.
  • The Source XML tab is read-only.
  • The Variables tab and the handbook do not read models larger than 4 MB.
  • Live sessions have one editor at a time; there is no simultaneous co-editing in BPMN. Guests need an account that can open BPMN (Starter or above).
  • The Problems list falls back to a simpler built-in check, which never grades anything an error, if the bpmnlint ruleset cannot load.
  • AI changes replace the whole diagram and cannot be undone with ⌘Z; use the toast's Undo or a saved version.
  • The simulator treats a sub-process as a single step, uses fixed or configured service times, and leaves unpriced boundary events out of the run (it lists them).
  • Analyze runs at most 500 cases per batch.

Troubleshooting

You seeWhat it means and what to do
You are sent to the pricing page when opening /bpmnYour plan does not include BPMN. Upgrade to Starter or above
"The modeler is still loading — try again in a moment."You clicked an export before the canvas finished loading. Wait a second and try again
"Couldn't save — this browser's storage for the site is full…"Export the diagram as .bpmn, then delete diagrams you no longer need. Some private browsing windows block storage entirely
"This tab's stored diagram failed to load, so edits here are NOT being saved over it…"The saved copy could not be opened, so the studio protects it. Use Fix with the flowss BPMN Agent in the banner, or open a replacement file
"… failed to import: …" (after the file or diagram name)The file is not valid BPMN 2.0 with a diagram section. Use Fix with the flowss BPMN Agent, or export it again from the source tool
"The stored diagram failed to import: …"The diagram saved for this tab could not be opened when the studio started. Use Fix with the flowss BPMN Agent in the banner, or open a replacement file
"… imported with N warnings — references that couldn't be resolved were dropped"Some references in the file pointed at missing elements and were removed. Check the diagram, or use Fix with the flowss BPMN Agent to repair from the original
"… didn't import — its stored XML is broken" (after the diagram's name)That tab's saved content is damaged; you stay on the previous diagram. The tab keeps its content for a repair
"The rejected import couldn't be undone on screen — reload the page; your saved diagram is untouched."A failed import emptied the canvas and the studio could not redraw your diagram. Reload; nothing stored was changed
"… was for a diagram that has since been closed — nothing was changed."A result from the flowss BPMN Agent (Quick, Process architect or photo) arrived after you deleted the diagram it was for
"Couldn't save the version — this browser's storage for the site is full…"Export the diagram (.bpmn) or delete a diagram, then save the version again
"… was also changed in another tab. That tab's copy is saved in Versions — this tab keeps yours."The same diagram was edited in two browser tabs. Compare and restore from ⋮ › Open versions if you want the other copy
"Couldn't bank a backup of your local diagram before the live session overwrites it — storage is full…"Export the diagram (.bpmn) right away if you want to keep your local edits
"Model a process first — the analyst reviews what's on the canvas"The analyst needs a diagram with content
"The pen lives inside a live session — hit "Share live" first" or "Screensharing rides the voice call — join Voice first"Start a live session (and join voice) before using these ⌘K verbs
"This diagram is too large for a share link…"Export it as .bpmn, or start a live session
"The clipboard is only available on a secure (https) page."Copying needs a secure page; use the export instead
"Exported PNG (N×) — this diagram is too large for 2× in a browser canvas…"Expected for very large diagrams. Use Export SVG for full resolution
"The flowss BPMN Agent's revision was for "A" and you're now on "B" — it wasn't applied…" (or the same about its result or a photo)You switched diagrams while the flowss BPMN Agent was working. Switch back to "A" and run it again
"Photo was recognised as …, not BPMN"The photo looks like another kind of diagram; open it in the studio it suggests
"bpmnlint didn't run — these rows come from the built-in walker…"The rule engine failed to load; the next edit retries. Reload the page if it persists
"Couldn't apply the fix — the diagram changed under it…"The list refreshes; apply the fix again from the new row
"Nothing to write up yet — model a process first"The handbook needs more than an empty diagram
"Couldn't load the handbook builder…"A network hiccup or an updated site. Reload the page and try again
"Every token is waiting at a join that can't fire…"Your gateways are mismatched, for example an exclusive split joined by a parallel gateway
"No traces could be built from these roles…"The selected columns do not form cases. Check the column roles and the dropped-row reasons
"Voice rides a live session — hit "Share live" first"Start a live session before joining voice
"This diagram is too large to sync live…"Your edits stay in your copy until the diagram is smaller
"One diagram couldn't be reopened…"A diagram listed in your workspace has no content on this device (deleted, or never synced here)

For anything else, see Troubleshooting and FAQ.

Something unclear or out of date on this page? Tell us from the Support link in any studio — the flowss team reads every report.

© 2026 Voranox Inc. flowss — Flow Systems Studio. All rights reserved.

This documentation, its text and its examples are protected by copyright. Engine and format names are trademarks of their respective owners — see the terms and copyright and licences.