Builder Rules
Collaborative Editing
The conversational flow builder supports team collaboration through a lock-based editing system. This ensures that multiple users can work with flows without overwriting each other's changes.
Lock System
To prevent conflicts, only one user can edit a flow at a time. This is managed through an automatic locking mechanism.
How It Works
- Acquiring a lock: When you open a flow for editing, you automatically acquire an exclusive lock
- Lock duration: The lock has a Time-To-Live (TTL) of 5 minutes
- Automatic renewal: While you're actively editing, the lock is renewed automatically (heartbeat every 60 seconds)
- Other users: Users who try to edit a locked flow enter read-only mode
Lock Indicators
The builder interface shows the current lock status:
- Your lock: You have editing rights and can make changes
- Someone else's lock: Shows who has the lock and when it was acquired
- No lock: The flow is available for editing
Pointer Mode (Read-Only)
When another user has the editing lock, you enter pointer mode automatically.
Capabilities in Pointer Mode
| Action | Available |
|---|---|
| View flow structure | Yes |
| Navigate between nodes | Yes |
| View node configurations | Yes |
| Zoom and pan the canvas | Yes |
| Make changes to nodes | No |
| Create new connections | No |
| Delete nodes or connections | No |
| Save changes | No |
Visual Indicators
In pointer mode, the interface provides clear visual cues:
- The editing toolbar is disabled
- A banner shows who has the lock
- Node selection is limited to viewing
Control Delegation
The system supports explicit control transfer between team members.
Ways to Transfer Control
- Explicit release: The current editor can release control through the interface
- Request control: Another user can request control from the current editor
- Automatic release: Lock is automatically released after 5 minutes of inactivity
Best Practices for Team Collaboration
- Communicate: Let your team know when you're editing a flow
- Release promptly: Release the lock when you're done editing
- Save frequently: Although autosave is enabled, saving before releasing ensures all changes are persisted
- Plan sessions: Coordinate editing sessions to avoid wait times
Timeout Behavior
The lock system includes automatic timeout handling:
| Scenario | Behavior |
|---|---|
| Active editing | Lock renewed every 60 seconds |
| 5 minutes of inactivity | Lock is automatically released |
| Browser closed | Lock expires after TTL (5 minutes) |
| Network disconnection | Lock expires after TTL |
Recovering from Timeout
If your lock times out while you had unsaved changes:
- The system will notify you that the lock was lost
- Your local changes may still be in the browser
- Request the lock again when available
- Review and reapply any lost changes