Skip navigation
All Places > ArcGIS Survey123 > Blog > Author: HFerrier-esristaff

ArcGIS Survey123

5 Posts authored by: HFerrier-esristaff Employee

Hello all Survey123 Users,


There will be a new update of the Survey123 for ArcGIS app coming very soon! But before then, here is some important information for existing Survey123 users:


Form items in Survey123

You may have noticed that your surveys are currently being stored in ArcGIS Online as a Code Sample. In Beta 3, this will be replaced with a new Form item type. Any new surveys published with the Beta 3 version of Survey123 Connect will be saved as Form items. Only the Beta 3 version of Survey123 will be able to download and work with these Form items. If you publish a survey using the Beta 3 version of Survey123 Connect, you will not be able to use it in the Beta 2 version of the Survey123 app. Any existing surveys that were created as Code Sample items will still be available to use in the Beta 3 version of the Survey123 app.


Disable Automatic Updates in iOS

In preparation for the Beta 3 release, we recommend that all users of the Survey123 for ArcGIS app on iOS make sure that all data collected on their device has been submitted before updating to the latest version. This may involve disabling automatic updating for the Survey123 for ArcGIS app. Currently, Survey123 for ArcGIS does not preserve survey data after an update on iOS. This issue will be addressed in a future release of Survey123 for ArcGIS.


Thank you,


Survey123 for ArcGIS Team

One of the coolest new features in Survey123 is the addition of cascading selects and external selects. What are cascading selects? Imagine you are collecting information about different plant species. You will have a list of plant genus and a list of species. Each single species belongs to a single genus. In Survey123, you can restrict the list of species using the genus name. The first step is to add an extra column to the choices tab in your spreadsheet to hold the values that correspond to each choice.




This example is only using 2 lists, but you can use as many as you need (e.g., country, state, city, suburb)


Now to get the cascading select working, we need to set the choice_filter on the survey tab in your spreadsheet. We use this field to hold the expression to match the additional columns on the choices tab (e.g., attribute=${value}). In this example, we will use the expression genus=${genus_name}




Now we can see how the species list is restricted using the selected genus in the form:



As you can imagine, the lists associated with cascading selects can get quite large and impact on the performance of your forms - which is where we can use external selects. External selects are only designed to work with choice lists associated with a cascading select. You can add an extra tab to your spreadsheet called external_choices. It should contain the same column headings as your choices tab. The values from the external_choices tab will be saved in a separate file and the loaded from this external file into your form as the values are needed. To reference the choice lists on the external_choices tab, use select_one_external to prefix the list name.





For more information, see: Survey123 for ArcGIS support for XLSForm and feel free to post any questions below.


The Survey123 Team.

Hello Survey123 Users!


over the past two weeks we have had a series of issues in our XLS Form conversion service. We want to say thanks to all of you that shared with us error reports, which helped us identify the problem.


A new version of Survey123 Connect for ArcGIS has been made available. You can download it from  The latest build number is 1.1.19 and it will address the form conversion errors you observed.


The crux of the problem happen to be in some intermittent redirection issues in our servers. We have moved the conversion service now into the domain.  The 1.1.19 version of Connect now uses the service in the domain.   Alternatively, you can make the modifications in Connect yourself as explained here:


1. Open Survey123 Connect and select the 'Settings' icon




2. Change the URL from to



Again, changing the URL is not necessary if you download the latest version of Connect (1.1.19)


Thank you,


The Survey123 Team

We try to update Survey123 for ArcGIS around the first day of every month. We made the Fools Day (April 1st), May Day (can you guess the month?), Children's day on June 1st, Tartan Day (July 1st) and of course, the International Beer Day on August 1st. Here we are in September 1st... So here is our update!


In the Random Acts of Kindness update, we have put special emphasis in the Survey123 Connect component. In particular, we introduced fixes to go after the not so kind and not so random XLSForm Conversion Failed error. Turns out that some of you are running Survey123 Connect in networks configured with proxies and these were causing systematic errors every time Connect was attempting to validate your XLSForm. We want to say thanks to all of you giving precious information to narrow down the problem. With this update we think that proxy issues in Connect should now be addressed, but we will keep an eye on our public repo in case that you still run into problems. Unfortunately, we are unable to sign the Windows version of Survey123 Connect at this time, but as soon as it is possible, the installer will be updated. In the meantime, please ignore any 'unknown publisher' warnings during installation.


Another big one coming with this update relates to Windows 10, which is now supported with Connect and the app.


Finally, some of you were not able to create Surveys with special (non ASCII) characters in the name. This was especially problematic in some languages like Portuguese and Japanese where the default names suggested by Connect had special characters. Thanks again for reporting this issue... unless you tell us... we can't really fix it.


You can always check the most up to date information about our road map  here. For those of you that are more closely following our road map, you will have noticed that we had plans to incorporate Cascaded Selects and Windows Phone 8 and 8.1 in this update. We are going to push these into the next milestone (October 1st).  Support for XLSForm Repeats continues to be planned for the October 1st update.


As usual we will keep a close eye on your questions in GeoNet as well as any software defects and enhancement requests you log in our repo. We now will call this a day and figure what our random act of kindness will be.


The Survey123 team.

Formulas supported in Survey123 include the following operators:





2 + 2



2 - 2



2 * 2



2 div 2





Not equal



Less than



Less than or equal to



Greater than



Greater than or equal to




.=10 or .=20



.>10 and .<20


Formulas can be used in Survey123 when building your forms in the following columns:



Adding a constraint to a survey question will restrict the accepted inputs for a response. This could include a specific range of numbers, combinations of letters and numbers or general pattern matching. In your spreadsheet, the constraint expression is entered into the constraint field and helpful text is entered into the constraint_message field. In the constraint expressions, the input for the question is always represented by a full stop.

For example, the following formula can be used to restrict the input of an integer field to positive numbers only:




Regular expressions can also be used for pattern matching to constrain valid responses. This regular expression can constrain the input of a string field to a well-known email address format:


regex(., '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}')


See here for more information on regular expressions...

See here for more information on using constraints...



A question, or a sets of questions, can be hidden and revealed based on previous answers using relevant expressions. These expressions are entered into the relevant column and the answers to previous questions are always referred to as follows: ${field_name}. You can apply a relevant expression to a single question, or group questions together and set the relevant expression for the entire group. For example, this expression will reveal a question if the answer to the previous question is true:


${previous_question} = 'true'


This example will hide questions if the answer to the previous question was greater than 100:


${previous_question} <= 100


This example combines multiple operators and questions:


${previous_question} + ${other_previous_question} <= 100


When using mathematical operators, be aware that sometimes you may need to cast values into numbers. In the previous examples we assumed that previous_question and other_previous_question where integers or decimals... but what if the question types were strings? Then you cast them as follows:


int(${previous_question}) + int(${other_previous_question}) <= 100


See here for more information about using relevant clauses...



Calculations are performed in the calculation field of a question. Calculations are often associated with calculate type of questions, but can also be applied to integer, text etc type of questions. The outcome of the calculation can be used to populate relevant or constraint expressions by referring to the field name of the calculate question. They can be used to hold values that do not need to be displayed on the form, but are included in the feature service.


For example, you can create a question of type calculate and name it calc, then insert the following expression int its calculation column:


${question_1} + ${question_2} + ${question_3}


And then use the result to set the relevance for the next question:


${calc} <= 100


See here for more information on calculations...

Filter Blog

By date: By tag: