Select to view content in your preferred language

Survey123 Inbox – Is dynamic filtering possible before opening the Inbox (including offline use)?

180
10
Thursday
FlaynerRessoni
Emerging Contributor

Hi everyone,

I’m working on a Survey123 workflow where users need to open the Inbox to review and update existing records.
Currently we have a single survey, but the Inbox shows all records. We would like to filter the Inbox based on a “work front” (a category that users belong to or select).

What we need

Before the user opens the Inbox, we want the survey to load only the records associated with a specific work front.

We would like to know if it is possible to:

  1. Dynamically filter the Inbox, based on a value the user selects inside the survey (e.g., a select_one front question).

  2. Filter the Inbox using a URL parameter, such as ?front=XYZ.

  3. Make this work in offline mode (Survey123 mobile app or desktop app).

0 Kudos
10 Replies
HannesVogel
Frequent Contributor

You can create different FeatureServices/Views at first and use those for different Surveys and link your selection survey with the filtered surveys and inboxes with the applinking schema.

0 Kudos
ConorFlynn
Regular Contributor

In S123 Connect (desktop) you can add a query to the Inbox to specify which records show up.

0 Kudos
Neal_t_k
Frequent Contributor

If I am understanding correctly, Another option could be just make several copies of the survey form, all submitting to the same feature layer. Configure the inbox of each to your specific filter.  Then configure your url to the different surveys.

Where are users opening the url from?   Instead of configuring the url with the front parameter, just configure which survey opens based on the front selection.  Assuming the platform would support that?

FlaynerRessoni
Emerging Contributor

Thanks for the suggestions, everyone. Let me clarify our use case, because some important constraints may change the recommended approach.

Where users open the survey

Our users are opening the form from the Survey123 field app and Survey123 desktop, often in offline mode.
Because of offline usage, we cannot rely on URL parameters, web links, thank-you screens, or app linking between surveys.

Why multiple surveys is challenging

Creating and maintaining several copies of the same XLSForm would be difficult in our environment.
We have 26 different work fronts, and each front may have multiple associated records.
Maintaining 26 versions of the survey (or even several grouped versions) would create a high maintenance burden whenever the form needs updates.

What we are trying to achieve

We want to filter the Inbox so that users only see the records associated with their selected front.
Ideally:

  1. The user selects the work front

  2. The Inbox displays only the records for that front

  3. This should work offline in the Survey123 app/desktop

0 Kudos
Neal_t_k
Frequent Contributor

@FlaynerRessoni  The first item is your problem there is no way to select the front as you describe before accessing the inbox. 

In this case your bet might be to configure the instance name to include the "front" selection. And then have users search that "front" once accessing the inbox to get a list in that category.

https://community.esri.com/t5/arcgis-survey123-blog/understanding-the-instance-name-setting/ba-p/898...

https://doc.arcgis.com/en/survey123/desktop/create-surveys/xlsforminstancename.htm

FlaynerRessoni
Emerging Contributor

Thanks for the suggestions, but unfortunately the proposed approach does not solve our main issue.

The problem is not only about filtering the Inbox — it is also about performance.
In our environment, users frequently work offline in the Survey123 field app or desktop app, and the Inbox becomes extremely heavy and slow when it loads records from all work fronts.

Because the Inbox always downloads all records that match the fixed inbox_query before the user can filter or search, using the search bar or instance name does not help with performance. The dataset is already too large by the time the Inbox loads.

0 Kudos
Neal_t_k
Frequent Contributor

@FlaynerRessoni  You mentioned in your first post that the certain users "belong" to a front.  Can you add a field in your form that assigns a username list when a  front is selected.   If so, you use the inbox query to only return surveys assigned to that user.

Neal_t_k_0-1765552057644.png

https://doc.arcgis.com/en/survey123/desktop/create-surveys/prepareforediting.htm

0 Kudos
FlaynerRessoni
Emerging Contributor

Thanks for the suggestion. Unfortunately this approach won’t work for our scenario.
The same user may need access to all fronts, depending on the activity, so we cannot filter the Inbox based on username.

0 Kudos
Neal_t_k
Frequent Contributor

How bout the same approach but limiting the surveys returned by some sort of region or group and then have all the "fronts" in that group available to that user group?

You have lots of conflicting constraints here: 

  • The inbox needs to be online to refresh, and users are mostly offline so they would need to refresh their inbox prior to going offline.  But, The full inbox is resource limiting and users may need to access all the various "front" categories. This would either require users be online to refresh, or have the entire inbox downloaded. 
  • An offline dynamic filter/search won't work as the full inbox would need to be download to make that functional and users being offline, they can't refresh the inbox multiple times a day.
  • To many "front" categories to make multiple surveys/views which also conflicts with the offline issue.

Hopefully someone else has some ideas,  they only thing I am coming up with is to somehow assign the username to some sort of grouping to limit the inbox  and then use the search inbox to filter the "fronts"