Skip navigation
All Places > ArcGIS Survey123 > Blog > 2017 > September

[Last updated October 11, 2019]


Typically, when you publish a new survey with Survey123 Connect or Web Designer, a new feature service is created on your behalf. Data submitted with your survey will be stored into that new feature service. We built Survey123 this way because we wanted to simplify as much as possible the process of building new surveys. We did not want people having to worry about feature classes, domains and all of that. Instead, we took an approach where the focus is on adding questions and rules to a form, and leave the creation of the data model to the software.


There are some valid cases however, where you want to publish a survey that works on top of an existing feature service; In this blog post I will describe how this can be done. 


Why would you ever publish a survey on top of an existing feature service?


There are multiple scenarios where building a survey on top of  an existing feature service  makes sense. I will describe in more detail some of them:


  • Databases: ArcGIS Enterprise allows you to create feature services on top of commercial databases like Microsoft SQL Server, Oracle.etc There are good reasons why people want data in them although in most cases the fundamental is interoperability. Data in databases can be handled via SQL queries which many software stacks, including ArcGIS, support. In order to have Survey123 add, update or read data from these databases you must first create a feature service on top of them and have your survey work with it.
  • Existing data: You may have feature services that were created way before Survey123 even existed.  By building Survey123 smart forms on top of these feature services, you want to be able not only to add new features, but even update existing ones. A classic example is asset inspections: You may already have feature services with thousands of assets... what if you want to now have Survey123 work against these assets?
  • One feature service, many surveys: In some scenarios, you may want to create multiple surveys on top of the same feature service.  For example, say you have 3 distinct geographic areas where people are  capturing data and you have assigned one team to each area.  While you want to consolidate all data in a single feature service, you also want to tailor the survey for each team.   Each field  crew will use its own flavor of the survey, including a distinct offline basemap, custom defaults and trimmed-down choice lists according to the area at hand.  Another classic example is where you want to use Survey123 to manage the complete life-cycle of an incident, where one survey is used to report a case, a second survey is used to review the initial report and may be a third survey is used to close the case.  In this scenario, all three surveys work against the same feature service, but each presents or hides different questions according to the purpose of the survey at each step of the cycle.




Survey123 can only work against Feature Services where the supportsApplyEditsWithGlobalID property is set to true.  There is a detailed explanation of how to meet this requirement in the How to enable supportsApplyEditsWithGlobalIDs on your feature layer blog post, but in short here what you will need:

  • Your feature layer must be either Hosted in ArcGIS Enterprise or Online, and if not, it must be registered in a multiuser geodatabase.
  • Multiuser geodatabase layers cannot be versioned.
  • Your layer must have an indexed GlobalID field and all relationships must leverage the GlobalID fields.

If using Portal for ArcGIS, only version 10.4 and newer are supported.


How to create a survey on top of an existing feature service?


You can build a survey on top of an existing feature service using Survey123 Connect for ArcGIS.  First. you will need to be logged-in against ArcGIS Online or your own ArcGIS Enterprise instance.  Then simply click on New Survey and select the Feature Service option.



Once you select the Feature Service option, the gallery on the right will show you every feature service shared with your account.  For ArcGIS Online this will include all hosted feature services and in the case of ArcGIS Enterprise, all hosted feature services plus all federated feature services shared with you. 

If you want to use a service from an ArcGIS Server instance that is not federated with Portal for ArcGIS, then you will need to follow instructions in this KB article to register your service in your portal through a feature layer item.  Otherwise, your service will not be shown in the gallery.


Starting with version 3.0 of Survey123, you can only work against Feature Services where the supportsApplyEditsWithGlobalIDs property is set to true. See How to enable supportsApplyEditsWithGlobalIDs on your feature layer for more details.



Ok, so next you need to select the feature service of your interest and give your survey a name.  Once you click on Create Survey, Survey123 Connect will look into your feature service, checking all fields, related tables and geodatabase domains. A new XLSForm will be created for you as a starting point for your survey. I will call it the initial XLSForm design.


Understanding the initial XLSForm design


In the next few sections I will describe the rules followed by Survey123 Connect to generate the initial XLSForm design. Understanding these rules is important, because you will often want modify the initial XLSForm to tailor the user experience of field users using your survey.


One question per feature layer field:


Other than a few exotic exceptions, that I will describe later, Survey123 Connect will add a new question to your initial XLSForm design for every field in the first  layer of your feature service.  The questions will be added to the survey XLSForm worksheet in the same  order as fields appear in your feature layer.  You can reorder the questions in your survey and you can also remove any questions you may want to hide.  Reordering questions can be very handy, because the order of fields in a table may not respond to the logical order in which you want people to enter data in your form.  Removing questions in the XLSForm can also be useful, because you may have fields in your feature layer that you do not want to expose to users. Think of internal fields that people in the back-office will use but that are not meant to be visible to field users.


XLSForm Question types:


The initial XLSForm design assigns the XLSForm question types based on the corresponding feature layer field type, according to the following table:


Feature layer field typeQuestion type in initial XLSForm design
esriFieldTypeGeometry (point)geopoint
esriFieldTypeGeometry (polyline)geotrace
esriFieldTypeGeometry (polygon)geoshape


There are some notable exceptions to the rule above.


  • First, reserved fields in your feature layer will not be added to your XLSForm: ObjectID, GlobalID and Editor Tracking Fields will be ignored.
  • If your layer includes attachments, you will need to add image questions manually.
  • Fields in your feature layer that have a coded value domain will be modeled as select_one questions and the corresponding coded values will be automatically added as a list in the choices worksheet.


The correspondence of Esri field types to question types in XLSForm, as described above, is a best guess to ensure data consistency. That is, if you were to publish the survey, you are guaranteed to be able to submit data to all fields in the feature service.  However, you may want to adjust the XLSForm types depending on your needs. For example:


  • Esri date fields are modeled in XLSForms as datetime, but you can choose to change the XLSForm to just time (if you want to capture time) or date (if you do not care about the time).  You should avoid changing the XLSForm question type to decimal or text for example, because the types would not be compatible (kind of difficult to reliably store a user entered string into a date type of field).
  • Esri string fields will be translated by Survey123 Connect as text questions, but you could switch the XLSForm type to integer or decimal for example if you wanted to provide a numeric user input.  You could also use question types such as barcode against text fields.
  • If attachments are enabled in your feature layer, you can add one or more image or audio type of questions in your XLSForm.


One key concept to remember is that the XLSForm question type fundamentally defines the type of user input that will be presented in the form. As long as the input captures a data type that is compatible with the corresponding target feature layer field, you are fine.  For example: Do not expect the calendar control exposed by a date XLSForm question to generate data that is compatible with a field of type decimal.  Now, if you feel like you can accelerate data capture using a barcode question against a string field, you can replace the initial text type of question with a barcode question because barcode question types will always return an output that can be stored as a string.


XLSForm bind::esri:fieldType and fieldLength:


If you look carefully at your XLSForm, you will also note that Survey123 Connect added in the bind::esri:fieldType column the exact Esri data type found for fields in your feature layer.  The bind::esri:fieldLength column will also contain the length originally set to your feature layer fields.


You should never change the esri:fieldType, because they are defined by the feature layer and Connect will not be able to change your layer.


You could change the length, as long you make it shorter. Making the length shorter in XLSForm allows you to limit the user input. For example, if your field has a length in the feature layer of 200 characters but you want to limit the user input from your survey to 5, simply change the bind:esri:fieldLength value to 5.  You are not allowed to specify a fieldLength in your XLSForm that exceeds the actual length of the field in your feature layer.


You will rarely have to change the bind::esri:fieldLength and bind::esri:fieldType columns. If you do, you may trigger an error when attempting to publish the survey.  The reason is that Survey123 Connect has a built-in check to ensure that a published survey is compatible with the underlying schema of your feature service. If the schema are not compatible, then you will not be allowed to publish the survey.  Tinkering with the bind::esri:fieldLength and in particular with bind::esri:fieldType can easily result on schema inconsistencies.


Question Names and Labels: The XLSForm name column reflects the exact field names found in your feature layer. You cannot change the values in this column.  The label column is populated using the field name alias from your feature layer. You can truly do whatever you want with the label column (except leaving it empty).  You may want to rephrase questions, embed  html formatting etc, etc   


Repeats (related tables):


In the event that the first layer in your feature service is related to other layers or standalone tables, you will see the presence of repeats in the XLSForm.  In Survey123 we model related geodatabase relationships as repeats.  The name of the repeat will be defined by the table name of the related table or layer and cannot be changed. The label of the repeat can contain any text you like.


Survey123 only supports one level of repeat. That is, if you have two nested related tables, Survey123 will not be able to model that. Nested repeats are planned to be supported in version 3.0 (July 2018)

Nested repeats are supported starting with version 3.0              



Within the XLSForm repeat block, you will find questions corresponding to the fields found in the related child table. The rules for how questions are added within a repeat are exactly the same as for questions in the main feature layer. The rules for changing question types, labels etc as well as for removing or reordering them are the same too.  Just be aware you cannot take questions outside of the repeat (removing them is fair game, but not to take them out of the repeat block)




I want to add a few notes on how select_one questions behave.  In short, every time a field in your feature service uses a coded value domain, a new select_one type of question is created.  The coded value domains are matched by a corresponding XLSForm list in the choices worksheet.  You are free to reduce the number of choices in the list if that makes sense for you. You can also change the labels in the list as you see fit. 


The values in the name column of the choices worksheet need to remain unchanged because otherwise, you will be adding data into your feature service outside the valid values set by your geodatabase domain.


Two One more note on geodabase domains: At the moment Survey123 Connect will ignore range value domains, although if you like you can model them as constraints in the XLSForm survey worksheet relatively easy.  Also, if your feature layer has subtypes and each subtype has been assigned a coded value domain, Connect will ignore the domains as well. If you really wanted to model that, you could setup cascading selects manually.


Other XLSForm columns and question types:  As far as the survey worksheet in your XLSForm, columns and question types other than the ones described above will not be used. That is, the default, calculation, constraint, relevant columns etc will be empty.  Question types such as groups, notes or calculates will also never be present in the initial XLSForm design.  Now: you can, and should, use those extra columns and question types as appropriate to build a great data capture experience. For example:


  • You can use XLSForm groups to break down questions in your survey into logical sections. This simplifies and accelerates data capture without altering the original geodatabase schema in your feature layer.
  • You can leverage XLSForm notes and hints to provide field users with critical information to capture data more  efficiently. Similarly, notes and hints have  o effect on the geodatabase schema.
  • You can also use constraints, relevant statements as well as input masks, calculations and defaults to better control user input.
  • Appearances are also a great way to optimize the field data capture experience.


The initial XLSForm design is just that: a starting point. Take pride of your surveys and transform flat GIS data models into beautiful smart forms.


Once you are happy with your design, you will proceed to publish your survey. When publishing, no new feature service will be created for your form. Instead, the feature service you selected will be referenced by your survey.


Settings worksheet:


The settings worksheet of the initial XLSForm contains two key pieces of information:


  • submission_url: This column defines the url of the feature layer item in your ArcGIS Organization on which responses to your survey will be stored. This is the exact url of the feature layer you chose in the Create New Survey dialog as the seed of your survey.  Note that this is the url to the feature layer item, rather than the url of the feature service itslef.  In old versions of Survey123 we actually supported working directly with feature service urls, but when you let Survey123 Connect create your initial XLSForm design, the feature layer item url will always be used.  Right now, Survey123 supports feature service urls only for backwards compatibility. you should always use a url to the item!
  • form_id: This column defines the name of the layer in your feature service that your survey will hit.  By default, your initial  XLSForm design will always point to the first layer found in your feature service.


While you often may not want to change the submission_url, there is one use case where  changing the form_id is very handy.  Think for example, that you want to create a survey on top of a related standalone table.  For clarity, lets think of a feature service with parcels (polygons) and their related assessments.  You may not want to build a survey to edit the parcels, but you may want to create one to create the assessments. Typically, when you get the initial XLSForm design, you will have questions in your survey for all the fields in the parcels layer and then a repeat group, with all questions in the related assessment table. This is only because in a feature service, typically the layer with geometries (parcels in our case) goes first, and then the related tables.  To create your parcel assessment survey you will delete all questions  corresponding to the parcels layer from your survey and then take the name of your assessments repeat and put it into the form_id setting.  Finally you will delete the begin_repeat and end_repeat rows in your survey. 


To ensure that assessment data is properly attached to the corresponding parcel, it is important that in your survey you preserve a question to enter the unique identifier of the parcel. You will need to know what field in the child assessment table is used for the geodatabase relationship.


Limitations when working with Repeats in your XLSForm:


Mapping the ArcGIS geodatabase model into an XLSForm is possible to some extent, but there are some limitations to bear in mind.  In the case that you are working with existing feature services published from ArcGIS Desktop, there are chances that you could run into some situations where you simply cannot build a survey on top of a feature service, or at least not the exact survey that you had in mind.   The truth is that you can actually build surveys pretty much on top of any feature service, except when working with related tables.  Lets get into the details:


  • The XLSForm specification does not accept two questions in a single survey with the same name. This makes sense because otherwise you could not uniquely reference the question in your XLSForm expression.   When working with existing feature services this will be a problem when you have related tables AND fields in both tables with the same name.  In some cases this is not a real problem because you may not want to include the repeat on the survey. You may also be able to delete one of the questions referencing the duplicated field name (from either the main body of the survey, or from within the repeat). But this is not always the case...
  • The XLSForm specification does not accept spaces in the name of a repeat.  This is a problem when you have a related table in your feature layer that includes spaces in the name. If you encounter this you can do two things: One is obviously to delete the repeat group from your survey all together. If you cannot delete the repeat then you can ask the owner of the feature service to publish the feature service again, eliminating the space in the name of the related table. Of course this may not be possible in many cases, but I bring this up because changing the name of a layer in the feature layer does not imply changing the name of the table in the database.  All you need to do is to change the name of the layer in the table of contents in ArcGIS Desktop and publish again.
  • The XLSForm specification does not like spaces in the name column of the choices worksheet: This will be a problem when you have coded values in a domain that include spaces in them. Fortunately, you will only get a warning when validating your XLSForm in Connect. You will actually be able to publish your survey with no problem, but it is not good practice to use spaces.  It is also technically possible to encounter coded values in domains that exceed the maximum length of 32 characters allowed by choice names.



Some tips and other things to be aware of:


  • In the old days of Survey123, people used to create the initial XLSForm designs by hand and from scratch. If you really understand the meaning of the submission_url and form_id XLSFom settings and you understand how to map fields in your feature service to XLSForm question types, you can do it.  Typically using the Create Survey from Feature service option as described above is the best way to go, but forcing yourself to build a survey from scratch on top of an existing feature service will be a good learning experience.
  • The dialog in Survey123 Connect listing all available feature services to be used as a seed for your survey will include line and polygon feature layers. Keep in mind that at the moment you cannot work against a layer with polygons and polylines, but you can work against any tables related to them.  Use the form_id setting to redirect your survey against the related table and eliminate questions outside the repeat.
  • Sharing can be problematic! Keep in mind that while you will always be the owner of the survey you are publishing, you may not be the owner of the feature service.  Unless you are the owner, you can't really control the sharing, so you will want to make sure that your feature service is made available to users that will access your survey.
  • Capabilities: Similarly, unless you are the owner of the feature service, you will have no control over the update, query, delete and add capabilities of the feature service. It is your responsibility to make sure your survey is consistent with the capabilities enabled in the service. For example, if the feature service does not support updates, then you should not enable the Inbox.
  • Hosted Feature Layer Views: You can create surveys on top of hosted feature layer views.  Views are a clever way to securely limit access to features and or columns in an existing feature service. Views also allow you to better control sharing of your feature service.  There are some scenarios where you may want to create surveys on top of views, rather than directly on top of the feature service.


[Updated on July 22, 2018]

[Updated on October 11, 2019]

Ahoy, matey! September 19 is Talk like a Pirate Day, so All hands hoay! Weigh anchor and hoist the mizzen!  2.4 has arrived!


Refresh your browser cache to access the latest features in the Survey123 website.

You can install Survey123 Connect for ArcGIS from our download page.

The Survey123 mobile app is available in the Google Play, Amazon and iTunes stores.

The 2.4 release is loaded with new functionality, enhancements and critical fixes.  I organized the major highlights below under the Survey123 website and Survey123 field app and Connect categories.  To illustrate some of the new features, I published a couple of public surveys that you can download into your device.


Survey123 website

Likert Scales in Web Designer: The Likert scale type of question has been added to the Survey123 Web Designer. Likert scales are the most widely used approach to scaling responses in survey research and they are named after its inventor, psychologist Rensis Likert. Typically a Likert scale is used to allow people respond to questions of interest, in order to measure people's attitudes, but a Likert scale can also be applied to other more  general questions where you want to select a choice among a range of sorted options.


You will find the Likert type of question available in the Common Questions section of Web Designer. Simply drag and drop it to your survey! You will be able to easily change the labels shown in your scale as well as the number of options available.

Excel and KML output formats in the Data tab: From the Data tab you can now export your survey data to KML and Excel formats.  These two new outputs go on top of CSV, Shapefile and File Geodatabase formats already available.

Access Group details from the Collaborate tab: A new link has been added in the Collaborate tab to let you easily access group details. This is useful when you need to know, for example, which users belong to a group, or what other surveys or maps are accessible to a particular group.



Map skipped questions in the Analyze Tab: This one is a subtle enhancement, but quite useful in some cases. As you know, in the Analyze tab you can represent in a map the responses given to a particular question in your survey. Up until now, surveys where your question had been left unanswered (skipped) would  not be  shown in the map. Starting with this release we will add the locations of surveys where the question was skipped and flag them as such.  This can help you in some QA/QC workflows where knowing in what locations a particular question was skipped is important.




Other enhancements and fixes: Among the many minor enhancements and fixes in the Survey123 website, I will highlight the following:



  • BUG-000106888 Question hints now support special characters (such as %). This issue caused some trouble before.
  • BUG-000105851 This fix accounts for some situations where the map extent in the Individual Response report was set incorrectly.
  • BUG-000099612 Integer values are reported as decimals in the Analyze Tab in Survey123 website.
  • When you rename a survey using the Edit Survey Info dialog, the name of your survey’s folder in ArcGIS will change accordingly.
  • The Individual Response report in the Data tab now will work well in cases where you nest a repeat within a group.
  • Web Forms now support pulldata functions working against geopoint questions.
  • Blank text boxes no longer display under note questions.
  • Fixes to select_multiple questions on Firefox.


Survey123 Connect and Field App

Support for editing repeats: Back when we released version 2.0 of Survey123, we introduced the concept of the Inbox. The Inbox folder can be enabled in a survey to support editing of existing records from the Survey123 field app. If you are not familiar with the Inbox, I recommend you watch this 2 minute video tutorial.


One of the biggest limitations of the initial implementation of the Inbox in 2.0, however, was that it did not support working with repeat groups (which use related records). With version 2.4, that limitation is gone.

As of 2.4 you can include in your Inbox surveys that contain repeats, but even more importantly, you can tightly control how these repeated questions (related records) can be edited. In some cases, for example, you may want to hide existing related records, but allow field users to add new ones. In other cases you may want to let people look at existing related records for their reference, but not change them. You may even want to limit the number of related records that can be displayed or edited.   

At first, the mechanics of enabling editing on a survey with repeats is no different than usual. As described in this help topic, all you need to do is to activate the Inbox folder in your survey.

By default, surveys in the Inbox will allow you to add new entries into the repeat (creating new related records), but you will not be able to see any related records that may already exist. This behavior is adequate for workflows where you want to let people add additional related records to a feature, but you do not want the field user to see other related records.

Using a new column in the XLSForm called bind::esri:parameters you can control which related records will be downloaded into the mobile device, and whether you want to make them editable or not. In this column you can add one or more of the following parameters as key-value pairs, separated by a space:


  • query: The query parameter specifies which related records will be downloaded for display and/or editing purposes. By default, no query is set, so no related records are fetched. If you add something like query=’LastInspectionYear>1995’, only inspections after 1995 will be shown. You can also add a query such as query=’1=1’ to force all related records to be fetched. As a shortcut, if you simply add the parameter query with no additional query expression, all related records will be fetched.


  • allowUpdates: Controls if downloaded related records can be edited or not. This parameter can be set to either true or false. If you include allowUpdates=false, then your downloaded related records will not be editable.  Just for clarity, if the field user adds any new additional related records, those will be editable even if this parameter is set to false. You will want to set this parameter to false when you do not want  field users to edit related records that already exist in your feature service.


  • allowAdd: Controls whether new rows can be added to a repeat. This parameter can be set to true or false, but the default is true.: i.e. allowAdds=true. Note that this parameter only affects surveys that have already been submitted (in the sent box) or downloaded to the Inbox. When collecting a new survey, new related rows can always be added irrespective of the parameter.


  • orderBy: Lets you specify the order in which related records will be displayed within your repeat. e.g. orderBy=occupant_name will order related records by the occupant_name field.

Using one or a combination of the parameters above you have great flexibility to control the experience for the field user. With this new implementation, it is possible to support a wide variety of asset inspection workflows for example.

As of this release, the Inbox lacks support for downloading attachments. That is, you can use the Inbox against a survey that includes attachments, but  the Inbox will not populate  signatures, annotated images, audio or image questions.  All these types of questions will appear empty, as if they had no data. As for the rest of questions, you will be able to download  data for them and update  them as well.


Also, to play on the safe side, when you edit surveys from your Inbox we will disable editing on these types of questions. This means that if you open a survey from your Inbox  to make edits to it, all questions of type image (photos, signature, annotate, draw) as well as audio questions will appear not only empty, but also disabled. This is to avoid people from accidentally attempting to change data  in them.


We are considering adding support in a future release for editing attachments.


To learn more about editing with repeats, check this help topic.


Audio questions: We have run into quite a few requests lately for audio questions, so we decided to add support for them. Some requests came from conservation projects where specific types of birds (and frogs) had to be recorded. We also run into folks doing surveys of toponyms where it was necessary to capture the pronunciation of placenames in the local language. Recording audio has also been requested by people who need to capture information very quickly for later processing, and we even were told that audio recording would be used to help create noise maps.


In this first implementation, the audio type of question will not let you capture more than 2  minutes worth of recording, although we plan to let you record for longer in the future.  Audio recordings are stored as attachments in the underlying feature service.


We have published a public sample audio survey so you can try this new question yourself. In your mobile device, install the latest version of the Survey123 field app and navigate to:   This link will open the sample audio survey so you can record audio. Alternatively scan the barcode on the side to open the survey in your phone. 


If you want to look at the  data you submitted  and listen to your recording, use  this web mapping application.




If you want to add an audio question to your survey, simply use the  new audio question type.

Audio questions are supported exclusively in the Survey123 field app. Audio questions are not supported in web browsers.

 Please note  that existing surveys you may have created will not give  you a choice to  select the new audio question when you use the dropdown list in the  type column of your XLSForm.  You will need to  either use a new Advanced Template or manually add the audio choice into the list  manually.

Signature, Draw and Annotate: You may already be familiar with the ability in Survey123  to capture signatures. This was added way back in 2015. When the signature appearance is set on an image type of question, a small signature-pad is presented to the user. This signature-pad is of small size and has a white background over which you can sign using black ink: Simple.

With 2.4, you can also use the draw appearance, which essentially enables a drawing-pad: it is bigger and it lets you use pens of different colors and thickness. This drawing-pad is ideal to capture simple sketches and diagrams.

The annotate appearance goes one step beyond, allowing you draw on top of a photo or background image.  The photo can be taken on the spot by the field user, or calculated in your XLSForm.

The use of the annotate appearance on image questions has many applications. In an inspection workflow, you can use the annotate appearance to let users take a photo of the asset and highlight in the photo any repairs that are needed. Arrows, text, circles and freeform sketches in different colors are allowed.  


You can also choose to set the background of the drawing pad to a predefined image, such as a diagram of the asset. Say for example you are inspecting transmission towers (electricity pylons). Using a calculation, you can display the appropriate schema of the transmission tower model being inspected so inspectors can markup the diagram to highlight defects.

To set the background of the annotate drawing pad to a predefined image, you need to copy the png or jpg image\s into the media folder of your survey.  Then, you can reference them from either the default or calculation columns of your XLSForm. 


Shiver me timbers!

In the above transmission tower inspection survey the background shown in the annotate question is defined by the transmission tower type. Note that I added a select_one question with choices for Steel H Frame, Tubular Steel and Wood H Frame. I use the response to this question to select the appropriate transmission tower illustration.  Once markup such as circles, text and arrows have been added to the diagram, the resulting image gets saved.



Without aiming at illustrating what an actual Transmission Tower Inspection looks like, but simply to show how you can dynamically set the background of the annotate question, I published the Transmission Tower Inspection survey so you can try it in your device.  Try opening  or scanning the QRCode on the side.




Signature, Draw and Annotate appearances are not yet supported in web browsers.

Autosave: As of 2.4, the Survey123 field app will automatically save all user input

in the device immediately after entered. In case that the user accidentally closes the app, or even worse, when

it crashes, all data will be safely saved.  When the app is started again, a dialog will prompt the user to either recover the app (and the data) to the point where it was last, or start with a new survey from scratch.

The autosave functionality is enabled by default, so you do not need to do anything to take advantage of it. In very large surveys with hundreds of questions, you may however choose to trigger the autosave functionality at specific points in your survey. In our own testing we have not observed a noticeable slow down due to autosaving, but we wanted to expose a mechanism so you can control it more tightly if you consider this necessary.

A new column in XLSForm called bind:saveInComplete lets you trigger autosave for the entire form at specific points within your survey. Simply add the value true to this column to indicate you want to trigger autosave at that question. 


If you leave the entire bind:saveInComplete column empty, Survey123 will automatically autosave on every question.

Null field type: We heard again and again, that sometimes you want to add questions into a smart-form but not necessarily persist any data for that question in the feature service. 


Sometimes the idea is that you want to capture some user-input, to then do some calculations on that data and ultimately store the results of your calculations in the feature service, but not necessarily the direct input of the user. Say for example you want capture the length of a pipe in meters, but you let people enter the length in meters or in feet. You will want to add in the form one question for the length, and a second one for the units in which the length is expressed.  In the end you  only care about the length in meters, so the initial input of the user as well as the units are not stored. Only the calculated length in meters will be stored. Another example may include capturing the age of a building. You may want to ask in what year the building was built, but you really want to store just the calculated age.


Another scenario where you may want to display a question in the form but not store its response is when you ask a user a binary yes or no question and you use that information to hide or show a set of questions.  Your yes/no question can help you simplify the data capture experience, but the actual response to the question is not relevant from a data perspective.

As of 2.4, you can set the value of the bind::esri:fieldType column to null, to indicate that a particular question is not to be stored in the feature service and can be applied to all question types except geopoint, hidden, audio and image (as well as select questions combined with the or_other qualifier).


A particular scenario where the null field type is very handy relates to multiple-choice questions.  As you may know, responses to multiple-choice questions are stored as a comma separated list of values. Using the null type of field and calculations, you can store the user selection to multiple-choice questions in a more database friendly way through a series of fields (one per choice) with binary (checked or not) values. A more in depth discussion of this technique is described in the blog post Understanding Multiple-Choice Questions in Survey123 for ArcGIS 


iOS11: Do not fear upgrading to iOS 11. We tested the Survey123 mobile app carefully with it, and everything runs smoothly.


Other enhancements and fixes: Last but not least, here is a selection of other relevant minor enhancements and fixes for Survey123 Connect and the Survey123 field app in this release:


  • Survey123 Connect now includes easy access to discussions in our Survey123 for ArcGIS GeoNet group.
  • The built-in barcode reader is faster across all platforms. In Android, the barcode is now much more stable.
    Improved positioning in Android devices when GPS signal is not available.
  • Various fixes in the Survey123 field app and Connect to address wrong text characters displayed in Russian, Polish, Norwegian, Swedish, Finnish, Danish and Thai.
  • Select_one questions can now be  set to read-only.
  • BUG-000104950 Survey123 for ArcGIS signature question submitted using iOS devices is only partially visible whereas is completely visible on Android and Windows devices.
  • BUG-000103616 Renaming a photo in a repeat in the in Survey123 for ArcGIS field app changes the photo name of all photos in the survey.
  • BUG-000106064 Deleting an image copied from 'paste answers from favorite' deletes image for all submitted records in Survey123 for ArcGIS.


Survey123 for Developers

The source code of Survey123 for ArcGIS is available to AppStudio for ArcGIS developers. This allows organizations to customize, extend or simply white label the Survey123 for ArcGIS field app. As usual, we have updated the source code of the Survey123 Enterprise Templates in AppStudio for ArcGIS.


Please keep in mind that the next version of Survey123 for ArcGIS will be built on top of AppStudio for ArcGIS 2.1, which will be released sometime in October or early November.  Absolutely no breaking changes are expected, but keep in mind that for the next update of Survey123 you will also need to refresh your AppStudio for ArcGIS Desktop install.



A lot as you can see in this update, so we will next splice the mainbrace!

Adding an image to a survey can add useful context or instruction to your form. However, photos extracted directly from a modern camera are high resolution and will increase the file size and load time of your survey. Here are a few simple tips to optimize your images in Survey123 forms.


Image Size and Quality

Today's smartphone cameras take high-quality photos at resolutions sufficient for printing. Our screens, meanwhile, is a relatively low resolution.

When optimizing images for surveys, first consider the resolution of the devices that will use the form. The Survey123 app automatically resizes photos to fit the screen width, but a massive photo may slow the form down.

In this example, suppose your users will be using iPads with Retina screens and various other smaller screens. The iPad Air 2 has a resolution of 2048 x 1536 pixels. Considering landscape and portrait orientations the maximum image width is 2048 pixels.


Optimizing with IrfanView

The popular, free image viewer IrfanView includes a useful tool to optimize images for the web. Follow these instructions to optimize images with Irfanview.

  1. Open an image for your form in IrfanView
    sample image in IrfanView
  2. Select Resize/Resample from the Image menu.
  3. Enter the constraining resolution for your device size in the Set New Size area and click OK. In this case, I have entered 2048.
    sample resize box showing 2048 px
  4. Select Save for Web... (Plug-in) from the file menu.

    The optimization uses a plug-in called RIOT. IrfanView will explain how to install it if it is missing.

  5. Ignore the warning about the high-resolution images if you have already resized it. A 2048 pixel size photo is considered high resolution but is necessary for viewing on a high-resolution iPad screen.
  6. Review the options for the file type in the plugin box. The defaults are acceptable.

    Use JPEG for photos. Use PNG for screen images or documents.

    riot plugin example
  7. Click Save and save the image in the Media folder of your Survey123 form.


Displaying the Image in a Survey123 form

Now that you have saved the optimized image, you can add it to your survey.

  1. Find the question that you want to show the image for in the Survey123 Excel survey sheet.
  2. Scroll to the media::image column.
  3. Entire the filename of the optimized image.
  4. Save the form
  5. Preview the results in Survey123 Connect for ArcGIS.
    final results in S123 app

Flattened Forms

Posted by Sonoma_Land_Trust Sep 13, 2017

Flattened Forms
Using Survey123 for ArcGIS to eliminate paper data sheets and collect roadkill information

By: Joseph Kinyon, GIS Manager, Sonoma Land Trust


  View from Glen Oaks across Sonoma Valley to Sonoma Mountain showing region of wildlife corridor. Stephen Joseph, Sonoma Land Trust.

View from Glen Oaks across Sonoma Valley to Sonoma Mountain showing region of wildlife corridor.
Stephen Joseph, Sonoma Land Trust.


Animals move across the landscape. Where and when they do are two of the most ancient questions humans have ever asked. And, we continue to ask. Being observant of animal migrations and their activity reinforced and drove our conceptualization of time and natural cycles for eons.


Understanding the affinity of animals to habitats over time as well as how they move across them involves multiple factors. This type of calculation varies for different types of animals. The connectivity of habitat changes with scale. The size of the animal, range of the population, mobility of animal, and structure of the habitat are all different and interrelated dimensions. It also changes with time. Time can include daily foraging needs, seasonal food availability, animal lifespan, or annual congregations for breeding. For example, a fox’s diet may include birds which eat berries. The birds flock to feed on the berries. A fox may move with its prey because the berries ripen at different rates based on the sun’s angle to the slope in that region. The interplay of the scale of habitat and time drives this one aspect of this animal’s life. That same area can also contain newts that travel hundreds of feet in their lifetime to a seasonal stream to breed; or the area may temporarily contain a mountain lion that ranges tens of miles to hunt deer and raise cubs. Different animals use the same areas differently.


A significant factor dictating how animals move between wildlife habitats is human activity. Wildlife areas sometimes get surrounded or fractured by human development, turning them into a disconnected mosaic of island-like habitats. An animal’s ability to migrate with seasons, move to survive, thrive, find a mate, and (or) for offspring to disperse could end if their habitat connectivity is fractured


We’ve seen that when people own land and subdivide it, they tend to fence the perimeter to keep wild animals, livestock, pets or people in or out. Places with smaller parcels have many more fences subdividing them. Fences are dangerous, difficult, or impossible for many animals to move over, under or through. Roads are dangerous to cross. Animals haven’t evolved to deal with the past 100 years of cars and trucks now racing by at 50 miles an hour. Therefore, places with fewer fences and roads would be the easier regions for animals to move through.


Understanding wildlife habitats and corridors in Sonoma Valley, CA


SC Wildlands, the Bay Area Open Space Council and the Conservation Lands Network led efforts to identify the vital corridors (also known a linkages) connecting large and protected wildlife habitats in the San Francisco Bay area. The Conservation Lands Network Critical Linkages map and data is available publicly.

The linkages data includes analysis of parcel boundaries and road networks that describe a path of least resistance that animals like terrestrial vertebrates (e.g., foxes, lions, and newts) could use when traveling between regions of contiguous habitat (Large Landscape Blocks). Much of this work has its foundation in GIS technology, which allows mapping of an animal’s affinity to a habitat and distill from map data the cost of travel through the habitats those animals use. GIS technology is critical to model and understand wildlife corridors of connectivity between the suitable habitats that animals need.

Local studies around critical wildlife corridors in the Glen Ellen region of Sonoma Valley are being conducted and promoted by the Sonoma Land Trust.


Protected Lands and Linkages in southern Sonoma County with elevation data from the Sonoma County Veg Map Project and linkage information from the Bay Area Critical Linkages Joseph Kinyon, Sonoma Land Trust
Protected Lands and Linkages in southern Sonoma County with elevation data from the Sonoma County Veg Map Project
and linkage information from the Bay Area Critical Linkages
Joseph Kinyon, Sonoma Land Trust

These studies of critical linkages are fueled by an interest in protecting the beautiful, natural, agricultural and open lands that distinguish Sonoma County as well as its wildlife. All this work, supported by the Gordon and Betty Moore Foundation as well as members and volunteers of Sonoma Land Trust, aim at answering questions such as:

  •  Are wild animals currently able to traverse the corridor?
  • Do animals get killed by traffic when attempting to cross roads that intersect with wildlife corridors?
  • Can we determine if some places are bottlenecks that are essential to maintaining corridors and if lost or subdivided would close a remaining essential pathway? 

Understanding the above is important to the conservation efforts of the Sonoma Land Trust, but this information is also useful for agencies maintaining roads so that they can choose where wildlife passages need to be located or improved.


The importance of field observations and public engagement


A major wildlife corridor identified by the Bay Area Critical Linkage analysis connects the Mayacamas Mountains across to Sonoma Mountain and on to Marin County. A narrow portion of the corridor crosses Sonoma Valley near Glen Ellen. Tucked between towns and vineyards where it intersects both a state highway and arterial road, the corridor crosses almost perpendicular to those highly traveled roads.

Sonoma Valley Wildlife Corridor with elevation data from the Sonoma County Veg Map project and linkage information from the Bay Area Critical Linkages. Joseph Kinyon, Sonoma Land Trust

Sonoma Valley Wildlife Corridor with elevation data from the Sonoma County Veg Map project
and linkage information from the Bay Area Critical Linkages.

Joseph Kinyon, Sonoma Land Trust


You can read more about Sonoma Land Trust’s work in this area Keeping the Sonoma Valley Wildlife Corridor Open and Wildlife Friendly and Sonoma Valley Wildlife Corridor Project; Management and Monitoring Strategy


To validate wildlife corridor models as well as to measure the impact of intersecting roads, evidence from the field is required. Field observations are needed to understand if animals move through the modeled corridors as mapped. Data from field observations are also needed to understand spatial and temporal patterns that will ultimately guide conservation decisions in land protection and wildlife management.


Given that much of the land in the study area is in private hands, field work needs the commitment of the very same people that live there.


Tony Nelson in the Stewardship Department of Sonoma Land Trust coordinated with neighboring land owners. With his staff and partners they distributed an array of cameras across the landscape to observe if any animals were active in the predicted corridor. To complement the landscape camera data, cameras where placed at road underpasses (bridges and culverts). In addition to cameras, an effort to document roadkill observations in the same region was made.


Gray fox adults near Glen Ellen, California Sonoma Land Trust
Gray fox adults near Glen Ellen, California
Sonoma Land Trust

Sonoma Land Trust staff recording roadkill observation in Sonoma Valley, Jen Stanfield, Sonoma Land Trust
Sonoma Land Trust staff recording roadkill observation in Sonoma Valley,
Jen Stanfield, Sonoma Land Trust

The importance of choosing the right tools for field observations


The theory behind a systematic survey of wildlife roadkill observations is simple: document animals killed while attempting to cross the road, identify the species, approximate time of the event, exact location and other related details.

An effective roadkill survey can be compromised if the wrong methods and tools are used to capture information. To be successful, field observers need tools that make the data collection effort easy, accurate and quick. 

After exploring different options, at Sonoma Land Trust chose the Survey123 for ArcGIS mobile application to support the roadkill observation efforts. Survey123 proved to be:

  • Easy: Field observers found the mobile application intuitive. With little training, Sonoma Land Trust’s staff and partners were able to effectively create the mobile form and capture all the essential data to document a roadkill. The task of finding a user friendly field data collection tool is not to be underestimated because the field is where most data collection efforts fail. 
  • Accurate: Unlike paper forms which can have incomplete and erroneous data (even by trained professionals) through Survey123 we were able to build smart user input data validation rules that helped standardize incoming observations and eliminated the process of transcribing paper forms and interpreting a variety of handwriting. In my career, I’ve seen some research never clear the hurdle of transcribing paper forms into a database. It stymies citizen science efforts as well.
  • Quick: Survey123 is an all-in-one solution where field observers can quickly select the species identified, capture a photo, and obtain an accurate location of the event using their mobile phone’s GPS. Most importantly, the data can be submitted for analysis immediately, so the chances for delays delivering information captured or for complete loss of the form are eliminated.


Safety is always a concern. Whenever making an observation about a dead animal in the middle of the road, always remember that you are also an animal in the middle of the road. If it is unsafe, you can always come back; the animal isn’t going anywhere soon, don’t become a new roadkill observation. Collecting data quickly is critical to the workflow.


Recording observations and measurements are the backbone of this effort. Field observations are like detective work capturing details about who, what, when and where. Take all the observations in a systematic way while following a clear protocol, and you record data that can more easily become information sorted into patterns for analysis. This furthers you down the path to evidence based decision making and action.


Our Roadkill smart form, Tricks of the trade.

Sonoma Land Trust created a form using Survey123 Connect and Microsoft Excel. An abbreviated version of that form without our logo, branding and internal staff information is available for users to download and adapt for their needs or simply borrow solutions useful for projects unrelated to roadkill observations.


Here’s a quick animated summary of using the form, completing prompted questions, and submitting an observation in the Survey123 mobile application.


Animated example of completing a sample form in Survey123


Install Survey123 on your desktop or mobile device using these links and download the roadkill sample form shown above to your device to test and try out how easy it is to work with that template.

There are some fantastic features of the Survey123 app that enhance the ease of use, maintain the quality of the data collected and make the data collection process quicker. These were essential to our reasoning to shift to using these tools. I’ll highlight a few of the ones that improved quality and efficiency in the following sections starting with lists and autocomplete.


SLT Roadkill Form intro in the Survey123 mobile app

Sonoma Land Trust

Lists and Autocomplete


Choice lists and Autocomplete alone make Survey123 better than paper forms

After a short time, my thumbs are tired from the button gymnastics they perform. I can’t really count on special thumb training at the gym to improve this, so I want to make the number of entries I or a user makes, to be as few and accurate as possible.

With a dropdown list of observer names, the “who observed this roadkill?” portion is quickly completed and the spelling of the name is consistent. For example, an observer name selected this way is always recorded as “John Doe” when added to the observation. A data manager never again needs to decrypt from a paper form whether the name written as J.D., Johnny D., J. Doe, John D., Jon Do, or [indecipherable scribble] actually means “John Doe.”


Another convenience is that if the dropdown list of observer names is long, the user can type in a few letters of their name and the app will filter and present an abbreviated list to quickly scroll through and choose from. Keep typing and one choice remains to complete entry of the name.


Display only what you need to complete

The identification of type of animal killed is chosen from a list of species. We wanted the data to be useful to other organizations and eliminate problems associated with joining related data across imperfect matches. To do that we added questions and structured our data to include all the components that the California Roadkill Observation System (CROS) uses for ease in appending our observations to their larger data set in the future.

Our list of vertebrates is pulled directly from the CROS species list for conformity of spelling and it uses their unique ID to store it. To improve workflow, we repeated the usual critters we encounter at the top of the dropdown selection list in our form so that finding “striped skunk” is a quick task during the usual mating season of January and February. “Seal” stays way down the list where it is easily found if ever needed.


To learn more about the California Roadkill Observation System (CROS)  operated out of UC Davis please see their website.



Select the name of the species observed.

Sonoma Land Trust

An especially elegant part of Survey123 (and the XLSForm specifications it uses) is the “relevant” display of sections of the form. Single questions or whole sections of the form can appear or collapse based upon a previous answer, prompting what is required and bypassing questions that are irrelevant. This speeds up the data collection task pragmatically without rushing it. Large and complex paper forms are encumbered by this breakup of the flow of the form. Observers who have forms that allow for big blank or unanswered sections have a harder time checking if they completed all the required questions which can result in incomplete essential data.

With the Sonoma Land Trust Roadkill Observation form protocol, if a staff member goes out to make a roadkill observation on a regular basis, but doesn’t encounter any, that effort is still important to know. The app user that observes no roadkill automatically skips all prompts for identification of the animal, its picture and coordinates. In the Excel spreadsheet that I use to author the form, I mark the portions of the form that need to be shown contingent to a prior answer, and Survey123 Connect automatically converts this into the form’s code.

If the app user has seen roadkill, the ID Category appears. Choosing one of these categories is a very coarse form of identification and this step reduces the huge list of vertebrates and presents a much smaller set of possible species. This technique is called a cascading select that makes choosing counties limited to a state or user names by a department very easy to implement




Section of form showing section that appears when relevant.
The identification of roadkill section doesn’t appear (screenshot on right)
unless the observer selects “Yes” and confirms that there was roadkill present.

Sonoma Land Trust.


Take advantage of the technology


The computational power of mobile devices the built-in sensors and optional connected devices can further automate and synchronize work.


By default, on our form the current time and date is automatically entered based on the mobile device’s clock. The user can also quickly edit with a graphical calendar or clock to select the time stamp they need.


Date Picker screenshot
Sonoma Land Trust


 When a user completes the geopoint question type in Survey123, the location where the roadkill was observed is entered into the form using the coordinates provided by the GPS (either as an instant reading or an averaged point). The accuracy of GPS for navigating roads using a mobile device such as a smartphone is also sufficient for measuring the location of a dead animal along those roads. With most smartphones and tablets, we can expect our accuracy to be within 5 meters and can use the averaging tool inside Survey123 to improve our confidence in that measurement. In order to minimize the time needed for our final location measurement and roadkill photo we try to stand off the road, complete other parts of the form first, and get a first fix of location before stepping out next to the animal for a final location and picture.

We use the GPS generated points along roads for our location information because we don’t anticipate repeating the observation in the same spot over and over. However, if we wanted to collect repeated observations for a specific or predetermined location or section of road, we can map them with Collector for ArcGIS, and then return to that location or line segment using Collector on the same device which will automatically populate the Survey123 form for that section of road using a custom URL scheme connected to that feature.


Geopoint tool that uses device’s GPS data or map locator.

Sonoma Land Trust


The screenshot above was made while connected to a cellular data network.  In addition to using the coordinates provided by the GPS the user can pick the location to enter into the form from a georeferenced image. However, our county has limited cell phone data access. We can anticipate no aerial imagery or map being displayed if the geopoint question is viewed while off a data network.  We can avoid this by pre-loading a cache of basemaps (Tile Package) with road names, parcel boundaries, and/or high resolution aerial imagery of the area over WiFi in our office before departing

Survey123 can access the mobile device’s built-in camera to add multimedia data to the observation(s). We complement the species ID with a photo of the roadkill. The camera can also be used to scan barcodes and QR codes for tracking tagged objects.



Photo tool that uses device’s camera

Sonoma Land Trust, Blue Eyed Grass (much nicer than a roadkill shot) by Joseph Kinyon 

For other tools we have built using Survey123, we found that if we are connected to a network, the user can use voice to text conversion built into the device’s keyboard (e.g. Samsung Note phones and tablets) to automatically transcribe dictated notes or promote correct spelling when typing or writing in a notes field.


Excel sheet editing


When we began using Survey123 all form designs were done via an Excel Spreadsheet. Some of the more advanced functions are still only available by editing an Excel workbook in Survey123 Connect, however there is now an online form builder tool for creating them quickly. To see how we solved many of our form design challenges, checkout the Excel document here.


The Payoff

Once the observation of a roadkill is made on the form, here is the sweet part of Survey123--no paper data to transcribe.


The observer reviews their entries and can send the data immediately to our ArcGIS Online organization via the device’s cell/mobile data connection or when back on a trusted Wi-Fi network. Once sent, it is available to review instantly.


End of form, ready to submit

Sonoma Land Trust

On the Survey123 website I can login and review the data immediately, getting a sense of trends and patterns as they emerge. For example, using the built in reporting capabilities in the Survey123 website, it is easy to see some clustering of roadkill observations made between November 2016 and May 2017 along a road near the City of Petaluma. We can also see that medium sized mammals (yellow bar in screenshot below) are represented in the data far more than other animals.


Survey123 web tools to review data
Sonoma Land Trust / ESRI


Survey123 web of the shelf tools to review and analyze data
Sonoma Land Trust / ESRI


Since the data is available as a feature layer in ArcGIS Online, after reviewing it online we can download or archive snapshots as a file geodatabase or add the data directly to ArcGIS Desktop or ArcGIS Pro project for further analysis, mapping, and communication.


What we do with what we learned

We get to the step where we visualize our data on a map much sooner. The design of the form, formatting requirements, and data entry efficiencies augment the workflow. We get to the analysis and mapping stage quicker because the time to make corrections of gross error or gaps during data entry of paper records is almost eliminated. Since the majority of our funding is from donations and grants supporting our work, the hours saved are part of our regular effort to increase the reach of limited dollars for conservation.


Land conservation requires awareness of opportunities and acting strategically in both the short and long term. To purchase a land parcel that comes up for sale or to collaborate with land owners to help maintain or improve their land and the habitat it provides is a long relationship of good timing. We can focus on protecting places that appear to be bottlenecks or parcels that are essential to maintaining wildlife corridors and links—especially parcels where development might ignore the needs of wildlife and could close a remaining or critical wildlife path.


By collecting roadkill data we add that information into our decision making process. We focus on parcels for protection when they appear to maintain connectivity and provide the pathways for animals to move between places. The observations can also inform future design or retrofit of culverts or underpasses that enhance the passage of wildlife between lands divided by a road. Land conservation is a discipline of finding opportunities. We want to protect existing quality habitat, maintain the connectivity between landscapes and restore or enhance places for improving quality of life for living things, including us. We strategize and collaborate to leverage our resources. But there aren’t enough dollars or staff to do all the projects we want or when some opportunities appear, so we prioritize our spending and efforts. By bits and pieces, parcel by parcel, we do our work to conserve large landscapes. By bits and pieces on a form, we collect observations and measurements to create the data to inform that work.


Deer and Raccoon rendezvous
Sonoma Land Trust


Joseph Kinyon is the GIS Manager for Sonoma Land Trust, a not for profit land conservation organization in Northern California. Joseph has been working with GIS since the late 90’s. At the Sonoma Land Trust his work managing the five components of any GIS includes supporting the people, software, hardware, data and methods that Sonoma Land Trust uses in the acquisition and stewardship of agricultural and wild lands for conservation. Joseph loves forests and his joy in reducing paperwork starts with reducing our need to cut trees down to make it.


Filter Blog

By date: By tag: