Survey123 For Identifying and Clearing Work Orders

05-02-2023 02:45 PM
Occasional Contributor II

Hello All

We are using FieldMaps and Survey123 to identify sites in the community that need actions to be taken by either government representatives or volunteers. We have two questions in the initial survey (condition) that ask those taking field data if the site they are at requires agency (government) or volunteer actions to be taken. These sites that are identified will then direct agency and volunteer work days during the summer and these workdays can be general areas and not specific points collected from the initial survey. When agencies or volunteers are in the field they have surveys to record their actions taken (agency action and volunteer action).

What we are trying to do, with making this data easy for both groups to use to direct field work, is the following:

  1. Develop a Dashboard, Experience Builder, ArcGIS Online Map, etc... (looking for good ideas here) that would display the locations (points) that need either an agency or volunteer action.
  2. Come up with a way, not using the Inbox function in Survey123, where either agency representatives or volunteers can clear the actions when they are taken in the field.

We have asked both agency representatives and volunteers to re-fill out the original condition survey after they take their actions so there is a possibility that the actions can be cleared via the latest form that is filled out. Right now, the points are related to the three different tables, so if they collect a new condition survey that does not select "Yes" for the site needed an agency action or volunteer action, that could be a solution since those sites would be cleared. I believe that there is a way using Arcade to only pull the most recent record (i.e., form) that was filled out?

This post is pretty long, but I am happy to provide any clarification about what we are trying to accomplish as needed.




0 Kudos
3 Replies
MVP Regular Contributor

Survey123 = data submission. Make this one way. Remove the sent and inbox folders. Make it so the target feature service doesn't show any features to anyone.

Then create additional Hosted Feature Layers Views for what you need to action i.e.

  • Web Map to be opened in ArcGIS Field Maps to change fields e.g. status = fixed or status = cancelled
  • Web Map to have a web mapping application with an edit tool, to change status as required etc
  • Surveys... for whatever you want to do. Inbox to update. Target related table, whatever

Then align your view editing capabilities to the above.


  • Do the users have logins + licencing to edit (i.e. public, or viewers, would be limited if data is secured)
  • Web mapping applications:
    • Avoid 'classic' configurable app tempaltes, ArcGIS Web AppBuilder, as these are being phased out
    • ArcGIS Dashboards is better for information, not so great for editing. Keep the purpose aligned
    • You'll probably want to use ArcGIS Field Maps, an instant app with editing capability, or most likely ArcGIS Experience Builder.
    • The newer apps listed above will support 'forms' that can give you some control around editing the data via the web map

It's hard to know your exact contextual workflow but I personally like:

  • Geometry data + related table, for single asset/work/location info + history of work/visits
  • Work could be created by one survey for submission
  • Work could be completed using Field Maps and Survey123. Capture the related table information by targeting an existing service with Survey123, specifying the related table name as the form id, then launching the survey from Field Maps using a custom URL scheme to pass the globalid into the parentglobalid field 
  • The overall status of the work could be manually addressed via the web map (set a status field to cancelled). Or it can be done via the Survey123 Inbox (update parent geometry table + add a record into the related table via a repeat).


0 Kudos
Occasional Contributor II

Hello @ChristopherCounsell 

All of the users of this project are unlicensed users without logins.

Our current workflow is pretty much what you have outlined:

  1. We initially use Survey123 to collect locations of new features (points). There are three surveys related to these features.
  2. Field maps has all the features (points) that have been collected and the WebMap is updated every week to display new features.
  3. Users use FieldMaps in the field and when they click on the feature layer the pop-up contains links to each of the three surveys.

This project has been happening for over two years and this will be the first year that we will be directing workflow.

I like the idea of creating a new Feature Layer View of the features that need actions.

Can I make a field in WebMaps that can be interacted with in Field Maps where people can mark that the work at that feature has been completed? Or, do I need to build something into Survey123. Remember, none of our users have log-ins.


0 Kudos
MVP Regular Contributor

Not having logins makes the workflow difficult as for the public to update, they need editing, and your service would be publicly editable.

My understanding is that users need an account to edit in Field Maps. For Survey123... theoretically they can collect new records in the field app if launched via a URL but they won't have access to the inbox.

I don't believe there are any great solutions as by nature of what you are doing, for a user to 'update' the work, the layer or view would need to be editable and shared publicly. Maybe you could accept the security issue and expose just one field for updating status, but then the users would be constrained to updating via a web map. This is in addition to any member of the public flagging the work as complete, when it is incomplete or they are otherwise not responsible for flagging it as such.

It's also difficult to work with data in related tables. So if you have a 'point issue' feature layer with 3 related tables, and continue to capture related data via a one-way add only url scheme targeting the form_id of the repeat, it won't be able to 'update' the symbology or classification on the point layer in the map. Any automated update - e.g. webhooks or python scripts - are just a proxy for public editing.
You can use Arcade to drive the pop-up information.

So... not really the solution you are looking for but I would have something like:

  • Public web survey for users to submit issues (one-way adds only targeting a point layer)
  • Public web map for users to view submitted issues (no editing, potentially filtered to 'reviewed')
  • Public web map has a pop-up from the point layer. It has a custom URL to a table related to the point. Passes globalid into parentglobalid field. Allows for users to submit followup requests. Can have more tables and forms here.
  • Then... users with logins - be it staff or nominated 'superuser' volunteers - get provided logins to edit. They can review the submitted data, use webhooks, web maps, field maps batch editing tools, web mapping applications, survey123 inbox... anything, to edit the data as desired.

If you must allow the general public to edit the existing data, and we can't use Field Maps or Survey123 Inbox, you need to make a public web mapping application. I'd recommend:

  • Hosted Feature Layer View with strict editing settings
    • No geometry updates
    • No deletes
    • No Adds
    • Only display fields you want to see; and
    • Disable editing on each field you don't want to add
  • The above should be clearly marked as public and intentionally so (security tools will check for publicly editable services)
  • Make the Web Mapping Application:
    • Likely in Experience Builder or Instant Apps
    • With purposeful functionality - i.e. just the edit widget
    • Add terms of use, and a splash screen to acknowledge, if you can

If you want to make a web map to show work completed (no editing), make additional views and have them non-editable. Then choose a web mapping application to align to the purpose -e.g. dashboards, or experience builder with other widgets.


0 Kudos