Creating diagrams
A diagram is your picture of a system: the services, databases, and queues it is made of, and how they talk to each other. This page walks you through making one.
Create your first diagram
- Sign in and open your workspace. Every account starts with a personal workspace that holds all of your diagrams.
- Press Create diagram. Give it a short, recognizable title — for example “Checkout request path”. The description is optional.
- Press Create diagram in the dialog. Your new diagram appears at the top of the list.
- Press Open editor on the diagram card to start drawing.
The workspace action is Archive diagram. It removes the diagram from the active list while its draft and checkpoints stay recoverable.
Design mode and Simulate mode
The editor has two modes, shown as tabs at the top: Design is where you build and edit — add components, connect them, change their settings. Simulate is read-only: it plays back a run without letting you change anything by mistake. Everything on this page happens in Design mode.
The workbench is split into a tool panel, canvas, inspector, and bottom docks. Use Components or Outline on the left, the canvas in the middle, andInspect, Connect, or Contracts on the right or in the dock. The Journey, Run, Timeline, Transcript, Contracts, and Problems docks keep setup, execution, and diagnostics close to the graph.
Add components
The Components panel on the left lists every building block you can use — services, databases, queues, and more. Click a component to add it to the canvas, then drag it wherever you like. You can also press / to search the list by name, and press Enter to insert the highlighted component.
Name, arrange, and edit
Select a component and the Inspector panel opens on the right. On its Overview tab you can change the Label (the name shown on the canvas, like “Auth Service”) and add a description. The same tab has Duplicate and Delete buttons.
Select Auto-arrange when you want Mockflow to suggest a tidy layout. Review the preview, then apply it or cancel it. Your labels, connections, and behavior do not change.
To keep bigger diagrams tidy, use the two visual-only helpers from the palette: Group / boundary draws a labeled box around related components (a team, a region, a trust zone), and Note / legend adds free-text notes. Neither affects how the system behaves.
Inspect ports and behavior
Select a component and use the inspector tabs to move from the picture to the executable details:
| Inspector tab | What you can change or check |
|---|---|
| Overview | Label, description, group membership, group size, Duplicate, and Delete. Labels are limited to 200 characters and descriptions to 2,000. |
| Ports | Each port's label, direction, role, message kind, required flag, payload contract, instance ID, and connection limit. Service nodes can add published event outputs; there can be at most 64 service ports, and a port can be removed only when unused. |
| Behavior | Component configuration, arrival handlers, ordered actions, catches, and runtime resources. The editor accepts bounded action sequences (up to 32 actions per handler and 16 catch actions) and validates references to ports and interactions. |
A catalog field that is not supported by the current editor is preserved but inert until you remove or replace it. Read the Problems diagnostics before running; a contract or handler can point at a port that no longer exists after a component revision changes.
Edit and remove connections
Select an edge to edit its label in the connection inspector. An empty label is replaced by a concise typed route, and labels can be up to 200 characters. Existing edges are not reconnectable: to change an endpoint, delete the edge and create a new typed connection.
Paired request/response and intrinsic data-return edges share an interaction. Deleting either member through the canvas selection also deletes the other members of that pair, so recreate the request when you need the complete interaction back.
Link one diagram to another
Add a Diagram link component when you want a typed, executable boundary that points to another diagram in the same workspace. Its target is opaque during a run: the host run uses the link's own mode, outcome, latency, and handlers; it does not execute or inspect the target diagram.
- Select the diagram link in the inspector and choose a target from the same workspace.
- Set Mode to success or failure, give the boundary an Outcome, and set its virtual Latency (ms).
- Use Open diagram or double-click the linked node to drill into the target. Mockflow saves dirty changes before navigating in the current tab.
A modifier/Control-click opens the target in a new tab without flushing the current draft. If the target is deleted, archived, outside the workspace, or inaccessible, the link is shown as broken and Open stays disabled.
Drafts and checkpoints
Your draft is the working version of the diagram. Mockflow saves it as you edit, and you can keep changing it.
A checkpoint is a named save point for review. It keeps the diagram exactly as it was at that moment, even after you continue changing the draft. Use a checkpoint before a design review, before a large change, or before allowing an approved agent to edit the draft.
- Select Checkpoint in the editor command bar.
- Add a short message that explains why you are saving this point.
- Choose which ready journey drafts to include. You can also save only the diagram when there are no journeys.
- Create the checkpoint. Your working draft stays open and editable.
A checkpoint does not publish or share your work, and it does not replace the draft. It gives your team a stable version to inspect, compare, and refer back to.
The main half of the Checkpoint control creates the next checkpoint. Open its arrow to see checkpoint history, newest first. Each entry shows its number, message, time, and graph size; the version currently loaded in the editor is marked Current.
- Open the checkpoint history and choose the version you want to load.
- If the current draft already matches a checkpoint, Mockflow can switch directly. If it contains uncheckpointed graph changes, Mockflow asks before replacing them.
- Choose Checkpoint current when you need to preserve those changes. Finish creating the checkpoint, reopen checkpoint history, and choose the version you originally wanted to load. Choose Switch and discard instead when you intentionally want to replace the current graph immediately.
- Review the loaded graph. Journey drafts are not switched or removed, so check their compatibility before running them against the selected graph version.
You can create up to five new checkpoints per diagram. Existing legacy versions remain readable. If switching is unavailable while Follow MCP is active, turn it off first so the editor is no longer following remote draft changes.
Saving and remote edits
Draft changes are autosaved, and Save now or ⌘/Ctrl + S sends the current graph immediately. If another editor changes the draft first, Mockflow keeps your local changes in memory and shows a conflict banner.
- Choose Keep mine and retry to save your local graph against the newer version.
- Choose Use remote draft to replace the local graph with the newer saved version.
Follow MCP refreshes remote draft changes every ten seconds and pauses editing. Turn it off before editing, switching checkpoints, or resolving a save conflict.
Zoom, pan, and find your way
The canvas toolbar has Zoom in, Zoom out, Fit all (bring the whole diagram into view), Fit selection, and a toggle for the minimap. Drag on empty canvas to pan, and click empty canvas to clear your selection.
Keyboard shortcuts
| Keys | What it does |
|---|---|
| / | Open the component search |
| ⌘/Ctrl + K | Open the command palette |
| ⌘/Ctrl + S | Save the draft now |
| ⌘/Ctrl + D | Duplicate the selected components |
| ⌘/Ctrl + Z | Undo |
| ⇧ + ⌘/Ctrl + Z | Redo |
| Backspace or Delete | Delete the selection |
| Shift + drag | Select several components at once |
Mockflow saves draft changes as you work. Press ⌘/Ctrl + S when you want to save immediately. The command palette (⌘/Ctrl + K) can insert components, open panels, switch modes, and create checkpoints.