Select to view content in your preferred language

Dynamically passing GlobalID between Surveys integrated in Experience Builder

315
7
08-12-2025 01:36 PM
Labels (1)
ChristineTombleson1
Frequent Contributor

Hello -

I have several surveys inside Experience Builder for users to create features and input data for shoreline inventories. The first survey is the Name and Email survey. This survey creates a Global ID in the feature layer and is the parent to the rest of the surveys. Once Name and Email are submitted, it shows up on a list widget, the user selects the record, and then selects a button that opens surveys to create whichever shoreline feature such as coastal structures, recreational structures, buffers, bank conditions, etc they want to add. I need the Global ID of the user to pass to the parentglobalID (GUID) of the rest of the surveys. The rest of the surveys represent repeats in the main survey that are nested under the Name and Emails of the User.  I am using URLs to open the surveys and pass the GlobalID but they are not working. (The surveys open and the data is stored in the database but the parentglobalid (GUID) field is blank and therefore not being connected to the parent Name and Email record.)   A button widget is used to open the surveys. The button that opens the coastal protection structures surveys uses this URL (https://survey123.arcgis.com/share/e358b2bcef2841a3b1a0e7c0114b93eb?) to open the survey with the hopes of passing the GlobalID from Name and Email. All of these surveys are based on the same feature layer where all of the data is stored. field:parentglobalid={GlobalID}.  What am I doing wrong that the GlobalID is not passing?    Thank you!

0 Kudos
7 Replies
Laura
by MVP Regular Contributor
MVP Regular Contributor

Do you have a relationship set up?

0 Kudos
ChristineTombleson1
Frequent Contributor

I do. However, I requested a ticket from Esri regarding this issue. I cannot do what I want in experience builder. I need to wait until experience builder has upgraded to allow calculated fields in the editor. 

0 Kudos
Laura
by MVP Regular Contributor
MVP Regular Contributor

I use calculated fields in the editor to pass from layer to table just fine in EXB. You set it up within forms in map viewer. 

0 Kudos
ChristineTombleson1
Frequent Contributor
Interesting. I would love to know how you do it. I wanted the user to use editor in experience builder to create new features in a map for a shoreline survey. They can enter a variety of different feature. The features they input are related to their name and email. The new features have fields that contain answers from a survey123 survey. The fields that were considered "calculated" such as those that depended on the value in another field, etc. did not show up in the editor.

I then integrated my survey123 surveys into experience builder. My first survey collects data on the name and email of the user. The second through seventh surveys capture data on different features the user can create (such as coastal protection structures, cultural features, recreational structures, buffers, shoreline bank conditions, etc). Esri says experience builder does not yet support calculated fields in the editor.

The first survey (Name and Emal) generates the Global Id. The other seven surveys are related to the Global id with Guid fields. I cannot get the global id of the Name and Email record to pass to the other surveys as the Guid value. All other information inputted is saved to the database but the Guid field (which should equal the Global id of the parent) stays blank. Experience Builder connects to the survey123 surveys with URLs. I used a url to select the correct survey and pass the global id to the Guid field. Esri stated dynamic fields cannot be passed by url in experience builder. If you have a solution, I am listening!!! Thank you.
0 Kudos
ChristineTombleson1
Frequent Contributor

Would you mind providing more specific informs to how to pass the global id from layer to table or table to table with in the forms in map viewer when you want the user to create the features.  Thank you! 

0 Kudos
Laura
by MVP Regular Contributor
MVP Regular Contributor

Setting up a relationship property between a GlobalID and a GUID should automatically carry that field over without the need for calculated expressions—that’s how a relate is intended to work. You can review how that relationship is configured.

I have an example where I set this up entirely in AGOL between a layer and two related tables, and it worked seamlessly. I’ve also done this by creating a relationship between a layer and a table in my SDE, publishing them to Portal together, and the GUID was automatically populated whenever a new table record was created from the main layer.

Regarding calculated expressions, I use them in both AGOL and Portal as well. As mentioned earlier, this configuration isn’t done in Experience Builder; it’s handled within the smart forms of the layer in Map Viewer. https://doc.arcgis.com/en/arcgis-online/create-maps/create-form-mv.htm

Here is an example of how I pull a unique ID from my layer into my table when a new record is created: 

Laura_0-1756213890396.pngLaura_1-1756213900431.png

 

0 Kudos
ChristineTombleson1
Frequent Contributor

Thank you, Laura. I was out of the office on vacation last week. I will review what you sent me and see if I can get this to work. Thank you for the input. I may have questions! I will let you know how it goes 🙂  

0 Kudos