Skip navigation
All Places > Survey123 for ArcGIS > Blog
1 2 3 Previous Next

Survey123 for ArcGIS

118 posts

In this blog post I will introduce a handful XLSForm functions that will help you work with user selections on lists.  If you are not familiar with the basics of publishing smart forms in Survey123 using XLSForms, or with selection questions, then I suggest you take a tour of the basic Video Tutorials in our Survey123 YouTube Playlist.  Below you will find a introductory video tutorial on selection questions and lists.



Using XLSForm expressions you can process user selections on lists and implement data validation rules, conditional statements to show and hide portions of your forms, and more. Here are some of the most common XLSForm functions you will be able to use:


selected(question, value)


The selected() function is used to check if a particular choice has been selected from a list. Here is an example:


select_one yes_norepair_neededAre repairs needed?
textrepairs_commentRepairs needed:selected(${repair_needed},'yes')


The selected() function returns a boolean value. In the example above, I am using the function within the relevant column, to define if the repairs_comment question will be shown to the end user, or kept hidden.


The first  parameter passed to this function is the question on which the user made the selection.  You can only pass questions of type select_one or select_multiple.


The second parameter represents your test choice value. It is important to remember that the test choice value represents the name of your choice, not its label.  This makes sense because otherwise, it would be tricky to write expressions in multi-language surveys.


Do not pass the label of a choice to the selected() function. The selected() function expects the name value of your choice.  Also keep in mind that this function is case sensitive. 'Yes' is not the same as 'yes'.



The selected() function is particularly useful when working with multiple-choice questions (select_multiple). In the example below, I use the function to populate hidden questions with a value of 1, if a particular choice has been selected, or 0 if not selected. 


The violations question is a select_multiple. In it, the end-user can select one or more choices from the violations list. The output of select_multiple questions is a comma separated string representing all the choices selected. That is not very useful if I want to query the data later...   For each type of violation presented in the select_multiple question, I have created a corresponding hidden question. Using a calculation, hidden questions get populated with 1s and 0s based on the user selections.


select_multiple violationsviolationsViolations observednull
hiddenbrokenpipeBroken Pipeif(selected(${violations},'20'),1,0)esriFieldTypeInteger
hiddenwaterfeatureWater Featureif(selected(${violations},'50'),1,0)esriFieldTypeInteger


As I indicated before, the output of the selected() function is a boolean. That is, either true or false. In my example, I wanted to store numbers (0 and 1) so I can more easily count values later or use the data in Operations Dashboard. That is achieved by complementing the selected() function with an if() statement. When selected() returns true, signifying that the choice was selected, I store a value of 1 and otherwise a 0.


The column bind:esri:fieldType plays an important role here too. For my select_multiple question I chose null. This indicates that the output of the question (the comma separated list of selected values) will not have a corresponding field in the target ArcGIS feature layer.  In other words, a null esri:fieldType says that we are not interested in persisting the output of that question. After all, the values in the hidden questions are really what we want to persist.


For the hidden questions, I explicitly set the esri:fieldType to esriFieldTypeInteger, because hidden questions by default are mapped to text fields. Since I know that my calculation is either going to output a 1 or a 0, and I want the output values as numbers, I set the esri:fieldType correspondingly.


To learn more about how XLSForm questions get mapped to Esri fields, check the Mapping XLSForm questions into ArcGIS Feature Service fields blog post.



There are some other tempting options for figuring out what choices have been selected in a list. I strongly recommend that you do not get tempted by them:


One bad habit is using a straight value comparison on select_one questions:


select_one yes_norepair_neededAre repairs needed?
textrepairs_commentRepairs needed:${repair_needed}='yes'


Technically, it is going to work, but if you get used to that you may be led into this...


select_multiple violationsviolationsViolations observednull
hiddenbrokenpipeBroken Pipeif(${violations}='20',1,0)esriFieldTypeInteger


And that is definitively not going to work!  As you may remember, the output of a select_multiple is a comma separated list of values, so if someone selects more than one option in the violations question, your calculations will not work correctly. 


Another temptation, for select_multiple questions, is the use of contains(). For example:


select_multiple violationsviolationsViolations observednull
hiddenbrokenpipeBroken Pipeif(contains(${violations},'20'),1,0)esriFieldTypeInteger


The use of contains() could actually work in some cases, but it is not worth the risk.


The function selected() works beautifully for both select_multiple and select_one. Use it consistently if you want to check what options were selected in them.





The count-selected() function returns the number of selected choices in a select_multiple question.


select_multiple toppingstoppingsSelect up to 2 toppingscount-selected(${toppings})<3Pick no more than 2!


In this example I built a constraint to prevent people from getting too greedy with pizza toppings. If the number of toppings selected is not below 3, a warning message will appear and the user will not be able to submit data.


You can also use count-selected() in a relevant statement, for example to present a comments field if any issues have been found during an inspection.


select_multiple compsissuesCheck manhole components with issues
textcommentsEnter comments relevant for repair effortcount-selected(${components})>0


Pretty handy!


jr:choice-name(choice, 'question')


jr:choice-name() is useful when you need to retrieve the label of a list choice. The syntax goes as follows:


In the example above, I am passing with the first parameter the user selection in the 'activity' question.  The second parameter is the question in the form using the list where the choice has been made.  Very often, the first and second parameters will reference the same XLSForm question, but note that the second parameter is enclosed with quotes, because it does not refer to the value (response) of the question, but to the actual question itself.


This is a very useful function in several scenarios:

  • When you want to include the label of a selected item in the payload of a webhook.
  • When you want to store the label of a selected item in your target feature layer.
  • When you want to display the selected item's label in a note, or use it within a label (dynamic label).


Take this example:


select_one prioritypriorityPriority of the incident
hiddenpriority_labelRepairs needed:jr:choice-name(${priority},'${priority}')


The hidden question, obviously, will not be shown in the form to the user, but will keep the label of the selected choice in the priority question.  This value will be stored in the target feature layer of the survey, and will also be part of the payload sent in any webhooks you configure.


If working with multi-language surveys, the jr:choice-name() function will return the label in the language active when the user submits the data.



A common use case for jr:choice-name() is dynamic labels. Dynamic labels are discussed in more detail in the Understanding Dynamic Labels in Survey123 for ArcGIS blog post. In short, dynamic labels allow you to embed user responses and the result of calculations within labels in your survey. This is a pretty useful technique to help end users navigate along very large surveys for example, because you can bring more context to your questions, using prior responses.


select_one prioritypriorityPriority of the incident
calculatepriori_labelPriority Labeljr:choice-name(${priority},'${priority}')
textcommentsDescribe why the priority is ${priori_label)


When using dynamic labels, you cannot include expressions within the label. You can only perform simple variable replacements. This is why in the example below I first add a calculate question to get the label, and then I embed the variable within the label of the comments question.  Just for clarity, the following will not work:


select_one prioritypriorityPriority of the incident
textcommentsDescribe why the priority is jr:choice-name(${priority},'${priority}')


I always wonder why the jr:choice-name has the jr: prefix in front of it. I am sure there is an obscure explanation somewhere for that. I also wonder why if the function was named jr:choice-name instead of choice-label, since the output is the label, and not the name. Oh well... the function works nicely, so I would not dig to much into this mystery of the XLSForm specification.


selected-at(question, number)


The selected-at() function is unique to select_multiple questions. It is kind of an exotic function but I am including it for completeness. It returns the choice name selected at a specific index within the selection. This is best explained with pizza:


select_multiple toppingstoppingsSelect your top 3 favorite toppings


Above, the selected-at() function is first passed the output of our toppings question. That is, a comma separated list with 3 pizza toppings selected by the user.  The second parameter indicates the zero-based index in that list for which we want to know the value.  Since we are passing 0, the output will be the pizza topping that the user selected in the first place. If we pass an index 2, it will give us the last topping that the user selected, assuming that we have limited the number of favorite toppings to 3.


This function is particularly useful when you want to know the exact order in which the user selected choices within a select_multiple question.  If the index you pass in the second parameter is not within the range of the user selection, the function returns an empty string. For example,  selected-at(${toppings},4) will return an empty string if the user only selected 3 items.


All XLSForm functions described in this document are compatible with both the Survey123 field app as well as with web forms.


On November 6, 2018, Esri introduced the concept of User Types in ArcGIS. User Types will be available with the upcoming ArcGIS Online December 2018 update.   ArcGIS User Types are an evolution of the ArcGIS Named User licensing model, bringing more granularity into how capabilities and apps are made available to users.


In this blog post, I want to describe how these upcoming new ArcGIS User Types relate to the different capabilities and components of Survey123 for ArcGIS.


An Overview of ArcGIS User Types


A great resource to learn more about the upcoming ArcGIS User Types is Kelly’s What is coming in ArcGIS Online: Introducing User  Types blog post. I recommend that you read her post as a foundation for the details described here.


ArcGIS User Types define what capabilities and apps are available to ArcGIS users within an organization. The image below describes the different User Types that will be made available in the December release of ArcGIS Online.



From a practical perspective, your existing Level 1 Named Users will become Viewers and your Level 2 Named users will become Creators.  What this means from a Survey123 perspective is that whoever was assigned a Level 2 or Level 1 Named User will continue to be able to do exactly the same things as before. For the existing Named Users you may already have, you can consider the new User Type model as simply a name change. End-user workflows and available functionality will not change.


What is more interesting is that a set of 3 new User Types will now be available for purchase.  This is great news, as these new User Types will give you extra flexibility to add new ArcGIS users into your organization to perform specific tasks with Survey123.

ArcGIS User Types from a Survey123 perspective.


Let’s look in more detail at what each of these new User Types can do with Survey123.


Creator (formerly known as Level 2)


The Creator User Type is designed for those in your organization who create maps and apps for others to use. A Creator User Type (formerly known as Level 2), is what you need if you want to publish new surveys into ArcGIS. A creator, for example, can log into the Survey123 website and use Web Designer to create and publish a new survey. Similarly, creators can download and use Survey123 Connect to publish surveys using the XLSForm specification.

Other Survey123 actions that are unique to the Creator User Type include: Uploading new survey report templates, generating batch survey reports or managing survey webhooks.


You will always need at least a Creator User Type (or other User Types above such as GIS Professional) in order to get things going with Survey123.  You need Creators to publish and manage the surveys that people will use in an organization.


With a Creator User Type you can also design dashboards to display data captured from Survey123, or put together Workforce for ArcGIS projects to coordinate Survey123 field work.


 Creators also include all the capabilities and apps licensed for the Field Worker, Editor and Viewer user types.


Field Worker


This is a new User Type for those in your organization who want to use ArcCGIS mobile apps to perform field work. Field Workers get the Field Apps Bundle, which includes Workforce, Collector and Survey123 for ArcGIS.   The Field Worker User Type is a step down from the Creator User Type in that Field Workers do not have the ability to create new content such as surveys, maps and apps, but includes what is needed to submit surveys from the Survey123 field app. I am particularly excited about the Field Worker User Type because for the longest time many of you have been asking for a more affordable way to equip field crews with a complete suite of mobile GIS apps to do their job. A user type including what a field user needs, but nothing else. That's the Field Worker User Type.


This is the User Type you will want for those who are required to capture data with the Survey123 field app.  Think field crews performing asset inventories or inspections, damage assessments, etc.


Field workers also include all capabilities and apps licensed for the Editor and Viewer User Types.



The Editor User Type is designed for people who need to make simple feature edits (adds, updates, deletes) in ArcGIS.  The Editor User Type does not include the Field Apps Bundle, meaning that Editors cannot use the Survey123 field app, however, Editors can submit surveys from a web browser. The Editor User Type can also be a good choice for people who perform, QA/QC workflows or simple edits from web applications against data captured from Survey123.


If it is your preference, you can complement an Editor User Type with add-on app licenses. That is, you can buy ArcGIS apps a-la-carte and assign the licenses to your existing Editor User Types.  For example, if you feel like your field crews do not need Collector, Workforce and Survey123, instead of purchasing a Field Worker User Type license, you can buy Editor User Types and assign the Survey123 field app to them.


Editors also include all capabilities and apps included in the Viewer User Type.

Viewer (formerly known as Level 1)


Viewers, formerly known as Level 1 Named Users, are designed for people who need to look, but not update, information in ArcGIS. Viewers can for example look at real-time dashboards built on top of Survey123 data, use web apps built with Web AppBuilder to visualize information.  The Viewer User Type also grants read-only access into the Survey123 website. That is, Viewers can look at the Overview, Data and Analyze pages of surveys to inspect the results of surveys


Features in the Survey123 website that require permissions to create content, such as publishing new surveys, export reports in batch or configuring web hooks, will not be available to Viewers. Again, Viewers just can look at data.


GIS Professional


The GIS Professional User Type sits above all the User Types I described so far. It includes everything in Creator plus a license to use ArcGIS Pro.  I list GIS Professional last because it does not add any specific Survey123 capabilities that would be missing in Creator. Adding GIS Professionals into the mix for your Survey123 deployments could be of interest when you plan to further process or analyze data captured with Survey123 for example.


Using Survey123 without an ArcGIS Account


For completeness, I would also add that any person, even without an ArcGIS account,  can submit data using the Survey123 field and web apps if the survey has been shared  publicly. The new User Types bring no changes to public surveys.


Other important facts


To add more clarity to the different User Types and what you can do in Survey123, I created this table:





Design, Publish and Manage surveys
Automate workflows with survey webhooks
Configure survey custom report templates
Generate custom survey reports in bulk
Export survey results to CSV, Excel, File Geodatabase…
Submit surveys from the Survey123 Field App
Submit surveys from a web browser
View and analyze survey results through the Survey123 website


Once a User Type is assigned, can it be changed? Certainly. As an ArcGIS Administrator you can switch User Types. For example, a person can be initially assigned an Editor role to submit surveys over the web and eventually be upgraded to a Field Worker to also be able to use the Survey123 Field app. Conversely, a Creator can be demoted to a Field Editor, Editor or Viewer. Now, in that case, you will want  to make sure any items owned by the Creator are  transferred to some other user with a Creator User Type, so the maps, surveys and other items can be maintained.


A user granted a particular User Type can also be granted access to additional apps not originally included with the User Type. For example, a Field Worker user can also be granted a license of Navigator for ArcGIS, and a Creator can be granted access to Insights for ArcGIS or other add-on apps.


What you cannot do is to break apart a User Type. For example,  you cannot take away from a  Field Worker the Survey123 license and give to an Editor.


Will User Types be available in ArcGIS Enterprise? Yes. Starting at version 10.7, which is scheduled for release around March 2019.


What is the price of these User Types? It varies. My suggestion is that you contact an Esri representative. There are programs for personal use, students, non-profit, small and large organizations.


When will I be able to use the new User Types with Survey123? It depends. Coinciding with the December release of ArcGIS Online, you will be able to use Creator and Viewers right away and across all components of Survey123 (Website, Connect, Web Forms and Field App).   Editor and Field Worker User Types will be supported progressively: In December, as soon as they become available, Editors and Field Workers will be able to use Web Forms to submit data. Field Workers will not be recognized by the Survey123  field app until our 3.2 release which is scheduled for release the week of January 10, 2019.


Field Workers will not be recognized by the Survey123 field app until the 3.2 release in January 2019






ArcGIS User Types are simply an evolution of the ArcGIS Named User licensing model.  As a Survey123 user, you should not fear the transition from the existing ArcGIS User Levels we use now, to the new ArcGIS User Types coming in the December 2018 release. Your existing Level 1 and Level 2 users will be automatically transitioned to the Viewer and Creator User Types with absolutely no impact to end users.   The transition of existing Named Users will have minor impact from an ArcGIS administrative perspective: Some minor UX changes as described in this blog post.


New User Types including Editor and Field Workers are of particular interest for the deployment of Survey123 within organizations. They both provide lower entry points to people who need to use the Survey123 field app (Field Workers) or submit surveys over the web (Editors).  


Overall, the new User Types include capabilities progressively:

  • The Viewer can view maps and the results of surveys
  • The Editor can do everything a Viewer can do and also submit data through survey123 smart forms in a web browser
  • The field worker is like an Editor but also includes licenses for the Survey123, Collector and Workforce mobile apps
  • Finally, the Creator does everything a Field Worker can do, plus also create new content, including designing and publishing surveys. 


Understanding all User Types, will help you maximize your investment in ArcGIS. Carefully choose the number of User Types to add into your organization, based on what people will typically do. 

A minor update to the Survey123 field app in the Google Play and Amazon stores has just been made available. This new build, addresses BUG-000117493, which affected Android 7.0 (and newer) devices when attempting to connect to an ArcGIS Enterprise portal using non-CA-signed certificates.


BUG-000117493 "SSL Handshake failed (6)" error is generated in Survey123 app when attempting to connect from Android 7.0 or higher to an ArcGIS Enterprise portal using non-CA-signed certificate.


The new build number for the Survey123 field app on Android is 3.1.159.

St Kilda is a beachside suburb of Melbourne, Australia.  Among the various attractions in St Kilda is Luna Park, a theme park featuring the worlds oldest operating roller coaster. It is also known for its Sea Baths established in the19th century and of course, its beach, which is a popular summer spot for melbournites, tourists and backpackers.  My personal favorite at St Kilda is its pier, which holds a small colony of penguins.  There is only one place in the world where you can step out of a tram, walk down a pier and watch penguins, and that is St Kilda.  


In late October, while giving the final touches to this release, the Survey123 team gathered in Melbourne for a one-week team meeting.  We enjoyed visiting the pier at night and watching the penguins as they swam around and hide between the rocks.   We thought we would be devote this update to the St Kilda penguins, so here you go...


Overall, this update to Survey123 is mostly focuses on quality. We took our time going back through issues reported, sorting the most relevant and fixing them.   While fixes are a big part of this release, you will also find a handful of enhancements inspired by your feedback.



Custom Themes in Web Designer


With Survey123 Web Designer you can visually create smart forms, right from your web browser. Survey123 Web Designer grows with every release, incorporating new question types, validation rules and other improvements. Smart forms published with Survey123 Web Designer can be used from the Survey123 Field and Web Apps.


With the introduction of custom themes, you can now tightly control the look and feel of your web surveys.  Below are some examples illustrating the type of things you can do. Header colors, page and survey backgrounds, the color of the submit button... all of that can be now set so you can more closely reflect the feel and brand identity of your own organization or project.  Custom Themes are of particular interest to those of you interested in publishing surveys for use over the web.



The new themes are under the Appearance tab in Web Designer and can be applied to any survey authored in Web Designer. Custom Themes in Web Designer cannot be used with surveys published from Survey123 Connect.


Check this blog post for more details: Introducing Custom Themes in Survey123 Web Designer 


User Input Validation Rules in Multiple Choice questions (Web Designer)


The validation section for Multiple Choice questions in Web Designer has been expanded so you can easily define the minimum and maximum number of choices that can be selected from the list. For example, you can now configure a Multiple Choice question so users will not be able to check more than 3 options, or at least 2, etc.



Validation rules set in Web Designer will be honored by both the Survey123 Field and Web apps. More details around multiple choice questions can be found at:  Understanding Multiple-Choice Questions in Survey123 for ArcGIS 



Character counter in text questions (Web and Field app)


Multi-line questions now display a character count, helping users keep track of how much text they can add before reaching the maximum limit set by the survey owner.



The character counter is implemented in both the Survey123 Web and Field apps and can be set from Survey123 Web Designer as well as through Survey123 Connect.



Dynamic Question Labels


As of 3.1, you can include XLSForm variables within the label of a question or note.  In the example on the side, the Type of Violation and Offender Name entered by the user are embedded in the labels of questions in the survey.



If used appropriately, Dynamic Question Labels will help you make questions in your survey more meaningful to end-users and facilitate navigation.





For more details around dynamic labels refer to this blog post:  Understanding Dynamic Labels in Survey123 for ArcGIS 












For a complete list of enhancements in the Survey123 Website, Field App and Connect, refer to the What is New Help topic.


Main Fixes and Enhancements to Survey123 Website and Web App


  • BUG-000116143 The Survey123 for ArcGIS website works slowly when generating a report and generates an error while downloading custom reports exceeding 10 MB in size.
  • BUG-000112528 Custom Reports fail to load with an error indicating the parser failed to execute if a field it cannot read or does not exist has a formatting set.
  • BUG-000116436 In Survey123 web Design, Rule Setting disappear when you log out if “Show” questions are in a Group. The settings, however, is still honored in the App or Web when submitting surveys.
  • BUG-000116368 Getting error when trying to export to KML on Survey123 Portal website "Error executing function. failed to execute (export service). failed."
  • BUG-000110646 When publishing a survey from Survey 123 for ArcGIS online website to Survey 123 connect for ArcGIS then publish the survey back to online the survey loses the background image
  • BUG-000115084 When utilizing a choice filter in Survey123 for ArcGIS, if images are used against filtered questions, the label fails to display properly on the Data and Analyze tabs
  • BUG-000113561 The Survey123 for ArcGIS web app does not allow user to enter decimal '.' values when using Dutch language in ArcGIS Online
  • BUG-000114313 The survey background sets in Survey123 Connect for ArcGIS is not honored if the survey is accessed using web browser
  • BUG-000114658 A publicly shared Survey123 survey hosted on a federated Portal for ArcGIS or ArcGIS Server is not accessible from a public ArcGIS Online web map when signed in to ArcGIS Online
  • BUG-000115903 In Survey123 website, a question configured using pulldate ("@geopoint") does not get populated even when the Geopoint question is filled (reverse geocode)
  • BUG-000115045 Surveys created in the website fails to open in the Safari browser of iOS devices, where the iOS version is below 11.0.0
  • Added support for the XLSForm version() function in the Survey123 Web App.
  • ENH-000113657 Question visibility settings are now persisted across multiple sessions
  • ENH-000105733: You can now apply filters to data displayed in the Analyze page
  • Image questions in Web Forms now let users leverage the built-in camera or webcam attached to laptops and computers.
  • Major architectural changes have been made in the Feature Report Service to accommodate user load and also to make the rendering of maps in your reports more robust.  Many of the map rendering issues that we have targeted are summarized in this GeoNet thread: Am I the only one having issues with Survey123 Reports?  We also have enhanced the error descriptions to help you debug report template syntax. Our goal is to move the Feature Report functionality into general release around May 2019. We greatly appreciate the feedback that all of you are providing, please keep your comments coming.


Main Fixes and Enhancements to Survey123 Field App and Connect


The build number for the Survey123 Field app is 3.1.158 and it is available for download in the App Stores and our  Survey123 for ArcGIS | ArcGIS Download page. The Survey123 Connect build is 3.1.126.


  • Apple Transport Security supported on iOS.
  • Two new appearances have been added: predictivetext  and nopredictivetext. They are meant to be used with text type of questions and allow the survey owner to enable or disable the predictive text functionality included with the Android and iOS operating systems.
  • BUG-000105983: Survey123 Connect will hang while attempting to publish if the survey includes a repeat block with no questions in it.
  • BUG-000110646 Website background images not maintained when survey republished in connect.
  • BUG-000116622 An error message is thrown when submitting from Survey123 for ArcGIS if the survey contains a geopoint question within nested repeats
  • Fixes for the autocomplete appearance:
  • BUG-000106380 Default Value set in Survey123 Connect is not applied when survey includes cascading select and autocomplete
  • BUG-000097421 In Survey123 Connect for ArcGIS, if a time field has a calculation all time field's defaults are ignored
  • Fixes to repeat_count:
  • Survey123 surveys not showing in app despite being downloaded 
  • BUG-000117394 "The INSERT statement has conflicted with the FOREIGN KEY constraint" error is thrown when Survey123 is pointing to an existing feature service that contains multiple tables all relating back to one parent layer
  • Coordinates passed via custom_url through the center parameter are ignored
  • Under certain conditions, map returns to current location after an address is entered in geosearch
  • On certain iOS6 devices, taking a photo using the Survey123 built-in camera causes an application crash
  • On iOS devices with auto-orientation locked down, images captured using the front-facing (selfie) camera are upside down when the phone is rotated in landscape mode
  • BUG-000116932 When an image is set as a default value for an annotate question outside of a repeat in Survey123 for ArcGIS, the annotate option fails to appear.



What is coming next


Survey123 3.2 is already on the works and our plan is to make it available in January 2019 across all supported platforms.  Version 3.2 will focus on quality, addressing specific software defects that we could not accommodate into the 3.1 update.


Through the Early Adopter Program, we regularly offer early cuts of the software, which you can use to test your existing surveys as well as new features on the works. The main new Early Adopter Program feature in the Survey123 Field App is support for direct connection to external GNSS receivers (scheduled to be generally available around March 2019.  We strongly encourage you to read the Early Adopter documentation, test the latest available builds and report your findings.

Using Survey123 Web Designer, you can tightly control many visual aspects of your Web Forms.  This includes everything from defining the look of your survey header, the style of its background, the alignment, color and size of text used in questions, the placement of logos, etc.


Of course, all of this is important because people are expecting visually compelling surveys from you. Crafting surveys with great visual appeal is particularly critical for public surveys. By having good control over the look and feel, you will be able to more closely reflect the feel and brand identity of your own organization or project.


Before we start, I want to emphasize that in good survey design, the looks are just half of the story. Carefully crafting the questions to be included in a survey, their order, wording, grouping and the best fit for the available question types, is the other half.  Trying to detail all of this at once would make a very lengthy post, so this time I will focus strictly on the visual aspects of surveys: the looks.


Below you have a few examples illustrating different techniques to make your surveys shine: Custom banners, backgrounds, in-line photos and a few other tricks. 



In this blog post, I will describe a handful of techniques to give your surveys a unique touch, making them look more professional.  While some of the features I am about to describe will be honored by the Survey123 field app, I will mostly focus on the design of Web Forms.


Basic Layout Elements: Header, Description and Footer


The basic elements around questions in your survey are the Header, Description and Footer.  Right from the Appearance tab, you can choose to show them, or hide them. For example, the Description element is typically used to describe what your survey is all about.  It is generally made out of text or a combination of text and images. If you feel like the title shown in your header is descriptive enough, you can choose to hide the Description element all together.



By simply clicking on the Header, Description and Footer in the design preview, their properties will be made editable in the right panel of Web Designer.


Survey Header


The header typically holds the title of your survey, but it is also a great location to display an organization logo.  You can choose a Text Header, for which you can control its background color and text alignment, or an Image Header. 


If you choose an Image Header, your image will be adjusted so it fits the entire width of the survey, which will not be larger than 680 pixels. For this reason, as a general rule, your header images do not need to be wider than 680 pixels. The height will be set so your image aspect ratio is preserved. It is best to go with a wide image to avoid taking too much vertical space.  The header is taking the top most part of the display, so with such prime real estate on your screen, you do not need a big, tall header to make a point.



Images used in your survey are not allowed to exceed a size of 1Mb.

    Always try to optimize the size of your images.


Survey Description


The Survey Description element, in Survey123 jargon, is a Note question type. Just like with the Survey Header, you can easily hide the Survey Description element from the Appearance tab.  To set the content of the Description, simply click on the element in the preview, and all the settings will appear in the right panel.



Note that the contents of the Description element accept rich text, so you can add entire paragraphs controlling the font color, size, text alignment, images, links, etc. This makes the Description very flexible, allowing you to provide context about the survey itself.


To support recovery effort after hurricane Michael, the Florida Department of Environmental Protection and the Florida State Emergency Response Team, published a public survey to help citizens report the location of debris.  Note how they used the Survey Header to include a simple form title, and then leveraged the Survey Description element to place their organization logos as well as a brief note about the purpose of the survey. The Survey Description element also included links referencing the organizations website and other relevant documents.



The Survey Description element is particularly critical for public web surveys where you cannot assume that people know what your survey is all about. A bit of context, is always good!


Right below the Description element is where questions in your form will appear.  I will describe later how you can use Themes to control visual aspects of your questions, but for now, let's jump into the footer.


Survey Footer


The Survey Footer obviously sits at the very bottom of the survey. This is a good place to link back to your organization's website or solicit feedback. Similar to the Header and Description, you can choose to hide or show the footer from the Appearance tab, and you can edit its properties (text and URL link) by simply clicking on the Footer in the preview.  Look carefully at the animation to see how you can bring the window to edit Footer properties.



The URL for your footer does not need to necessarily be a URL to a website. You can also include a mailto link. For example, if your URL is set to , you can help survey takers send you feedback to your email account.


Survey Themes


Survey Themes help you easily define the color scheme of the most relevant visual aspects of your survey. A gallery of basic themes is included with Survey123.  Most themes are based on a primary color applied to the background page of the survey. Different shades of that color are then applied to the header, background of the form and submit button.  The Theme also defines the color assigned to the text in your form, so it contrasts over the background. A second group of default themes uses a background image as the driver for all the visual components in the form.  You can use the themes included as they are. We added a good set of them and you can switch and see how they play out with your own surveys very quickly.



You can also use the included Survey Themes as a starting point to your own design.  That is, you can select a basic theme and then edit it.  The editable properties of a Theme are split as follows:


  • Header: You are already familiar with this element. The theme sets the background color of the header and also the text color. You can easily tweak this as you see fit.
  • Content:The content category refers to the portion of your form containing all the questions. There are a number of important properties: 


Content Background: The content background sits right underneath your survey questions and should not be confused with the page background, which I will describe later. The purpose of the Content Background is to ensure that all questions in your survey are legible. You will want a nice contrast between your questions and the content background: A light background goes with dark question text and inputs, and vice versa. In the vast majority of cases, you will want to use a solid color for your Content Background.


If you want to get creative, you can experiment with images for the Content Background as well, but you need to be careful not to overload it with colors, which would only create distractions. When it comes to images for the Background Content, it is best to use lightly textured images.  Below are a couple of examples using images to create a notebook and wrinkled paper feel.



When using content background images, you will want to play with the different Image Fit strategies available (Repeat, Repeat Vertically, Fit and Center).


For both color and image custom content backgrounds, you can adjust the opacity level, which can give you interesting effects when working in combination with the page background.


Content Text Color: This setting refers to the color used for labels in your questions.  As described above, the color choice for the text depends on the background color.  You will always want to look for good contrast to make your questions more legible.  The content text color is not necessarily applied to hints and notes, as those can override the font colors as specified in the Design view.


Input Background Color: This refers to all the space used to input data. Think of the color of text input boxes for example, but also the background for choices in lists, signature pad, etc.


Input Text Color: This applies to all response text.


  • Web Page: The Web Page element represents all the background behind your actual form content.  This element is visible in desktops and tablets, but it is mostly hidden in smartphone form factors.  You can manipulate the color and image shown in the Web Page background, allowing you to give a strong look to your smart form. The Web Page background is probably the element that can bring the most character to your design. In the following example, I set a colorful image as the background of the page, for my form to stand up strongly, and to highlight the core mission of the form: trees.



As mentioned above, you can use the opacity setting in the Content Background to create interesting visual effects against the Page Background. The next screenshot shows a medium opacity level applied to the Content Background, to create a subtle translucent effect.



The Web Page Background is only shown by the Survey123 Web App. The Survey123 Field App ignores the background because the from content is always expanded to take advantage of all the real estate of your device.

Thank You Screen


The Thank You Screen can be optionally presented in Web Forms right after a survey is submitted.  This is the perfect place for you to thank the survey respondent for taking the time to complete the form, acknowledge the work of your project sponsors or highlight your own organization.



You can include formatted text, links and even custom images within the Thank You Note. I like to give some love to the Thank You Screen in my surveys, particularly when they are public, because they give it a nice touch.


If you look carefully at the bottom of the Thank You Screen dialog, you can optionally enable users to take submit data again with your survey, right after submitting. This option simply adds a link in the Thank You Screen that will quickly take you back to the survey.


Miscellaneous tips and other things to keep in mind


  • Making image assets available to Web Designer:When using Web Designer, all image assets are referenced through a URL. That is, you cannot use Web Designer to upload your image assets directly from your local computer. You must host them somewhere first. Aside from keeping images in your own web server, there are a number of popular options for you to host images, including Box, Google Drive and others. You can also upload your images into your ArcGIS  account, share them and then get their URL as shown in the next animation:



  • Maximum size of images: The maximum size of images you can use in your survey designs is 1Mb. You should always optimize the size of your images to minimize their size without compromising quality. Every image you add will eventually need to be downloaded and that will slow down the initial loading time of the form.
  • Setting custom colors: When setting up the colors for your text and backgrounds, you can use hexadecimal values. Using web browser plugins such as ColorZilla you can easily obtain these hexadecimal values from a website and apply them to your survey visual elements. See the next animation for details.



  • Never underestimate the importance of making your surveys look great.  A good look, can go a long way in terms of helping you get the best data from users.

Starting with version 3.1, you can dynamically change the label of a question, using answers from other questions in the form. Dynamic question labels are particularly handy when working with very long forms, making questions in your survey more meaningful to end-users.


The Water Violation survey sample on the side, for example, shows how you can insert the Type of Violation and Name of Offender in the photo and signature questions that follow.


This is quite a simple example to illustrate the idea. As your survey includes questions across multiple groups, repeats and even pages, dynamic labels become critical to aid with form navigation and to avoid user input errors. 


The dynamic labels technique is often described in survey jargon as question piping, where user responses are inserted or piped into questions further into the survey.


You can add dynamic labels to your forms using Survey123 Connect for ArcGIS. Once published, dynamic labels will work in both the Survey123 web as well as the field apps.



The basics of dynamic labels in XLSForm



In order to insert text dynamically within a question label, you must add XLSForm variables in the label column of your survey. The syntax is quite simple. Insert ${QuestionName} exactly where you want the answer to a particular question in the survey to appear in your label.  This is what the Water Violation example illustrated above looks like in XLSForm.



You can add multiple variables to the same label but it is important to highlight that the use of full XLSForm expressions within the label column is not supported.  Survey123 will only replace XLSForm variables. For example, this is valid:



But this is not valid:



While you cannot use full XLSForm expressions within the label, you can use them in a calculate question, and then reference your calculate question in the label. Calculate questions will not show in your form, but will help you hold the output of full XLSForm expressions, so you can insert those values in a label. For example, lets pretend you want to use a dynamic label in a note to describe the total cost of repairs of a pipe, given its length:



The cost question is a calculate. It will not be shown in the form to the end-user. We use the cost calculate question to run a full expression that evaluates the total cost, and once we have that, we simply use it for our dynamic label.


Working with different data types


As you work with dynamic labels, you will notice that things are straight-forward when you want to insert values from questions of type text, decimal or integer.  All you will need to do is to reference these questions directly exactly as shown above.  When working with other types such as dates or select questions, things are a bit more complicated and you will need to pre-process user values through calculate questions before you insert them into the label.


  • Dates: If you want to insert a date value within a label, you must first use a calculate question and apply the format-date() function. There are some details about formatting dates in Dates and Time in Survey123 for ArcGIS  After doing this, you can bring the formatted date value string from the calculate question, into your label.


  • Select_one questions: If you want to bring a user selection from a select_one question into a dynamic label, you have to keep in mind that by default, you are going to get the choice name value, not the label of the selected choice.  If you want to display the label of the selected choice, then I suggest you use a calculate using the jr:choice-name() function.



Support for the XLSForm jr:choice-name() function was introduced in Survey123 in version 3.1 in both the field and web Survey123 apps.  This function takes two inputs: a string representing a choice name, and a second string representing the name of the select question. Note that the second parameter requires you to enclose the question with quotes.

The output of this function is the label of the choice name passed-in.  If this function is used in a multi-language survey, the label returned is that of the active language.  


  • Select_multiple questions: Select_multiple questions let you choose one or more values from a predefined list. The output of a select_multiple question is a comma-separated string representing all the values selected by the user. This output, as is, is not the easiest to handle with dynamic labels, but again you can use other calculate questions to properly massage the output before it is added to your question label.  The Understanding Multiple-Choice Questions in Survey123 for ArcGIS  blog post describes in more detail how multiple choice questions behave and how you can work and control its outputs.


Other things to consider


There are some obvious and not so obvious things to consider when working with dynamic labels:


  • If you reference in your label a question for which the user has not provided an answer, then your question is going to have some missing text.  You can choose to be clever with the label. For example, in our Water Violation Example it is not evident when the violation type is missing. You will either read “Photo of the violation” (No violation type chosen) or “Photo of the Broken Pipe violation” (if Broken Pipe has been chosen).  In practice, you will not always get so lucky when the variable is missing.  In the pipe cost repair example above, it is evident that we are missing something in the total cost note when a dollar amount is not present.  You can choose to use a relevant statement to hide questions with dynamic labels until the variable to be replaced (in our example the cost or repair) has a valid value. In these cases, you can use the string-length() function as shown in the following example.



  • Your dynamic labels will certainly look great in the survey, but what about when you bring your survey layers into web maps? Or when you look at your survey data in the Survey123 website? On this one, it is important to understand what really happens when your survey is published, and how the Survey123 website as well as other ArcGIS apps work with your survey layers.


When you publish an XLSForm document with Survey123 Connect, we take the values in the name column of your survey spreadsheet and we use them to create new fields in the survey feature layer.  By default, we use the contents of the label XLSForm column to define the field aliases of your attribute fields.  Typically, ArcGIS apps will use the field alias for display purposes. This is the case in the popup of a web map as well as throughout the Survey123 website.


When you insert a dynamic label, your field aliases will include the variable placeholder and that will not look very nice.  If you are worried about this, make sure you set the alias value for your attribute fields in the esri::bind:esriFieldAlias XLSForm column.  Alternatively, you can also refine the field aliases, after the survey is published, from the Item Details page of the feature layer item.



If used wisely, dynamic labels can help you build better and more user friendly smart forms.  We hope this new feature is useful to you!

When you have a multiple choice question in a survey, have you wondered why the data in a popup looks different than in the form?


When Survey123 publishes a single choice question, by default it takes advantage of geodatabase domains to write the default label into the feature layer as well – this allows the label to appear automatically in popups in the Map Viewer and other applications in your ArcGIS Organization. 


With multiple choice questions, this is more difficult.  Survey123 stores multiple choice questions as comma-separated values in a text field.  That means there isn’t a built-in way to view labels for these questions. 


However, Arcade can be used to take the values stored and substitute appropriate labels.  Arcade is a cross-platform expression language for ArcGIS, and is currently supported in web map pop-ups and ArcGIS Pro.  Previously, Carmel Connolly showed how to use Arcade with ‘other’ choices in questions.  For multiple choice label substitution, a template attribute expression is available at the Esri’s Arcade Expressions GitHub repository; you will need to enter in: 

  • The name of multiple-choice question’s field 
  • The list of values and labels to be substituted 


// Replace the field name here 
var fieldName = "like_fruits";
// Replace the choices here 
var choices = {}; 
choices['apple'] = 'Apple   '; 
choices['banana'] = 'Banana   '; 
choices['grapes'] = 'Grapes   '; 
choices['kiwi'] = 'Kiwi   '; 
choices['orange'] = 'Orange   '; 
choices['peach'] = 'Peach   '; 
choices['strawberry'] = 'Strawberry   '; 

function formatLabels(inText) { 
    return Concatenate("", inText); 

function formatMulti(inField, d) { 
    var values = Split(inField, ','); 
    var labels = []; 
    for (var i in values){ 
        labels[i] = formatLabels(d[values[i]]); 
    var outText = Concatenate(labels, TextFormatting.NewLine); 
    return outText; 

formatMulti($feature[fieldName], choices);

You can see this expression in this webmap.

Do you or your colleagues know a little about Survey123, need to learn more, but dont know where to start? If so, we have created three learning paths to help you take you to that next level.


We know there is already a LOT of information available to help you, and that the sheer amount can be overwhelming. To help focus your attention, learn paths are collated around a theme or a learning objective. They are made up of different types of content - some of the content has already been around for a while, some are new - and include videos, tutorials, blogs and formal documentation.


For true beginners start with Try Survey123. In this path you'll use a survey first hand, build one yourself and take a look at the data that can be collected with a survey.


Take your surveys further does just that. Learn how to make your surveys open to the public, use offline maps, connect to existing feature services to collect data and customize how your data is delivered to stakeholders.


Creating your first few surveys can be straight forward: add questions, style and publish. But there's almost no limit to how smart you can make your form. Explore XLSForms for Survey123 will show you how to dynamically populate answers based on previous questions and data from external files, and how to translate your survey for multilingual use.

These paths are hosted at Learn ArcGIS. Let us know what other Survey123 paths you would like to see created.

Whether the natural disaster is flooding, fire, earthquake, landslide, hurricane or tornado, there will be people in need and infrastructure to repair. A key question to be answered before any serious recovery efforts start is the magnitude and impact of the event; quantifying the damage. In times like these, collaboration, coordination and well-established procedures are critical.


The US Federal Emergency Management Agency (FEMA) Damage Assessment Operations Manual defines Standard Operating Procedures for assessing damage and outlines information considered when evaluating requests for a Major Disaster Declaration. This 60-page manual is intended for emergency management practitioners as well as private sector and non-governmental stakeholders who have a role in assessing damage or requesting disaster assistance.


FEMA has condensed the inputs that it requires by creating Preliminary Damage Assessment templates in Survey123 for ArcGIS. These templates reflect the necessary assessment details contained in the manual and are designed to quickly operationalize this information.


The purpose of this blog post is to introduce these FEMA Preliminary Damage Assessment templates (“FEMA Templates”) and describe how they can be configured and optimized using Survey123 to support damage assessment efforts.


A First Look at the FEMA Damage Assessment Templates


The main driver for the FEMA Templates included in Survey123 is to provide State, Local and Tribal Governments with a straight-forward and efficient tool for capturing the exact information FEMA is looking for when evaluating requests for a Major Disaster Declaration (Robert T. Stafford Disaster Relief and Emergency Assistance Act declaration).


Two templates are provided, each matching the information required by FEMA to evaluate requests for the Public Assistance (PA) and Individual Assistance (AI) FEMA Recovery Programs:


  • FEMA Public Assistance (PA) Program: Assists with the restoration of equipment, buildings and other infrastructure damaged by the disaster. It also provides aid for the removal of debris and emergency protective measures.
  • FEMA Individual Assistance (IA) Program: Provides assistance to support the recovery of disaster survivors who have uninsured or under-insured necessary expenses and serious needs.This may include assistance for temporary housing and housing repairs, replacement of essential personal property, etc.


The templates are designed to support the delivery of PA and IA Preliminary Damage Assessment forms via both the Survey123 web and mobile apps.


The Survey123 web app is ideal to support damage assessment self-reporting methods. Self-reporting is primarily conducted at the local or county level to develop initial damage information, which would later be reviewed and validated. Typically, the Survey123 forms would be made publicly available and shared with affected communities via local web pages, social media, etc.


Purely for demonstration purposes, you can preview unmodified examples of the PA and IA Survey123 forms from your browser through the following links:


                              Survey123 FEMA IA PDA Demo Survey                              Survey123 FEMA PA PDA Demo Survey


The same forms can also be used from the Survey123 field app. The Survey123 field app is better suited for field-level damage assessment methods such as Door to Door and Windshield Damage Assessments. IA and PA forms can be downloaded into the Survey123 field app for use in desktop computers, laptops, and mobile devices. Once downloaded, the forms can be used by the damage assessment teams even while disconnected from the network.


To preview unmodified examples of the PA and IA forms in the Survey123 field app, you will need to first install the Survey123 app in your device. You can download it from the Google Play and iTunes Apple stores. You can also download desktop versions of the Survey123 app for Windows, Mac and Ubuntu Linux.




The PA and IA PDA demonstration forms above have been published using unmodified FEMA templates included with Survey123. In practice, the templates would rarely be used without modification.

I will use the remainder of this blog post to describe how you can publish, configure, and optimize the templates for your own use.


There are three main reasons why you will want to publish the templates into your own organization:


  1. You will want data captured with the PDA Forms to be securely stored in your own ArcGIS organization, so you can validate, triage, summarize and ultimately share damage assessment information with FEMA for evaluation.
  2. You will want to be able to configure and optimize the FEMA templates for the particularities of specific disaster situations, geography, and the damage assessment methods and teams employed.
  3. You will want to tightly control who has access to submit damage assessment data to your organization.


Publishing the IA and PA PDA Surveys Into Your Own ArcGIS Organization


The FEMA PA and IA PDA survey templates are included out-of-the-box with Survey123 Connect for ArcGIS and can be published to your own ArcGIS or ArcGIS Enterprise organization easily and in just a few minutes.


Survey123 Connect is a desktop tool for designing and publishing advanced smart forms into ArcGIS. It is available for Windows, Mac and Ubuntu Linux and it is available through the Survey123 Download page.


Here are basic steps to get the PDA templates published with Survey123 Connect:


  1. Open Survey123 Connect for ArcGIS and login with an ArcGIS account with Publisher permissions.
  2. Click on New Survey
  3. Select the Community category and search for the FEMA PDA template you want to publish
  4. Set the Title of your form and click Create Survey


At this point, Survey123 Connect will launch your default spreadsheet editor (typically Microsoft Office) to display the FEMA PDA template in XLSForm format. Survey123 Connect will also preview the contents of the XLSForm.  To publish the template unmodified, close Microsoft Excel and click the Publish button on the left vertical bar of Survey123 Connect.


Once your PDA form has been published, you can download the survey into the Survey123 field app or open it with a web browser to submit data. All damage assessments submitted will be securely hosted in your own ArcGIS organization in a Hosted Feature Layer.


To preview submitted data, go into and login with your ArcGIS account.  Your data and reports will be available under the Overview, Data and Analyze tabs.


Configuring and Optimizing Ad-hoc PDA Surveys


A key factor for success when deploying the PA and IA PDA survey templates provided by FEMA is to properly configure them to support the particularities of the event, the damage assessment method employed, and the target audience for the surveys.


Typically the templates will be used as starting points to configure ad-hoc PDA surveys to serve the needs of a single event. In fact, the templates may be used to publish not just one, but several PDA surveys for a single event. For example, a PDA survey may be configured to support initial damage reports by the public, and a second one to support door to door damage assessments by skilled teams. You may also want to configure different PDA surveys to split damage assessments by geographic area, etc.


The purpose of configuring ad-hoc PDA surveys is to optimize the damage assessments efforts in the field as much as possible, and guarantee the highest quality incoming data. Configuring and optimizing the FEMA templates requires knowledge of the XLSForm standard specification. To learn more about using XLSForm with Survey123 Connect refer to the following materials:



Here are some common techniques that you may want to employ to tailor your own FEMA PDA templates:


Hiding questions and setting defaults: It can be very frustrating for field personnel to repeatedly have to complete sections of the form with information that is common to all the damage assessments. A good example is the Incident ID Number or the Incident Begin Date. Since you will be publishing the PDA surveys specifically for a particular event, both the Incident ID and Begin Date will be known for all Damage Assessments. For local events, location information such as the State and even the County will never vary and will be known in advance. So, why should field personnel need to worry about these recurring details? With Survey123, you can configure forms to hide these questions from the end-user and still submit the correct/complete data by setting up default values before you publish the survey.


Reducing choices in lists: The PDA forms include a number of lists to facilitate data entry. This includes lists such as US states and territories, US counties, event types (drought, earthquake, tornado, etc.) and many others. You can configure your PDA surveys to only show choices that make sense for your effort. For example, in assessing damage caused by flooding around the mouth of the Columbia River, you may want to limit choices in the States list to Oregon and Washington; in the Counties list to Pacific (for Washington) and Clatsop (for Oregon). From the Event Types list, you will want to remove choices such as drought, tropical storm, tropical depression and any others that do not apply to the area.


Removal of questions: The FEMA provided PDA templates are exhaustive and in certain sections include detailed information that can only be completed accurately by trained staff. You may want to remove certain questions, particularly when you choose to provide access to IA PDA surveys for citizens and businesses to self-assess damage to their own property. Non-trained citizens may not know the difference between the different levels of damage to a housing unit (minor, major, destroyed…) for example. In these cases, you may want to simplify the form as much as possible and ensure only critical information is included, such as the location of the damage, photos, insurance information, type of building, etc.  Questions can be removed from the XLSForm FEMA template before publishing.


Cosmetic changes: The look and feel of the survey, including the color of the header, description, thumbnail, title, and other aspects can be adjusted to meet the branding guidelines of your own organization.


Offline maps: Once a Survey123 form is downloaded into the Survey123 app, it can be used even if disconnected from the network. This is critical in situations where communications are interrupted due to the event itself, or when working in very remote areas that lack network signals. Now, the map included to help validate the location of a damage assessment needs to be configured to operate offline in the specific area where the damage assessments will be performed. Just for clarity, even if the map is not configured for offline use, the PDA Form will be functional. That is, even without an offline map, field teams will be able to capture the location of damage assessments by leveraging the built-in GNSS receiver in their mobile device, or an external one. Configuring an offline map provides field teams with a visual clue to validate that the location provided by their device is accurate.  The map is also useful to define the location of the damage when the field team can’t physically get close to it. For example, when describing damage across a river or road or within private property.


Collaboration through the Inbox: This is more of a configuration of the survey rather than an adjustment to the template, but it is a consideration worth highlighting. By enabling the Survey123 Inbox before publishing your survey, you will allow field teams to see each other’s work. That is, field teams will be able to request to see damage assessments submitted by others from the Survey123 app. This is really useful to avoid work overlaps, but also to help teams pickup on each other’s work. For example, one team may start a damage assessment and a second team may review and finish it.


Securing Access to Your PDA Surveys


Once your PDA surveys have been tailored to your needs and published into ArcGIS, it is important to control who is granted access. This is all easily done through the Survey123 website.


Survey123 for ArcGIS supports the use of private and public forms.


  • Private forms leverage the ArcGIS security model so your PDA survey can be privately shared with one or more groups defined in your ArcGIS organization. Access to private groups require end users to log into Survey123 before damage assessments can be submitted. When working with private surveys, all damage assessments automatically carry information about the person that originally submitted the data and the last person that changed the data. This is known as Editor Tracking and is a critical component to clearly understand who is doing what.


A not so widely known feature of Survey123 is that it supports social logins. Through social logins, personnel performing damage assessments can be given a choice to use their Facebook or Gmail credentials to authenticate against ArcGIS. This is of particular importance when working with groups of volunteers, who may not remember new ArcGIS credentials assigned to them.


See the Sharing your survey with members of your organization video tutorial for more details.


  • Public forms allow any person, even without an ArcGIS account, to submit data using Survey123.  This is of particular importance to support individual assessments. While public forms are supported by the Survey123 field app, the most common use of public forms is through the Survey123 web app. Links to your survey forms can be posted in social media, websites, and shared with local media.


A discussion around public forms with Survey123 is available through the Getting Started with Public Surveys GeoNet blog post.


Visualizing, Analyzing and Reporting Submitted Damage Assessments


The Survey123 website includes built-in visualization and reporting capabilities, which can be leveraged out of the box against all submitted damage assessments. For example:


  • Survey overview: Describes how many damage assessments have been submitted, when, and by whom.
  • Data: Allows you to visualize all damage assessments, as they come in, with both a map and a table view. You can also filter and look into the details of specific assessments as well as download and even print damage assessment reports following your own custom designed report templates.
  • Analyze: Aggregates all information submitted providing a variety of maps and charts to choose from.


For a quick overview of capabilities available through the Survey123 website, please refer to this video-tutorial.

We just released a minor update to Survey123 including a few high priority fixes. Here are the highlights:


Survey123 Website


  • Submit photos in public surveys where query capabilities are disabled: This is quite a critical fix for all of you working with public surveys involving sensitive data.  Starting with this update, you can protect data from your public surveys by disabling queries in your survey feature layer and allow anonymous users to submit data and photos. We announced this issue as resolved for the Survey123 field app in a previous update and now this update to the Survey123 web app completes the fix so you can submit from either the Survey123 web or native apps. For more details on working with Public Surveys and disabling queries to protect your data, refer to Getting Started with Public Surveys 

The fix described above will take effect on all newly published surveys. If you already have a survey published and you are running into this issue, then you will need to republish the survey (from Connect or Web Designer as appropriate).  Republishing your survey will not cause the loss of any previously captured data.  In the event that any data needs to be deleted during the publishing process, then you will be warned in advance.  For details on situations where republishing a survey may cause data loss refer to the Publish your survey—Survey123 for ArcGIS | ArcGIS help topic.

  • BUG-000114225 Report generated from the Survey123 for ArcGIS website shows incorrect time. Also discussed at date/time error on report beta .This now has been fixed.


Survey123 Field App (Build 3.0.149)


The Survey123 Field App has been updated across all supported platforms. You can download it into your mobile device from the Google Play, Amazon and Apple app stores.


  • Missing data in the first record of a repeat group when the survey is open from the Inbox, Draft, Sent or Outbox folders or the repeat_count XLSForm column is used: This issue has been described through BUG-000115742, BUG-000115754 as well as GeoNet threads including problem when using a repeat count limit, in survey123 mobile app only , Data Lost When Saved as Draft and Can you edit a repeat of an already submitted record?   Thanks to all who helped us narrow down the issue and/or validated the fix through the Survey123 Early Adopter Program.
  • Fixes to autocomplete appearance: The autocomplete appearance is used to provide auto-suggest (or auto-complete) capabilities to lists in Survey123. This update includes a handful of important fixes to problems you reported. For example, autocomplete now supports the use of default values, html formatting for choice labels in the list (see details athtml formating select one list) and also shows previously entered data when working with surveys open from the Inbox (referenced by Stefano Mauri at Populate select_one question with a value from asset).  For completeness on the status of the autocomplete appearance, you should also know that there is still some work pending regarding calculations and autocomplete. Specifically, calculations will not trigger automatically when your survey record is open from the Inbox, Sent or Draft folders, if you choose to apply the autocomplete appearance to your select_one question (this fix is targeted for our 3.1 release in October 2018).
  • Added error explanation when attempting to submit to a feature service that doesn't allow users to add features: This caused a headache to Carl Holt and we do not want that to happen! See the Send Error Geonet thread for details.
  • Fixed override issues on geopoint questions: This issue is described in detail at Survey123 calculating geopoint defaults back to GPS  In short, with this release, the location from your device will no longer override the value of a geopoint question if an expression is added to the XLSForm calculation column.  This ensures that the geopoint value will always be set from your calculation.
  • Strike-through fix on labels of choices: As described by Braden Burkholder, the labels of choices in dropdown lists were stroked-through in some specific conditions (select_one with minimal appearance within a repeat, with a relevant statement applied and set as required). The issue, which is described at Strikethrough on Repeat Records  has been addressed in this update.  Thanks Branden for finding the problem and helping us validate the fix too through the Early Adopter Program!



Other Notes


  • Survey123 Connect (Build 3.0.142) has also been update. This release of Survey123 Connect includes very minor fixes.
  • We have not made available the source code of this update with AppStudio for ArcGIS. This update is built using AppStudio for ArcGIS version 3.1, which is still not publicly available. We will get the source code in AppStudio up to date once 3.1 is released in September 2018.
  • A What is New historic archive is available at What's new in Survey123—Survey123 for ArcGIS | ArcGIS 
  • Our next planned release is 3.1, which is targeted for October 2018. If you would like to learn more about what is coming with the release and want to test your production surveys with it, I encourage you to sign up to our Survey123 Early Adopter Program.  Key features planned for 3.1 include:

    • Keep attention to and provide fixes to critical software defects that may get on your way.
    • Add support for working with external GNSS receivers in the Survey123 field app, so you can not only get more accurate location data, but also be able to store all GNSS metadata from the device (FixType, VDOP, HDOP, Num of Satellites, FixTime, Horizontal Accuracy etc)
    • Add support for Question Piping in both the Survey123 field and web apps, so you can embed within the label of a question a response to a previous question in your form.

This update is focused on the Survey123 field app and Survey123 Connect, which have been updated across all supported platforms. The new build number for the Field app is 3.0.144 and is available in the Apple, Google Play and Amazon App Stores. You can also download the Survey123 app and Survey123 Connect build 3.0.138, from our Survey123 for ArcGIS | ArcGIS download page.


This is a maintenance release introducing a handful of fixes. Here are the most important:


BUG-000111702 : Surveys created using Survey123 Connect for ArcGIS apply a restriction on high resolution photos when the photo is taken using the camera within the application, even when the image settings are set to unrestricted.


This issue was also raised through Survey123 is it possible to upload original resolution photos? and Survey123 photo ratio differences 


For context, Survey123 Connect includes a number of settings that let the author of a survey control the size of images uploaded into ArcGIS. The Image settings can be accessed as shown in the next animation.  Up until this release, the 'Unrestricted' mode was not working properly because images where being reduced in size.



The image size setting applies to photos taken with the built-in Survey123 camera. Images selected from your photo gallery in the device are uploaded to ArcGIS without modification.


When using Unrestricted mode or when browsing for local photos, be aware that files larger than 10Mb will not upload into ArcGIS Online.   If working with ArcGIS Enterprise, you can set the maximum size of files to be uploaded as described at Uploads—ArcGIS REST API: Services Directory | ArcGIS for Developers 


BUG-000114671 : Survey123 for ArcGIS 2.8.2 crashes on iOS 11.4 when the Record Audio button is pressed if Thai or Arabic language is listed in the iOS Operating System Language and Region Settings for Preferred Language Order list.


BUG-000115406 : Surveys made in the Survey123 website using JPEG thumbnails display blank/incorrect thumbnails when downloaded in Survey123 Connect for ArcGIS and the Survey123 field app.


Calculations behavior : This is a change dealing with the behavior of XLSForm calculations in surveys from the Drafts, Sent and Inbox folders.  There are a number of GeoNet discussions highlighting the issue such as Calculate field not working properly after saving a draft.


More than a software defect, this is a matter of defining what the correct behavior should be for calculations when a form is loaded from the Drafts/Sent/Inbox folders. We have been going back and forth on this one based on your input, initially always re-calculating and overwriting values, then disabling calculations on the initial load. Starting with this update, we have implemented a solution that falls somewhere in between. We want to thank all of you who have worked with us through the Early Adopter Program and this GeoNet Group to define a logical solution that works in your use cases.


In short, XLSForm Calculations will execute when your form is initially loaded from the Draft, Sent and Inbox folders. If the output of the calculation is different to the value found in the corresponding question, then we will enable the 'refresh' button on the question to let the end-user decide if the previously existing response should be overwritten. If the output of the calculation is the same as already found in the question, then no refresh button will be shown to the end-user and the value will remain untouched.  In either case, calculations will continue to trigger as usual as the form gets edited by the end-user.


Geopoint questions set to null within a repeat : As described in a discussion under this post The Power of Nothing , geopoint questions within a repeat could not be set to a null esriFieldType. This problem has now been addressed.



We are planning to release a couple more fixes-only maintenance updates before our 3.1 release. Please keep your feedback coming through Esri Tech Support and this GeoNet Group.  As usual, we will do our best to be responsive to your requests.  The next fixes-only update is tentatively scheduled around the end of August, in just a couple of weeks.


Other notes:


  • For an archive of What is New in Survey123, please refer to our documentation topic: What's new in Survey123—Survey123 for ArcGIS | ArcGIS 
  • The source code of the Survey123 for ArcGIS AppStudio Enterprise Template will not be updated until our 3.1 release (tentatively planned for October 2018).  The most recent builds of Survey123 were built using AppStudio 3.1, which is still not publicly available.

After some valuable inputs I have reworked this example to cater for the GOTCHA where a user deletes an image in the middle of the sequence of photos - lets hope its fool proof now! It definitely isnt perfect but hopefully it gives someone else out there an idea of what can be done - and with a little extra effort make it completely fool proof...


Do you have the requirement that your field workers might want to take/attach multiple photos to a survey but you dont want to use a repeat to capture them, since you know its harder to access those photos later?  Just adding multiple image fields to your survey leaves your user interface cluttered like this:


Thats pretty ugly right?


One solution to unclutter the interface is to show the second photo field only once a user has already taken a photo. And after the user took the second photo, the third photo field becomes available... etc etc...


That can be achieved easily by setting the relevant field of each photo field with a calculation such as checking the value of the previous photo field:



The trick to get this to work when a user decides to delete a photo in the middle of a sequence of photos already added is to do the relevant calculation only once with the help of the once() function.


Doesn't this look much less cluttered:


After taking the first photo, the second one is opened up:

[Published: July 31st, 2018]

[Updated: August 2, 2018]


We are happy to announce a new update to the Survey123 Website, Survey123 Connect and the Field App. This release includes a handful of important fixes. 

Survey123 Web Designer


Fixes to Survey123 Web Designer have been applied and you do not need to do anything on your end to take advantage of them.


  • BUG-000115501: Unable to publish a survey if it contains a relevant rule and related field name has been updated in Modify Schema: This issue was introduced in version 3.0 as described here: Survey 123 publishing error message . Now addressed.
  • Questions are not shown in the right order in Web Designer after manually shifting question order: Now addressed.
  • Duplicated basemap entries in the basemap selector of the geopoint question. Addressed.
  • BUG-000115631 When the ArcGIS Online Organization language is set to Spanish, the Data tab of a survey on the survey123 website will be blank. Addressed.
  • BUG-000115313 The Survey123 Website does not generate feature layers with SupportsApplyEditsWithGlobalIds=true when publishing against ArcGIS Enterprise. Addressed


Survey123 Feature Report Service (Beta)


Fixes to the Survey123 Feature Report Service have been applied and you do not need to do anything on your end to take advantage of them.


  • BUG-000115108: Generating reports that contain attachments added outside of Survey123: Some of you have reported that the Report Service in Survey123 will fail to generate a document if the feature contains image attachments added from Collector for ArcGIS, Web AppBuilder, ArcGIS Pro etc. With this update, the document will be generated, although the attachment will be ignored.  To understand this behavior, it is important to describe how image attachments are added into reports. In Survey123, when a new image question is added it is mandatory to select a question identifier. For example: PhotoIssue, or PhotoCarBack, InspectorSignature etc.  This identifier is used to properly place the photo, sketch or signature in your report.  Survey123 is the only app in ArcGIS that lets you tag attachments this way.  Since attachments submitted from other apps are not tagged, you cannot reference your attachments in the report template. So again, with this update the document generation process will no longer fail, although the attachment will be missing. Until other apps in the ArcGIS platform are able to tag attachments, the Survey123 report service will not be able to include photos from other apps in the report.
  • Generating reports against data in ArcGIS Enterprise: This issue is a variation of the previous one where the Report Service was failing against surveys in ArcGIS Enterprise containing attachments. With this update the Report Generation will not fail, although the attachments will be missing because image tagging is not available yet in ArcGIS Enterprise.
  • Handling large images. The Feature Report service is now more tolerant to large images (panorama photos for example).
  • Handling repeats with no records: With this update, the Report Service will not fail if your survey includes a repeat with zero records.


Survey123 Field App


The new build of the Survey123 field app is now 3.0.134 and it is available for download from the Google Play, Amazon and Apple app stores. If you use the Survey123 Field App on Windows, Mac or Ubuntu, you can download the latest from our Survey123 for ArcGIS | ArcGIS Download page.


  • BUG-000108408, BUG-000114360, BUG-000114216  These 3 issues are related and affect all of you who want to submit attachments while disabling or limiting query capabilities in the Survey123 feature layer. This is useful when your survey contains sensitive information and you want to block queries on the data while allowing users to submit. The problem is discussed at Cannot attach images in Public Survey , Bug when submitting survey , Problem with public survey. The cause of this problem is an ArcGIS Online feature service defect, plus an issue in the Survey123 app that was failing to report the underlying problem in the ArcGIS Online feature service. With this update, the Survey123 field app will properly report the submit error through a dialog. ArcGIS Online, as of August 2, also addresses the feature service problem. We are actively working with the ArcGIS Online team to get the feature service problem addressed as soon as possible (potentially August 2 or August 3). This will complete the fix.  In the meantime, please refer to this Esri Technical Article describing how to configure your feature layer Bug: Unable to add images to a survey in Survey123 for ArcGIS


Please note that submitting attachments against feature layers with restricted query capabilities is still not possible from the Survey123 Web App. This update fixes the problem int the Survey123 native app, but we still have a fix pending for Web Forms. The team is actively working on this fix with a goal of releasing a fix around the end of August 2018.



Survey123 Connect for ArcGIS (Build 3.0.128)


The new build for Survey123 Connect for ArcGIS is now 3.0.128 and it is available from our Survey123 for ArcGIS | ArcGIS Download page. You will need to uninstall previous versions of Survey123 Connect in your computer before you can install 3.0.128.


  • BUG-000115491 Survey123 Connect Sign In button is sometimes broken when Windows Credential Manager has the credentials stored.   This BUG was introduced in version 3.0, causing login issues into both Survey123 Connect and the Survey123 Field app in some environments. Thanks to all who reported this problem and helped us find its source.Survey123 Connect sign in issue , Can't Sign In with Survey123 



For an archive of all new features added in Survey123 releases, visit our What is New Help Topic.


We are currently working on another focused fixes-only-update for release in August 2018.

[Last update: November 30, 2018]


Starting with our July 2018 update, Survey123 supports working with Microsoft Flow. Microsoft Flow is a cloud-service that lets you easily build workflows to automate repetitive tasks across multiple applications and services.  Here are some examples of the type of things you can do with Survey123 and Microsoft Flow:


  • Notify a supervisor via e-mail and/or SMS, when a new high priority incident is reported through Survey123.
  • Add a reminder to an e-calendar 6 months after a new installation is submitted via Survey123.
  • Add a new row into a spreadsheet, sharepoint list or SQL Server database when a new survey is submitted.


To get you started I will describe, step by step, how you can automate e-mail notifications after one of your surveys is submitted. This is a simple scenario, but going through it, you will quickly realize how to build your own different flows to do entirely new things.


Getting Started with Microsoft Flow


Microsoft Flow is included with Office 365. The free version of Flow has limited capabilities, but you can upgrade to premium subscriptions. For details check the Microsoft Flow pricing page.  You can also create a 90-day free Microsoft Flow trial.


Unless your subscription to Office 365 already shows Microsoft Flow in the main page, you will need to launch Flow from the Office 365 App Switcher as shown in this animation:



Within Microsoft Flow, go into My flows and select Create from blank. This will present a gallery of Connectors, from which you will be able to trigger your Flow.




Setting up a Survey123 trigger in your Flow:


The very first step in every flow you create is to define a trigger. Search for Survey123 in the gallery of connectors. You will notice that Microsoft Flow includes many connectors out of the box. That is the beauty of it!



As you can see, the Survey123 Microsoft Flow connector has only one trigger: When a survey response is submitted.   After selecting the When a survey response is submitted trigger, you will be prompted for your ArcGIS  credentials.   This is because you will need to select among the surveys that you own, the one that will trigger your flow when a record is submitted. Once logged in with your Survey123 credentials, Microsoft Flow will keep your ArcGIS connection for later use.



In my case, I selected the survey called Incident Report.  My Incident Report survey has a few questions such as the location of the incident, a photo, comments and priority, which can be High, Medium or Low.



Adding condition logic and actions


Once your survey trigger is set, you can start adding conditions, actions and loop statements to your flow. In this example I will add a condition to check if the value of the Priority question in the survey response is equal to High


The survey data is exposed within Flow, so you can dynamically extract values from the survey submitted and use them in your condition expression.



Next, I will add an action in the event that the condition (Priority is equal to High) is true.  I want my action to send an e-mail to someone.  I will choose the Gmail connector, and sign in to grant Microsoft Flow permission to use my Gmail account to send e-mails.



E-mail connectors will let you define the recipient, subject, body and attachments in the message.  Again, bringing values from the survey response is possible too when defining actions. Note how in the subject and body of the e-mail for example, you can include values from the submitted data, such as the Date, Priority, Comments etc.  If you get creative, you can do other things such as building a link to a map centered at the Incident's location.



The body of the e-mail is made out of HTML tags. This helps you format your email, by highlighting certain text in bold, or adding breaklines when appropriate. To create a map link illustrating the location of the incident I looked at the ArcGIS  Use URL parameters to modify maps—ArcGIS  Help | ArcGIS help topic. Note how the X and Y coordinates of the submitted incident, can be dynamically added to the link in the e-mail.


In a later section in this blog post I will describe some tips to dynamically get data from your submitted survey.


While you could keep adding additional conditions and actions, I will leave it here, and save the Flow.  I encourage you to explore the many connectors included with Microsoft Flow. 




Testing your Flow


Now that your Flow is saved, it will be triggered by Survey123 every time a survey response is submitted.  Do the test yourself: submit data with your survey from either the Survey123 web or field apps and your recipient will receive an email.


Learning more about Microsoft Flow


Microsoft Flow provides many capabilities that are out of the scope of this post. If you would like to learn more about Flow I suggest the following:



Handling Dynamic Content from Survey123. A few tips.


One of the great features in Microsoft Flow is that you can process incoming data submitted through your survey response. For example, in the scenario above I processed the values in the Priority question to build a condition. I also used the values in the Comment and Location question for the subject of the e-mail.  


Data from your form is exposed through the Dynamic Content dialog in Microsoft Flow. You can directly bring values or apply additional expressions to them.


When you bring data from the submitted survey into your Flow using Dynamic Content, keep the following in mind:


  • If you have hidden questions in your survey (or metadata questions such as start, end, username etc), you will not see them exposed in the Dynamic Content dialog. However, you can always add them manually into Flow following this syntax:




  • Date and DateTime questions from Survey123 are exposed in Microsoft Flow using the UNIX time format.  If you want to convert UNIX time into a readable date string, use the addseconds function. For example:


addseconds('1970-1-1', Div(triggerBody()?['feature']?['attributes']?['mydate'],1000) , 'yyyy-MM-dd')


  • The output of a select_one question in Microsoft Flow will not be the label of your choice, but its name.  If you want to include the labels of your selected choices in the payload of the webhook, so you can use them through the Dynamic Content in Flow, then use the jr:choice-name() function to extract the label in a calculate or hidden question.


The first parameter represents the choice name. In the example above, I am passing the choice name selected in the 'activity' question.  The second parameter is the question in the form using the list where the choice has been made.  Very often, the first and second parameters will reference the same question, but note that the second parameter is enclosed with quotes, because it does not refer to the value (response) of the question, but to the actual question itself.


Some additional technical details


Technically, when you save your Flow, Microsoft Flow registers a webhook in your own survey. Webhooks are the foundation for having Survey123 communicate with Flow to make all the steps described above work.


A webhook is simply a URL Callback. That is, a URL that is invoked by an app when a particular event occurs, to pass some data to another app.  In our case, the apps are Survey123, which invokes the URL, and Microsoft Flow, which is the receiver of the webhook.


In the initial steps described above, when the trigger was setup by selecting the survey, Microsoft Flow created a unique URL representing your Flow. This url was registered as the webhook URL in your own survey when you saved the Flow.


If working with the Survey123 field app, it is important to remember that users will need to download the survey into the app after the webhook URL has been registered. 

If you want to look at the webhooks registered in a particular survey, simply follow these steps:


  1. Log into and select a survey
  2. Switch to the Settings tab of the survey
  3. Open the Webhooks section.



You really do not need to setup webhooks manually when using Microsoft Flow, but the webhook dialog can be of interest in case you are working with other Workflow Automation services or with your own custom developed web service end points.


Known limitations and roadmap:


I believe that with this first implementation of the Survey123 Connector you will be able to do quite a bit, but there are some known limitations I want to highlight:


  • Attachments are not going to be exposed in the Dynamic Content dialog. You cannot reference attachments manually either. We are working towards enabling access to attachments within Flow in a future release.
  • Data from repeats will also be missing in Microsoft Flow at the moment.

[Published July 17, 2018]

[Updated July 21, 2018]

[Updated July 31, 2018]



This blog post is for those of you that have upgraded the Survey123 field app to version 3.0 and realized that your surveys can no longer submit data to your feature layers. 


Here is a screenshot of the error that the Survey123 3.0 field app will show when working against a feature layer with no supportsApplyEditsWithGloablIDs.


If your surveys do not show evidence that supportsApplyEditsWithGloablIDs is a problem, then you should ignore this blog post.





A little bit of context


As described in our Bull Release (3.0) announcement, the Survey123 3.0 field app no longer can submit data to feature layers where the supportsApplyEditsWithGloablIDs property is set to false.  This is a somewhat obscure property that cannot be simply be turned on with the push of a button. Instead, it switches on automatically when your feature service meets a number of requirements:


  • All layers within the feature service must have an indexed GlobalID field.
  • All relationships (layer to layer, layer to table, layer to attachments, table to attachments) must use GlobalID fields (as opposed to ObjectID fields).
  • If using an enterprise geodatabase, the feature service cannot include versioned feature classes.
  • If using Portal for ArcGIS, only versions 10.4 and newer support this property.


The reason why Survey123 requires supportsApplyEditsWithGloablIDs is that this setting is critical in order to guarantee clean transactions when uploading attachments (particularly when working in low bandwidth conditions) and also to support nested repeats.


We are aware that many of you have feature services where supportsApplyEditsWithGloablIDs could not be enabled immediately, so we made available a backwards-compatibility build of Survey123 2.9 (also referred to as Survey123 Classic), which has been made available on Windows, Android and Mac.  Apple has not yet approved this build in the store so far, but in exceptional cases Esri could provide access to older builds as a temporary measure (Please contact Esri Tech Support for that).


To download Survey123 Classic (2.9), use the version switcher in the top-right corner of our Survey123 for ArcGIS | ArcGIS Download page.



Survey123 2.9 (Classic) is a temporary solution for all of you who can't really adjust to the requirements of version 3.0.  In this blog post I will describe a couple of approaches to enable supportsApplyEditsWithGloablIDs in your feature layers so you can work with 3.0 against your existing layers.


Before embarking into these steps, consider if you really need your surveys to work against existing layers. In many cases, you can simply publish a new version of your survey with Survey123 Connect and have field users download your new survey.


If you want to keep Survey123 3.0 (and other previous versions) working against your existing layers, then read on...

How to check if supportsApplyEditsWithGloablIDs  is enabled in your feature layer


The supportsApplyEditsWithGloablIDs property is not advertised through the user experience in ArcGIS Enterprise or ArcGIS Online .  This property is only visible within the json definition of your feature service.


  • In ArcGIS Online or your portal in ArcGIS Enterprise, navigate to the Page Details of your Form and click on the Form Layer to open the Feature Layer behind your Form.
  • Next, open the Services Directory view of your Feature Service and display it as JSON.
  • Look in the JSON for the supportsApplyEditsWithGloablIDs



You cannot simply edit the supportsApplyEditsWithGloablIDs property. This property only turns true when certain requirements in your Feature Service are met as described in this blog post.


Working with Hosted Feature Layers in ArcGIS Online and Enterprise


If your feature service does not have attachments or relationship classes: This is the easiest scenario. To enable supportsApplyEditsWithGloablIDs, simply enable the sync capability in your feature service. This can be done through the Settings of the feature service.  From go into your Content, navigate to your survey folder and look for the Feature Layer (not the views!). Then open the Item Details page and go to Settings. The Enable Sync capability is inside the Feature Layer (hosted) section. Do not forget to hit Save after you check Sync.



Enabling the Sync capability will automatically create and index GlobalId fields in your feature layer and supportsApplyEditsWithGloablIDs  will switch to true. Once you have enabled sync, you can turn it off.  The Sync capability will not have a negative performance impact on your feature layer, but you will not be able to disable queries in your layer if Sync is enabled.  This is one of the main reasons why you may want to keep Sync disabled.


If your feature service has attachments and/or relationship classes: In this case, we need to overwrite your feature service with a geodatabse schema that includes one uniquely indexed GlobalID field per every layer and table in your service.Additionally, all attachment relationships must be based on GlobalID fields..  The following steps illustrate how to do this, without losing any data you may already have.


  1. In ArcGIS  or your portal in ArcGIS Enterprise, navigate to the Page Details of your Form and click on the Form Layer to open the Feature Layer behind your Form.
  2. Download your Feature Layer data in File Geodatabase format and add the entire contents of the File Geodatabase into ArcGIS Pro.
  3. In ArcGIS Pro, run the Add Global IDs geoprocessing tool on all layers and tables in your File Geodatabase.
  4. In ArcGIS Pro, run the Migrate Relationship Class geopocessing tool against attachment relationship classes in your File Geodatabase.
  5. In ArcGIS Pro, run the Disable Editor Tracking geoprocessing tool against your File Geodatabase data.
  6. In ArcGIS Pro, set all the Editor Tracking fields in your File Geodatabase to "Read Only" using the Design/Fields view as shown in the next animation.
  7. Overwrite your Form Feature service using the Share/Web Layer/Overwrite Web Layer option in ArcGIS Pro.
  8. In your portal in ArcGIS Online or ArcGIS Enterprise, Enable Editor Tracking (in the Setting Dialog of your feature service as shown in the next screenshot) in the Form's Feature Layer.



Make sure you enable Keep Track of who created and last updated features. Do not get confused with the Keep track of created and updated features.


Working with Non-Hosted Feature Layers in ArcGIS  Enterprise


For ArcGIS Enterprise, there are some situations where supportsApplyEditsWithGloablIDs cannot be set to true in a Feature Service. This is the case, for example, when your Feature Service works on top of versioned data or tables not registered in a geodatabase. Installing Survey123 2.9 (Classic) would be the only solution possible unless you unversion your data or move your data into a non-versioned geodatabase feature layer.


Other than the exceptions above, here are steps to enable supportsApplyEditsWithGloablIDs in ArcGIS Enterprise for non-hosted feature services:


  1. Add all layers and tables included in your Feature Service into an ArcGIS Pro session.
  2. In ArcGIS Pro, run the Add Global IDs geoprocessing tool on all layers and tables included in your Feature Service.  It is very important that the new GlobalID fields are indexed using a unique constraint.
  3. If your feature service includes attachments: In ArcGIS Pro, run the Migrate Relationship Class geopocessing tool against attachment relationship classes included in your Feature Service.
  4. Overwrite your existing feature service to ensure that added GlobalID fields are now exposed through your Feature Service, by making them visible.


If after doing all the above, you still cannot see that supportsApplyEditsWithGloablIDs is enabled, then you can try the following:


  1. Overwrite your service definition ensuring this time that the sync capability is enabled.
  2. Enable archiving in your layers and overwrite your service definition.


Technically, Archiving and Sync are NOT required but they will ensure all your GlobalID fields are properly indexed.  Once supportsApplyEditsWithGloablIDs has been switched to true, you should be able to disable archiving and sync if you like.

Please note that while sync will not cause any performance degradation or overhead on your feature service, archiving might.  If sync is enabled, you will not be able to disable queries in your feature layer.