Instance name

ArcGIS Survey123 supports the instance_name setting in XLSForm. Using the instance_name setting, the author of the survey can control what information is used to uniquely identify each response in the Survey123 field app's Drafts, Outbox, Inbox, and Sent folders.

The instance name is useful when looking back at the history of submitted surveys in the Survey123 field app's Sent folder or for identifying individual surveys in the field app's Inbox.

Example instance names in the inbox

In this example, the following expression has been applied to the instance name to the responses to two text questions separated by a space as the identifier for each survey record (in this case, a person's full name):

concat(${first_name}, ' ', ${last_name})

The instance name is defined on the settings worksheet of your XLSForm. When the instance_name column is empty, a default instance name will be applied that lists all the answers to the questions in your survey. Type an expression in the instance_name column to customize the instance name. For example:

${site_name}

format-date(${date_time}, '%Y-%m-%d')

concat(${category}, ' Remarks: ', ${remarks})

concat(${street_number}, ' ', ${street_name}, ' ', ${suburb})

You can use calculations to create your instance name, for example:

${first_number} + ${second_number}

To return the label of the choice for a select one question (instead of the name of the choice), use the jr:choice-name function. For example:

jr:choice-name(${category}, '${category}')

You can also apply HTML formatting to the instance name. You must concatenate the HTML syntax as part of the instance name using the concat() function. In the following example, the instance name is formatted in italic blue text, with the last name in bold:

concat('<font color="blue"><i><b>', ${last_name}, '</b>, ', ${first_name}, '</i></font>')

Tip:

If the HTML syntax includes quotes, you must use single quotes to enclose a text string that contains double quotes, or vice versa. For example: '<font color="yellow">'.

Instance names will display a maximum of three lines of text.

The following example uses an if() statement to apply conditional formatting to the instance name. If the answer to the approved question is yes, the instance name is colored green; otherwise, it's colored red:

if(${approved}='yes', concat('<font color="green"><b>', ${last_name}, '</b>, ', ${first_name}, '</font>'), concat('<font color="red"><b>', ${last_name}, '</b>, ', ${first_name}, '</font>'))

Inbox instance names with HTML formatting