Skip to content

13.2 Version Control

Version control keeps your taible configurations safe, prevents conflicts when multiple people edit simultaneously, and enables you to back up, share, and restore your work.


Overview: How Taibles Protects Your Work

Three Protection Systems

1. Automatic Conflict Prevention:

  • Prevents two people from overwriting each other's changes
  • Automatic version tracking on every taible
  • Clear notifications if someone else saved first
  • Simple refresh-and-retry resolution

2. Export and Import:

  • Download taibles as .agent files
  • Import to restore or create duplicates
  • Share configurations with your team
  • Optional: include or exclude data

3. Clone Feature:

  • Instantly duplicate taibles
  • Perfect for testing changes safely
  • Keep original while experimenting
  • Choose to copy data or structure only

Part 1: Automatic Conflict Prevention

The Problem: Two People Editing at Once

Imagine you and a coworker both open the same taible. You both make changes. What happens when you both click Save?

Without protection, the second person's save would erase the first person's changes. That's data loss.

Solution: Protected Changes

Initial State

Version 1Taible has 5 columns

User A

Loads taible (Version 1)

Modifies Column X

User B

Loads taible (Version 1)

Modifies Column Y

User A saves first

Version 2Column X changes saved ✓

User B tries to save

Conflict DetectedSave rejected ✗

System detects version mismatch (User B still has Version 1, but current is Version 2)

User B refreshes and retries

1. Refreshes page, sees User A's changes

2. Makes Column Y changes again to Version 2

Version 3Both changes preserved ✓

How Taibles Prevents This

Every taible has an invisible version number that increases each time someone saves:

New taible → Version 0
First save → Version 1
Second save → Version 2
Third save → Version 3

When you save changes, Taibles checks: "Is this still the same version you loaded?"

  • Yes → Your save succeeds, version increases
  • No → Save is rejected with a friendly notification

This is called optimistic locking because it assumes conflicts won't happen, but protects you when they do.


What You See When a Conflict Occurs

If someone else saved while you were editing, you'll see this notification:

Save Conflict

This taible was modified by another user. Please refresh and try again.

What this means:

  • Someone else saved changes while you were working
  • Your changes have NOT been lost (they're still in your browser)
  • You need to refresh to see the latest version
  • Then you can make your changes again

How to Handle a Conflict

Step 1: Click "OK" on the notification

Step 2: Refresh your browser (or the page refreshes automatically)

Step 3: You now see the latest version with the other person's changes

Step 4: Make your changes again to this updated version

Step 5: Save (should work now)

Why This is Better

Yes, you have to redo your changes. But that's better than silently losing the other person's work! And conflicts are rare if your team coordinates.


When Conflicts Can Happen

Conflicts occur when two people modify the same taible at the same time:

Scenario 1: Column Configuration Changes

You: Edit "Lead Score" column prompt
Coworker: Edit "Email Validation" column settings
→ Whoever saves second gets the conflict

Scenario 2: Column Reorganization

You: Reorder columns by dragging
Coworker: Add new column
→ Whoever saves second gets the conflict

Scenario 3: Trigger Changes

You: Modify webhook trigger
Coworker: Add scheduled trigger
→ Whoever saves second gets the conflict

Note: Conflicts only happen on configuration changes (columns, triggers, settings). Running cells or processing data never causes conflicts.


Best Practices: Avoiding Conflicts

Practice 1: Communicate Major Changes

Before reorganizing columns or making big changes:

  • Tell your team: "I'm restructuring the lead pipeline, give me 5 minutes"
  • They wait
  • You finish
  • No conflicts

Practice 2: Make Small, Frequent Saves

Don't spend 30 minutes editing multiple columns:

❌ Bad:
- Edit 5 columns over 30 minutes
- Click save
- Conflict! Someone else saved meanwhile
- Redo all 30 minutes of work

✓ Good:
- Edit column → Save
- Edit column → Save
- Edit column → Save
→ If conflict happens, only redo 2 minutes of work

Practice 3: Watch for Activity

If you see cells updating in real-time:

  • Someone else is recalculating columns
  • They might be changing configuration
  • Save your current work ASAP
  • Or coordinate with them

How Often Do Conflicts Actually Happen?

In practice, conflicts are rare. Most teams work on different taibles or different parts of the same taible. But when they do occur, the protection system ensures no work is lost.


Part 2: Export and Import

Export and import let you download taibles as files and upload them elsewhere. This is perfect for backups, sharing templates, and moving work between environments.

What Gets Saved in an Export

Always included in every export:

  • ✅ Taible name and description
  • ✅ All column definitions (types, prompts, settings)
  • ✅ All column dependencies and conditions
  • ✅ All trigger configurations (webhooks, email, schedules)
  • ✅ Sub-taible structures (if any)
  • ✅ Rate limits and run modes
  • ✅ All settings and preferences

Optionally included (you choose):

  • ☐ All row data and cell values
  • ☐ Sub-taible data

NOT included (for security):

  • ❌ Account credentials (API keys, OAuth tokens)
  • ❌ User assignments
  • ❌ Execution history or logs

Exporting a Taible

Export Taible

Lead Enrichment Pipeline

Automatically enrich leads with company data and contact information

When enabled, all existing data will be included in the export file. When disabled, only the taible structure will be exported.

Step-by-step:

1. Open your taible

Navigate to the taible you want to export

2. Click the taible menu (⋮ three-dot icon in the top-right)

3. Select "Export"

The export dialog appears

4. Choose export options:

  • Include data (toggle):
    • OFF (default): Export structure only

      • Fast download (~1 KB file)
      • Safe (no sensitive data)
      • Perfect for sharing templates
    • ON: Export structure + all data

      • Slower (could be MB to GB)
      • Complete backup
      • Good for cloning with existing data
      • ⚠️ May contain sensitive information

5. Click "Export Taible"

A file downloads automatically:

Lead_Enrichment_Pipeline_structure-only_2025-01-19_14-30-15.agent

The filename includes:

  • Taible name
  • Whether data is included
  • Date and time of export

6. Save the file somewhere safe:

  • Local backup folder
  • Shared team drive
  • Git repository (we'll cover this later)
  • Cloud storage

Importing a Taible

Import Taible

When enabled, all data from the export file will be imported. When disabled, only the taible structure will be imported.

Step-by-step:

1. Go to the Taibles overview page

Click "Taibles" in the main navigation

2. Click "+ Add" button (top-right)

3. Select "Import Taible" from the dropdown

The import dialog opens

4. Select your .agent file:

  • Click the upload area
  • Or drag and drop your file
  • Only .agent files are accepted

5. Review the taible name:

  • The name is auto-filled from the export
  • It adds "(Imported)" to avoid conflicts
  • You can edit this to any name you want

6. Choose import options:

  • Import data (toggle):
    • ON (default if export had data): Imports all rows and values
    • OFF: Imports structure only (empty taible)

7. Click "Import Taible"

The system:

  • Creates a new taible with a fresh ID
  • Imports all column and trigger definitions
  • Imports data (if you chose to)
  • Does NOT import account credentials (you'll need to reconnect these)

8. You're automatically taken to the new taible


What Happens After Import

New IDs are generated:

Original taible ID: 3a7f9c2b-1d4e-4a8f-9e2d-5c8b7a6f4e3d
New taible ID: 7b2e8d9f-3c5a-4f7b-8e1d-6a9c8b7f5e4d

This prevents conflicts with the original taible.

Accounts must be reconnected:

For security, API keys and credentials are NOT included in exports. After importing:

  1. Open each column that uses an account
  2. Click "Edit Column"
  3. Select the appropriate account from the dropdown
  4. Save

Example:

Column: "OpenAI Summary"
After import: No account selected
You need to: Select "Production OpenAI" account
Then: Column works normally

Important: Security

Never export taibles with data if they contain sensitive information like:

  • Customer credit card data
  • Personal identifiable information (PII)
  • Private API keys in cell values
  • Confidential business data

Use structure-only exports for sharing templates.


Export With vs. Without Data

Structure-only export (without data):

Before import:

  • Export file contains: 5 column definitions, 2 triggers, 0 rows
  • File size: ~1 KB

After import:

  • New taible has: 5 columns, 2 triggers, 0 rows
  • State: Ready to use, waiting for data
  • Perfect for: Templates, sharing workflows

Export with data:

Before import:

  • Export file contains: 5 column definitions, 2 triggers, 1,000 rows with data
  • File size: ~5 MB

After import:

  • New taible has: 5 columns, 2 triggers, 1,000 rows
  • Cell states: "Done" (data preserved)
  • Perfect for: Backups, testing environments

Part 3: Cloning Taibles

Cloning is like export/import, but faster and without downloading files. Use it to duplicate taibles within the same organization.

Clone Taible

Lead Enrichment Pipeline

Automatically enrich leads with company data and contact information

When enabled, all existing data will be copied to the cloned taible. When disabled, only the structure will be cloned.

When to clone instead of export/import:

  • ✅ Creating a test version of a production taible
  • ✅ Duplicating a workflow to modify for a different use case
  • ✅ Backing up before making major changes
  • ✅ All within the same organization

When to use export/import instead:

  • ✅ Sharing with external teams
  • ✅ Moving between organizations
  • ✅ Version controlling in Git
  • ✅ Email or download for safekeeping

How to Clone a Taible

Step 1: Open the taible you want to clone

Step 2: Click the taible menu (⋮ three-dot icon)

Step 3: Select "Clone"

Step 4: In the clone dialog:

  • Taible name: Auto-filled with "(Clone)" suffix, you can edit
  • Include data: Toggle on/off
    • ON: Copies all rows and data
    • OFF: Copies structure only

Step 5: Click "Clone Taible"

The system creates an instant duplicate and takes you there.

Speed: Cloning is much faster than export/import for large taibles because the data never leaves the database.


Part 4: Version Control with Git (Advanced)

If you're familiar with Git, you can version control your taible configurations just like code.

Why Use Git for Taibles?

Track changes over time:

Commit history:
- Jan 19, 2025: Added lead scoring column
- Jan 15, 2025: Increased rate limit on enrichment
- Jan 10, 2025: Fixed webhook validation logic
- Jan 5, 2025: Initial taible creation

Collaborate with pull requests:

  • Team member proposes changes
  • Review changes before deploying
  • Approve and merge systematically

Rollback when needed:

Problem: New configuration broke automation
Solution: Checkout previous commit
→ Import old version
→ Back to working state

Setting Up Git Version Control

Step 1: Create a Git repository

bash
mkdir taible-configs
cd taible-configs
git init
git remote add origin https://github.com/yourorg/taible-configs.git

Step 2: Export your taible (structure only)

  1. Export taible as .agent file
  2. Uncheck "Include data" (structure only)
  3. Download to your repository folder
taible-configs/
├── lead-enrichment.agent
├── support-tickets.agent
└── content-approval.agent

Step 3: Commit to Git

bash
git add lead-enrichment.agent
git commit -m "Initial export of Lead Enrichment Pipeline"
git push origin main

Step 4: Update process

When you change the taible configuration:

  1. Make changes in Taibles
  2. Export again (overwrite old .agent file)
  3. Commit changes:
    bash
    git add lead-enrichment.agent
    git commit -m "Added email validation column, increased rate limit"
    git push origin main

Git automatically tracks what changed.


Viewing History

See all changes:

bash
git log lead-enrichment.agent

commit a3f7b2c...
Author: Sarah Johnson
Date: Jan 19, 2025
    Added email validation column, increased rate limit

commit 9e4d8c1...
Author: Mike Chen
Date: Jan 15, 2025
    Fixed webhook signature verification

Compare versions:

bash
git diff HEAD~1 lead-enrichment.agent

Shows exactly what changed between versions.

Restore old version:

bash
# Get the version from Jan 15
git checkout 9e4d8c1 lead-enrichment.agent

# Import it in Taibles
# Go to Import dialog → Select file → Import

# Or go back to latest
git checkout main lead-enrichment.agent

Team Workflow with Git

Feature branch workflow:

bash
# Developer creates branch
git checkout -b add-lead-scoring

# Make changes in Taibles, export

git add lead-enrichment.agent
git commit -m "Added LLM lead scoring column"
git push origin add-lead-scoring

# Create pull request for review

# After approval:
git checkout main
git merge add-lead-scoring
git push origin main

Benefits:

  • Changes reviewed before going to production
  • Clear audit trail
  • Team coordination
  • Easy rollback if needed

Who Should Use Git?

Git version control is optional and best for:

  • Teams with development experience
  • Critical production taibles
  • Organizations requiring audit trails
  • Complex workflows with frequent changes

If you're not familiar with Git, regular export/import backups work great.


Real-World Workflows

Workflow 1: Weekly Backups

Every Friday at 5 PM:
1. Export all production taibles (with data)
2. Save to backup folder with date
3. Keep last 4 weeks (30 days)
4. Delete older backups

If disaster strikes:
→ Import most recent backup
→ Back in business

Workflow 2: Dev → Staging → Production

1. Build taible in development organization
2. Test thoroughly
3. Export (structure only)
4. Import to staging organization
5. Configure accounts for staging
6. Test again
7. Export from staging
8. Import to production organization
9. Configure accounts for production
10. Enable triggers
11. Monitor for 24 hours
12. Production ready ✓

Workflow 3: Template Library

1. Build best-practice taibles
2. Export (structure only)
3. Store in shared drive folder:
   - Lead Qualification Template.agent
   - Customer Support Template.agent
   - Content Approval Template.agent

When team member starts new project:
4. Browse template library
5. Import appropriate template
6. Customize for their use case
7. Consistency across team ✓

Workflow 4: Safe Experimentation

Before making risky changes:
1. Clone production taible
2. Name it "Lead Pipeline (Test)"
3. Make experimental changes to clone
4. Test thoroughly
5. If it works:
   → Apply same changes to production
6. If it doesn't work:
   → Delete clone, production untouched

Summary

You now understand how Taibles keeps your work safe:

Automatic Conflict Prevention:

  • Version counter on every taible
  • Prevents simultaneous edits from overwriting each other
  • Clear notifications when conflicts occur
  • Simple refresh-and-retry resolution
  • No data loss

Export and Import:

  • Download taibles as .agent files
  • Choose to include or exclude data
  • Structure-only exports (~1 KB) for templates
  • Full exports (MB-GB) for backups
  • Import to restore or create new taibles
  • Accounts must be reconfigured after import

Clone Feature:

  • Instant duplication within organization
  • Perfect for testing changes safely
  • Choose to copy data or structure only
  • Faster than export/import for large taibles

Git Integration (Advanced):

  • Version control taible configurations
  • Track every change over time
  • Team collaboration with pull requests
  • Easy rollback to previous versions
  • Complete audit trail

Best Practices:

  • Communicate before major changes
  • Make small, frequent saves
  • Export regularly for backups
  • Use structure-only exports for templates
  • Use Git for critical taibles
  • Clone before risky experiments

Next Steps

You've completed Section 13.2: Version Control!

Next section: 13.3 Templates and Reusability → Learn how to create reusable taible templates and column presets to standardize best practices and accelerate development across your organization.

Let's build your template library! 🚀

Built with VitePress