Select to view content in your preferred language

Survey 123 - Pre-populate fields when point is selected from Inbox map

09-04-2020 12:58 PM
Occasional Contributor

I'm putting together a data collection workflow for our Parks Department that uses Survey 123. Data collection will include related records as one point may have many related surveys (example: a park bench that is visited once a month to record its condition).

The Parks Dept wants a map-centric data collection workflow. I initially wanted to integrate Collector and Survey 123 so that data collectors could navigate to their points of interest with the Collector app and then tap on the point to open Survey 123. However, after speaking with Esri tech support, I was informed that the only way to be able to do this was to create the feature class in ArcGIS Pro first. I've decided against this since it doesn't seem scalable. In other words, if the Parks Dept has a 25 or 30 question form and the form is constantly being revised, I'm concerned that I'll run into data management or flexibility issues if I'm constantly publishing new feature classes from Pro. What would be ideal is if this could solely be done from Survey 123 (ie, publish a feature class when publishing my survey form), but Tech Support told me that I needed to create the feature class in Pro first if using related records in a Survey 123 form within Collector. I'd be happy to be told that I'm wrong, though.

This is a long way of saying that I'm now trying to get a map-centric "feel" using solely Survey 123. I've enabled the Inbox setting on my form, which kind of gives it a map-centric feel, although I don't love it. Now I'm trying to pre-populate some of my survey fields if the record is selected from the Inbox. For example, if the bench is located in Park A, I want Park A to be pre-populated on the survey form in the "Park Name" field if the data collector has tapped on the bench point from the Inbox. 

I knew how to do this when linking between Collector and Survey 123 by manipulating the URL scheme from Collector. Is there a way to do something similar if selecting an existing point from the Inbox map?

Tags (2)
0 Kudos
3 Replies
Esri Esteemed Contributor

Hi Paul,

I am uncertain why Tech Support advised you that you would need to publish the feature class via ArcGIS Pro; you could certainly publish it via Survey123 (with a 'master' form that includes all of the related tables), provided that all of the relationships between objects, forms, etc. follow a 1:M or 1:1 relationship model (you would technically be publishing 1:M relationships only, but can simulate a 1:1 in Survey123 by using repeat_count to restrict to 1 record).

The type of workflow you are describing typically makes greater use of URLs to launch Survey123 from Collector (or Explorer) rather than use the Inbox; values are passed in the URL to a new form.  The Inbox is solely used to retrieve existing records (a scenario for that is if there's a maintenance request form with a section to be completed once the request has been completed or rejected).

I would also suggest joining the ArcGIS Field Maps beta - it sounds like that might also be an appropriate solution to the workflow you are describing.

0 Kudos
Occasional Contributor

Thanks for your response James. I appreciate the clarification as to when the Inbox is appropriate to use in Survey 123. And thanks for clearing up that a feature class doesn't need to be published from Pro.

I'm planning to deploy our workflow either with Survey 123 being launched from Collector or using Field Maps. An issue that I've noticed with the Collector-Survey 123 route, though, is that two points are being recorded when I record the condition of one of our park's assets: a point is recorded when I initially add a point using Collector, then a second point is recorded when I submit the survey from Survey 123. 

Is there something that I'm missing in terms of how I've configured Collector with Survey 123 that would allow me to record just one point?

0 Kudos
MVP Esteemed Contributor

There is no need to make a point in Collector.  Just launch from a link in the asset point.

I use relationship classes passing the key so that they are all tied together nicely.  Check out this post for more info. 

Hope that helps.

0 Kudos