Select to view content in your preferred language

How to get Web Experience Builder recognize new geoprocessing tasks

465
6
Jump to solution
12-07-2024 07:19 AM
Labels (1)
DonMorrison1
Frequent Contributor

I created a geoprocessing REST service on our ArcGIS server. That service has a number of tasks that I expose to users as ArcGIS Online Web Experience Builder custom tools. It all works great. I recently added an additional task to the existing REST service and would like to add an associated custom tool in Web Experience Builder but I can't figure out how to get Web Experience Builder to recognize that a new task exists, so I can't configure it.  How can I do this (without deleting the existing custom tasks or manually editing the JSON in ArcGIS Online Assistant)?

0 Kudos
1 Solution

Accepted Solutions
TimWestern
MVP

Oh so let me see if I have this.

You have somewhere on server

Custom GPTool
-Task1
- Task2

If you go to the rest service at Custom GPTool you see 2 tasks correct?

So It may be you can't execute the top level tool, but the task.   Each Task has a unique URL to submit to also I believe. So unless I'm misunderstanding here.  Try the Task Url for each Task.

The only trick though, is if they are needed to be run in sequence automatically, I'm not sure if the Analysis Tool does that. (In a Custom Call I would call one tool/task, then pipe its output to the second tool/task, but it sounds like you are trying to make use only of out of the box Analysis widget if I understand you correctly.)

(btw funny whatever word I used to describe calling the tool got **bleeped* out for some reason, I've no  idea what I typed that was the offending word. So Hopefuly it is okay with execute)

View solution in original post

6 Replies
TimWestern
MVP

Are you referring to a restful api pprocess? (where you have a url you can too?)

Or are you referring to not knowing how to add it as a Utility?  

We ran into an issue with a Task (ExportWebMap) publishing to the portal, but not getting a URL, and it didn't appear it was able to be called until we did some backend changes through the Admin panel for the portal. I don't know if that's necessary for every GP tool you might want to deploy though.

Most of the docs I read suggested going to the gear icon in the editor and add utility:

TimWestern_0-1733759881921.png


But I know if you don't have a url for the GP Tool this kind of goes nowhere 😕

 

0 Kudos
DonMorrison1
Frequent Contributor

I'm using the Analysis widget to add Custom Web Tools.  I do have a URL and I can add the tools associated with my geoprocessing REST service that runs on our ArcGIS server. The problem is when I add a new task to the REST service, I can't figure out how to add a new custom web tool Web Experience Builder that references that REST service task.  My Web Experience Builder is on ArcGIS Online so I don't think there are any portal settings involved.

0 Kudos
TimWestern
MVP

Oh so let me see if I have this.

You have somewhere on server

Custom GPTool
-Task1
- Task2

If you go to the rest service at Custom GPTool you see 2 tasks correct?

So It may be you can't execute the top level tool, but the task.   Each Task has a unique URL to submit to also I believe. So unless I'm misunderstanding here.  Try the Task Url for each Task.

The only trick though, is if they are needed to be run in sequence automatically, I'm not sure if the Analysis Tool does that. (In a Custom Call I would call one tool/task, then pipe its output to the second tool/task, but it sounds like you are trying to make use only of out of the box Analysis widget if I understand you correctly.)

(btw funny whatever word I used to describe calling the tool got **bleeped* out for some reason, I've no  idea what I typed that was the offending word. So Hopefuly it is okay with execute)

DonMorrison1
Frequent Contributor

Yes - you are correct and this helped me figure it out.  When I added my first set of 6 custom tools. I specified the shorter URL of the service which seemed smart at the time because Web Experience Builder recognized that there were multiple tasks and added them all to my list of tools.  I ended up with this:

 

DonMorrison1_0-1734064111099.png

However when I added a new task to the service (Task7) I couldn't get it to refresh the list and let me configure Task7.  I think what I should have done is from the beginning, add each of the 6 original tasks separately their full task URLs - in other words never use the shorter service URL if you might add tasks to the service.  Then later on I hopefully can add Task7 with its full task URL.  I'll try to test this in the next couple of days to verify. 

 

 

0 Kudos
TimWestern
MVP

I'm glad that suggestion could help.   A less technical user though, likely won't realize that being able to drill down in say a a map, which seems so natural, may look similar for these tools, but not work the same.

0 Kudos
DonMorrison1
Frequent Contributor

I confirmed this morning that if I add each task as a separate custom web tool utility (instead of adding the REST service as the utility) then I can easily add future tasks. This is what it now looks like:

DonMorrison1_0-1734111408800.png