Prepare to edit existing survey data

In addition to submitting new data to a feature layer through a survey, you may need to edit survey data that you have recently submitted, that was collected some time ago, or that has been collected by other survey users.

Enable editing

Survey responses can be edited from the Sent folder and Inbox. To enable editing for a survey, editing must also be enabled for the underlying feature layer.

You can edit previously submitted surveys that exist in the Survey123 field app's Sent folder. For more information on how to configure options for sent surveys, see Sent folder.

To edit existing survey data stored in the survey's feature layer (for example, data collected by another user), you must enable the inbox.

Caution:

Enabling the inbox enables read access to your survey data, which will expose your survey responses. For more information and best practices for securing your data, see Share a survey.

To enable the inbox, go to the Options tab of your survey in Survey123 Connect and click Enable Inbox. A series of options appears, allowing you to control how users interact with surveys in the inbox. Any changes to these options will take effect when the survey is published.

Survey editing enabled in

Choose whether surveys in the inbox can be edited, viewed (read-only), or copied to a new survey. You can type a query expression to limit the surveys that are returned in the inbox. You can also apply a spatial filter.

Note:

The Inbox can contain a maximum of 5,000 survey responses. This limit applies to parent survey records only (it does not apply to repeats).

The more records there are to return, the longer it will take to refresh the Inbox. For a survey that contains repeats, be aware that the total number of records the Inbox retrieves when it is refreshed could be much greater than the number of parent records. For example, if a feature layer contains 2,000 parent records and each parent record has 10 repeat records, the Inbox will retrieve a total of 22,000 records. You can limit the number of parent records by applying a query expression or spatial filter. You can limit the number of repeat records by defining a query in the bind::esri:parameters column.

Caution:

A survey response can only exist on a device in one folder at a time. When both the Sent folder and Inbox are enabled for a survey, refreshing the inbox does not download responses that are already in the Sent folder. This means that if a response that is in the Sent folder is updated by a user on another device, the updated response will not be downloaded to the inbox.

For this reason, it is recommended that you do not enable the Sent folder and Inbox for the same survey if your intention is for multiple users to continually edit and update existing responses.

WHERE expressions

The surveys available for editing in the inbox in the Survey123 field app are determined by the query expression specified on the Options tab of your survey in Survey123 Connect. The survey must be published each time this query is modified for the changes to take effect.

Query expressions must use common SQL syntax and functions supported by ArcGIS. All queries are run against the survey's feature layer, so you can build and test your expression using the query operation on the feature layer's REST endpoint. For more information on this process and examples of query syntax, see Query (Feature Service). For more information on supported functions, see Standardized SQL functions in ArcGIS Online.

The following are example use cases and syntax:

  • This example returns surveys in which the number in the rating field is great than or equal to two:

    rating>=2

  • This example returns surveys in which the date in the EditDate field is on or after April 13, 2017:

    EditDate>='2017-4-13'

  • This example returns surveys in which the Editor field is equal to 'BKlauser':

    Editor='BKlauser'

  • This example returns surveys in which the status field is equal to 'for_review':

    status='for_review'

  • This example returns surveys in which the date in the inspection_date field is in the last seven days:

    inspection_date>CURRENT_DATE-7 AND inspection_date<=CURRENT_DATE

  • This example returns surveys in which the project_status field does not equal 'complete':

    project_status<>'complete'

  • This example returns surveys in which the final_approval field is blank (null):

    final_approval IS NULL

  • This example returns surveys in which the final_approval field is not blank (null):

    final_approval IS NOT NULL

Inbox queries also support the username variable. This variable must be specified in the same format as XLSForm expressions. For example, the query Creator=${username} would return all survey records created by the currently signed-in user.

Note:

The username variable is the only case in which XLSForm syntax can be used in an inbox query expression. Even though the username variable must be written as ${username}, its value is derived from the signed-in user's ArcGIS account, not from a question in the survey.

To return records for the signed-in user from a field that contains a list of multiple users, the POSITION() function must be used in the query. For example, the query POSITION(${username} IN assigned_to) > 0 would return all survey records that include the signed-in user, where values in the assigned_to field might be a comma-separated list of all possible assignees, such as 'George_Smith, Nick_Jones'.

Spatial filter

In the inbox, selecting Refresh updates the list of surveys shown on the List tab. The refresh action generally returns all surveys that satisfy the inbox query expression (if set) and that are not already stored in other folders on the device. When selecting Refresh on the Map tab, a spatial filter can be applied to update the list to show only those surveys that are within the current map extent.

To enable the spatial filter, select Apply spatial filter when the map tab is visible on the Options tab in Survey123 Connect. In the following example, when Refresh is selected, the list of surveys is updated to show only the four survey responses visible in the current map extent. If your survey has an instance name set, each feature on the map is labeled with its instance name.

Map tab for spatial filtering

Repeats

Survey123 allows editing of features that have related records either from the Inbox or the Sent folder. In the Survey123 field app new records can be added and existing records can be edited, although deleting existing records is not supported. Editing existing records is disabled by default unless allowUpdates=true is enabled through a query parameter.

Caution:

You can add, edit, and delete records in repeats in the Survey123 web app and website, regardless of the parameters in the bind::esri:parameters column. For more information, see Edit existing survey data.

The bind::esri:parameters column can be used to supply optional parameters for a repeat. These parameters are formatted as key value pairs, with values that contain spaces encased in quotation marks.

By default, no related records are available with the survey responses from the Inbox or the Sent folder. To access related records for a response, define a query in the bind::esri:parameters column for the begin repeat question type. The query property supports the same parameters as the WHERE expressions above, for example, query="Editor='BKlauser'", to download only the related records with 'BKlauser' in the Editor field.

To download all records in a related table, specify a query without any parameters (query).

Parameters that can be applied to repeats through the bind::esri:parameters column on a begin repeat question type include the following:

  • query—Allows records to be queried and downloaded to the related table, for example, query="severity='high'".
  • allowAdds—Allows new records to be added to a repeat when editing. The default is true. It can be set to false using allowAdds=false.
  • allowUpdates—Allows existing records in a repeat to be updated when editing. The default is false. It can be set to true using allowUpdates=true.

Multiple key value pairs can be used together, separated by spaces, for example, allowUpdates=true query="Editor='BKlauser'". If these values have spaces in them, they can be enclosed in quotation marks.

Images

Survey123 allows the user to add images to existing survey records. While editing existing images is not supported, each image question provides a Duplicate button when editing a survey to copy an existing image that can be edited by rotation, renaming, or editing with the draw and annotate appearances.

Providing new images is enabled by default. To disable this functionality, type allowAdds=false in the bind::esri:parameters column.

There are some known limitations to editing images:

  • Offline workflows are not supported.
  • The signature appearance does not support the Duplicate function.
  • Image attachments use keyword properties to associate an image to the question it was submitted against. Keyword properties are not supported by ArcGIS Enterprise prior to 10.8.1, so an image submitted to a survey published in an ArcGIS Enterprise portal prior to 10.8.1 will not be associated to a question. Similarly, images attached to a feature through a method other than a survey (for example, in ArcGIS Pro or an ArcGIS Online web map) cannot have keywords.
  • When an existing survey is downloaded to a device for use from the Inbox, existing images are not downloaded. The count-selected function will only count images that are on the device and will return 0 when the survey is first opened. Any new images captured will be counted.