Add Dynamically Persistent Answers in Survey123

05-23-2017 08:42 AM
Status: Open
New Contributor III

When working with larger, more complex surveys. I find that there is often a real need to see what you had previously entered for a specific question. The "Set answers as favorite" option attempts to address this but falls short in a two main areas. First, the favorite answers option saves/pastes 100% of the answers from your favorited survey. This is not ideal with large surveys with many questions, because it can be difficult to remember which answers need to change and which need to stay the same. Second, every time you want the favorited answers to change, you need to reset them and save them again. So in order to bring answers from survey to survey dynamically, you have to reset them, save them, and paste them every time. This eats up a lot of time, is cumbersome, and is just one more thing to think about when in the field surveying.


So what's the solution? I think the solution is persistent answers. By persistent answers, I mean the ability to either in the .XLS survey form, or in the survey123 app it's self, flag specific questions in order to make their answers persist to the very next survey. For example, if my survey has a question named "question #1" I want to be able to flag that question so every time a new survey gets opened, the form or app looks at the previous data that has already been collected for that question, and returns the most recent answer for question #1 automatically. So if I decide to leave the question with an answer of "123", it would automatically fill out the corresponding question on the next survey with the same answer of "123". But if I decide to change the answer from "123" to "ABC" it would see that "ABC" was the most recent answer and return that answer for question #1 when the next survey is opened. This would address both problems I have with the "Set answers as favorite" option.


I think this feature would be very useful and could potentially save quite a bit of time. I would love to see it implemented. From a programming standpoint (given my limited knowledge of programming) it doesn't seem like it would be that difficult to implement either. It would be a nice quality of life improvement for those of use who work with larger survey forms.


I posted this in a previous discussion. I thought it might fit here as well. Let me know your thoughts! Also, I tried to explain it as clearly as possible but if anyone needs further clarification let me know and I will do my best to further explain.


Hello Jonathan,

Thank you for submitting this thorough idea. To help clarify a little, do you find that the general idea of "favorite answers" is what you are interested in, but you need the ability to:

  1. Pick which questions in your survey persist, not all questions.
  2. Have the app automatically updates the "favorite answers" after each survey is submitted.

To expand upon this request, who needs to have the ability to choose the relevant questions? Is this a need for the survey author at the time they are creating the form, or is it a need for the field worker that is determining which answers should persist?

To all others,

Please feel free to add a comment sharing your perspective on this request. How would this improve your current workflows?




Hi Scott!

Thank you very much for the reply! Adding the ability to do this with "favorite answers" would be fine.

1. Yes
2. Yes, once you flag the questions, it would need to be automatic to be useful.

As far as who needs the ability to perform this action. I think ideally the author of the survey would choose which questions had this ability. Having it that way would keep field workers from having accidents or the temptation to use the feature on questions that it shouldn't be used on. But honestly, any way this can be achieved would be fine. It would be a huge quality of life improvement. As well as time saving when you have certain questions on your surveys that sometimes don't change for the next 10 surveys or more.

For example. We do utility engineering work. We follow utility pole lines sometimes for miles at a time. We do a survey for each utility pole. We gather data about what's attached to the pole. This includes things like how the pole is constructed, and the size of the wires attached to the pole. Sometimes how the pole is constructed, and wire sizes don't change for 5, 10, 15, 20+ surveys at a time. Sometimes, it can change as frequently as every 2 surveys. It just depends on the area. Thus the need for it to be dynamic. These questions account for about 35-40% of the total questions on our large survey form. The other 60-65% of the questions change on every survey. So this leaves us filling out essentially redundant information on 40% of our surveys. Essentially wasting 40% of the time it takes to complete each survey for up to 20+ surveys at a time. This also explains why the current "favorite answers" doesn't work for us. It pastes 100% of the answers. This can end up really confusing when you are working with a large amount of data. Also, if you want it to always be the most recent answers, you have to reset, copy, and paste the answer manually every time you close and open the next survey. This doesn't end up saving much time and is just one more thing to think about while trying to collect data.

I hope this helps! Let me know if you need further explanation. I would be happy to help with this any way I can.




I also find myself in need of being able to select single questions that receive a 'favorite', or 'persistent' answer. Having the survey set all answers to all questions as favorite is not extremely useful in all situations. I've included an example of how I'd love to be able to implement this now.

I have one survey used in 3 locations. These locations don't change, and always remain the same. My survey doesn't need to capture the XY of this location, but I do need a question that asks "Which boat launch area are you at?" Each of the 3 locations has a dedicated iPad. I want to be able to set the answer to my "Which boat launch area are you at?" question to one of three select_one options. Instead of having to fill this question out each time, I want it to be the only favorite, or 'persistent' based on past surveys submitted. The reminder of the questions will be different every time the survey is completed; these include a date/time, a name, a boater registration number, and a unique ID number.

I know this thread hasn't been posted on in a long time, but hopefully someone has an answer that can help.



When you read the Survey 123 documentation included below on Favorites, it suggests that the save as Favorite option applies to the form answers that have been answered when you save it.  In reality it always makes the entire survey the favorite.  I can't think of a time when I want the user to copy/duplicate an entire survey. For me, I would like to see it work as described below.

I tried using Save Draft instead.  When you start a new survey from the draft, if you have changed any default answers before saving the draft, when you create the new survey from the draft, it changes your saved answers back to the default.

Favorites: After you have entered answers into the Survey123 app, you are able to save these answers to be used in subsequent surveys by setting your favorite answers. Using the favorites menu in the top-left corner, you can use the current state of your survey to set as favorite answers. This could include every answer to the survey, or only one or two key pieces of information (e.g., street name).


This is a hugely needed capability. In my view it is a frustrating mind boggling limitation to an otherwise excellent program. I agree it should be up to the form developer and should be able to be applied to some or all the questions as needed and be dynamic. I hope this makes it to development soon.



Hello @JonathanPendleton @JoshHabel @GaryElsner @erica_poisson

This workflow can be accomplished using custom JavaScript functions in your survey. The JavaScript function queries the feature service the survey is pointing to and returns the most recent submission and populates the questions in the sample. I have attached a sample XLSForm and JavaScript function that demonstrates the workflow. All that is needed is to publish the XLSForm and then update the REST URL in the JavaScript function with the REST URL for the feature service that was created when the survey was published. 

Please note this workflow will not work for select_one or select_multiple questions. We do have the search() appearance which can be used with select_one or select_multiple questions, but there is a known issue at the moment where defaults will not work with the search() appearance. 

Thank you, 



Thanks for the Tip.