Select to view content in your preferred language

Passing Workforce Assignment GlobalID from Collector to Survey123

1484
6
02-09-2022 03:01 AM
JasonCyphers
Frequent Contributor

What would the URL look like, to allow me to launch Survey123, from Collector, populated with data from an existing Workforce Assignment, to allow editing of the assignment?

I've created a Collector map, with Workforce Assignments symbolozed, so crews working in an area can see work assignments that may exist, but are either unassigned, assigned to someone else (who hasn't worked it yet).  If the crew does the work while they're in the area, I'd like for them to be able to edit the work assignment (assign it to them, change status to complete, etc.).

I've gotten as far as creating the URL to launch Survey123 from Collector; however, I can't seem to be able to get Survey123 to populate with the Workforce Assignment's data.

The URL I'm using is: arcgis-survey123://?itemID=[Survey123 Item ID]&field:GlobalID={GlobalID}

I've tried several combinations of globalId, Globalid, globalid, etc.  I saw where one post mentioned Workforce used a ${assignment.GlobalID} format, but that didn't work either.

Any help would be appreciated!

0 Kudos
6 Replies
DougBrowning
MVP Esteemed Contributor

You cannot assign GlobalIDs to items they are system generated.  I think what you want is to edit an existing that has this GlobalID?  If so you need to use the edit parameter.

See more here  https://doc.arcgis.com/en/survey123/reference/integratewithotherapps.htm

and

https://doc.arcgis.com/en/field-maps/android/help/deploy-your-map.htm

Also note Collector has been retired and Workforce will be.  So you will want to move to Field Maps.

hope that helps

0 Kudos
JasonCyphers
Frequent Contributor

Thanks for the reply.

The bigger picture is - an inspection is performed on a meter (as a related table) via Survey123.  Meters that require work are symbolized on the map.  Workforce Assignments are created for crews to go fix what has been identified in the inspection.  If a crew is performing work in the field, they can see on the map that a meter close by needs work. They can perform the work, and if a Workforce Assignment has been created, but not assigned or assigned to someone else, I wanted them to have the ability to edit the existing Workforce Assignment (changing status, assigned to, etc.).  If, however, workforce is going away, I'll need to find an alternate method for assigning work (crews and supervisors still like the ability of having a list of work assignments..."go do these today" vs. "look on the map and do what you can").

Additionally, I'm trying to figure out a way to launch Survey123, populated with all the meter inspection information, so they can edit the existing record to note what work they performed on the meter, and to mark the inspection as no longer needing repairs.  Alternately, I could edit the inspection record in Field Maps, but no "select multiple" option exists for editing attributes.

0 Kudos
BertKraan
Emerging Contributor

following, as I try to accomplish a similar task (field maps feature+related record to open in S123)

0 Kudos
BillSimper
Regular Contributor

It looks like it is possible to open a specific existing record into a Survey123 form in the field app. There's hardly any ESRI documentation for this feature (it'd be nice to see some and for this to be fully explained in a blog post).

Here is what worked for me:

arcgis-survey123://?itemID=itemIDofyourSurvey123FormHere&action=edit&q:globalid=globalidofyourSurvey123recordhere&update=true

The globalid of your record should be the 32 character alphanumeric with dashes.

Here are some caveats:

1) spell globalid as 'globalid', not GlobalID or globalId (unlike the ESRI example linked to below)

2) this feature uses the Inbox, so that has to be turned on in your S123 form

3) it's a good idea to turn off the Sent box in your form as this will interact with the Inbox and probably result in problems when trying to get this feature to work

4) I think you need that last part &update=true in order to refresh the Inbox. I'm not sure if you need &action=edit for this to work but you probably want this for your purpose

I got this to work through lots of trial and error and by referring to this web page: https://doc.arcgis.com/en/survey123/reference/integratewithotherapps.htm

There are other permutations that work, like:

arcgis-survey123://?itemID=itemIDofyourSurvey123FormHere&action=edit&q:where=globalid='globalidofyourSurvey123recordhere'&update=true

The form above (using single quotes) works for text fields generally (just avoid space characters or maybe URL encode the spaces). You can also query integer fields, including objectid, for example:

arcgis-survey123://?itemID=itemIDofyourSurvey123FormHere&action=edit&q:where=objectid=integerObjectIDofyourrecordhere&update=true

or

arcgis-survey123://?itemID=itemIDofyourSurvey123FormHere&action=edit&q:objectid=integerObjectIDofyourrecordhere&update=true

For objectid, be sure to spell it 'objectid' and not objectId or objectIds (as in the ESRI example). Apparently this field can be named differently from feature layer to feature layer so you may want to check to see how your field is spelled.

This blog post outlines how to do the same thing using the web browser version of Survey123 (instead of the Field App): https://community.esri.com/t5/arcgis-survey123-blog/survey123-tricks-of-the-trade-editing-records-in...

 

DominicRoberge2
Frequent Contributor

Hi @BillSimper ,

I know it's been a while since you posted this , but I am trying to do the same process. Obviously I am missing something.....

My goal is, from Field Maps to click on a point (that was created using Survey 123) and open Survey 123 app with the information related to that point.

My survey has inbox enabled and the link I am using is this:

arcgis-survey123://?itemID=MYITEMID&action=edit&update=true&field:globalid={GlobalID}

Survey123 open directly to the inbox where all my inspections are listed.... What am I missing to get the specific inspection to load?

 

I got it got it work from the Survey web .... now if I could get to work on Survey app ....

Any help would be much apprecited.

Thanks!

 

0 Kudos
BillSimper
Regular Contributor

Hi Dominic,

Couple things to try-- dont use curly brackets around GlobalID (if you are) and probably a good idea to use UrlEncode (using Arcade) on your globalid variable like "UrlEncode($feature.globalid)"

0 Kudos