Understanding Survey123's custom URL Scheme

128231
332
07-29-2016 11:14 PM
IsmaelChivite
Esri Frequent Contributor
57 332 128K

.Updated August 10, 2020 (Added reference to Arcade UrlEncode operation)

The purpose of a URL scheme is to provide a well-known protocol for apps to communicate with each other. Through a custom URL scheme you can remotely launch apps and invoke actions in them.  Specifically, the URL scheme in Survey123 allows you to:

  • Launch the Survey123 app
  • Open a survey
  • Prepopulate answers in the survey

A common practical scenario for using the Survey123 custom URL scheme is integrating Survey123 with other ArcGIS apps like Explorer, QuickCapture, Collector or even your own web mapping apps. Take for example a case where you want field users to use a map to identify a particular asset, and then use a smart form in Survey123 to capture information about that particular asset. Explorer, Collector or a plain Web Map can serve the first purpose.


In this post I will first describe the syntax of the Survey123 custom URL scheme, then how to execute a call with it and later how to integrate URL scheme calls into feature popups in ArcGIS Web Maps, so other ArcGIS Apps can leverage it.

About the Survey123 Custom URL Scheme syntax

A call to Survey123 through its URL Scheme looks something like this:

arcgis-survey123://?itemID=89bc8c7844e548e09baa3aad4695e78b&field:AssetID=FF34001&field:Status=Good&center=43.567,-117.380


Let’s break it down:


The first bit is pretty obvious: arcgis-survey123:// invokes the Survey123 mobile app. For this to work, the Survey123 app must be installed in the device in which the call is being made.


Everything after arcgis-survey123:// are optional parameters that you can pass if you want the app to do additional things. The list of parameters starts with a question mark (?).


Parameters are separated from each other through ampersands (&). Each parameter is actually made of two parts: the parameter name and the parameter value, which are separated by the equal (=) sign.  The rules for how to properly pass parameters are common to how you build query strings for the web.


The itemID parameter (itemID=89bc8c7844e548e09baa3aad4695e78b) refers to the survey you want to open. If the survey is not already in the device, the app will attempt to download it automatically. 

To obtain the proper itemID for a survey follow these instructions:

1.    In a web browser, login into survey123.arcgis.com
2.    Click on the survey for which you want the itemID
3.    Now get the ID of your Form from the location bar of your browser.

For example, if the URL of your survey looks like this:

  http://survey123.arcgis.com/surveys/3d02eec41a224902ab4c44e6d39319c8

, the itemID will be: 3d02eec41a224902ab4c44e6d39319c8

The app will automatically attempt to download the survey as specified in the itemID parameter.  If the survey is shared publicly, it will open right away.  If the survey is private, it will be downloaded using the currently logged-in user. If no user is logged-in, a dialog will prompt the user for credentials.


In the example above we use the field:AssetID and field:Status parameters to prepopulate questions in the survey.  If you want a survey to open and have some or all questions already answered, you will add as many field parameters as needed. Field parameters always are prefixed with the word field:  After that, you enter the name of the actual question for which you want to set the answer, then you add an equal sign and the answer. For example:

  • field:AssetID=FF34001 will populate the AssetID question in your survey with the value FF34001.

Here are some tips when passing field  parameters:

  • The value to insert immediately after field: is the value of the corresponding NAME question in your XLSForm. Do  not pass the Label!
  • The value to insert after the equal (=) sign is the actual value that will be stored in the feature service. If you are working with select_one type of  questions this is very relevant, since the value you must pass is that of the XLSForm Name of the choice, rather than its Label.
  • Passing field parameters for questions within a repeat or attachments is not supported at the moment.
  • If you would like to prepopulate a question, but do not want to user to change its value, flag the question in the XLSForm as read-only.


The last parameter we pass in the example above is center=43.567,-117.380.  This will set the location of geopoint questions in your survey at the provided coordinate pair. You must pass a latitude-longitude pair in decimal degrees separated by a comma as no other coordinate systems or formats are supported.


Invoking a Custom URL Scheme call: The Basics


If you would like to give this a quick try, I recommend that you use a web browser to experiment. Start by downloading the Survey123 app into your desktop. You can download it for Windows or for your Mac. Once you have the app, manually launch it and login to download a couple of surveys. Then get the itemID of one of them to start and use it to adjust the itemID parameter:  arcgis-survey123://?itemID=insert your own Form item ID here Then paste it into your web browser to launch Survey123 and open one of the surveys you downloaded. Continue experimenting by pre-populating survey questions.


Once you feel comfortable with the syntax of your URL scheme links, try in your own device. Start by e-mailing the URL Scheme invocation to yourself, and using it from your device's web browser. You can also use Survey123 URL scheme strings to configure hyperlinks in an email, or include them as part of a web page.


Invoking a Custom URL Scheme call from a Web Map


Things get pretty interesting when Survey123 URL scheme links are used within an ArcGIS Web Map. This allows you to integrate Survey123 into other ArcGIS apps, by allowing users to launch Survey123 from the popup of a Web Map in Collector, Explorer or even a web application. This gets interesting for a couple of reasons:

  • First, you can use a map centric app to help the user find a particular asset or location, then easily launch Survey123 from that app to capture data using a smart form.
  • Second, you can use the existing attributes of a feature in the map and pass them into the form to prepopulate answers. This is extremely useful to ensure, for example, that the unique ID of an asset as identified in your map, is passed into Survey123.

To embed custom URL scheme calls within a Web Map, you will want to edit the popup of an existing layer. Choose the Configure Pop-up option in the layer’s menu.

Next, select the Custom Attribute display as shown in the next screenshot.
 


In a Custom Attribute display you can now embed your Custom URL scheme call as a hyperlink. You can ignore the warning indicating that the value is not valid.  If you prefer, you can also work directly using the source HTML view of the popup.
 


As shown below, you can reference attributes from the underlying feature in your Survey123 custom URL scheme by enclosing the name of the feature attribute within curly brackets.


 arcgis-survey123://?itemID=89bc8c7844e548e09baa3aad4695e78b&field:AssetID={assetid}


With this technique, you will be populating the AssetID survey question with whatever value is present in the assetid attribute of the feature’s popup. This will ensure that captured data in Survey123 can always be associated back into the feature selected in the map.

A few quick tips when creating popups:

  • When passing text attributes with spaces, you will want to use the urlencode ArcGIS Arcade function. Otherwise, your links may get cut off at the first space encountered.
  • Field names are case sensitive in iOS. Ensure  you reference your feature service fields with the exact capitalization used in the feature service.
  • If you want to pass lat/lon values from attributes in your feature, be aware that the default formatting rules for the double data type cut-off decimal values to two. You will want to adjust the formatting rule to pass all decimal values to Survey123.

   1) Open the 'Configure pop-up dialog of your feature layer's and then select 'Configure Attributes' .
   2) Now select the attributes with your latitude and longitude values and pick the number of decimals you want to include in the Format drop-down option in the right side of the dialog.

  • If you want to pass lat/lon values from the geometry in a feature, you can add an Attribute Expression to your popup do dynamically get the lat/lon values from the geometry of your feature.

   1) Open the 'Configure pop-up dialog of your feature layer's and then select 'Configure Attributes'.
   2) Add a new Attribute Expression.
   3) Look for Geometry under the Globals tab and fetch Geometry($feature).x
   4) Use the Edit link at the top to give your expression a friendly name
   5) Repeat steps 2 through 4 to create a second expression for the y coordinate.


Once your Web Map is ready, you can next use it within multiple applications such as ArcGIS Explorer, Collector as well as your own web mapping apps.

Tip: Check Announcing a handy tool to generate Survey123 URLs if you would like to automate the generation of Survey123 Custom URLs for us in popups.

Invoking a Custom URL Scheme programmatically


In a web app or website, simply create an HTML link:

<a href='arcgis-survey123://?itemID=89bc8c7844e548e09baa3aad4695e78b'>Launch Survey123</a>

In QML AppStudio for ArcGIS:

Qt.openUrlExternally('arcgis-survey123://?itemID=89bc8c7844e548e09baa3aad4695e78b')

In Java, using Android's Intent:

PackageManager manager = mContext.getPackageManager();

Intent i = manager.getLaunchIntentForPackage(
"com.esri.survey123");
i.setData(Uri.parse("arcgis-survey123://?itemID=89bc8c7844e548e09baa3aad4695e78b"));
startActivity(i);

[This post was updated on October 30, 2018]

332 Comments
Lake_Worth_BeachAdmin
Regular Contributor

thank you again Phil for the outstanding support!

JamesTedrick
Esri Esteemed Contributor

Hi Brent,

Currently, there is no way to automatically send the form when a link inside Survey123 is clicked.

TimothyKing3
Occasional Contributor

I am passing lat/long values that were derived from an EOS GPS unit with Collector into a Survey123 form but the resulting locations in my 123 feature service are off sometimes by 20m.  When I have pre-plotted locations and pass the original lat/long to survey123 they show up in the correct position.  I saw that some of the collected data had up to 13 decimal places in the lat/long and the Confugure Attributes only allows for 8 decimal places.  Any help would be greatly appreciated.

JamesTedrick
Esri Esteemed Contributor

Hi Timothy,

0.00000001 degree (8 decimal places)  is on the order of 1 mm, so that should be sufficient precision to accurately present the position from Collector. A couple of possible issues:

- What coordinate system is the Collector basemap in?  Survey123 only supports Web Mercator; you might see visual differences if a local coordinate system is used

- You are setting the lat/lon of the map in Survey123 by using the center= parameter in the hyperlink?

TimothyKing2
New Contributor II

Thanks James!

The Collector Basemap is in Web Mercator.  I had the pre-plotted data on web mercator as well and was collecting the GPS data into that feature service which may have been the problem.

I am using the center=parameter in the hyperlink.  I am going to set up a test area today and run through everything again.  I am just surprised that some of the points were not able to get the ESRIGNSS info from the hyperlink as they are visible in the attribute table. 

DougBrowning2
Occasional Contributor II

I know this is buried but is any way (or other workflow) to somehow know in collector that a form was filled out?  So I tap the link fill out the survey great but when I get back to Collector there is no way to know that it is already complete.  I can put a status field in but 1 - they must edit and change that manually in Collector and 2 I have multiple forms being launched so i would need a status field for each one. Maybe I can grey out the link?

Can Survey123 tell Collector its done?

Workforce maybe?

Any ideas?

JamesTedrick
Esri Esteemed Contributor

Hi Douglas,

We rely on the feature being updated in the feature service as the indication to other applications that the status has changed - it is reflected in the next data refresh (the refresh interval can be configured in the web map or done manually).

DougBrowning2
Occasional Contributor II

I have a master FC that kicks off multiple forms - so the Survey FCs and the Collector FC is different.

thanks

DiegoLlamas
Occasional Contributor III

Hello everybody, good Afternoon.

I am collecting some data using Survey. With collector I can see all my data i originally collect with survey. What I would like to do is that from Collector open my surveys with the data that I already collect. 

I was able to open Survey and my template from Collector or a Web Map but I was not able to open  it with the data.

as you can see here: 2018-03-12 at 16-28-41.mp4  

Is there a way that this option works like an inbox or the send option?

Thanks for your help!

Diego Llamas

AliciaRitzenthaler
New Contributor III

Ismael ChiviteJames Tedrick Jeff Shaner, Brent Pierce, and other Survey 123/Collector users:

Our goal is to use Collector to place new features and Survey 123 to populate the attributes of those new features.

Currently I have things set up so that once a new feature is created, the pop-up will link to the associated Survey 123 form. The FID of the Collector feature is passed to the form in order to create a unique key between features and forms. After the fact, as a post processing step, survey 123 table is then joined to the Collector features based upon that unique key.

This works but is clunky. You've got a map full of near-duplicate features which can be somewhat confusing and essential post-processingIs there a way to push back attributes to the Collector features from the Survey 123 forms? That would make our process far smoother. Can the collector-integration on GitHub somehow be used to achieve this?

Reasons to not complete this data collection within only Survey 123 using geopoints:

- Constrained to point features

- Inability to leverage interactive basemaps allowing reference layer attributes to be viewed

- New features do not appear on map in real time

- Inability to collect features at a location other than that of your current GPS location

Reasons to not complete this data collection within only Collector:

- Extensive set of attributes (100+) being collected many of which are only relevant based upon responses to other attributes. The conditional programming possible in Survey 123 is far superior for ensuring accurate and complete data collection for this purpose than replying on geodatabase domains alone.

DougBrowning
MVP Frequent Contributor

I used this flow.  Maybe it will work for you.

Create the form and publish.

Download the form feature service as a gdb.

Create a new GDB in catalog - this holds your collector features.

Add the FS that collector is going to use (point, line, whatever).

     Add a key field to the collector class then pass this value to Survey123 (like you have been doing).

Copy the Survey123 FC you downloaded into the collector gdb.

Create a Relationship class from the Collector FC to the Survey123 FC.

Publish this gdb as a service.

Go into the Survey123 form and set the submission_url to the new HFS you just published.

Republish the form.

Now you can add the collector service to a map and all the relationship classes come along.  Now you have your collector features connected to your forms.  Forms to lines or polygons or whatever does not matter.

I have this working with 9 forms/9 relationships classes and works great.  I can list all the forms for a feature or open a form and backtrack to the feature.  Plus if you export the HFS to a GDB all the relationships classes come with it.  They also works in ArcMap when connecting to the HFS directly.  Oh and you can even see the linked forms in Collector - even other peoples forms!

Also what I did was add a field called XForm and put the item id in that field.  Then in the collector map I can use that field to construct the URL.  It then launches and prefills in the "Key" field you decided to use.  This way you can actually mix and match forms if you want.  Say 2017 features link to the 2017 form but the 2018 features link to the 2018 form.

Hope that makes sense and helps you. 

ModelRun
New Contributor

Thank you for being willing to share your flow Doug! I followed your procedures and although I made some modifications, your way of thinking to put the survey 123 fc into a geodatabase and republish the form to the geodatabase with the submission url is exactly the breakthrough I was hoping someone would be able to spark for me! 

AliciaRitzenthaler
New Contributor III

Doug Browning‌, this is great! Thank for you sharing. 

I follow your flow and I think this will work for our purposes as well. That said, I'm having rookie trouble setting up the relationship class correctly. It's either that or the submission_url to the new HFS. Can you elaborate and/or point me to any additional resources which were helpful to you setting your program up?

Once I've added some collector points and completed the linked Survey 123 form my relationship table is empty. If I open the attribute table of either the collector points or the survey fc the "collector2survey" column (name of the relationship class) is filled with (0) in every row. If I select a Collector point, and click the "show related records" link in the pop-up I get a message that no results are found.

I'm finding the URL of the HFS I'm using as the submission url near the bottom of the HFS overview page. Does that seem right or is there another URL? It looks something like https://services1.arcgis.com/8eq00iyMv7Ls2xme/arcgis/rest/services/HFSname/FeatureServer

Thanks!

DougBrowning
MVP Frequent Contributor

This happened to me at first and it was caching.  The webmap was not updating the attribute table with out a shift refresh.  It kept caching the attribute table on me.  Start there.

Then look to see if your survey123 form data is actually getting into the FC.  If it is there then your relationship class may be off.

That is all I can think of.  I had trouble with the URL at first but I think you did it right.  Did you republish after changing the URL?  Are access rights to the new HFS correct?  Rights on the form also.

AliciaRitzenthaler
New Contributor III

The Survey123 fc is populating after each survey 123 form is completed so I think that's okay. Must be something with how I set up the relationship class. Did you attribute your class in order to view the related records?

JamesTedrick
Esri Esteemed Contributor

On the caching issue - it's an issue with hosted feature services that we are working with the ArcGIS Online team to address in the next ArcGIS Online release.

DougBrowning
MVP Frequent Contributor

Not sure what you mean by attribute my class?   But you do need matching IDs in both FCs.

Let me try a bit more.

Collector FC - lets call it Plots - has a field called ID

Survey123 FC - lets call it Plants - has a field called ID (or any name really just same data type)

 Both of these are in the same GDB

Right click on gdb in Catalog and say New - Relationship class

Give it a name

Select the Collector FC in the Origin section and the Survey123 FC in the Destination

Keep the defaults on the next few pages

Give it a label for each direction (like Plots and Plants)

Select 1 - M

Set the two fields to join on

You should now see the class in the gdb.  At this point you can test it in ArcMap.

Add ALL the layers to ArcMap then publish as a service

In AGO create a new map and add the service you just published.  Note you MUST re-ad the service after adding the relationship class or it will not work.

You should now see the relate in the AGO map and also collector.

To prefill the Form with the ID from collector use the URL thing like this

arcgis-survey123://?itemID={PlotCharForm}&field:SiteKey={SiteKey}&field:PlotKey={PlotID}

So you are manually setting the keys in both places - the relationship class just picks up on it.

Hope that helps.

AliciaRitzenthaler
New Contributor III

ichivite-esristaff‌, JTedrick-esristaff‌, dougbrowning

I pass the GlobalID of the Collector feature to an attribute called CollectorID in the Survey123 feature class.

When this CollectorID is set as a text field I could not seem to set up the relationship class. CollectorID is not a valid option even though the field exists. 

When this CollectorID is set as a GUID field type I can create the relationship class. When the CollectorID is set as a GUID field type however, I cannot seem to save my survey anymore. I get the error message below. 

Anyone have ideas? 

LEAPublisher
New Contributor II

I've been using this for a while now, and this article really did a great job laying out how to use these URL's to launch and pass attributes through from collector to Survey123, so...Thanks!

I found out today that if I use an Arcade expression to generate the survey123 launching url, it will not work in collector app (for iOS anyway, I haven't tested on Android).  I called tech support and they were able to recreate this issue on their end.  Any idea whether this is a known issue and whether or not it will be remedied?

This is not a deal-breaker for me, I can live without this functionality, but it does open up some interesting possibilities.

Lake_Worth_BeachAdmin
Regular Contributor

thats an interesting idea to use Arcade expressions to generate a survey123 response... can you give an example of the workflow and application use?

and you can confirm this works in a desktop browser just not in the collector app itself on a mobile device?

DougBrowning
MVP Frequent Contributor

You cannot use Arcade in Collector.  I tried also but it is a known limitation.

DougBrowning
MVP Frequent Contributor

I used all text fields and it worked fine.  So I would try that.  I was using a Plot ID and not any global ids.

Lake_Worth_BeachAdmin
Regular Contributor

are you aware if there is a plan to implement this functionality in the future?

DougBrowning
MVP Frequent Contributor

I believe they posted once that it will be in the new Aurora build. 

For me I used a field called FormID and put the form item id in it.  Then it is just a

To prefill the Form with the ID from collector use the URL thing like this

arcgis-survey123://?itemID={PlotCharForm}&field:SiteKey={SiteKey}&field:PlotKey={PlotID}

MariPietz1
New Contributor

Hi Niels,

Did you ever figure out a way to get the "," to come in correctly?  I'm having the same issue with my commas and @ symbols.

Mari

JamesTedrick
Esri Esteemed Contributor

Hi Mari,

We have a fix developed as part of our next release of Survey123 - could I ask you to enroll into the Early Adopter Community and test with the beta application available there?

SavannahWinstanley1
New Contributor II

I am having issues getting this to work correctly on iOS in Collector & 123

The only thing I would like to pass to the survey is the location. I tried using the Geometry($feature).x 

JamesTedrick
Esri Esteemed Contributor

Hi Savannah,

Collector does not support Arcade expressions at this time, so the Geometry($feature).x will not work.

SavannahWinstanley1
New Contributor II

Hi James, 

Thank you for the reply.

If Collector doesn't support Arcade expressions is there another language such as python we can use to reference fields that we want to pass? Or is this tutorial only relevant for desktop use?

I saw you mentioned above that you need an X & Y field in the table. In my case, my survey is already published and has the X&Y coordinate stored together as a string in one of the fields, but to republish with separate coordinate fields would mean having to lose & replace our quite substantial data. Is there no other workaround for passing location?

JamesTedrick
Esri Esteemed Contributor

Hi Savannah,

Support for Arcade expressions is coming in the future for the mobile applications, but for now this is usable only within ArcGIS Pro.  Depending on how the X & Y string is formatted, you may be able to pass that into a hidden question and calculate the location after getting it into the correct format - ("<y> <x>").  See Geopoints—Survey123 for ArcGIS | ArcGIS for information on calculating a point question.

MarkBennett
New Contributor III

Hi James,

I am trying to created a survey using existing related table. When user click on the survey URL in the pop-up, the GlobalID of the feature would passed to the GUID field of the related record. The Url works fine and the GlobalID is passed to the desired field. However, it seems that the GUID field would only take the string value of the lobalID without the "{" and "}". Is there anyway to pass the GlobalID to survey without "{}". Or, Submit the GlobalID to the service without "{}"?

Thanks,

Ming

AliciaRitzenthaler
New Contributor III

I previously got stuck on this too. See James' post/response here for a solution! https://community.esri.com/thread/208613-pass-global-id-from-collector-to-g 

Good luck!

MarkBennett
New Contributor III

That helps a lot!

The trick is the set the Field TypeNull! I tried to use the hidden field without set it to field TypeNull.

Thank,

Ming

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

erica_tefft
Occasional Contributor III

Is there any plan to integrate the Survey123 custom URL scheme within Workforce?

While the current method of launching Survey123 from Workforce is nice, it would be even better if relevant attribute information from the feature layer (generated from a GeoForm) in my "Workers" map could launch a survey with some pre-populated fields. This would take advantage of existing information in the FL and help to reduce the number of fields a worker has to complete in the field.

MarkBennett
New Contributor III

Deal all,

Running into another issue to pass data from Explorer to a "select_one" question in survey. As stated, "The value to insert after the equal (=) sign is the actual value that will be stored in the feature service. If you are working with select_one type of  questions this is very relevant, since the value you must pass is that of the XLSForm Name of the choice, rather than its Label." However, the value Explorer passed to survey is the "label", not the "code/name", if a "code-label" Domain is used for that field.

      For example, I have a Manufacturer field with Domain in Feature Layer and 'select_one' question in survey. In both "domain" and "choices", I have an item using 'AMRF' as code/name and 'American Flow Control' as label. For prefill the form, Explorer should pass the 'AMRF' to Survey. However, it passes the 'American Flow Control' to Survey.

      

        To work around tis, I tried to pass the data to a hidden null field and use a conditional formula "if (${Manufacturer1}='American Flow Control', 'AMRF', null)". However, it returns an error for the expression: SyntaxError: Expected token ';' in expression: if ... ...

      Well is seems that I have two questions:

          Am I correct about pass a code-label domain data to a 'select_one' question for pre-fill?

          Is my approach to work around it correct? If so, what did I do wrong?

Thanks,

Ming

MarkBennett
New Contributor III

An interesting observation: when I use the web map to set it up and try, it seems web map generated correct value for both code domain and GlobalID! See picture!

Ming

MarkBennett
New Contributor III

The second question is resolved: The error is caused by a space between "if" and "(". Instead of if (....., it should be if(..... .

The first question remains?

Thanks,

Ming

JamesTedrick
Esri Esteemed Contributor

Hi Erica,

Workforce for ArcGIS actually uses the URL scheme in launching Survey123 (as well as other field applications); what you are describing is an enhancement to access other layers (aside from the assignment's) attributes.

erica_tefft
Occasional Contributor III

Hi James,

Is this an enhancement that is currently being considered for Workforce sometime down the road? If you are at the UC, I'd love to come find you to explain my use case to you.

Thanks,

Erica

JamesTedrick
Esri Esteemed Contributor

Hi Erica,

Please feel free to come by and discuss with us & the Workforce team at UC!

AnuSawant
Occasional Contributor II

Hi,

I am trying to do this linking in collector,cant see the value getting updated in the field but url is showing me the value.

I have followed the hot linking process as shown above. Is this broken with the new Survey123 update?

Thanks,

Anu 

Philip-Wilson
Esri Frequent Contributor

Hi Anu,

Can you please send an example of the URL that is produced and if possible an example of your xlsx form so we can try and reproduce.

Thanks,

Phil.

RalphBeishline
New Contributor III

Hi Phil. You said above:

The other option is to launch the custom URL from a HTML file attached to the email, which we know will work.

Recently, this functionality has stopped working for me, at least on Apple device's mail application. I can press the link, but it does not trigger the Survey123 app. It does the same thing when I long press and press Open. The link works in the email body, but not in the HTML attachment.

My link looks like:

arcgis-survey123://?itemID=xxxxx&field:License=xxxxx

where I am prepopulating the field License.

Any thoughts?

AnuSawant
Occasional Contributor II

Hi Phil,

I have attached all of the information you asked above.

I have used a point feature service showing all of the address and trying to attached this survey to the address feature service.So my expectation is the address field in survey will automatically get the address from the selected point in the feature services.

Link used in pop up:-

https://survey123.arcgis.com/share/9c95a625d2e64110bb9e01ce619127ee& field:address={address} 

I cant attached excel here, cant find attachment option even try to drag and dropped it but doesn't work.:(

I will email you the excel.

Thanks,


Anu

SarahButler
New Contributor II

I have a map in Collector that links each point with Survey123.  In Survey123 version 2_5_44 it worked perfectly.  The user clicked on the link in Collector and the correct field was auto-populated in Survey123. In version 3_0_132 it no longer works - it populates the field with "0".  Will this be fixed in the next version?

Thanks,

Sarah

Philip-Wilson
Esri Frequent Contributor

Hi Anu,

 

I notice the URL you provided has a space in it after the & symbol. Have you tried the same URL without the space?

 

Phil.

Philip-Wilson
Esri Frequent Contributor

Hi Sarah,

Can you provide some more details about what type of field it is and the expected values being passed? Also did you test with 2.6, 2. or 2.8? Or did you just jump from 2.5 to 3.0? It would be good to understand if it was working in 2.8 and now only not working in 3.0 so we can pin point the issue.

Phil.

joerodmey
MVP Regular Contributor

How do I pass data to Survey123 radio buttons using the URL? I want to pre-populate my radio buttons

AnuSawant
Occasional Contributor II

Hi Phil,

Yes I have tried without space as well and its still the same.

Thanks,

Anu

Philip-Wilson
Esri Frequent Contributor

Hi Anu,

 

In doing further testing, I just realised the URL you are using to configure in Collector is incorrect. You are trying to use the survey sharing URL that is from the website which does not support parameters. The URL scheme used for launching apps is different, and should follow the format as per the documentation and this blog post (refer to top). For your survey, it should look something like follows:

 

arcgis-survey123://?itemID=9c95a625d2e64110bb9e01ce619127ee&field:address={address}

 

In testing your survey xslx form, I also noticed an error, you have applied the field-list appearance against a note question type. This is not supported, field-list appearance only applies to begin group question types. You cannot successfully publish your survey with this appearance applied.

 

Hope this helps.

Phil.