LogoLogo
Back to studio
  • Formsort documentation
  • โฉQuickstart
    • ๐ŸŸขGet started with Formsort
    • ๐ŸŽCore concepts
    • โ„น๏ธQuestion and content reference
    • ๐Ÿ“•Key terms
    • ๐Ÿž๏ธCreate your first flow
    • ๐Ÿ“–Add content and collect answers
      • ๐ŸคณCapture demographic data
      • โ„น๏ธAdd informational content
      • ๐Ÿ” Review your variable schema
    • ๐ŸŽจCreate a theme
      • Set brand guidelines
    • ๐ŸคนPersonalize your flow
      • ๐ŸŒŸTemplate your variables
      • ๐Ÿง Add conditional logic
      • ๐Ÿ’ซUsing conditional logic with Calculated and API variables
      • ๐Ÿ”šEnd the flow
    • ๐Ÿ”€Set up integrations
    • ๐Ÿš€Go live
      • Auditing your flow for content, functionality, and design
    • ๐Ÿ’ผCommon use cases
      • ๐Ÿ’”Disqualify responders
      • ๐Ÿ—“๏ธAdd a scheduling option
      • ๐Ÿ“„Allow responders to read and accept your company policies
  • ๐Ÿ—๏ธBuilding flows
    • Flows and variants
      • Flow starts
    • Adding content
      • Groups
      • Steps
        • Settings
        • Logic
        • Style
      • Questions
        • General Settings
        • Style
        • Address
        • Comparison
        • Confirmation
        • Date
        • Date & Time
        • Email address
        • File upload
        • Grid choice
        • Iframe
        • Image upload
        • Number
        • Payment
        • Phone number
        • Postal code
        • Question group
        • Region
        • Select
          • Providing choices via API or calculation
        • Signature
        • SSN
        • Text questions
        • Yes/No
      • Content
        • General Settings
        • Statement
        • Image
        • Video
        • Next button
        • Divider
        • Map
      • Endings
      • Using markdown
      • Using variable templating
        • Template formatting functions
      • Copy-pasting form content
      • Content library
    • Conditions and logic
      • Logical operator reference
      • Advanced logic
    • Variables (answers)
      • Variables from questions
      • Externally provided variables
      • Calculated variables
      • API lookups
      • System Library variables
      • Orphaned variables
    • Schemas
      • JSON Schemas
      • Validating flow schemas
    • Redirects
    • Styling and themes
      • CSS Reference
      • Overriding theme styling
      • Custom CSS overrides
      • Content area
      • Animations and transitions
      • Form Layout
      • Typography
        • Adobe Fonts
        • Hosting custom fonts
      • Color variables
      • Dimension variables
      • Question containers
      • Assets
      • Form Buttons
        • Select buttons
      • Inputs and dropdowns
      • Checkmarks
      • Tables
      • Sliders
      • Divider lines
      • Progress bar
      • Comparison cards
    • Variant settings
      • Form behavior for returning responders
      • Group ranking API
    • Publishing and versions
      • Preview window
      • Deploying
      • History
  • ๐Ÿ’พHandling data
    • Philosophy and data retention policy
    • Viewing form answers
    • Responder UUIDs
    • Environments
      • Loading different environments
    • Passing data in
      • URL parameters
      • POST body
      • Embed query parameters
    • Custom validators
    • Form answers and events
      • Analytics events
      • Signed requests
      • Event payload shape
      • Submission frequencies
      • Runtime error reporting
      • Admin API
      • Flow content data format
    • Integration reference
      • Amplitude
        • Amplitude cross domain tracking
      • BigQuery
      • FullStory
      • Google Analytics
        • Updating from Universal Analytics to GA4
      • Google Cloud Storage
      • Google Sheets
      • Google Tag Manager (GTM)
        • JavaScript triggered by flow events
      • Hubspot
      • Jornaya
      • Optimizely
      • PostgreSQL
      • Redshift
      • Rudderstack
      • S3
      • Salesforce
      • Segment
        • Segment Setup
        • Segment cross domain tracking
      • Stripe
      • TrustedForm
      • Webhooks
        • Zapier
  • ๐Ÿ“บGoing live
    • Custom domains
    • Built-in analytics
    • Embedding
      • Web-Embed API
        • React-embed
      • Adding authentication
      • Embedding forms in iOS and Android
      • Setting up a dev environment
    • Split testing
    • Preflight checklist
  • ๐ŸขTeams
    • Accounts
      • Roles and permissions
    • Events subscriptions
    • Workspace domain detection
Powered by GitBook
On this page
  • When should content library be used?
  • Adding item prototypes to the content library
  • Using content library items in flows
  • Updating content library item prototypes
  • FAQs

Was this helpful?

  1. Building flows
  2. Adding content

Content library

Reuse content blocks across multiple flows.

PreviousCopy-pasting form contentNextConditions and logic

Last updated 9 months ago

Was this helpful?

The content library only available in the Enterprise tier

The content library allows for adding groups, steps, or questions to a central content library as prototypes. Instances of those prototypes can then be inserted into other flows. Changes to the prototype will be automatically reflected in the instances once they are re-deployed.

When should content library be used?

Oftentimes, an organization's form flows will have many variations that share much of their content.

As an example, a hypothetical veterinary practice might have multiple form flows for new patients depending on the pet's species -- asking, for example, questions about fish tanks if the patient is a fish, but questions about litter boxes for cats -- but those flows might share much of their structure, such as basic information, insurance, mailing address.

This approach becomes hard to scale once the number of permutations grows large, or the differences between flows start becoming larger and larger. Using conditions to choose between two paths is straightforward, but can be much easier to manager content using multiple flows if you have a dozen different branches.

Adding item prototypes to the content library

To add a group, step, or question to the content library, right click it, and choose Add to library...

You will be asked to provide some metadata, to make it easier to find the content later.

At this point, the item will be in the library, and you will see that the source step (the prototype) will have a small In library badge on it. It's possible to update the metadata in the settings sidebar, as well as to view the instances of this library item in other flows. Since we just added this item to the library, there are no instances of it in use yet.

What is included in content library item instances? Content library instances will contain everything that is in the original item, including the text, logic, and all settings associated with the group, step, or question. It is not currently possible to override any settings inside of the item on an instance basis.

Using content library items in flows

Once there is content in the content library, it can be used in other flows.

You will see that the Add button corresponding to the content type will now be a dropdown, and provide a From library... action.

From here, you can search for the content library item you'd like to add:

Once added, the content library item will be shown with a From library badge. It is no longer editable, as its content is defined in the prototype that is referenced in the content library.

Detach can be used to remove the association between this instance and the prototype. After being detached, the content (and any child content, like steps or questions within) will behave exactly like normally-created content will, and will no longer receive updates from the prototype.

To change the mapping of input and output variables, you can press Edit.

Updating content library item prototypes

The power of the content library comes from the ability to not just share content, but to update it from a single place across many flows.

To update a content library item, first we must go to its prototype.

You can find a prototype for any content library item by:

  1. Accessing the Content library section from the main page and finding the item in question.

  2. Clicking View prototype from any content library instance.

Content library items are not immediately updated when the prototype is updated.

To update the instances,

  1. Once you are complete making changes, you must deploy the flow containing the prototype to production.

  2. At this point, the instances will indicate which flows have not been redeployed since the prototype was updated.

  3. You can click through to each of the flows and re-deploy them so that they pick up the latest changes.

FAQs

  • Where should I keep my prototype items?

    • We recommend creating a "Shared content" or "Item library" flow that contains your most frequently used items.

  • Can I have variants of content library items, or define "settings" for content library items?

    • Not directly, but you can take advantage of conditional logic within the content library item to create a "settings"-like behavior.

    • When you insert a content library item, they will have to map the input variables -- which can be set as constants.

  • Can I nest library items inside of one another?

    • We do not support nesting of library items because versioning becomes quite difficult to understand, both from a technical and user perspective.

  • Can I bulk re-publish flows using content library items?

    • It is not currently possible to bulk re-publish flows, primarily because there may also be other pending changes within those flows unrelated to the updated content library item.

A simple way to achieve this kind of logic would be to express it within a single flow, using .

Most content items will either depend on variables, or set answer variables. When inserting a content library item you will need to decide how to map those inputs and outputs to the rest of the flow, similarly to the mapping that happens in .

๐Ÿ—๏ธ
conditional logic
copy and paste
Adding a step to the content library