Feathery Docs
HomeCommunityGitHub
  • Platform
    • Quickstart
    • Form Fields
      • Hidden Fields
      • How to Set Field Values
      • Link Fields Across Forms
      • Custom Field Input Format
    • Build Forms
      • Elements
        • Basic
          • Container
          • Button
          • Text
          • Progress Bar
          • Image
          • PDF Viewer
          • Video
          • Table
          • Tooltip
        • Fields
          • Address
            • Street Address Line 1
            • Street Address Line 2
            • City
            • State
            • Country
            • Zip Code
          • Button Group
          • Checkbox
          • Checkbox Group
          • Color Picker
          • Combobox
          • Dropdown
          • Dropdown Multiselect
          • Date Selector
          • Time Selector
          • Email
          • File Upload
          • Matrix
          • Number
          • Password
          • Picture Choice
          • Pin Input
          • Phone Number
          • Radio Group
          • Rating
          • Signature
            • Legally Binding Signatures
          • Slider
          • Social Security Number
          • Text Area
          • Text Field
          • Payment Method
          • URL
        • Custom HTML, JS, CSS, and Iframes
        • Custom Fields
      • Design
        • Reuse styles and elements
          • Styling
          • Assets
        • Alignment and Spacing
        • Sizing Forms and Elements
        • Responsive Layouts
      • Actions
      • Logic
        • Navigate Steps Conditionally
        • Show Elements Conditionally
        • Custom Field Validation
        • Available Conditions
        • Display Dynamic Text
        • Dynamically Repeating Containers
      • Advanced Logic & API Connections
        • Visual Rule Builder
          • Connect to API Action
            • Salesforce API Connector
          • Set Field Value Action
          • Navigate Step Action
          • Set Field Error Action
          • Open URL Action
          • Set Calendly URL Action
        • Javascript Rule Builder
          • API Connections in Code
          • Trigger Integrations from Logic
          • Reusable Logic Configs
        • Examples
          • API Connectors
            • Dynamic dropdown options
            • Dynamic form navigation
            • Pre-fill form from Salesforce
            • Pre-fill form from Hubspot
            • Pre-fill field options from Google Sheets
            • Generate ChatGPT Message
          • Field Validation
            • Complex Field Validation
            • Date and Time Validations
          • Initialize Date Field
          • Dynamically set field placeholder
          • Randomize Field Option Order
          • Update field options based on previous selection
      • Integrations
        • Event Triggers
        • Examples
          • Upload Files to Google Drive
      • Dev & Staging Environments
    • Launch Forms
      • Embed Your Forms
      • Custom URLs & SEO
      • User Tracking
      • Completion Criteria
      • UTM Parameters
      • Accessibility Standards
      • Analytics
      • A/B Testing
      • Offline Mode
    • Document Intelligence
      • Review Extractions
      • Post Processing
      • Supported Document Types
      • Prompting Guide
      • Examples
        • Investment Report
    • Document Autofill & Signatures
      • Autofill Document Templates
        • PDF Autofill
        • Word Doc Autofill
          • Dynamic Tables
        • Excel Autofill
        • InDesign Autofill
      • Signature Workflows
        • Signature Notifications
        • Access Signed Documents
        • 21 CFR Part 11 Compliance
      • Export Form Submission PDF
    • Workflows
      • Collaboration
        • Email Invite
        • Start Directly
        • Anonymous Starts
      • Review, Edit & Approve
      • Unique Submission Links
    • Enterprise Compliance
      • Security and Privacy
      • Reliability and Performance
      • Document Management
      • Data Sovereignty
    • International Forms
      • Translate Forms
      • Right to Left (RTL) Support
      • International Form Fields
    • White Label Feathery
      • Build Custom Form Fields
      • Offer Custom Form Templates
      • Custom Dashboard Domain
    • Account Settings
      • Managing Your Team
      • Permissions and User Groups
      • Account Attributes
    • FAQs
      • Account & Billing
  • Guides
    • Verify Submissions & Prevent Spam
    • Build a Login or Verification Flow
      • Connect an Auth Integration
      • Add Auth Methods
        • Email SMS Code
        • Email Magic Link
        • Phone Number Verification
        • Social Logins
          • Google
          • Amazon
          • Apple
          • Bitbucket
          • Coinbase
          • Discord
          • Facebook
          • GitHub
          • GitLab
          • LinkedIn
          • Microsoft
          • Slack
          • Twitch
          • Twitter
      • (Optional) Require Auth for Onboarding Steps
      • (Optional) Add Login Flow to Your Site
        • Feathery-Hosted (Recommended)
        • Embed Login Flow
          • Login Embed Tutorial
    • Build a Payment Flow
      • Connect to Stripe
      • Select Products or Plans
      • Collect Payment Method
      • Purchase Products
    • Send Custom SMS Messages
    • Salesforce Picklist Options
  • Developers
    • React SDK
      • API Guide
        • init()
        • <Form>
          • contextRef
          • Event Handlers
            • onSubmit()
            • onLoad()
            • onChange()
            • onAction()
            • onError()
            • onFormComplete()
            • onView()
          • Custom JSX Components
          • PopupOptions
          • initialLoader
        • getFieldValues()
        • setFieldValues()
        • updateUserId()
        • Login API
          • <LoginForm>
          • useAuthClient()
      • Inline vs Popup Form
    • Javascript SDK
    • Context API
      • Field Object
      • field.setStyles()
      • Deprecated Context API
    • REST API
Powered by GitBook
On this page
  • Prerequisites
  • Step-by-step Guide
  • Mapping Fields
  • Mapping Extractions
  • Additional Information

Was this helpful?

  1. Platform
  2. Build Forms

Dev & Staging Environments

PreviousUpload Files to Google DriveNextLaunch Forms

Last updated 2 days ago

Was this helpful?

Form Promotion is an advanced feature designed for users who need to seamlessly manage multiple versions of a form. It allows you to swap one instance of a form with another, making it ideal for maintaining both a 'live' version of a form and a separate 'development' version.

Compared to the basic form draft feature, Form Promotion is more powerful by creating a complete copy of the form. This allows you to test changes, save data, and even experiment with new features like integrations before promoting changes into the live environment. Promoted forms will maintain their submission data and links to allow for a seamless transition.

Prerequisites

To use the Form Promotion feature, you must be on a paid plan. If you are on a free plan, you will need to upgrade in order to access this functionality.

Step-by-step Guide

1. Make a Promotable Copy of the Form

  • Navigate to the settings page on the form you wish to make a copy of.

  • Go to the Form Promotion section in the sidebar.

  • Click the button Create Promotable Copy.

  • We recommend keeping the fields linked when copying the form.

    • If they're linked, the field IDs won't change on the live form during promotion since the new live form will have the field IDs from the form that was just promoted.

    • However, note that any changes to the properties of linked fields will also propagate directly to the live form.

If the promotable form fields are unlinked, the live form field IDs will change during the promotion process. The newly promoted form will have field IDs from the form that was promoted.

2. Edit and Test the Promotion Copy

  • After creating the promotion copy, you can make any necessary updates or changes to the form.

  • This copy behaves like any normal form, so you can:

    • Test new configurations.

    • Save data and test integrations.

    • Preview the form by publishing it temporarily, ensuring everything works as expected.

3. Promote the Changes

  • Once you are satisfied with the updates made in the promotion copy, publish the changes.

  • Next, open the Form Menu and select the Promote Form option.

4. Map Fields

  • Before promoting, you will have the option to map any fields from the promotion copy to the original form. Mapping fields allows submission data to be carried over to the fields in the new version of the form.

If you don't properly map your fields, submission field values will not carry over.

6. Rollback Option

  • When the promotion is complete, the changes will now be applied to the live form. A Rollback Form will also be automatically created. This rollback version contains the previously live changes in case you need to revert back to the old version.

Mapping Fields

Field Mapping is an important step during the promotion process. It allows submission data from the original form to be transferred over to new fields in the promoting form.

How to Map Fields

  • After selecting the Promote Form option, you will be prompted to map fields between the promotion copy and the live form.

  • A list of fields from both the live form and the promotion copy will be displayed. The system will attempt to automatically match fields.

  • You can manually map fields by selecting the correct corresponding fields from the promotion copy to the live form.

Why Field Mapping is Important

Field mapping ensures that any changes to fields in your form don’t result in loss of submission data.

  • If you’ve changed an existing field, the system won’t automatically know how to handle the data from the original field.

  • Field mapping allows you to explicitly match the old fields with the new ones, so the submission data is maintained from the live form to the copy.

Mapping Extractions

If your form uses document extractions, you can also map these during the promotion process. This allows you to maintain a testing version of your extraction, whose changes get promoted to the live extraction.

How to Map Extractions

  • Manually create a copy of your live extraction and map it to the fields used in your test form.

  • In your test form, replace your live extraction with the new test extraction. Any triggers from buttons, logic rules, or code rules should be updated.

  • Now you can make changes to your testing form or extraction, and validate them without interfering with your live workflow.

  • When your test form is ready for promotion follow the normal promotion and field mapping procedure.

  • After mapping your fields, you can choose which extractions to map. Once your mapping is configured, verify that the field mappings are correct. If there is an unmapped field, there will be a warning. You can go back to the field mapping to make adjustments as needed.

Additional Information

Single Promotion Copy

Only one promotion copy can be created for each form at a time.

Maintain Links and Submissions

When promoting a form, the links to the form and submissions will be maintained.

No Draft Changes on Promoted Forms

Once a form has a promotion copy attached, it can no longer have its own draft changes. All changes must be made on the promotion copy.

Stackable Promotions

You can stack promotions, meaning a promotable copy can have its own promotion copy.

Single Rollback Version

Only one version of the rollback is saved at a time. Each new promotion will overwrite the existing rollback with the most recent version.

Promote form is available in the publish menu of a form.