Designing Forms

Designing forms involve the following important considerations:

  • Which data you want to collect from the end user

  • By asking which questions, you can collect this data

  • Which questions are required

  • Whether you need branching (e.g. only if the user lives in Auckland, she needs to answer the Question 8, or only in that case Address Panel/Page should be displayed)

  • Which validations should be applied to particular questions (e.g. the range of a question requiring a numerical answer)

Survey.JS Form Builder

FlexiForms uses Survey.JS as the form builder. It can be safely said that Survey.JS is the most popular, and capable form building tool with a great community support. It is a drag-drop based, easy-to use designer.

With this tool, you can enjoy a large variety of questions, validations, fully customizable form layout, rules (logic). You can even preview the form and have a look at the generated JSON code behind your form.

Survey.JS provides an extensive knowledge base that you can use to perfect your forms.

Question Names

Keep in your mind that question names are the references FlexiForms will use for every process. They will refer to

  • column names / fields on the relevant database table

  • fields in your HTML template you may need for emails or PDF/HTML/CSV exports

  • fields that you may use in Job Rules

  • fields you may use in your verification specifications (for example fields whose values will be sent to a WEB API)

  • fields that you can use for API Data Source definitions

In summary, you should consider Question Names as code rather than free-text titles. Use, for example, "date_of_birth" or "DOB" instead of "Date of Birth".

Use AI for the Initial Form Design

It is always a good idea to get our AI providers create the initial form. For example, if you want a job applicatin form, you can simply prompt "standard job application form", which would result in a form with 4-5 pages.

Keep in your mind that you can fine-tune the AI generated form with more detailed prompts such as "standard job application forms with such-such questions.... such-such questions should be asked only if...."

Upload Fields

FlexiForms allows end users to upload files, either as multiple uploads or single uploads, with customizable file size and type options.

  • Multiple files can be uploaded at once (optional)

  • Thumbnails of the uploaded files can be previewed.

  • Uploaded files can be easily accessed through the Admin app.

  • They can be attached to emails.

  • They can be also used in email or export templates.

Complex Questions

Complex questions / fields differ from basic fields (such as a text box, check box, drop down list) in that they can store multiple values. You can iterate over the set of values the complex fields store in a template. also Import Into DB job allows you to store the data captured from these fields in their own database table easily.

  • Matrix (Single Select Matrix): Matrix table questions group multiple survey questions that share the same response options. They are particularly useful for asking respondents to rate various statements using a consistent scale. A common example is a Likert scale question, also known as a satisfaction scale, which enables respondents to express their opinions on different statements using a 5- to 7-point scale or to answer multiple close-ended questions with identical answer choices.

  • Matrix Dropdown (Multi-select matrix): A Multi-Select Matrix, also referred to as a matrix question with multiple responses, is a survey or form question that uses a grid or table format, allowing respondents to choose multiple options for each row and column pairing.

  • Dynamic Matrix: A Dynamic Matrix is an expandable input field that allows respondents to provide multiple answers within a single question in a table format. It structures a series of questions or statements along dynamic rows while presenting various response options in columns. Users can manage the matrix content by adding or removing dynamic rows using on-question buttons.

  • Dynamic Panel: To create a form with a set of repeating fields, such as listing respondents' qualifications or workplaces, use a Dynamic Panel element. This feature allows respondents to add new copies of the same form fields dynamically as needed.

Signatures

You can use signature fields on the form if you need the user to sign the form. Signature questions allow the user to sign as if she is using a pen. So they should not be confused with Electronic Signatures.

Last updated