Skip to main content

Hello, I’m starting my journey with Webhooking and of course I am already running into problems. So I have Enterprise 11.3 and Flow 2024.1 and no hosting enabled on Enterprise.

So my workflow is fairly simple, I have created the following Webhook on our server:

 

For the following service:


Which then calls the very simple automatation on our Flow where any creation, updating or deleting in the dataset in the FeatureService (remember this service is referenced and not hosted) should kick of a single workspace and thats the end.

However doing anything in that FeatureService, be it creating, updating or deleting does not kick of my automation. I have checked if Flow and Enterprise are speaking well together and it seems to be so as when I originally create the Webhook then the same automation kicks off with great results (its not a organisational webhook), just not when I then start to do stuff in the dataset itself. 

I have also made sure that the dataset in the FeatureService that originates on our SDE has archiving, editor tracking and Global ID’s enabled.

 

Maybe some Supported operations are missing from the FeatureService?

 

Or the dataset rest point?


Atleast it doesnt seem to be an error in those two systems speaking together as the webhook does kick off at creation? Is there something missing in the FeatureService or what on earth could I be doing wrong here?

 

-As always, with regards Hlynur GISus

So, an organisational webhook (for example new user created) does trigger an automation, but a feature service webhook does not?

Can you confirm the organisational webhook to flow automation still works? Just to be sure no network or firewall issue exists between Enterprise & Flow.

Have you tried another web service receiver like ifttt to confirm the webhooks are output correctly from Enterprise?


Hey ​@nielsgerrits and thank you for taking the time to look at this.

Just ran the organizational webhook right now, by moving the service in question between folders on Portal, and it triggered my Flow automation. Still dead news for the feature service one, even though its the same service.

Maybe it has something to do with the fact that the organizational webhook is set up in the Portal interface and the feature service one is set up on the Server interface (as these are not hosted feature services then we need to do it that way)?

In regards of trying other kinds of receivers then our system is so tightly bound in a firewall that nothing gets in our out (have checked that as well and our Portal and Server machines are identically set up in regards of system functionality).

-Hlynur


Not sure. But you’ll have to diagnose somehow where the issue lives. So you must make sure the webhook outputs a message.

Does it work for a hosted feature layer? Just to test?

From copilot:

Requirements for Feature Service Webhooks
To configure a webhook on a hosted feature service, it must:

Include the Editing capability.
Have change tracking enabled (without sync).

For non-hosted feature services (referencing enterprise geodatabases), the data must:

Be non-versioned with archiving enabled and global IDs, or
Be branch versioned with or without the Version Management capability.


Hi there, this works for me in ArcGIS Sever 11.1 with FME Flow 2024.2
I think you need to create a feature service level web hook and I can’t tell from your screen shot if that is what you did.
Here are my notes from ArcGIS Server 11.1
 

Go to:

 https://<PortalUrL>/server/admin/services/, within the Services browse to the service you want.

Click on the Service to open the page and scroll to the bottom and click on the link for webhooks 

 Create the web hook with these settings 

- give it a name  

- change types for example: FeaturesCreated (the complete list of change types is here), if using more than one they should be comma delimited for example: FeaturesDeleted,FeaturesUpdated 

- add the HookUrl which will be the  FME Server Automation web hook,

- be sure the content type is application/json and payload format is JSON 

- be sure to enable it, it is not obvious

Note: the JSON can be parsed in an FME Server workspace by passing it from the Web Hook key into a text parameter in the workspace and then using the JSONFlattener. 


Thanks for this ​@braggken.

So my hookcreation looks like this:

 

And the Flow automatation looks like this:

 

The workspace itself just contains a SDE reader, some transformers and a SDE writer. It does not contain any reference to the webhook or any kind of httpcaller.

Maybe that’s what I’m getting wrong, does the workspace in question need to talk somehow to the webhook? Thought it was enough to create a Webhook as a trigger in an automation and the workspace triggered could be just whatever…

-Hlynur


Hi ​@hlynur 
That looks quite the same as I had set up except it looks like the web hook is on the MapServer I am wondering if the web hook must be on a Feature service rather than the map service since in reality how would a Portal user change an entity on Map Service? 
Indeed I think you’re right, there is no reason the worskpace needs to do anything in particular with the result from the webhook. Assuming the issue is that automation never gets triggered regarless of changes to that Portal feature layer made it in edit apps or whatever? 


Yeah ​@braggken  I was speculating about that a lot to, but logging in as an admin I only see mapservices and no feature services. Guess you are using hosted services and that’s why you see feature services and not me (as we are only using referenced feature services)? If not then please let me know.
I though originally that this was the issue, that I was creating hooks with mapservices and brough it up in the ESRI community where I got the answer I was doing it the right way:
Re: Enterprise server referenced feature services ... - Esri Community

-Hlynur


Ok dug into the Debug modus on our ESRI Enterprise server and see that my feature service is truly sending hook requests left and right but it fails by giving the error "Failed to connect to webhooks due to missing connection details.". 
So now that is left to figure out is why Enterprise server allows me to create the webhook with the connection criteria from my FME Flow automation just to then say that there are connection errors when it should do its job (remember that when I create my hook then at creation it triggers and connects without a hitch to our FME Flow and kicks of the automation).
All input greatly welcomed.

-Hlynur