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
.agentfiles - 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
User A
Loads taible (Version 1)
Modifies Column X
User B
Loads taible (Version 1)
Modifies Column Y
User A saves first
User B tries to save
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
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 3When 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 conflictScenario 2: Column Reorganization
You: Reorder columns by dragging
Coworker: Add new column
→ Whoever saves second gets the conflictScenario 3: Trigger Changes
You: Modify webhook trigger
Coworker: Add scheduled trigger
→ Whoever saves second gets the conflictNote: 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 workPractice 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.agentThe 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
.agentfiles 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-6a9c8b7f5e4dThis prevents conflicts with the original taible.
Accounts must be reconnected:
For security, API keys and credentials are NOT included in exports. After importing:
- Open each column that uses an account
- Click "Edit Column"
- Select the appropriate account from the dropdown
- Save
Example:
Column: "OpenAI Summary"
After import: No account selected
You need to: Select "Production OpenAI" account
Then: Column works normallyImportant: 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 creationCollaborate 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 stateSetting Up Git Version Control
Step 1: Create a Git repository
mkdir taible-configs
cd taible-configs
git init
git remote add origin https://github.com/yourorg/taible-configs.gitStep 2: Export your taible (structure only)
- Export taible as
.agentfile - Uncheck "Include data" (structure only)
- Download to your repository folder
taible-configs/
├── lead-enrichment.agent
├── support-tickets.agent
└── content-approval.agentStep 3: Commit to Git
git add lead-enrichment.agent
git commit -m "Initial export of Lead Enrichment Pipeline"
git push origin mainStep 4: Update process
When you change the taible configuration:
- Make changes in Taibles
- Export again (overwrite old .agent file)
- 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:
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 verificationCompare versions:
git diff HEAD~1 lead-enrichment.agentShows exactly what changed between versions.
Restore old version:
# 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.agentTeam Workflow with Git
Feature branch workflow:
# 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 mainBenefits:
- 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 businessWorkflow 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 untouchedSummary
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
.agentfiles - 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! 🚀