Skip navigation
All Places > ArcGIS Survey123 > Blog > 2020 > April

In this post you will find step by step instructions to help you embed a survey within an ArcGIS Dashboard. This is a commonly used used to support QA/QC and review workflows. The animation below illustrates what this could look like. In this dashboard, a list of mosquito spray exclusion requests is shown in the left panel. These requests are added through a separate online survey open to the public. A request review survey has been embedded in the right panel. As requests from the list are selected, the survey is automatically populated so the request can be reviewed and updated.


Embedded survey in a dashboard


The above example provides a compact user experience for browsing and updating existing data. This same idea can be applied to many workflows, where one survey is used to submit jobs or requests of some sort, and a dashboard with an embedded survey is used to review the incoming information.


If you would like to give the above sample application a go, you can try it live:



In this scenario, you need two surveys targeting the same feature layer. One survey is used to submit requests, and the other to review them. The surveys share a common set of questions, but they are not exactly the same: the request review survey, for example, has an extra section to approve or deny the request. Generally, the surveys are also shared differently: the one to submit requests is shared with a group of people, even with the public, whereas the survey to review requests is shared with a smaller group.


Assuming that you already have the survey you want to embed into your dashboard ready to go, and that you are somewhat familiar with ArcGIS Dashboards, here is a step by step guide to get you going:


  • Before we start, make sure your dashboard has a Map element and that the web map in it has a refresh rate set.
  • In your ArcGIS dashboard, add a List element and configure it to target your survey layer. You can apply a filter to this list in case there are survey records you do not want to show. In our example above, a filter could help us hide any request that has been already been approved and closed. You can also use the sorting options in the List element to present the most relevant records at top of the list.
  • Next, add an Embedded Content element.
    • In the Data Options panel, first set the Type to Features and target your survey feature layer.
    • Paste the URL of your survey web form into the URL property.
    • Set the Maximum Features Displayed property to 1.

Configuring embedded content element in the dashboard (1)

At this moment, a preview of your survey should be shown in the right panel. Next, we are going to modify the URL with some extra parameters to load content and adjust the look and feel. If you are not familiar with the Survey123 web app parameters, check out Survey123 Tricks of the Trade: Web form URL parameters and Survey123 Tricks of the Trade: Editing records in a web form 


  • Right at the end of the URL you just pasted, add the following:
    • ?mode=edit&globalId= If using a survey from ArcGIS Online
    • &mode=edit&globalId= If using a survey from ArcGIS Enterprise.
  • Use the fields collection to add the GlobalID variable into your URL.
  • Optionally, add the following parameters to hide the navigation bar and footer: &hide=footer,navbar


The following animation shows the last three steps.


Configuring embedded content element in the dashboard (2)



  • Save your changes and go back into the dashboard design.


At this moment you have the List, Map and Embedded Content elements in your dashboard, but they do not talk to each other. We are going to configure actions to make them work together.


  • Open the List element configuration dialog and add a new filter action targeting the Embedded Content element



  • Optionally, you can also configure actions in the List element to zoom to and flash the selected record.
  • From the design preview, select an element from your list and wait for the embedded survey to load the corresponding record. Now you can make changes to the record and submit!




The filter action in the Embedded Content element can also be triggered from a selection in the map. However, it is not possible to configure your dashboard to trigger the filter from both the Map and List elements. That is, you need to choose either to load a survey from a selection in the list or from a selection in the map, but you cannot do both.


The Survey123 web app does not support editing surveys with repeats. You will get an error when attempting to initialize the form if it includes a repeat.

You can think of XLSForm repeats like sub-forms: A form within a form that can also be completed multiple times. Repeats are a very powerful feature in Survey123 because they can be configured in many different ways to support different business workflows. This article covers everything from the basics to the more advanced features of repeats. 


Some use cases


Let's first review some common scenarios that scream for a repeat:


  • In a door-to-door population survey, you will want to capture the location of the household and address, but also information about every member of the family. A repeat will help you model the form to be completed for each of the members of the household, including information about their name, age, gender, etc. The household survey will have a household member repeat in it, which will be completed for each person in the household.
  • In an asset inspection form you may want to capture information about each defect found. The defects repeat (or sub-form) will include questions to let you document each defect with its own photo, a description of what needs to be repaired and estimated cost of repair.
  • Repeats are also a great way to handle routine inspections. An asset form can include a repeat for the inspections: one form for the asset with its ID, location, etc and a sub-form (repeat) for every inspection ever made, with its date, issues found, etc. Since repeats can be nested, the inspection repeat form can also include its own repeat or sub-form for every defect found.


The basics


Repeats are supported through XLSForms via Survey123 Connect. If you are familiar with XLSForm groups, you have a lot of ground covered, because a repeat is really a type of group that lets you cycle through the questions in the group again and again.


To add a repeat to an XLSForm you need to enclose a set of questions within a begin repeat and end repeat set, as shown in this example:


texthh_idHousehold ID
begin repeathh_membersHousehold Members
textmbr_nameName and last name
select_one gendermbr_genderGender
end repeat
select_one yes_noall_members_presentAll household members present?


In the survey above, the main body of the form is really about the household itself and is used to collect the household ID and address. The repeat block is all about household member information. We expect the enumerator to complete the Household Members repeat, or sub-form, once for each person in the household. The All household members present? question is outside the repeat, so it also belongs to the main form, but it will be presented right after the Household Members repeat.


Below is what the survey above would look like in the Connect preview. Note that the repeat appears as a common question group, except that at the bottom there are multiple options to navigate records within the repeat: a plus button to add a new record as well as next and back buttons (once you have more than one household member).



The user experience for repeats within the Survey123 web app is slightly different, presenting all the repeat records at once. You can navigate through them by scrolling up and down, as shown in the next animation.


Repeat records in the Survey123 web app are shown all at once


You can add one or more repeats to your survey. For example, in a school survey, you could include a repeat to document all classes in the school, and a separate repeat to gather information about teachers, etc. 


Understanding repeat data in your feature layer


Survey123 repeats are modeled in ArcGIS as related tables (or related layers if your repeat includes a geopoint, geoshape or geotrace question). In the example household survey above, the information about the household (id, address...) is kept in the main layer of a feature service, and the data from the household member repeat (name, age, gender) is modeled as a separate, but related table. The relationship between the tables/layers is kept through internally created global IDs.


If you would like to preview what your geodatabase schema looks like you can use the Schema Preview option in Connect, as shown in the animation below. Note that the name of the repeat in XLSForm becomes the name of the related table.


Survey123 Connect lets you preview the geodatabase schema of your survey


Using the Survey123 website, you can quickly explore data from repeats using the Data tab. The table will show records from the main layer of your survey as usual, and also extra tabs for every repeat in your form. You can propagate selections across the tabs for easier exploration of your data.


Use the Survey123 website to explore related records (repeats)


Repeat appearances (minimal and compact)


Through the appearance column in the XLSForm you can control how the repeat initially loads and appears in your form. By default, a repeat with no appearance value set is shown expanded, with one initial record showing. This can be good or bad. The good is that all questions within the repeat are ready for end-users to enter data right away. The bad is that if no data is entered, a new empty record will be added to your related table. I generally avoid using repeats with no appearance unless questions within the repeat are flagged as required.


If you want to avoid the repeat from having an initial record preloaded, use the minimal appearance. This will show your repeat group expanded, but with no records. To initialize data entry in the repeat, the end user will need to explicitly add a new record to the repeat by clicking the plus button.


The compact appearance simply collapses your repeat when the form initially loads. Of course, you can combine the minimal and compact appearances.



XLSForm expressions and repeats


XLSForm expressions allow you to bring sophisticated logic into your forms. Generally, XLSForm expressions are used to auto-calculate values (Calculations), define skip logic (Relevant), and to build data validation rules (Constraints). The XLSForm expression syntax for calculations in repeats is basically the same as with any other question in the form (more details at Formulas—Survey123 for ArcGIS | Documentation), but here are some important things to highlight.


When writing XLSForm expressions for a question within a repeat, you can reference other questions inside the repeat, but also questions outside! A common use is that where you want to bring data into your related table from the parent record. For example, in the example household survey you may want to store, along with every household member, their corresponding household ID. It would look something like this:


texthh_idHousehold ID
begin repeathh_membersHousehold Members
hiddenparent_hh_idParent Household ID${hh_id}
textmbr_nameName and last name
select_one gendermbr_genderGender
end repeat
select_one yes_noall_members_presentAll household members present?


Note how the parent_hh_id question within the repeat is calculated to automatically fetch the value of the Household ID for that person. The Household ID is outside the repeat, but the calculation brings that value into the repeat record. This is a common use of calculations within repeats because it helps bringing more information into the repeat table that would otherwise require a join.




There are a few techniques you can use to style your repeat with custom colors and labels. This can be help users navigate your form more efficiently.


One technique is to dynamically set the label of your repeat to provide some context as to what information should be entered into the repeat. For example, in our household survey, you can include the address of the household in the header of the repeat. Instead of just reading 'Household Members', you can make it read 'Household Members at: <Address of the household comes here>. This is what is known as a dynamic label and it is described in more detail in the Understanding Dynamic Labels in Survey123 for ArcGIS blog post.  This is quite handy when working with long surveys, because it brings additional context for the person filling out the form. Here is what this would look like. Note how the label for the repeat is dynamically generated using a value from a question outside the repeat.


begin repeathh_membersHousehold Members at ${hh_address}


You can also use colors to make your repeats stand out better within the form, like in the following screenshot. The repeat block uses a darker background color than the rest of the form, clearly separating questions within the repeat, from those outside.


The background and border colors of your repeat can be controlled through the body::esri:style column. In the example above, the vale in this column for the begin_repeat question is: backgroundColor='#cbcddb' borderColor='#494a4f'.  The color is expressed in hexadecimal format or HTML color name.  You will generally not want to use bright colors for you repeat backgrounds. Try to be subtle using slight variations of the background color of your form.

The body::esri:style color parameters are only honored by the Survey field app.


Aggregation functions (max,min, count and sum)


XLSForms support a handful of functions specially built to work with repeats. Specifically: count, sum, min, and max. They are all pretty self-explanatory. The design below shows the max and count functions in action.


texthh_idHousehold ID
begin repeathh_membersHousehold Members
textmbr_nameName and last name
end repeat
hiddenmax_ageAge of oldest personmax(${mbr_age})esriFieldTypeInteger
hiddentotal_countTotal persons in housecount(${mbr_name})esriFieldTypeInteger


The count function can get a bit tricky as it will only consider in the count records with a value in the question it references. For this reason, it is best to use the count function against a question within the repeat that is flagged as required.


The sum question is also an interesting one in that it can sum not only numbers, but also text and even geopoint questions as well. If you sum text, it will concatenate all responses to your question within the repeat. If you sum on a geopoint question within the repeat, it will generate a geotrace object.

Check the Repeat Aggregation Survey123 Connect survey sample for an example using aggregation functions.



Aggregation functions (join)


There is one more aggregate function that may be of interest: join. The join function is used to create a single list including all responses to a particular question within the repeat. Its syntax looks as follows:

join (",",${questioname})

The first parameter defines a separator. You can use a comma ",", a hyphen "-", or other character. The second parameter is the question within your repeat from which you want to create the list.


In our household survey example, we could use join to display a list of all people interviewed so far.


texthh_idHousehold ID
begin repeathh_membersHousehold Members: ${interviews}
textmbr_nameName and last name
end repeat
hiddeninterviewsEvery person interviewedjoin(",",${mbr_name})


Note that the hidden question at the end uses the join function in the calculation column. Then the label in the begin repeat takes that value and displays it dynamically. You can see the effect in the next animation:



We can take join a bit further. Let's pretend we need to design a manhole inspection form. We want all six parts of the manhole to be inspected: the cover, chimney, cone, wall, bench and channel. We will use a repeat to document the inspection results of every component, and the join function to help us make sure all components have been inspected. Let's first have a look at what the form's behavior looks like:



Note that a checklist at the bottom of the form keeps track of the components inspected so far. When a new component is selected for inspection within the repeat, the value of the checklist is recalculated accordingly. This checklist at the bottom is set as read-only, so the user cannot manipulate it. A constraint in the checklist is also in place to avoid users from submitting the form unless all components are checked.


A simplified version of the XLSForm, highlighting the use of the join function is shown below:


textmanhole_idManhole ID
begin repeatcomponents_groupComponents
select_one componentscomponentComponent
select_one conditionsconditionCondition
end repeat
select_multiple components
comps_inspectedComponents Inspected


To complete the XLSForm to mimic the behavior shown in the animation, you would also need to:

  • Set the comps_inspected question as read-only, to avoid users from manipulating the checklist manually.
  • Set the constraint of the comps_inspected question to count-selected(${components_tested})=6.


Repeat Count


If you want to control how many records must exist within a repeat, use the repeat_count XLSForm column. If you set the value to 2, then your repeat will be initialized with 2 empty records. If you set it to 5, it will contain 5, etc. You can also set the repeat_count dynamically as shown in the example below.


texthh_idHousehold ID
integerhh_totalHow many people live in this house?
begin repeathh_membersHousehold Members${hh_total}
textmbr_nameName and last nameyes
end repeat


The repeat_count column simply defines how many records are shown in the repeat. All records will be empty until the end user goes through every record to add data. Unless you have required questions within the repeat, Survey123 will allow you to submit records from the repeat with no data, and they will show as what they are: empty records. Generally speaking, you do not want to use repeat_count, unless you want to force people to submit a specific number of records in the repeat. If that is the case, you will want to add required fields within the repeat group. In the household example above, we first ask, "How many people live in this house?" We use that number to define the exact number of records in the household roster that must be completed. By making the questions within the repeat required, we guarantee that data is entered for every person in the house.


In cases where you want users to submit a number of records within a range, you will not want to use repeat_count. Instead, you will want to use constraints and the count function. For example, in an electric panel survey, you include a repeat to document all circuit breakers. Say that the number of circuit breakers is always between 5 and 20. This is what you would want to do:


textcc_idCircuit Panel ID
begin repeatbreakersCircuit Breakers
select_one typebreaker_typeType
select_one statusbreaker_statusStatus
end repeat
integertotalTotal Breakers${total}> 4 and ${total}<21count(${breaker_type})


As described above, for the count function to work effectively, you will want to make the breaker_type question required.


Nested repeats


A nested repeat is a repeat within a repeat. For example, say you are doing a survey of a campground in a National Park. You want a survey for the campground itself (the name, the location of the entrance, etc). Within each campground you have campsites, so that gives you one repeat (location of the campsite, photo, size, etc). Then for each campsite you have equipment, which gives the second repeat (equipment type, condition, etc).


You can nest as many repeats as you want. That is, you can nest 3, 4 even 5 repeats if you like. Technically you could nest even more but for the sanity of your users avoid it whenever possible. 


Nested repeats are only supported in the Survey123 field app.

The Survey123 web app does not support nested repeats.


Repeats in the Inbox


The Inbox is a powerful feature in the Survey123 field app, allowing you to edit existing GIS records in a feature layer. If you are not familiar with the Inbox, I strongly suggest you watch this short video tutorial.



By default, when GIS features are loaded into the Inbox, the repeat records will be empty. That is, the Survey123 field app does not fetch data from related records unless told otherwise. When updating an existing record from the Inbox in this way, you will be able to add new repeat records, but not view or update existing ones from the feature layer.


If you want to look at or update existing related records, you need to specify in your XLSForm what you want to download into the app, and for what purpose. This is all done through the bind::esri:parameters XLSForm column.


For example, let's pretend you are creating an asset inspection form and you want the complete history of inspections to be available in read-only mode. Then you would go with something like this:


textpanel_idElectric Panel ID
begin repeatcircuitsCircuit Breakersquery
datetimeinsp_dateInspection date
select_one statusstatusStatus
end repeat
integertotalTotal Breakers${total}> 4 and ${total}<21count(${breaker_type}


The query value in bind::esri:parameters will force the Survey123 app to download every related record, so all your inspections will show in the repeat of the asset form. The values supported in this column include:


  • query: Used to fetch related records and populate repeats. If query is not used, surveys from the Inbox will not display any repeat information from the existing feature. You can also control which records should be fetched, by defining a where statement for your query. For example: query="status='needs_repair'" will populate the repeat with all related records where the status is set to needs_repair. If no where statement is passed, the query parameter will fetch all related records.
  • allowUpdates: This parameter controls if the existing data in the repeat can be updated by the end user of the Survey123 field app or not. This is extremely useful because often you want end users to have read-only access to historical data (for example previous inspections of an asset) in the repeat, while allowing entering a new inspection to the repeat. allowUpdates by default is always false, but you can turn it on: allowUpdates=true.
  • allowAdds: By default this parameter is always true, allowing the end user to enter new records in the repeat. You can turn it off by passing allowAdds=false.


In the example below, our electric panel survey will display all existing circuit breakers ever recorded for that asset. It will also allow the end user to modify information from those previously recorded breakers because allowUpdates is set to true. The only exception will be the installation_date, which will be shown in the repeat as read-only.


textpanel_idElectric Panel ID
begin repeatbreakers Breakersquery allowUpdates=true
datetimeins_dateInstallation dateyes
datetimeinsp_dateInspection date
select_one statusstatusStatus
end repeat

Spatial analysis is a key component in GIS work, it allows us to understand the spatial relationship between our data and the world around us. ArcGIS Survey123 is a great resource to efficiently capture data either using the Web App as well as the Field App to take surveys. The Survey123 platform also provides tools to easily extract that data using Feature Reports. Survey123 Feature Reports which came out of beta in the 3.5 release of Survey123 is a great service to quickly consume data in a format that is defined and customized by the user. Survey123 Feature Reports are effective in understanding your data and responses obtained, but what about performing spatial analysis on your Survey123 results?


In this blog post, I will describe how to analyze your Survey123 results using the Business Analyst Online Reporting and Infographic Services to further understand your data and extract additional information that may not easily be apparent in your survey results. The Infographics or Reports obtained from Business Analyst Online can then be exported and used in larger applications. Infographics can be exported as PDF, an image, or Dynamic HTML that can be embedded into another website. Reports can be exported as PDF’s, Excel documents, or both. The example below shows the default Tapestry Segmentation report for an Area of Interest, although both Infographics and Reports are highly customizable to look how you like and can include a wide variety of available data that can be viewed from this data browser.




This blog will follow an example for city park inspections with the goal of utilizing ArcGIS Survey123 to provide a temporal system of record for the city’s parks that will update every so often tracking historical changes. Using the GIS data collected from the survey the example will further identify community factors around the parks. 

With the brainstorming help from James Tedrick and our conversation on the workflow, it seemed appropriate to create a little blog outlining the ideas discussed. I would also like to thank Ismael for his suggestions and feedback on the article I appreciate his time reviewing it and passing along his thoughts. 


Below is a workflow for using Survey123 results to run Business Analyst Online Reports and Infographics:


Once the park data was collected in the hosted feature layer since the GeoShape question type was used to outline the park boundaries, the service was pulled into a Web Map to define areas of interest surrounding the data. Unfortunately, Rings can only be added to center points in Business Analyst Online so the areas of interest needed to be specified using the Create Buffers tool in the Web Map’s Analysis tools.


WebMap with Buffers


A new Business Analyst Online project was created and the Web Map was imported into the project.



After pulling the Web Map into Business Analyst Online areas can be set up to be used in Reports or Infographics.



Once the areas are configured any Reports or Infographics that were created or shared with me can be run with my survey results.


Final Infographic


Getting started:


Just like Survey123, Business Analyst Online also has great resources to get started with creating a project and creating your first Reports and Infographics. As mentioned previously Infographics and Reports are highly customizable to meet your organization’s needs. Infographics and Reports can highlight different variables than configured in the default templates and really be customized to show the exact information your organization is looking for.


In more current events using the workflow above with the Esri demographics data can also help identify socioeconomic trends with the spread of COVID-19. Many organizations are making use of ArcGIS Survey123 to monitor resources and supplies, people, and assets. Esri has many great resources to leverage like the Coronavirus Response Website tutorial and Operations Dashboard to implement these surveys and make them widely available.


The geographic results of these projects can be further assessed using the tools present in Business Analyst Online. For example, the John Hopkins Coronavirus dashboard has recently implemented a U.S. Map section that utilizes the COVID-19 Status Reporting Infographic present in Business Analyst Online. 



John Hopkins University is using County polygons to run these reports, but the workflow outlined in this article can be used to make connections between your Survey123 results and the socio-economic factors around your data. Dashboards and Web Apps are great options to highlight those connections and shared across organizations.


Please follow the Survey123 Twitter feed to stay updated with examples from the community.


Supplemental information and potential use cases: 

Survey123 website links are a not so widely known. Through this article, I want to bring some visibility to this cool feature. You may already be familiar with the Survey123 field and web app linking capabilities. Links allow you to launch and pre-configure the apps with a single click. Survey123 website links are not much different, allowing you to create links to share with those who need to look at and analyze survey results, or pre-configuring the Survey123 website to target your own instance of ArcGIS Enterprise.


Analyze and Data Tab page links


The Analyze and Data tabs in the Survey123 website are a great way to explore and understand data submitted to your surveys. The Data tab lets you drill down into specific survey records while the Analyze tab lets you explore trends. Both tabs have plenty of options to help you tweak all sort of options. For example, in the Data tab you can control which basemap to use in the map, which features should be selected in the table view or what filters to apply. In the Analyze tab you can control which questions should be shown or hidden, what type of charts to use to summarize each question, etc.


Survey123 website links are a great way to take a snapshot of all these preferences you set and reuse them later. For your own use, or for someone else's!


If you look carefully, you will notice that as you work on your Data and Analyze tabs, the URL in your browser reflects your choices. In the screenshot below, for example, observe that the URL in the browser has a bunch of parameters specifying the currently selected basemap, map extent, filter and other properties in the Data tab.



What this essentially means is that you can now easily copy the URL, bookmark it for later use or even share it with other people that have viewer access to your survey. That is, in short, a Survey123 website link!


For your convenience, you can also grab the link to your survey123 page as shown below.



Survey123 website links are particularly useful with the Analyze tab. Your preferences to use one type of chart or another, hide or show specific questions or even your own filters will all be encapsulated in the page link. In this way, you can save bookmarks to easily return to your preferred survey results view.


Target your own ArcGIS Enterprise with the portalUrl query parameter


If you work with ArcGIS Enterprise, this is a must-have. Through the portalUrl query parameter you can define the target ArcGIS Enterprise instance that will be hit from the Survey123 website. For example:

In the URL Above, the host, domain, and webadaptor are replaced by information about your portal, allowing you to use the Survey123 website against your own ArcGIS Enterprise instance. 


While you can obviously bookmark the URL above to reuse it, it is much better to modify your ArcGIS Enterprise app launcher to include a shortcut to the Survey123 website. That way, anyone in your organization can easily access the Survey123 website without having to remember the syntax of the URL.



You will find step by step instructions to create your own Survey123 website shortcut in the app launcher of ArcGIS Enterprise in this Technical Support Article.

Hans Christian Andersen was born in Odense, near Copenhagen, Denmark, on April 2, 1805. He is famous for his fairy tales, such as "The Little Mermaid", "The Emperor's New Clothes", "The Princess and the Pea" and many others. Fairy tales are short fictional stories for children's entertainment. They generally involve animals, plants, forces of nature or folkloric characters such as elves, witches, fairies... fairy tales often have happy endings, but Andersen never took that very literally.


Coinciding with Andersen's birthday and International Children's Book Day, today we release Survey123 version 3.9. This update also has a touch of magic in it...


Survey update notifications in the Survey123 field app


Many of you have contributed with your comments and voted up ArcGIS Ideas from Mike Bruening and James Botterill on survey update notifications. So far, these are among the most popular of all! 


With this update, the Survey123 field app will let you know if a new version of a survey on the device is available for download. This check happens automatically when the application starts, or when a new user signs in to the app. You can also manually trigger the check by simply dragging down on the survey gallery.


Survey update notifications will appear after you re-publish a survey. For example, if you add additional choices to a list, fix a typo on a label, add new questions or adjust calculations, etc.


As of this release, it is up to the end user of the app to decide if and when a survey update should be downloaded. We are aware that many of you would like to force survey updates in some cases and this is something we are working on implementing in a future release.


We trust this new feature will streamline much of your field work out there!



New Map question in the Survey123 web designer (line/polygon support added)


With this release, we have replaced the geopoint question type in the Survey123 web designer with a new Map question type. The Map question is useful when you want end users to provide the location of an event, just like you did with the geopoint question, but it also supports line and area modes.


Survey123 designer now includes a new map question type


In the screenshot above, for example, the Map question in the form is configured to let end users draw an area (polygon), instead of a single location (point). The new Map question type works well in the Survey123 web and field apps and features vertex-by-vertex and freehand drawing tools.


Since the ArcGIS data model is limited to one geometry field per layer, it is only possible to add a single Map question to a form. Additionally, once a survey is published, it is no longer possible to switch the type of geometry in the Map question. That is, you cannot for example switch from line to area. It is possible to change the drawing tool mode from freehand to vertex-by-vertex, but not the geometry type. If you ever need to make such a change, you can save a new copy of your survey and change the geometry type before publishing your new survey.


We want to thank all of you who provided feedback through the Early Adopter Program and our Holistic Testing sessions during the development of this new question type. In particular to Charlie FitzpatrickJoseph Kerski and Education colleagues.


Custom Survey123 feature report filenames


Many of you have requested more control over the name of the output files created by the Survey123 feature report service. You can now include a question placeholder in the output report file name that you pass into the service. This placeholder value will be dynamically replaced when the report is generated.


In the screenshot below for example, you can see that the name of the output report file generated includes the household id value from the survey record.


Custom report file names (Survey123 report service)

You can use question placeholders when defining the report output filename in the Survey123 website, or from the Integromat module. The placeholder looks as follows: ${question_name}. For example, below I set the placeholder to use the value from the field hhid (Household ID). You can combine if you wish multiple placeholders.



New Survey123 web app JavaScript API


The Survey123 web app JavaScript API is designed to help web developers more easily embed, style and interact with live Survey123 smart forms within their applications. It is a simple, yet powerful way to integrate Survey123 within larger business workflows. Through this API, you can choose at runtime what survey you want to display and how it will fit within your web application. You can bidirectionally send messages between your form and the web application. To learn more about this API check the Introducing the Survey123 Web App JavaScript API blog post.


Survey123 web app Draft mode


In the Survey123 website, if you visit the Collaborate tab, you will find a new Draft mode section. If you choose to use the draft mode, data entered through the Survey123 web app (from a web browser) will be stored locally until your survey is sent or cleared. This is useful for long surveys where people may choose to work on your form for a while, and then come back to it later after having closed the browser. Data will not be lost even if the end user navigates away from the survey or closes the browser; when they go back to your survey URL, all the entered data will be there until submitted.

You will want to turn on this option selectively, as this could compromise the privacy of entered data if used from a shared computer. For example, if someone is working on a form with sensitive information and draft mode is enabled, it is possible that data could be compromised if that person forgets to submit or does not reset the data in the form. Anyone loading the survey URL at a later time from that shared computer will see the data.


Draft mode is only available in surveys published with version 3.9 or above.


When draft mode is on, a link to reset the draft will be shown at the top, as illustrated in the screenshot below.

Other fixes and enhancements


Whilst the new features above are important, many of the fixes and enhancements that follow are just as relevant. I will highlight here a few that could easily get lost amongst the list below:


  • As anticipated in our earlier Upcoming changes to Survey123 web form's query parameters announcement, the mode query URL parameter in the Survey123 web app now supports the use of globalIds.  To facilitate migration of your existing work, we have extended the life of the objectId parameter in 3.9.


3.8 and earlier versionsSupportedNot supported
3.9SupportedSupportedUse this version to migrate!
3.10 and beyondNot supportedSupported


  • We very strongly recommend that you transition away from objectIds as the days for them are counted!  With 3.10 we will completely drop to support and exclusively use globalds.
  • In the Survey123 field app, you will notice that the sign in workflow has been revised. It features a cleaner, more informative and easier to use UX. This was part of a larger effort to accommodate random sign out issues and to incorporate multiple enhancement requests to facilitate login/logout workflows. The UX for connecting the app to your own ArcGIS Enterprise portal has also been revised.
  • In the Survey123 website, the Analyze tab now includes a much improved user experience for navigating long forms.
  • If you work with XLSForms, you should also note that starting with this release, select_multiple questions now support calculations.
  • If PKI authentication is of interest, on top of SAML PKI support, the Survey123 field app now also supports PKI authentication from your ArcGIS Enterprise web adaptor.
  • For Windows users: You can also now download the Survey123 app and Connect directly from the Windows Store.


Survey123 field app and Connect


  • Never get randomly signed-out again: Multiple fixes have been applied to accommodate scenarios where the Survey123 field app would randomly sign users out: BUG-000128933
  • Enhanced PKI authentication support: While support for PKI through SAML has been available in Survey123 for a while, this update brings new enhancements to support PKI authentication at the ArcGIS Enterprise Web Adaptor level. This provides additional flexibility to deploy Survey123 in environments that adhere to this standard. For more information regarding PKI support in Survey123, check this help topic.
  • Windows Store: The Windows 64-bit and 32-bit setup files of the Survey123 field app and Connect can be found from our Survey123 download page. Additionally, starting with this release you can also download Survey123 Connect and the Survey123 app directly from the Windows Store.
  • Addressed multiple issues related to double tap sensitivity: BUG-000124309BUG-000125208BUG-000127278BUG-000109661.
  • Split View on Apple devices: You can now arrange the Survey123 field app in iOS split view.
  • BUG-000125609 ArcGIS Online allows the organization short name to include uppercase characters leading to case sensitive related errors when using the organizations URL.
  • BUG-000127518 Creating a form in Survey123 for ArcGIS with a geopoint question type and esriFieldTypePointZ field type does not allow the feature geometry to update in ArcGIS Online Map Viewer.
  • BUG-000127816 The surveys displayed is changed when multiple languages are set up in the survey.
  • ENH-000125365 Have Survey123 honor the "Remember Me" functionality when using a IWA login from Portal.
  • ENH-000105906 Add functionality for Survey 123 Connect to have a "remember me" option for usernames.
  • ENH-000121154 Support Trimble Rx GPS receivers in Survey123 on iOS devices.
  • BUG-000122130 One page will be automatically added when collecting the survey in the survey123 app created from survey123 web designer with more than one page.

Survey123 website, web app and report services


  • DE-000003535,BUG-000126960 An error is returned when trying to generate a feature report in the Survey123 for ArcGIS website for a survey published using the 'Feature Service' option.
  • BUG-000128390 Surveys created and accessed through the Survey123 for ArcGIS website returns the error message, "Survey does not exist or is not accessible" when special characters exist in question or choice labels.
  • BUG-000128110 GeoPoint question's map for the surveys created using Survey123 web designer (after the recent update) does not appear in Survey123 field app (on both desktop and mobile devices).
  • BUG-000126008 After removing a single choice grid from a group, republishing the survey, and adding it back into the group, any changes made to the single choice grid questions are given identical, generic schema names preventing the user from republishing the survey
  • BUG-000127630 In Survey123 for ArcGIS, when a survey has a geotrace or geoshape question type, the map scale setting is not honored when including a map in the feature report
  • BUG-000126425 Boolean expressions do not work in the Survey123 for ArcGIS web app
  • BUG-000128085 In the Survey123 for ArcGIS website, images in a Note element cause the survey to fail to publish if they are on the same row separated by a space
  • BUG-000128548 The background set for a survey is displayed as distorted in the web form if the “style settings” is set to “pages” and “appearance” for groups is set to “field list”
  • BUG-000124744 HTML markup codes appear at the start of the published survey in Survey123 for ArcGIS
  • BUG-000116598 Survey123 for ArcGIS error 'Privileges of stakeholder role are required to access this page. You're currently in field worker role.' when accessing the survey..
  • BUG-000117843 When using the em dash 'ー' (UTF-8 Enconded \xE3\x83\xBC) in a single line text question, the words are broken up into separate responses in the wordcloud section of the Analyze tab
  • BUG-000125151 The Survey123 for ArcGIS Website does not retain the Layout Element settings (Header and Footer Settings) for a survey if the Survey has been published through Survey123 Connect
  • BUG-000111740 The Survey123 website returns the 404 error message in network traffic when loading a survey in a web browser
  • BUG-000126848 Viewer and Editor roles with the 'feature report' privilege enabled by default are unable to generate a feature report in Survey123 for ArcGIS as the 'create, update, delete content' privilege is also required.
  • BUG-000122896 Surver123 for ArcGIS does not provide a character count on text questions with repeats. 
  • BUG-000129358 Some organizations are unable to publish any surveys in the Survey123 for ArcGIS web app
  • BUG-000125046 A geopoint location is rendered as an empty map image in the exported report from the Survey123 for ArcGIS website when the survey is created from an existing feature service.


Documentation and templates


  • BUG-000128228 Unlisted built-in (reserved) geodatabase field names cause the publishing error with Survey123 for ArcGIS that is returned when using a reserved keyword for a field name, "Error: Dataset not found. Code: 500. Publishing failed."
  • ENH-000127952 Displaying the 'name' field instead of the 'label' field for select_one type questions in Survey123 reports
  • ENH-000128878 Survey123 - Documentation - orderBy Parameter - is missing of examples, case application and a more detailed description for the function
  • ENH-000128477 Improve documentation for Repeats in Survey123 to contain information on the abilities and limitations of nested repeats
  • ENH-000126920 Currently the text for when Configuring Survey123 with a feature service published to ArcGIS...
  • ENH-000127608 Please update Product Life Cycle page for Survey123 to indicate Classic was 2.9 and below and is now retired as of a certain date


Next steps


Survey123 3.10 is already in the making. You can access the latest builds from the Early Adopter Community. Our focus is aimed towards a few critical aspects:


Survey123 field app fix-only update for iOS (for release before end of April 2020):


  • Specifically for iOS, and for specific surveys, you have observed consistent crashes in the Survey123 app. These issues are currently being worked on and we are aiming at releasing an update for iOS to address these issues as soon as possible. BUG-000111086,DE-000003544, BUG-000108085,BUG-000128201,DE-000003543, BUG-000125015,DE-000003368, BUG-000126685. Beta builds with fixes to these issues will be shared through the Early Adopter Community as soon as they are ready.


Survey123 3.10:


  • Mapping enhancements in the Survey123 field app: for quite some time now we have been shipping the Survey123 field app with a Beta feature that lets you bring your own web maps, vector and mobile map packages into the map. We are now finalizing this work, which should be fully supported in the 3.10 release.
  • The Survey123 feature report service is getting ready to see its first major feature update since release. We are working on supporting summary reports where you can bring all or a subset of features in your survey into a single report. As part of this effort, we are also adding new syntax to support statistics within reports.
  • Ranking question: we are working on a new ranking type of question to help you define sortable lists within a form. With the ranking question, end users will be able to express preferences over a predefined list of choices: drag and drop choices to set their order!
  • Finalizing the on-premises setup of the Survey123 website and API.
  • Improving web accessibility in the Survey123 web app.
  • Support for ArcGIS Enterprise in the Microsoft Automate connector.


A complete list of Beta features is available in the Early Adopter Community, as well as user forums and documentation. If you are interested, have a look!