FME Version
Introduction
A webhook is a way to send real-time information from one application to another. Once an action has been completed by an application, it can send information to another application via a webhook. FME Flow can receive data from another application through a webhook or deliver data to an application using a webhook.
How do webhooks work?
Webhooks use a URL to listen for new data. It allows the user to register a URL with the application or service, and then the application or service will push data to that URL whenever an event occurs. The URL receives information automatically instead of requiring the user to manually check as with a typical API. This can be advantageous over a polling method, such as an API, because you don’t need to repeatedly poll the API for new information, which can be taxing on both the client and server.
Resources
- [Webinar] Hook, Line, and Sinker: Reeling in ArcGIS Webhooks: An introduction to webhooks plus demos of Survey123 and ArcGIS Field Maps webhooks.
- [Blog] Connect to APIs and Webhooks in No Time: Understand the difference between webhooks and APIs and how they work.
- [Presentation] Webhooks in FME Server, Cityworks & GIS Applications: A customer presentation outlining how webhooks work plus real examples of how to use them in FME with Cityworks and ArcGIS Online.
How can I receive data from a webhook using FME?
To allow an application to send data to FME Flow via a webhook, create an Automation with a webhook trigger. Any application that has the ability to send information to a webhook can be used with the webhook trigger.
After you have added the webhook trigger to the Automations canvas, click Save to get its URL. This URL will have a token attached and can be copied and pasted into the third-party application. The application will then be able to send information to the FME Flow Automation.
FME receives data from webhooks in JSON format, which can then be passed to an FME Workspace to process the data.
Tutorials
For step-by-step instructions on how to push data from specific formats to FME, see the following tutorials:
- Push Data from ArcGIS Survey123 to an Application in Real-time with Webhooks
- Push Data from ArcGIS Field Maps to an Application in Real-time with Webhooks
- Push Data from an ArcGIS Online Feature Service to an Application in Real-time with Webhooks
- Integrating ArcGIS Enterprise Feature Service Webhooks With FME
- Automate ArcGIS Enterprise Portal Administration with Organization Webhooks and FME Flow
- Integrating ArcGIS Enterprise Geoprocessing Webhooks With FME
- Getting Started with Cityworks
- Webhooks and FME with Slack Integrations
- Connecting to Salesforce in FME
- Single Edits SQL Server: Push Data from the Database to an Application in Real-Time with Webhooks
- Single Edits PostgreSQL: Push data from the Database to an Application in Real-Time with Webhooks
How can I create a webhook URL to send data using FME?
In FME Flow, you can create a webhook to send the results of a workspace to other applications (or to stream data back to the original application). Go to the Run Workspace page in FME Flow. In the Advanced Parameters, under Other Ways to Run this Workspace, choose Create a Webhook. Once the webhook is initiated, the workspace will run, and the results will be streamed to the webhook URL provided.
A webhook can also be used to send data back to the original application. For example, you can set up a Link URL in Google Earth and paste in the FME Webhook URL. This will stream your webhook URL to Google Earth.
Note: Depending on what application you are using to trigger the webhook, you may have to make your FME Flow instance publicly accessible (e.g. hosted in the cloud).
Tutorials
For step-by-step instructions on how to create a webhook URL, see the following tutorials:
Comments
0 comments
Please sign in to leave a comment.