Skip to content

Flow Revisions

Flow revisions let you track changes, compare versions, and roll back to previous states. This versioning system helps you maintain stable automations.

Understanding Revisions

Every time you save a flow, TinySystems creates a revision:

Flow: "Order Processing"
├── Revision 5 (Current) - Added error handling
├── Revision 4 - Fixed validation logic
├── Revision 3 - Added email notification
├── Revision 2 - Initial implementation
└── Revision 1 - Created flow

Auto-Save

Flows automatically save:

  • Every 30 seconds during editing
  • Before deployment
  • Before closing the editor

You can also manually save with Ctrl+S.

Auto-Save Settings

Configure auto-save behavior:

  1. Open editor settings (gear icon)
  2. Find "Auto-save" section
  3. Options:
    • Interval: 30s, 1min, 5min, or disabled
    • Save on blur: Save when leaving editor
    • Create revision: Auto-save creates revision vs. silent save

Viewing Revisions

Revision History Panel

  1. Click the clock icon in the toolbar
  2. The revision panel opens
┌─────────────────────────────────────────────────────────────────────┐
│ Revision History                                              [×]  │
├─────────────────────────────────────────────────────────────────────┤
│ ● Rev 5  │ 10 min ago │ Alice │ Added error handling              │
│ ○ Rev 4  │ 1 hour ago │ Alice │ Fixed validation logic            │
│ ○ Rev 3  │ Yesterday  │ Bob   │ Added email notification          │
│ ○ Rev 2  │ 2 days ago │ Alice │ Initial implementation            │
│ ○ Rev 1  │ 3 days ago │ Alice │ Created flow                      │
└─────────────────────────────────────────────────────────────────────┘

Revision Details

Click a revision to see:

  • Timestamp: When the revision was created
  • Author: Who made the change
  • Message: Description (if provided)
  • Changes: What was modified
  • Nodes: Count of nodes at this revision
  • Edges: Count of edges at this revision

Comparing Revisions

Visual Diff

Compare two revisions visually:

  1. Select first revision
  2. Hold Ctrl and click second revision
  3. Click "Compare"
┌─────────────────────────────────────────────────────────────────────┐
│ Comparing: Rev 4 ↔ Rev 5                                           │
├────────────────────────────┬────────────────────────────────────────┤
│ Rev 4                      │ Rev 5                                  │
│ ┌───┐   ┌───┐   ┌───┐     │ ┌───┐   ┌───┐   ┌───┐   ┌───┐        │
│ │ A │──▶│ B │──▶│ C │     │ │ A │──▶│ B │──▶│ C │──▶│ D │ (new)  │
│ └───┘   └───┘   └───┘     │ └───┘   └───┘   └───┘   └───┘        │
└────────────────────────────┴────────────────────────────────────────┘

Change Summary

View summarized changes:

Changes from Rev 4 to Rev 5:
+ Added node: "Error Handler"
+ Added edge: "Process" → "Error Handler"
~ Modified node: "Process" (changed settings)
~ Modified edge: "Input" → "Process" (updated mapping)

Node-Level Diff

See specific configuration changes:

Node: "Process"
┌─────────────────────────────────────────────────────────────────────┐
│ Settings                                                            │
│                                                                     │
│ - timeout: "30s"                                                    │
│ + timeout: "60s"                                                    │
│                                                                     │
│ - retries: 1                                                        │
│ + retries: 3                                                        │
└─────────────────────────────────────────────────────────────────────┘

Restoring Revisions

Preview Before Restore

  1. Click a revision in the history
  2. Click "Preview"
  3. The canvas shows that revision (read-only)

Restore a Revision

  1. Select the revision to restore
  2. Click "Restore"
  3. Confirm the action

Note: Restoring creates a new revision with the old state. You never lose history.

After restoring Rev 3:
├── Revision 6 (Current) - Restored from Rev 3
├── Revision 5 - Added error handling (preserved)
├── Revision 4 - Fixed validation logic (preserved)
├── Revision 3 - Added email notification
...

Partial Restore

Restore specific elements:

  1. Preview the old revision
  2. Note the configuration you want
  3. Manually apply changes to current revision

Revision Messages

Adding Messages

When saving manually, add a message:

  1. Press Ctrl+Shift+S (Save with message)
  2. Enter a description
  3. Click Save
┌─────────────────────────────────────────────────────────────────────┐
│ Save Revision                                                       │
├─────────────────────────────────────────────────────────────────────┤
│ Describe your changes:                                              │
│ ┌─────────────────────────────────────────────────────────────────┐│
│ │ Added retry logic to HTTP client                                ││
│ └─────────────────────────────────────────────────────────────────┘│
│                                                                     │
│                                    [Cancel] [Save]                  │
└─────────────────────────────────────────────────────────────────────┘

Message Best Practices

Write clear, useful messages:

✅ Good messages:
- "Added email notification for failed orders"
- "Fixed: Router not handling null values"
- "Increased timeout for slow API responses"

❌ Poor messages:
- "Updated flow"
- "Fix"
- "Changes"

Branching (Advanced)

Create a Branch

For experimental changes:

  1. Open revision history
  2. Click a revision
  3. Select "Create Branch"
  4. Name the branch
Flow: "Order Processing"
├── main (default)
│   ├── Revision 5 (Current)
│   └── ...
└── feature/new-notifications
    ├── Revision 3 (branched from)
    ├── Revision 4 (experiment)
    └── Revision 5 (more changes)

Merge Branches

Combine branch changes:

  1. Switch to target branch (usually main)
  2. Open branch management
  3. Select branch to merge
  4. Review changes
  5. Confirm merge

Deployment and Revisions

Deploy Specific Revision

Deploy any revision:

  1. Select the revision
  2. Click "Deploy This Revision"

The deployed version shows in the history:

● Rev 5 (Current) ⚡ Deployed
○ Rev 4
○ Rev 3 ⚡ Previously Deployed

Rollback Deployment

Quickly revert to last working version:

  1. Click "Rollback" in deployment status
  2. Select previous deployed revision
  3. Confirm rollback

This deploys the previous version without changing the current revision.

Cleanup and Retention

Revision Limits

TinySystems retains revisions based on your plan:

PlanRetention
FreeLast 10 revisions
TeamLast 100 revisions
EnterpriseUnlimited

Manual Cleanup

Delete old revisions:

  1. Open revision history
  2. Select revisions to delete
  3. Click "Delete Selected"

Note: You cannot delete the current revision or deployed revisions.

Best Practices

1. Save with Messages

Always describe significant changes:

Before deploying: "Ready for production - tested with staging data"
After bug fix: "Fixed race condition in parallel processing"

2. Review Before Deploy

Check the revision before deploying:

  1. Compare with currently deployed version
  2. Review all changed nodes
  3. Verify edge mappings
  4. Test if possible

3. Use Branches for Experiments

Don't experiment on main:

  1. Create a branch
  2. Make experimental changes
  3. Test thoroughly
  4. Merge when confident

4. Document Major Changes

For significant updates:

  1. Add detailed revision message
  2. Update flow description
  3. Notify team members

5. Regular Backups

For critical flows:

  1. Export flow configuration periodically
  2. Store exports in version control
  3. Document deployment procedures

Next Steps

Build flow-based applications on Kubernetes