Form Builder App
Intro
The Form Builder app is a dynamic environment to create custom Forms, Form Templates, and Questionnaires to gain insightful feedback directly from your users. Build Forms from scratch or use Templates to quickly generate and alter multiple forms from an existing set of questions and inputs.
How to Get
If you are interested in gaining access to the Form Builder App, please contact your Account Executive.
Prerequisites
Once the Form Builder App is installed in your instance, you must first create the following groups in your Domo instance before you can create Forms and Templates:
-
_FB_CreateForms_
-
_FB_CreateTemplate_
Any member in the _FB_CreateForms_ group has permission to create Forms from scratch, or generate a form from an existing template. Members of this group cannot create or edit existing templates.
Any member in the _FB_CreateTemplate_ group has permission to create Templates from scratch and edit existing Templates. Members of this group can create and edit both Forms and Form Templates.
Users who are not members of either of these groups will only have permission to view and submit existing Forms.
Using Form Builder
Forms
Under the Forms tab, you can create new forms, view, and edit all available forms.
- Users who have submitted a response to a form which only allows a single response per user will not be allowed to view, edit, delete, or submit additional responses to that form.
- Members of the _FB_CreateTemplate_ group may edit, submit, or delete any form.
- Members of the _FB_CreateForms_ group may edit, submit, or delete any form that has been assigned to a group they are a member of.
- Users who are not members of either group (_FB_CreateTemplate_, _FB_CreateForms_) may only submit responses to forms that have been assigned a group they are also a member of.
Manage Existing Forms
- Click the ellipsis
on the Form you would like to manage.
-
Select Edit, Duplicate, or Delete.
Note: If you choose to edit a form, previous responses to the form are not changed.
-
Any changes made to a new copy of a form are not reflected in older versions.
-
Deleting a form is a permanent action and is not reversible.
-
Create a New Form
To create a new form,
-
Under the Forms tab, click Create New Form.
-
Fill out the following basic information for the new form:
Form Basic InformationField Description Name/Description The name and description for the form Tags Terms related to the form. Adding tags allows you to quickly find the form through the search functionality. Groups Any Domo group(s) who should be able to view and submit the form. Leave this field empty if the form should be globally available. Note: Currently, only Domo Groups can be added to a Form. If there is an individual you would like to share a Form with, they will first need to be added to a specific Group.Response Type Restricts the number and type of responses that users can submit.
One response per user: Each user may only submit one response. Once a user has submitted a response, the form will no longer be listed in their available forms.Multiple responses per user: Each user may submit multiple responses.
Crowdsourced (collaborative): Multiple users contribute to a single response.Form Settings Show submit button on every page: When checked the submit button will be visible on every page of the form, even if the user has not filled in all responses. When unchecked the submit button will only appear on the final page of the form. -
Next, add a section to the form by clicking
Add Item Section or
Add Table Section
Section Types
Item (standard): Allows you to create a section that contains standard response inputs (e.g. text, date, select).
Table: Allows you to create a section that contains a table based on a Domo table card. -
Name the section.
-
Configure the section (see Section Types below).
-
When the form is complete, click Save and then click Back.
-
The form will now be listed in your available forms.
Section Types
Form Builder supports two types of sections: Item Sections and Table Sections.
Item Section
Item Sections provide you with a simple click-to-add experience to add new inputs, prompts, and information to your form.
To add a new item to your section, select the desired type from the menu at the bottom of the item section.
Item Types
Icon | Field | Description | Example |
---|---|---|---|
![]() |
Title and Description | Add a title and description to your section. This does not replace the section title; it is information and has no user interaction. | |
![]() |
Text Question | Add a text question to your section. Text questions can be multi-line or single-line response questions. | |
![]() |
Dropdown Selection | Create a dropdown of options a user can select from. You can customize the order in which items appear in the list and allow for multi-select. | |
![]() |
Date Select | Add a date select field for a user to give a specific date or a date range as an answer. | |
![]() |
Add Image | Add an image to your form. | |
![]() |
Lookup Question | Allow users to choose a column from a table card to pull values from to populate the dropdown selection values. | ![]() |
Additional Configuration
Lookup Question
When you add a new lookup question to your form, you will be prompted to select a page, card, and column to use when populating the options of the select menu.
You may only select pages to which you have access. Once a page has been selected, the Card configuration menu will be populated with any table cards from that page. Similarly, once a card is selected, the Column configuration menu will then be populated with any columns from the selected card. The unique values of this column are then used to populate the option list of the lookup question.
Note: Lookup questions only support the following table card types:
-
HTML Table
-
Mega Table
Table Section
Table Sections leverage Domo table cards to offer users a pre-populated table into which they can enter new responses or alter existing cell values to act as their response.
Note: Table sections do not alter the underlying dataset. All user responses created in the table section are saved to the unique response dataset associated with the form.
Table Sections support the following table card types:
-
Mega Table
-
HTML Table
Configure A Table Section
When you add a table section to your form, the following configuration menu will be displayed.
- Select a page from the page selection menu
- Select a table card from the card selection menu
- Connect the card by clicking the CONNECT button and selecting one or more columns that can uniquely identify each row
If the chosen identifier columns do not uniquely identify every row, responses may be duplicated to additional rows. - Add lookup fields (optional)
Lookup fields behave much like page filters when viewing any Domo card, lookup fields allow you to filter the tables based on the selected configuration. Only rows that respect the filter configuration will be loaded into the table section and only responses for rows loaded in the table will be affected.
To add a lookup field, select the column you would like to use as a lookup field and click ADD LOOKUP.
To remove a lookup field from your table section, click thenext to the lookup field.
- Add input columns (recommended)
Input columns allow the user to enter new values or alter existing values to submit with their response.
Input columns support the following input types:
None Display data from the table card without allowing the user to change the value. Text Free form text field; the user may enter any value. Single Select Allow the user to mark a single row from the table (radio button). Validated Input Respects the native column type assigned to the column in the table card or underlying dataset (e.g. number, date, text). Note: None and Validated Input column types may only assigned to columns that exist on the table card when the table section is created. - Add custom columns (optional)
To add additional columns, clickbelow the existing columns and enter a name for the new column.
To change the name of the column, click the name of the column to activate the text entry.
- Table settings
Freeze identifier columns Fixes identifier columns to the left hand side of the table, allowing users to easily identify which record their response is associated with. Prefer page filters over lookup fields Allows users to filter the table based on page filters rather than lookup fields. Before page filters will affect the form, the table card's underlying dataset must be registered with the application. To find instructions on how to do this, see the Using Page Filters guide below.
Templates
Templates allow you to create one single template that can be used to quickly make multiple forms without having to build them all from scratch. Under the Templates tab, you can create new templates and view and manage all available templates.
Manage Existing Templates
- Click the ellipsis
on the Template you would like to manage.
-
Select Create Form, Edit, Duplicate, or Delete.
Note: If you choose to edit a template, any forms generated from the template before it was changed are not affected. If the changes need to cascade to the forms generated from the template, they must be completed individually.
-
Any changes made to a new copy of a template are not reflected in older versions.
-
Deleting a template is a permanent action and is not reversible.
-
Create a New Template
To create a new template,
-
Under the Templates tab, click Create New Template.
-
Fill out the following basic information for the new template:
For more information on these fields, see Form Basic Information. -
Next, add a section to the template by clicking
Add Section.
-
Name the section.
-
Then, select the type of field you would like to add to your section.
Note: Multiple inputs can be added to a section. Each section of the template will be displayed as its own page.
For more information on the different fields you can add, see Field Types. -
When the template is complete, click Save and then click Back.
-
The template will now be listed in your available templates.
Questionnaires
Questionnaires allow you to group templates into a single form. By default, templates are grouped in the Unassigned templates section. To assign a template to a questionnaire, drag and drop the template over the questionnaire folder.
To manage your Questionnaires,
- Click the ellipsis
on the questionnaire you would like to manage.
-
Select Create Form, Delete, Duplicate, or Rename
Form Submissions
For a user to take and submit a Form, they will just need to navigate to the Form Builder app. Then, select the Form from the available list. Form submissions are recorded in a new DataSet that is created upon the Form's first submission. When the DataSet is created, its name is an automatically generated GUID (globally unique identifier.) We recommend renaming the DataSet once it's created to more easily locate and identify.
Connecting New Form Builder Data
Each time that you generate a new Form Builder card from the app's asset, it creates a new group of Export datasets in the Data Center that are used to power the Form Viewer app. This means that your Form Viewer is still pointing to the old Form Builder assets, so you'll need to update Form Viewer to point at the new Export datasets. The datasets that need to be updated will be called ExportColumns, ExportGroups, ExportSubmittedUsers, ExportFilters, ExportTags, ExportForms, ExportItems, and ExportSections.
In order to fix this issue, go to your Form Viewer app and select Edit Card from the wrench menu. Scroll down and swap out all of the currently mapped datasets to the new Form Builder datasets. The Export datasets should all be identified but the app context ID, which you will also find in the Form Builder dataset name.
After making these updates, you'll be able to see the new form in the Form Viewer app.
Using Page Filters
To enable page filter interaction in the Form Builder or Form Viewer application, the dataset being targeted by the page filters must be registered with the application. Page filters will only be applied to datasets registered with the application via the card editor. To open the card editor open the 'card options' menu by clicking the wrench icon on either the card or its details page and select Edit Card.
By default there are 25 'filter configuration' dataset registered with the application. To register your dataset with the application, select a FilterConfiguration dataset and replace it with the desired dataset and click Save & Finish. After this is done, your application will now listen for changes in the page filters associated with your dataset.
As described above, table sections can be enabled to use page filters instead of the native lookup fields. Active page filters targeting a dataset registered with the application will be listed in the response dataset under the Active Page Filters column.
Access and Permission Requirements
While the Form Builder and Form Viewer are associated with specific groups (_FB_CreateForms_ and _FB_CreateTemplate_) there are other requirements to consider when deciding who can create, edit, and respond to forms.
To submit responses to a form, a user must have permissions equivalent to the default Participant role.
To create a form or template, a user must have permissions equivalent to the default Editor role. If the form creator does not have permissions equivalent to the Editor role, the response dataset will not be created.