Overview
Flark supports version control for playbooks, allowing you to:- Keep a history of all changes made to your playbook
- Designate a specific version as “production”
- Test specific versions before deploying to production
- Use historical versions for specific API calls
How Versioning Works
Production Version
Every playbook has one version marked as production. This is the version that will be used for:- Inbound calls: All incoming calls to your Flark number
- Outbound calls via API: When you don’t specify a
version_id - Queued/scheduled calls: Uses the version that was marked as production when the call was scheduled
Version Selection Priority
When a call is initiated, the system follows this priority:- Specific version requested: If you provide
version_idin the API call, that exact version is used - Production version: If no
version_idis provided, the production version is used - Current configuration (fallback): If no versions exist for the playbook, the current playbook configuration is used
Using Versions in API Calls
Default Behavior (Recommended)
Simply call the API without specifying a version. The production version will be used automatically:Using a Specific Version
To use a specific version (e.g., for testing), include theversion_id parameter:
The
version_id must belong to the specified playbook_id. If the version doesn’t exist or belongs to a different playbook, the API will fall back to the production version.Response
When you retrieve call details, the response includes theversion_id that was used:
version_id is empty or null, it means either:
- No version control was active for this playbook at the time
- The call used the legacy system (before version control was implemented)
Managing Versions in the Dashboard
You can manage playbook versions in the Advanced Editor:- View History: See all committed versions with their timestamps and commit messages
- Mark as Production: Designate any version as the production version
- Restore Version: Revert to a previous version’s configuration
- Compare Changes: View differences between versions
Best Practices
- Always commit changes before going live: Use the commit system to create a snapshot before major changes
- Test before marking as production: Use the
version_idparameter to test new versions with specific calls before making them production - Use descriptive commit messages: This helps track what changed in each version
- Keep production stable: Only mark thoroughly tested versions as production
Use Cases
A/B Testing
Test a new greeting or prompt with specific leads before rolling out to everyone:Rollback
If you notice issues with a new production version, you can:- Go to the Advanced Editor → History tab
- Find a known-good version
- Click “Mark as Prod” to instantly roll back
Scheduled Campaigns
When scheduling bulk calls, you can specify a version to ensure consistency even if you update the playbook later:FAQ
What happens if I don't have any versions?
What happens if I don't have any versions?
The system falls back to using the current playbook configuration. This ensures backwards compatibility with playbooks created before version control was implemented.
Can I delete versions?
Can I delete versions?
Currently, versions cannot be deleted to maintain audit trail integrity. You can always mark a different version as production.
Is there a limit to the number of versions?
Is there a limit to the number of versions?
There is no hard limit on the number of versions. However, we recommend keeping meaningful commits rather than committing every small change.
Do inbound calls use version control?
Do inbound calls use version control?
Yes! Inbound calls always use the production version. This ensures your customers always experience the configuration you’ve designated as production-ready.

