App tutorial: Build an employee feedback survey
App tutorial: Build an employee feedback survey
In this tutorial, you’ll learn the fundamentals and best practices needed to efficiently build a basic data collection app manually or with Sigma Assistant.
The tutorial guides you through building a simple employee feedback form that maps to an input table to record the following data points:
- Job sentiment
- Net promoter score (NPS) rating
- Workplace preference
- Feedback on leadership
- Date and time form submission is received
As a basic data collection app, the resulting solution writes the user input back to your data platform, but it doesn’t integrate source data or feature any analytics. Both, however, can be incorporated into the app to meet expanded objectives.
When you successfully complete this tutorial, you’ll have a working app similar to the one embedded below. You can submit the form and see how the data is recorded in the Form submissions input table.
The input table is displayed in the embedded example to demonstrate how form submissions are recorded. In a real-world implementation of this app, the input table would not be visible to form responders.
Key considerations
The tutorial builds the input table before the form to establish the table schema based on the data you want to collect. The input table columns then define the form fields, their response options, and the action that records each form submission.
By establishing the schema first and creating a form as a child element of the input table, the form fields automatically map to existing columns, and Sigma configures the action to match. This ensures every field response has a column to write to.
Additionally, this approach means you configure each value constraint once, with data integrity enforced at two levels. Response options and data validation defined on the columns apply to every write path to the input table (through the form, direct input, etc.), and the form fields inherit them, enabling validation to also run at the point of entry.
Build manually or with Sigma Assistant
This tutorial contains step-by-step procedures and best practices that guide you through a manual process of building the app. A manual build can help you understand the underlying features and concepts of apps in Sigma, which can make it easier for you to troubleshoot, maintain, and expand apps over time.
If Sigma Assistant (Beta) is enabled for your organization, you can use it to quickly generate an employee feedback survey from a simple “one-shot” prompt. Assistant builds the app using an input table, form, and actions that record and clear form entries. You can then complete the tasks in this tutorial (manually or by continuing to use Assistant) to refine the result and generate an app more similar to the embedded example.
See Use Sigma Assistant to build dashboards and apps for information about accessing Assistant and using plan or build mode. Then, after you manually complete Task 1, enter the following prompt.
Sigma Assistant prompt: One-shot app generation
Build an employee feedback survey that collects job sentiment, NPS rating, workplace preference, and feedback on leadership. Also record the date and time Sigma receives each form submission.You can also reference the example prompts provided in the task sections to use Assistant to build incrementally or to refine the app after you complete the manual build.
Required tasks
To build the employee feedback survey app, complete the following tasks in the order listed:
- Task 1: Create and save a workbook
- Task 2: Build the input table
- Task 3: Build the form
- Task 4: Test the app
Task 1: Create and save a workbook
Workbooks are the foundation on which apps are built, so your first task is to create and save a new workbook.
Sigma Assistant in plan or build mode only operates within a workbook draft, so it cannot create a workbook or set its name and destination. You must complete this task manually.
-
From your Sigma Home page, click Create new and select Workbook from the menu.
-
The new, unsaved workbook opens as an exploration. In the document header, click Save as to save it as a named workbook.
Sigma automatically stores all unsaved/unnamed workbooks as timestamped explorations in your Recent page. So while it isn’t essential to save it with a specific name and destination before you begin to build the app, doing so ensures you can quickly locate and identify the workbook if you need to return to it later.
-
In the Save as modal, name the workbook and choose where to save it:
-
For Name, enter
Employee surveyas the workbook name. -
In the Destination section, select Your documents.
-
In the modal footer, click Create folder to add a subfolder, then enter
My appsas the subfolder name.Maintaining a designated folder can improve document management and make it easier for you to search for and locate the workbook.
-
Select the new My apps subfolder to open it as the workbook destination.
-
Click Save.
-
Task 2: Build the input table
You’re now ready to build your app. Begin by creating an input table to record the form submissions, with one column for each data point the survey collects.
Starting with the input table allows you to establish the table schema based on the data you’ll collect. In Task 3, Sigma generates the form directly from the input table columns, so the column names and types you set up in this task determine the form fields and the action that records each submission. The form fields also inherit value options and data validation defined on the input table columns, so you only need to configure them once.
When you complete this task, your input table should resemble the one embedded below, with four data entry columns (Job sentiment, NPS rating, Workplace preference, and Leadership feedback) and a Received at system column. The embedded input table is interactive, so you can click around and enter test data to compare it to your own results.
2.1 Create an input table element
Create an input table to record responses to the survey.
Sigma Assistant prompt: Create input table
Create an empty input table titled “Form submissions”.-
In the Add element bar, select Input > Empty.
-
In the Select source modal, select the Sigma Sample Database connection, then click Create.
Sigma uses the selected connection to write data to your data platform. If input tables aren’t enabled on Sigma Sample Database in your organization, select another connection with write access.
-
The workbook now displays a new input table element with a default text column. Double-click the default element title (“New Input Table”) to enable editing, then enter
Form submissionsto rename it.
2.2 Add the job sentiment column
Add a single-select text column to record responses to the job sentiment question. This column must restrict responses to predefined values.
Sigma Assistant prompt: Add job sentiment column
Add a single-select column and name it “Job sentiment”. Set the following value options in the order listed: Very satisfied, Satisfied, Neutral, Dissatisfied, Very dissatisfied.-
In the default text column’s header (column added automatically when you create the input table), click the down arrow (
) to open the column menu, and select Change column type > Single-select (Text).
-
In the Edit options modal (displays automatically), define the response options:
- For Option source, select Create manual list.
- For Display options as, select Pill - color by option. Each value displays as a different color pill, making it easier to visually distinguish between selected values in the input table.
- In the Define options section, add the following options in the order listed below. To add a new option, type a value in the Add text value field and press Enter.
- Very satisfied
- Satisfied
- Neutral
- Dissatisfied
- Very dissatisfied
- Click Save.
By defining the response options on the column, you restrict entry values on all current and future write paths (the form, direct input, etc.). The form field you configure in Task 3 inherits the predefined value options, so you don’t need to enter them again. See Configure single-select or multi-select columns in input tables.
-
Double-click the column’s header and enter
Job sentimentto rename it.
2.3 Add the NPS rating column
Add a number column to record responses to the NPS rating question. This column must apply data validation that restricts responses to a predefined value range.
Sigma Assistant prompt: Add NPS rating column
Add a number column and name it “NPS rating”.Sigma Assistant doesn’t set data validation on input tables, so you must manually configure the value range (see step 3 below).
-
At the end of the column header row, click the plus (+) icon, then select Number.
-
In the new column’s header, click the down arrow (
) to open the column menu, then select Data validation.
-
In the Data validation modal, define the valid range:
-
For Option source, select Condition.
-
For Is between, enter
0as the minimum value and10as the maximum value. -
Click Save.
By validating data on the column, you restrict entry values on all current and future write paths (the form, direct input, etc.). The form field you configure in Task 3 inherits the options, so you don’t need to enter them again. See Apply data validation to input table columns.
-
-
Double-click the column’s header and enter
NPS ratingto rename it.
2.4 Add the workplace preference column
Add a single-select text column to record responses to the workplace preference question. This column must restrict responses to predefined values.
Sigma Assistant prompt: Add workplace preference column
Add a single-select column and name it “Workplace preference”. Set the following options in the order listed: Hybrid, In-office, Remote.-
At the end of the column header row, click the plus (+) icon, then select Single-select > Text.
-
In the Edit options modal (displays automatically), define the response options:
- For Option source, select Create manual list.
- For Display options as, select Pill - color by option. Each value displays as a different color pill, making it easier to visually distinguish between selected values in the input table.
- In the Define options section, add the following options in the order listed below. To add a new option, type a value in the Add text value field and press Enter.
- Hybrid
- In-office
- Remote
- Click Save.
By defining the response options on the column, you restrict entry values on all current and future write paths (the form, direct input, etc.). The form field you configure in Task 3 inherits the options, so you don’t need to enter them again. See Configure single-select or multi-select columns in input tables.
-
Double-click the new column’s header and enter
Workplace preferenceto rename it.
2.5 Add the feedback column
Add a text column to record responses to the leadership feedback question.
Sigma Assistant prompt: Add feedback column
Add a text column and name it “Leadership feedback”.-
At the end of the column header row, click the plus (+) icon, then select Text.
-
Double-click the new column’s header and enter
Leadership feedbackto rename it.
2.6 Add the Created at system column
Add a Created at system column to record the date and time the input table receives each form submission.
Sigma Assistant prompt: Add Created at column
Add a Created at system column and name it “Received at”.-
At the end of the column header row, click the plus (+) icon, then select Row edit history > Created at.
-
Double-click the new column’s header and enter
Received atto rename it.
Your input table is now complete. If you don’t intend to pre-populate data directly in the input table prior to collecting form submissions, delete the three default empty rows.
For more information about input tables, see Input tables overview.
Task 3: Build the form
Next, create the form as a child element of the Form submissions input table. The form automatically generates a field for each data entry column and configures the action that writes the form submissions to the input table.
After you create the form element, modify each field to display its corresponding survey question, and set the relevant field type, placeholder text, and required input rules.
- Creating the form from the input table is the fastest path to build this app, but it isn’t the only one. For example, you can add an empty form element and then build the form fields or import them from a source. For more information, see Use forms to streamline user data entry.
- Changing a field’s type clears the Placeholder and Validation settings. To avoid rework, modify the Field type setting first.
When you complete this task, your form should resemble the one embedded below, with four questions and two buttons that submit and reset the form. The embedded form is interactive, so you can click around to select or enter test responses and compare it to your own results.
3.1 Create a form element
Create a form that collects new data points and writes them to the Form submissions input table.
Sigma Assistant prompt: Create form element
Create a form from the Form submissions input table.-
Select or hover over the Form submissions input table element.
-
In the element toolbar, select
Create child element > Form.
-
The workbook now displays a new form element. Double-click the default element title (“New Form”) to enable editing, then enter
Employee feedback surveyto rename it.
Sigma generates the form with the following components:
- One field for every data entry column in the input table (excludes the system column):
- Each field’s label and type are automatically configured based on the corresponding column’s name and data type.
- When applicable, a field also inherits value options or data validation from the column.
- A primary Submit button and a secondary Reset form button in the form footer.
- An action sequence for each button:
- When a user clicks the Submit button, the On click - primary sequence executes an Insert row action that writes each field entry to its corresponding input table column, then it executes a Reset form action that clears the fields.
- When a user clicks the Reset form button, the On click - secondary sequence executes a Reset form action that clears the fields.
Because the Received at column is a system column, Sigma automatically populates it with the current date and time when a new row is added to the input table. This means the form doesn’t require a field to collect this data at the point of entry. For more information about row edit history columns, see Add system-generated columns to input tables.
3.2 Configure the job sentiment field
Configure the Job sentiment field to collect responses about how satisfied employees are with their roles. Value options are sourced from the Job sentiment column, so you don’t need to enter them again.
Sigma Assistant prompt: Configure job sentiment field
Change the “Job sentiment” field label to “How satisfied are you with your current role and responsibilities?” Also change the field type to dropdown, set the placeholder text to “Select an option,” and make it a required field.-
In the form’s Properties panel, select the Job sentiment field.
-
In the configuration popover, modify the following settings:
- Label: Enter
How satisfied are you with your current role and responsibilities?to display the survey question. - Field type: Select Dropdown to display the value options in a dropdown.
By default, Sigma generates this field using the Radio group type. As a dropdown, the field offers the same value options while occupying less space on the form.
- Placeholder: Enter
Select an optionto display this text in the field when no value is selected. - Rules: Turn on the Required input toggle. The label is appended with an asterisk, and the form cannot be submitted until all required fields are populated.
- Label: Enter
3.3 Configure the NPS rating field
Configure the NPS rating field to collect responses about how likely employees are to recommend the company. Data validation is inherited from the NPS rating column, so you don’t need to enter it again.
Sigma Assistant prompt: Configure NPS rating field
Change the “NPS rating” field label to “How likely are you to recommend this company as a great place to work? (0 being not at all likely and 10 being extremely likely)” and set the field type to Number with a minimum value of 0 and a maximum value of 10. Don’t display hint text, and make it a required field.-
In the form’s Properties panel, select the NPS rating field.
-
In the configuration popover, modify or confirm the following settings:
- Label: Enter
How likely are you to recommend this company as a great place to work? (0 being not at all likely and 10 being extremely likely)to display the survey question. - Field type: Keep Number selected.
- Placeholder: Enter
Enter a number from 0 to 10to display this text in the field when no rating is entered. - Rules: Turn on the Required input toggle. The label is appended with an asterisk, and the form cannot be submitted until all required fields are populated.
- Validation: The field inherits the validation range from the column, so you don’t enter it again. Confirm that the setting shows a minimum value of
0and a maximum value of10, inherited from the column. Validation runs when the employee submits the form, and responses outside the range block submission and surface an error on the field. - Hint text: Select None. By default, Sigma enables hint text that states the same 0 to 10 range as the question text and the placeholder. The constraint is also expressed in the validation error, which displays below the field when a response falls outside the range.
- Label: Enter
3.4 Configure the workplace preference field
Configure the Workplace preference field to collect responses about where the employee prefers to work. Value options are sourced from the Workplace preference column, so you don’t need to enter them again.
Sigma Assistant prompt: Configure workplace preference field
Change the “Workplace preference” field label to “Which work environment do you prefer?” Also change the field type to segmented choice and make it a required field.-
In the form’s Properties panel, select the Workplace preference field.
-
In the configuration popover, modify the following settings:
- Label: Enter
Which work environment do you prefer?to display the survey question. - Field type: Select Segmented choice to display all value options as a single row of buttons.
By default, Sigma generates this field using the Radio group type. As a segmented choice, the field offers the same value options while presenting them in a more compact display that still enables single-click input.
- Rules: Turn on the Required input toggle. The label is appended with an asterisk, and the form cannot be submitted until all required fields are populated.
- Label: Enter
3.5 Configure the feedback field
Configure the Feedback field to collect open-ended responses about leadership.
Sigma Assistant prompt: Configure feedback field
Change the “Feedback” field label to “What can leadership do to make your work experience more positive?” and select the long text field type.-
In the form’s Properties panel, select the Feedback field.
-
In the configuration popover, modify the following settings:
- Label: Enter
What can leadership do to make your work experience more positive?to display the survey question. - Field type: Select Long text to display a larger, scrollable field.
While you can use a Short text field for this question, a Long text field is more suitable for lengthier open-ended input that can be easily viewed in a larger field. When the text extends beyond the field, the employee can scroll to view additional lines.
- Placeholder: Enter
Share feedback to help us improveto display this text in the field when no feedback is entered.
Keep this field optional to allow employees to submit the form without responding to the question. This approach avoids blocking submissions from employees who don’t have additional feedback to share.
- Label: Enter
You now have a complete form. The form fields are configured to display the survey questions, and the action that records each submission is automatically set up to write the responses to the input table.
For more information about forms, see Use forms to streamline user data entry.
Task 4: Test the app
The app is now functional. Test the following scenarios to confirm that the form successfully validates input and handles submissions in the input table.
For simplicity, the scenarios below reference each field by its general topic (for example, job sentiment and NPS rating), not the specific question or label displayed on the form.
Sigma Assistant prompt: Test your app
Test this app end-to-end, including all value constraints and rules.Scenario 1: Complete and valid submission
-
Complete all form fields with valid responses.
For example:
- Job sentiment: Satisfied
- NPS rating: 8
- Workplace preference: Hybrid
- Leadership feedback: Testing a complete and valid submission.
-
Click Submit and confirm the following results:
- The input table records your responses.
- The “Received at” column contains a timestamp that reflects the time you submitted the form.
- The form fields clear.
Scenario 2: Form reset
-
Complete all form fields.
For example:
- Job sentiment: Neutral
- NPS rating: 5
- Workplace preference: Remote
- Leadership feedback: Testing the reset button.
-
Click Reset form and confirm the following results:
- The input table doesn’t record any responses.
- The form fields clear.
Scenario 3: Missing required field
-
Complete the form fields with valid responses, but leave job sentiment unselected.
For example:
- Job sentiment: (leave unselected)
- NPS rating: 8
- Workplace preference: Hybrid
- Leadership feedback: Testing a missing required field.
-
Click Submit and confirm the following results:
- Completed fields remain populated.
- An error message (“This field is required”) displays below the job sentiment field.
- The input table doesn’t record any responses.
To confirm the form enforces all three required fields, repeat this scenario two more times, first leaving the NPS rating field empty, and then leaving the workplace preference field unselected.
Scenario 4: NPS rating out of range
-
Complete all form fields, entering a value outside the valid range for the NPS rating field.
For example:
- Job sentiment: Satisfied
- NPS rating: 100
- Workplace preference: Hybrid
- Leadership feedback: Testing an NPS rating out of range.
-
Click Submit and confirm the following results:
- Completed fields remain populated.
- A validation error (“Input must be between 0 and 10”) displays below the NPS rating field.
- The input table doesn’t record any responses.
Scenario 5: Empty leadership feedback field
-
Complete the form fields with valid responses, leaving the leadership feedback field empty.
For example:
- Job sentiment: Satisfied
- NPS rating: 8
- Workplace preference: Hybrid
- Leadership feedback: (leave empty)
-
Click Submit and confirm the following results:
- The input table records your responses.
- The feedback column is empty.
- The “Received at” column contains a timestamp that reflects the time you submitted the form.
- The form fields clear.
Next steps
- Customize the design: Customize styles and add UI components to refine the presentation and comply with company brand guidelines. See Style a form, Design workbook layouts and Workbook settings overview.
- Organize elements on pages: Create separate pages for the form and input table, then hide the page containing the input table to ensure it’s not visible to employees granted access to the workbook. This also enables you to only display the form when embedding its page outside of the workbook. See Manage workbook page visibility.
- Change data entry permission: After you finish testing the app in the workbook draft, update the input table to only allow edits in the published version. This enables the input table to record form submissions from a view of the published workbook or in an embed. See Change the data entry permission on input tables.
- Create a secure embed: Embed the form in another application to present it to employees outside of the workbook. See Create a secure embed.
- Use AI to analyze the results: After the survey collects responses, use Sigma Assistant to explore and analyze the recorded data, or add an AI column to classify and summarize the open-ended feedback. See Use Sigma Assistant to explore and analyze workbook data and Create AI columns.

