ArcGIS Online and its apps, like Survey123 and Field Maps, are great tools to capture data on the go. But often, we want to get a layer’s feature as soon as it’s created or updated, so we can use it in downstream systems and processes. For example, have you ever wished you could automatically get point features out of Survey123 and into your asset management system in near real-time? FME can help accomplish this using ArcGIS Online webhooks and server automation.
What is a Webhook?
Picture this: you’re trying to find that new bike you’ve been lusting over for months, but it’s sold out everywhere. You visit your local bike shop’s website a couple times a day to see if it’s back in stock yet. After a few weeks, you soon grow tired of this. You decide to submit your email address on the bike’s product page, so that you can be notified when it’s finally available.
This is pretty similar to how a webhook works. A webhook is a one-way message triggered by an event. Instead of an email, a destination application ‘subscribes’ to receive a notification from a source application by providing it with a URL. When the event we’ve asked to be notified about occurs, the source application pushes data to us via the provided URL. Using this approach, we only need to listen, we don’t have to constantly ask “has the event happened yet?”. This is the advantage of webhooks. We don’t need to constantly poll for data changes like we would if an API was used. To read more about the differences of webhooks vs APIs, check out the post Connect to APIs and Webhooks in No Time.
Ways to use FME with ArcGIS Online Webhooks
By hosting your feature layers in ArcGIS Online, you can create webhooks on the associated hosted feature service to get notified when a feature is created, updated or deleted. The message received can be processed in FME Workbench using the ArcGISOnlineWebhookDataGetter transformer found in the FME Hub. Transform your ArcGIS Online data and write it out to any of the hundreds of formats FME supports. Below are some examples.
Integrating crowdsourced data
Crowdsourced data, like the locations of invasive plant species, can be captured in Survey123. With an ArcGIS Online Webhook, the data can be sent to an FME Server automation as soon as it has been created. The server automation can then write the data to a geodatabase catalog of invasive plants. Check out the article Automating Workflows from Survey123 to ArcGIS using FME Server for more information. Note that webhooks in Survey123 are slightly different from other ArcGIS Online webhooks with regards to how data is returned.
Storm damage reporting
Fallen trees reported in ArcGIS Field Maps by municipal staff can trigger the creation and assignment of work orders in a work order system. In addition to creating the database record, FME Server and Workbench can also trigger email notifications to the urban forestry crew. The article Automating Workflows from ArcGIS Field Maps can get you started!
Keeping injury dashboards up-to-date
Construction injury reports entered in ArcGIS Field Maps can trigger a server automation that writes the data to a Microsoft SQL Server table. A PowerBI dashboard connected to the table can then provide up-to-date insight on the types of injuries and near-misses that have occurred.
Get Your Hooks into ArcGIS Online with FME
Good news: you don’t need to hire a programmer to use ArcGIS Online webhooks, saving you money and a significant amount of coffee. FME Server’s automation technology, combined with FME Desktop, will get you there the no-code way. Here are the ten general steps to create an FME Server Automation using ArcGIS Online webhooks:
- In FME Server, create an Automation
- Add a Webhook Trigger to the Automation and a Log action to view the result
- Copy the Webhook URL from the Webhook Trigger
- Enable feature service editing and change tracking on the hosted feature layer for which you want to receive change notifications
- Create an ArcGIS Online Webhook on the hosted feature layer and provide it with the Webhook URL
- Start the FME Server automation and add a feature to the ArcGIS Online feature layer
- Check the FME Server automation log to confirm you are receiving a message from the ArcGIS Online Webhook
- Create a workspace in FME Workbench to process the data from the ArcGIS Online Webhook and write it to your desired format
- Publish the workspace to FME Server and connect it to the automation’s Webhook Trigger
- Add any additional actions, like email notifications, to the automation
Restart the FME Server Automation and start integrating your data!
Want to dive deeper? Watch the video below and check out the articles linked earlier in this post that have step-by-step instructions and sample workspaces.