Intro
With the Form Builder app, you can create and edit custom forms, form templates, and questionnaires to collect feedback from your users. Use the Form Viewer app to enter data into your forms. You can download and install both apps from the Domo Appstore. You can download Form Builder in trial mode. If you then purchase the app, Domo converts the trial version to a full version.Response DataSets
You can use one form that you create in Form Builder to collect data, whether in one or more instances of Form Viewer, or in Form Builder itself.Example
For example, Person A and Person B each use a separate instance of Form Viewer to enter data into the same form. Person C, who created the form in Form Builder, also enters data into the same form. In this situation, there are three DataSets of responses to the form: Person A’s responses, Person B’s responses, and Person C’s responses. By default, these DataSets have the following naming convention: < form name> Responses - <GUID of form>_<GUID of instance of Form Builder or Viewer > To learn more about the response data, see Understanding Form Response Data.- Prerequisites
- Configuration
- Create a form
- Connect a Table Card
- Advanced item configuration
- Use page filters
- Configuration use case
Prerequisites
Before you can create forms, templates, or questionnaires, you need to create the following groups in your Domo instance:- _FB_CreateForms_
- _FB_CreateTemplate_
- Members of the _FB_CreateForms_ group are granted permission to create and manage forms for their Domo groups.
-
Members of the _FB_CreateTemplate_ group are granted permission to manage all questionnaires, templates, and forms for all Domo groups and users.
Note: You do not need to be a member of one of these groups to enter data into a form. Only users who need to create and edit forms should be members of the groups.
Configuration
Download Form Builder from the Appstore. When you download the app, Domo creates a dashboard for it automatically. You can add additional cards for the app from the Domo Asset Library.FormDefinition DataSets
After you create your first form in Form Builder, a series of FormDefinition DataSets are created in Domo and appear in the Data Center. These DataSets contain the metadata that define the forms. You need to connect these FormDefinition DataSets to Form Viewer to use the app. The FormDefinition DataSets are listed below:- ExportForms
- ExportGroups
- ExportTags
- ExportSubmittedUsers
- ExportSections
- ExportItems
- ExportColumns
- ExportFilters
- ExportPreviousResponseItems
Create a Form
After you have installed the app, and if you are a member of one of the _FB_CreateForms_ or _FB_CreateTemplate_ groups, you have access to create and manage forms.- Open the Form Builder card and go to the Form tab.
- Select Create Form.

- Define your form. See below for information on form definition.
Basic Form Definition
When creating a new form or managing an existing form, you can choose how users find and interact with your form by configuring the basic form definition with the following items in the form editor.- Name — the name of the form
- Description (optional) — a description of the form
- Tags (optional) — searchable tags so you can locate a form faster
- Groups (optional) — the users who are permitted to respond to your form, designated in one or more groups
- Response Type (required) — determines response limitations and formats
- Form Settings (optional) — various ways that users can interact with your form

Response Types
There are several different response types that govern how end users can interact with your form. Each type is appropriate for specific use cases. The following table defines four of the possible response types available in the form editor, including some notes about possible use cases. Bulk response is defined below the table.Bulk Response
The bulk response option is not available in the Response Type menu in the form editor. To use it, follow the steps below.- In the Form Settings in the form editor, check the box to Allow bulk response uploads.

- Finish configuring your form in Form Builder.
- In Form Viewer, select Bulk Upload.
- Select Download Template.

- Section ID
- Section Name
- Question ID
- Question Name
- Fill out your responses in the.CSV file.
- In Form Viewer, select Bulk Upload > Upload Bulk Responses.
- Upload the file containing your responses.
- Wait for the bulk response to process. If any errors are found, you are notified and all responses are rejected until the errors have been resolved.
Form Settings
This table defines each of the Form Settings available in the form editor.Setting | Description |
|---|---|
Show submit button on every page | Indicates whether the submit button is displayed on all pages or on only the final page of the form. |
Make all questions required | If the box is checked — Users are required to enter a valid response to all questions before submitting the form (does not apply to table sections). If the box is unchecked — Users may choose not to respond to questions that are marked ‘optional.’
|
Allow bulk response uploads | Indicates whether users can perform bulk submissions (see Bulk Response ). |
Allow previous submissions to be viewed | Indicates whether users can see their own previous submitted responses to a form. |
| Allow previous submissions to be edited | Indicates whether users can edit previous submitted responses to a form. Is not available unless Allow previous submissions to be viewed is enabled. |
| Allow previous submissions to be deleted | Indicates whether users can delete previous submitted responses to a form. Is not available unless Allow previous submissions to be viewed is enabled. |
Sections
After filling out the form definition, before adding questions to your form, you need to add at least one section. Each section you define displays as a page of the form when end users are entering data. You can use sections to your advantage if you keep related questions in the same section. Form Builder supports two types of sections:- Item Sections — support standard question types such as text inputs and dropdown selections
- Table Sections — use a Table Card to prompt users for itemized input
Add a Section
In the section management menu to the right of the form editor, select
A dd Item Section or
A dd Table Section.


Reorder Sections
- Select
R eorder in the section management menu.

-
Hover over the
click-and-drag handle for the section you want to move til the cursor changes to a hand.
- Click on the handle and drag the section to the position that you want.
Delete a Section
- Find the section you wish to remove and select
More Options.

- Select
D elete.

Item Sections
The following table defines the item and question types supported in item sections.Icon | Name | Description |
|---|---|---|
| Title and Description | Additional metadata and contextual information. Can be used to create logical breaks within a single section or simply to provide additional information. |
| Text | Prompts the user for free-form text response. |
| Dropdown | Limits user input to a list of configurable options. |
| Date | Prompts the user for a date or date range. |
![]() | Image | Displays an image in your form (does not support user input). |
![]() | Lookup | A dropdown question for which the list of options is generated from the unique values of a Table Card (supports PDP). |
![]() | File Attachment | Allows the user to attach a file as part of their response. |

Table Sections



Connect a Table Card
After you select the Table Card you want to connect to your table section, a modal displays. You must select one or more columns from the table whose values, when combined, can be used to uniquely identify every row. Some Table Cards may have a unique id column while others may require multiple identifier columns. In the example below, the identifier columns are: Region, State, and City. After you’ve chosen your identifier column(s), select Connect to complete the connection process.
Table Columns
After the connection process is complete, the table section of your form in Form Builder displays the list of columns that make up the Table Card. You can change the input type of a column by choosing one of the available options in the menu option on the right hand side of the column’s list entry.
Input | Description | Custom Column Supported | Existing Column Supported |
|---|---|---|---|
None | No input control Displays existing data from Table Card | No | Yes |
Checkbox | Select one or more rows from the table by checking a box | Yes | Yes |
Dropdown | Limit user input to a set of values configured in the form editor
| Yes | Yes |
Lookup | Limit user input to the unique values from the column of a table card; select a page, card, and column to configure the lookup options
| Yes | Yes |
| Single Select (radio) | Choose/mark a single row from the table | Yes | Yes |
| Text | Allows freeform text entry | Yes | Yes |
| Validated Input | Detects the type assigned to the table card’s column to display the correct input control type. Supported types:
| No | Yes |

Delete or
Hide Column.

Table Filters (Filter Fields)
Under the Filter field sub-menu, you can manage fields that can be used to filter the table rows. Filter fields are dropdown menus (select boxes) that contain the unique values from their assigned columns. When a user changes the selection in these fields and applies the new selection, a filtered view of the table card is loaded so that only rows that match their filter configuration are displayed. To add a filter field, select a column from the filter field input control and click add filter. To allow users to select multiple values in a single filter, check the multi-select box on the right side of the list entry.
Table Settings
To help manage how your table section is displayed and used, table sections support the following settings:Setting | Description |
|---|---|
Freeze identifier columns | Freezes the identifier columns to the left side of the table so they are always visible. Aids users in identifying the distinct row which is being viewed or modified. |
Interdependent filter fields | Causes the options in each table filter field to be filtered based on preceding selections. |
Prefer page filters over filter fields | If enabled, the table is filtered based on the Page Filter configuration, allowing for a more rich filtering experience. For instructions to enable Page Filters on your forms, see Using Page Filters . |
Advanced Item Configuration
The following table displays configuration supported by the various item and question types:Type of item/question | Configuration | Description |
|---|---|---|
All item and question types | Descriptions | Provides additional information and context for a question. |
Required questions | All items that take user input can be flagged as required , preventing form submission until a response has been provided (‘title and description’ and ‘image’ items do not support the required setting as they do not take user input). Each question can be marked as required individually or all questions can be marked simultaneously by using the form level setting (see Form Settings ). | |
Text questions | Multiline | Use the Multiline setting to display a larger text input (textarea). |
Dropdown questions | Multiselect | Enable the Multiselect setting to allow users to choose more than one value for their response. |
| Explanation field | To prompt the user for additional information about their selection, you can add an explanation field by clicking to open the additional options menu and choosing include explanation field . You can choose the prompt’s message by entering your desired note in the newly displayed text box. If left empty, the default message of ‘Please explain your response’ will be used. | |
| Date questions | Date Range | Allows users to select a date range (start and end date) by enabling the date range setting. |
Lookup questions To configure a lookup question select a page, card, and column from which to retrieve the options displayed in the select/input control. | Use Page Filters to filter available options | To quickly and easily locate the desired value(s), you can use page filters to narrow down the option list (see Using Page Filters for setup instructions). |
| Filter based on preceding lookup question responses | When you have several lookup questions built from the same table card in the same section, you can build a chain of dependence that uses the selected value of a preceding lookup question to filter the options available in subsequent lookup questions. When building the chain of dependence, here are some things to keep in mind:
For a configuration example see Configuration Examples > Dependent Lookup Questions . | |
| File attachment | Allowed file types | You can restrict the format of the uploaded file to ensure it’s always the correct type. If no type is selected, any file of a format supported by the Domo file service will be allowed. Note: When a user submits a file attachment, use this URL to read the file from inside your instance of Domo: https://{INSTANCE}.domo.com/api/data/v1/data-files/{FILE_ID}. |
Use Page Filters
To make your forms feel like an integrated part of Domo, the Form Builder and Form Viewer applications both support Page Filters. Follow the steps below to connect your DataSet to an application and enable Page Filters.Connecting Data to Form Builder and Form Viewer
- Open Form Builder or Form Viewer.
- Select Card options.
- Select Edit Card.
- Scroll to the bottom and find the list of FilterConfiguration DataSets.
- Select one of the unused FilterConfiguration DataSets.
- Under Select DataSet, select the DataSet.
- Search for and select the DataSet you want to connect to your application.
- Select Choose DataSet.
- Select S ave & Finish to close the editor.
Configuration Use Case
Consider the following Table Card:
Region Lookup Question
|
State Lookup Question
|
City Lookup Question
|



|
|









to open the additional options menu and choosing include explanation field . You can choose the prompt’s message by entering your desired note in the newly displayed text box. If left empty, the default message of ‘Please explain your response’ will be used. 



