Collaboration
Multiple teammates can edit the same workflow at the same time, in real time. Cursors are shared, changes propagate within a second, and the conflict-resolution is handled for you.
🎬 Gif needed:
editor__collaboration-cursors.gif, two cursors moving on the canvas, one user editing a node while the other watches the inspector update. ~5 seconds.
Joining a session
Anyone with edit access to a workflow can collaborate. Open the workflow in two browser windows (your own + a teammate's), or just send the workflow URL, anyone who can open it joins automatically.
A small avatar cluster appears in the top-right of the editor with one avatar per active collaborator. Click an avatar to centre your viewport on what that person is looking at.
For a collaboration-first view (slightly different UI emphasising who's doing what), navigate to /workflow/<id>/collaborate. Functionally equivalent.
What you see in real time
| Other person's action | What you see |
|---|---|
| Moving their cursor | A coloured ghost cursor with their name labelled |
| Selecting a node | The node gets a coloured outline matching their avatar |
| Editing a config field | A "✏️ Ada is editing" indicator appears on that field; the field locks while they're typing |
| Adding / removing a node | The node appears / disappears on your canvas |
| Drawing a connection | The connection appears as it's drawn |
| Renaming a node | Your view updates instantly; if you were referencing the old name in an expression elsewhere, that expression is rewritten in your view too |
| Running a workflow | Everyone sees the run progress (colours, status chrome) |
Field locking
To prevent two people typing into the same field at once, fields acquire a soft lock when someone focuses them. If you try to edit a locked field, the indicator tells you who has it; release happens automatically when they blur the field or close the tab.
Soft locks have a 30-second timeout, if someone walks away from their keyboard, the field unlocks itself.
Conflict handling
Two people editing two different things never conflict. The hard case is two people editing the same thing at the same time. Flero's strategy:
- Same node, same field: field locking prevents this most of the time. If both clients edit simultaneously (e.g. one user's lock signal hasn't reached the other), last-writer-wins. The full history is in version history.
- Same node, different fields: both edits apply.
- Same connection: last-writer-wins. Mid-air change is rare because connections take a deliberate drag.
- Deletion races: if Alice deletes a node while Bob is editing it, Bob gets a toast notification ("This node was deleted by Alice") and her delete wins. Bob's pending edit is discarded.
Every saved version is a checkpoint, if a collaborative session goes wrong, restore from history.
Comments
Right-click a node → Add comment. Comments are anchored to the node and visible to anyone with access. Mentions (@ada) send a notification.
Comments are great for "this needs review" or "TODO: pick up here tomorrow" without polluting the workflow logic.
Permissions
Collaboration respects workspace roles (Roles & permissions):
| Role | Can do |
|---|---|
| Viewer | See cursors, see canvas, read inspector, post comments. No edits. |
| Editor | Everything Viewer can, plus add / remove / configure / rename nodes, connect, save. Cannot change workflow-level settings. |
| Admin / Owner | Everything Editor can, plus workflow settings, deletion, status changes. |
Tips & gotchas
- Saving is shared. If Alice presses Save, the workflow is saved as-of that moment, including any unsaved edits from Bob that have already propagated. Be coordinated.
- Audit trail. Every change is recorded with the user who made it. Workflow settings → Audit log shows who did what when.
- Latency. Edits propagate via WebSocket; on a slow connection, you may see a brief lag. The local view always reflects your own changes immediately; remote changes catch up.
- Read-only mode. Viewers can't edit fields, but they can run the workflow if the workflow's "Allow viewers to run" toggle is on (workflow settings).
- Tab put to sleep. If your browser tabs your Flero tab to the background, the session may pause; you'll see a "Reconnecting…" indicator briefly when you return.
Related
Found something out of date? This page lives in the Flero docs content set.