October 2, 2023


Introducing the SurveyStack initialization feature. This feature allows survey builders to pre-populate different question types. You can pre-populate pieces of a survey based on the answer to a previous question or even from an online resource. The goal of the initialization feature is to make surveys quicker for the user and ensure that survey managers are able to collect all of the information they need. 

Regen1 is already using this feature in their onboarding survey to pre-populate a matrix of follow-up conservation practice questions using the response from a previous checkbox question. This application is what we’ll use to demonstrate the feature in this blog post, but other applications include:

  • Prepopulate a map question location or area based on an API
  • Prepopulate a farmOS field name in a matrix question based on the field specified at the top (participating fields for example)
  • Prepopulate a number score based on some calculation from previous questions
  • Prepopulate text based on a unique combination of things – for example, auto-generate field names for people so they don’t have to make them themselves.


The initialization tool is under `advanced features` on the question you want to prepopulate. When you select `initialize expression`, a javascript coding box will appear and you can write custom code to fit your use case. 

Here’s an example of what this looks like in the Regen1 onboarding survey: 

Code Breakdown: We are creating a practices array from `parent.details` and pushing that array into our matrix using the forEach and .push functions. We have two other columns in the matrix (acres and verification) and we push `null` into those columns so that the user can fill them out. 


As practices are selected in the checkbox question, new rows of the General follow ups matrix will appear with the practices column pre-populated. The user will then fill in the other columns of the matrix.

Future Applications

OpenTEAM will use the Initialization feature to inform their community governance process for tech development features. They currently use a shared Gitlab Board to accumulate feedback on development requests, but need a way for community members to participate in ranking and prioritizing those requests. They’ve built a static site that can be populated with initial scopes of work, then will use ‘initialize’ to pull those entries into a survey in matrix form. From there, members can vote on which scoped issues to develop, and gain insight & transparency into the development process.

For more information you can reference the surveystack help documentation or contact info@our-sci.net.