FormWork FormWork

Form Versions

Learn how form versioning works to safely manage changes.

FormWork uses versioning to let you make changes to forms without affecting live submissions. This ensures you can iterate on your forms while maintaining data integrity.

Version States

Every form version has one of three states:

Draft

A work-in-progress version that isn’t live.

  • Changes you make are saved automatically
  • Not visible to form respondents
  • Can be previewed before publishing
  • Each form can have one draft at a time

Published

The current live version of your form.

  • Used for all new submissions
  • Cannot be directly edited
  • One published version per form at any time
  • Publishing a new version replaces the previous

Archived

Previous versions kept for reference.

  • Cannot be edited
  • Cannot receive new submissions
  • Entries using this version retain their data
  • Can be viewed for reference

Version Lifecycle

Creating a New Version

When you start editing a form:

  1. If no draft exists, creating a draft copies the published version
  2. Your changes are saved to the draft
  3. The published version remains live

Publishing

When you’re ready to go live:

  1. Click Publish in the builder
  2. The draft becomes the new published version
  3. The previous published version becomes archived
  4. New submissions use the new version

Preview

Before publishing, preview your draft:

  1. Click Preview in the builder
  2. Opens the form in a new tab
  3. Test with real data (entries are marked as preview)
  4. Verify conditional logic and validation

How Versioning Affects Entries

New Entries

  • Always created with the current published version
  • Use the field structure of that version
  • Validated against that version’s rules

Existing Entries

  • Retain their original version reference
  • Data structure matches when they were created
  • Can still be viewed and edited in admin
  • Workflows from their version apply

Draft Entries

  • In-progress submissions that haven’t been completed
  • Continue with the version they started on
  • Won’t see changes until they start a new entry

Version Contents

Each version stores:

ComponentDescription
SchemaPages and field definitions
WorkflowsAutomation definitions
SettingsTitle, submit button text, success message
Client ConfigTheme and display settings

Working with Versions

View Version History

  1. Go to your form in the admin
  2. Click Versions tab
  3. See all versions with dates and status

Compare Versions

  1. Select two versions
  2. View side-by-side comparison
  3. See what fields were added, removed, or changed

Duplicate a Version

To base a new form on an existing one:

  1. Go to the form you want to copy
  2. Click Duplicate
  3. A new form is created with the same structure

Best Practices

Make Changes Incrementally

  • Avoid large sweeping changes in one publish
  • Test each significant change
  • Keep track of what changed and why

Test Before Publishing

  • Use preview mode extensively
  • Test all conditional logic paths
  • Verify validation rules work correctly
  • Check workflows trigger as expected

Communicate Changes

When making significant changes:

  • Notify users who may be filling out forms
  • Consider timing (avoid publishing during peak usage)
  • Document what changed for your team

Version Titles

Give versions meaningful names:

  • “Added payment fields”
  • “Fixed validation on email”
  • “Removed deprecated section”

This helps when reviewing version history.

Common Scenarios

Adding a New Field

  1. Create/open a draft
  2. Add the new field
  3. Preview and test
  4. Publish

Existing entries won’t have this field, but you can view them with the field shown as empty.

Removing a Field

  1. Create/open a draft
  2. Remove the field
  3. Publish

Existing entries keep their data for that field, viewable in their original version.

Renaming a Field

Field IDs should remain stable. To “rename”:

  1. Change the label (not the ID)
  2. Data continuity is maintained
  3. References still work

If you must change the ID:

  • Create a new field with the new ID
  • Copy data via workflow if needed
  • Remove the old field