{"id":1166972,"date":"2021-03-23T06:30:15","date_gmt":"2021-03-23T13:30:15","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1166972"},"modified":"2022-07-05T08:45:23","modified_gmt":"2022-07-05T15:45:23","slug":"use-webhooks-to-automate-workflows-in-arcgis-field-maps","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps","title":{"rendered":"Use webhooks to automate workflows in ArcGIS Field Maps"},"author":8272,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23261],"tags":[27481,39831,350622],"industry":[],"product":[679821,36551,36861],"class_list":["post-1166972","blog","type-blog","status-publish","format-standard","hentry","category-field-mobility","tag-automation","tag-data-collection","tag-webhooks","product-field-maps","product-arcgis-online","product-api-rest"],"acf":{"short_description":"Learn how to configure webhooks to automate field data collection workflows.","flexible_content":[{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Would you like to be notified when a mobile worker completes an inspection? How about an automatic report that\u2019s generated after new data is collected or updated in the field? You can automate both of these tasks with the help of webhooks.<\/p>\n<p style=\"text-align: justify\">In this article we&#8217;ll introduce key concepts and then guide you through the ins and outs of configuring a webhook that works with <a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-field-maps\/overview\">ArcGIS Field Maps<\/a> and <a href=\"http:\/\/integromat.com\/\">Integromat<\/a> to improve and automate key workflows.<\/p>\n<p style=\"text-align: justify\">Update September 15th 2021: The Field Maps team has <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/arcgis-field-maps-app-for-integromat-released-sept-2021\/\">released<\/a> an Integromat app which significantly simplifies most the steps in this blog post.<\/p>\n<h2 style=\"text-align: justify\">What is a webhook?<\/h2>\n<p style=\"text-align: justify\">If you&#8217;ve used services like Slack or GitHub you may be familiar with webhooks. A webhook is a way for an application to provide other apps with near real-time information via callbacks. This functionality enables automated workflows, such as sending an email notification when an inspection is completed. Webhooks are user-defined HTTP requests that are trigged by an event. When that event occurs, the configured app or service sends an HTTP POST request to the configured webhook URL. In the case of ArcGIS Online hosted feature services, such events include when features are created, updated, or deleted (among other things). For more information about ArcGIS Feature Service Webhooks, check out <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/sharing-collaboration\/how-to-create-a-hosted-feature-service-webhook\/\">this blog post<\/a>.<\/p>\n<p style=\"text-align: justify\">There are a few key concepts to understand regarding webhooks:<\/p>\n<ul style=\"text-align: justify\">\n<li><strong>Trigger<\/strong> \u2013 starts the webhook task\/process<\/li>\n<li><strong>Action<\/strong> \u2013 something the webhook does<\/li>\n<li><strong>Provider<\/strong> \u2013 third party software that enables webhooks<\/li>\n<li><strong>Payload<\/strong> \u2013 content sent to the webhook<\/li>\n<\/ul>\n<p style=\"text-align: justify\">When a webhook is triggered, a <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/web-hooks-payloads-feature-service-.htm\">payload<\/a> of information is sent to the specified URL. Then the provider that maintains that URL can take an action with the provided information. There are many providers such as: Integromat, Microsoft Power Automate, and Zapier that can be configured to consume webhooks.<\/p>\n<h2 style=\"text-align: justify\">What is an automation workflow?<\/h2>\n<p style=\"text-align: justify\">Workflow automation is technology that uses a set of defined rules to automate a manual process. It is common to develop an automation workflow for tasks that are well defined, complex, and repeatable. A few examples of automation workflows in the context of ArcGIS Online are:<\/p>\n<ul style=\"text-align: justify\">\n<li>Sending an email notification when a new feature is collected<\/li>\n<li>Updating the information in a third-party system (e.g., Google Sheets, SAP) when a feature is edited<\/li>\n<li>Creating or updating features when another feature was modified<\/li>\n<\/ul>\n<p style=\"text-align: justify\">In this tutorial, we are going to automate a workflow using Integromat &#8211; software that supports incoming webhooks and other services to support automating tasks without code. We&#8217;ll focus on creating a webhook workflow that emails a supervisor when a fire hydrant is installed or inspected.<\/p>\n<p style=\"text-align: justify\">Let&#8217;s get started!<\/p>\n"},{"acf_fc_layout":"content","content":"<h2 style=\"text-align: justify\">Create a feature service and map<\/h2>\n<p style=\"text-align: justify\">In ArcGIS Online, navigate to the content page and create a new layer using the <strong>Hydrant Maintenance Inspections <\/strong>feature layer template.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167252,"id":1167252,"title":"Create Hydrant Maintenance Inspections","filename":"Create-Hydrant-Maintenance-Inspections.png","filesize":432354,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/create-hydrant-maintenance-inspections","alt":"Create Hydrant Maintenance Inspections Layer","author":"8272","description":"","caption":"","name":"create-hydrant-maintenance-inspections","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:35:32","modified":"2021-03-20 00:36:07","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1022,"height":728,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections.png","medium-width":366,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections.png","medium_large-width":768,"medium_large-height":547,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections.png","large-width":1022,"large-height":728,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections.png","1536x1536-width":1022,"1536x1536-height":728,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections.png","2048x2048-width":1022,"2048x2048-height":728,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections-653x465.png","card_image-width":653,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Hydrant-Maintenance-Inspections.png","wide_image-width":1022,"wide_image-height":728}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Select both layers and choose an extent that makes sense for your area. When prompted, provide a name for your new feature service and continue through the dialogs until it&#8217;s successfully created. Once the layer has been created, open the settings tab and scroll to the <strong>Editing<\/strong> settings. Check the <strong>Keep track of created and updated features<\/strong> and click <strong>Save<\/strong>. This will enable change tracking for the feature service which is a prerequisite for enabling webhooks.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167242,"id":1167242,"title":"Enable Change Tracking","filename":"Enable-Change-Tracking.png","filesize":7888,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/enable-change-tracking","alt":"Enable Change Tracking","author":"8272","description":"","caption":"","name":"enable-change-tracking","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:35:27","modified":"2021-03-20 00:37:29","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":444,"height":226,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","medium-width":444,"medium-height":226,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","medium_large-width":444,"medium_large-height":226,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","large-width":444,"large-height":226,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","1536x1536-width":444,"1536x1536-height":226,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","2048x2048-width":444,"2048x2048-height":226,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","card_image-width":444,"card_image-height":226,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Enable-Change-Tracking.png","wide_image-width":444,"wide_image-height":226}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, let&#8217;s add this new layer and table to a new map. On the <strong>Overview <\/strong>tab click the overflow button near <strong>Open in Map Viewer<\/strong> and click <strong>Add to new map.<\/strong> In Map Viewer, save the map. Later on, we will use this map in ArcGIS Field Maps to collect features.<\/p>\n<h2 style=\"text-align: justify\">Create scenario in Integromat<\/h2>\n<p style=\"text-align: justify\">Now we are going to use Integromat and create a new scenario that can consume the webhook we will enable. At a high-level these are the steps that we need to do:<\/p>\n<ol style=\"text-align: justify\">\n<li>Configure an incoming webhook for Integromat<\/li>\n<li>Configure an outgoing webhook for the feature service<\/li>\n<li>Create a new ArcGIS Online application for authenticating with ArcGIS Online within Integromat<\/li>\n<li>Create a scenario to process the new hydrant and inspection features<\/li>\n<\/ol>\n<p style=\"text-align: justify\">At the end of the tutorial, the scenario should look like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167012,"id":1167012,"title":"Completed Scenario","filename":"Scenario-Full.png","filesize":30400,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/scenario-full","alt":"Completed Scenario","author":"8272","description":"","caption":"","name":"scenario-full","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:28","modified":"2021-03-20 00:38:31","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1710,"height":178,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full-213x178.png","thumbnail-width":213,"thumbnail-height":178,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","medium-width":464,"medium-height":48,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","medium_large-width":768,"medium_large-height":80,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","large-width":1710,"large-height":178,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full-1536x160.png","1536x1536-width":1536,"1536x1536-height":160,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","2048x2048-width":1710,"2048x2048-height":178,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full-826x86.png","card_image-width":826,"card_image-height":86,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","wide_image-width":1710,"wide_image-height":178}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">In Integromat (after signing in), click <strong>+ Create a new scenario<\/strong> in the upper right corner. When prompted for a service, search for and select <strong>Webhooks<\/strong>; then click <strong>Continue.<\/strong> You should see something like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167232,"id":1167232,"title":"Add Webhook Instant Trigger","filename":"Add-Webhook-To-Integromat.png","filesize":10851,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/add-webhook-to-integromat","alt":"Add Webhook Instant Trigger","author":"8272","description":"","caption":"","name":"add-webhook-to-integromat","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:35:23","modified":"2021-03-20 00:39:19","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":686,"height":267,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","medium-width":464,"medium-height":181,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","medium_large-width":686,"medium_large-height":267,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","large-width":686,"large-height":267,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","1536x1536-width":686,"1536x1536-height":267,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","2048x2048-width":686,"2048x2048-height":267,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","card_image-width":686,"card_image-height":267,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Add-Webhook-To-Integromat.png","wide_image-width":686,"wide_image-height":267}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Click on the <strong>Webhooks<\/strong> row and select <strong>Custom webhook<\/strong>. When prompted to select a webhook, click <strong>Add<\/strong> and provide a <strong>Webhook name<\/strong>; you can leave the other settings alone and click <strong>Save. <\/strong>Click <strong>Copy address to clipboard. <\/strong>You should now see a URL. We are going to use this URL to configure our feature service webhook.<\/p>\n<h2 style=\"text-align: justify\">Create and activate a webhook in ArcGIS Online<\/h2>\n<p style=\"text-align: justify\">Back in ArcGIS Online, open the feature service URL using the <strong>URL<\/strong> on the <strong>Overview<\/strong> tab. In the URL add &#8220;admin&#8221; between &#8220;rest\/services&#8221; so that you can access the feature service admin APIs. The URL should be similar to:<\/p>\n<p style=\"text-align: justify\">https:\/\/services.arcgis.com\/&lt;redacted&gt;\/arcgis\/rest\/admin\/services\/Hydrant_Maintenance_Inspections<\/p>\n<p style=\"text-align: justify\">At the bottom of the admin page, click <strong>Web Hooks.<\/strong><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167222,"id":1167222,"title":"Feature Service Admin Page","filename":"FS-Admin-HTML-Page.png","filesize":6194,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/fs-admin-html-page","alt":"Feature Service Admin Page","author":"8272","description":"","caption":"","name":"fs-admin-html-page","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:35:19","modified":"2021-03-20 00:41:32","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1117,"height":37,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page-213x37.png","thumbnail-width":213,"thumbnail-height":37,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page.png","medium-width":464,"medium-height":15,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page.png","medium_large-width":768,"medium_large-height":25,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page.png","large-width":1117,"large-height":37,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page.png","1536x1536-width":1117,"1536x1536-height":37,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page.png","2048x2048-width":1117,"2048x2048-height":37,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page-826x27.png","card_image-width":826,"card_image-height":27,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/FS-Admin-HTML-Page.png","wide_image-width":1117,"wide_image-height":37}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, click <strong>Create<\/strong>. Provide a <strong>Name<\/strong> for your webhook. Set the <strong>Change Types<\/strong> to <em>FeaturesCreated<\/em> so that this webhook only will trigger when new features are created. Leave the <strong>Signature Key<\/strong> empty. If defined, a Signature Key can be used as an additional layer of security by allowing the webhook receiver to verify the sender \u2013 for simplicity we will not do this in the tutorial. Paste the URL you copied from Integromat into the <strong>HookUrl<\/strong> text box. This URL will be where ArcGIS Online sends information when features are created. Leave the remaining options alone. It should look similar to this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167212,"id":1167212,"title":"Create a Webhook","filename":"Create-Webhook.png","filesize":16376,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/create-webhook","alt":"Create a webhook","author":"8272","description":"","caption":"","name":"create-webhook","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:35:10","modified":"2021-03-20 00:40:37","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":615,"height":443,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","medium-width":362,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","medium_large-width":615,"medium_large-height":443,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","large-width":615,"large-height":443,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","1536x1536-width":615,"1536x1536-height":443,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","2048x2048-width":615,"2048x2048-height":443,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","card_image-width":615,"card_image-height":443,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Create-Webhook.png","wide_image-width":615,"wide_image-height":443}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Click <strong>Create. <\/strong>Next, click <strong>Edit<\/strong>, set <strong>Active<\/strong> to <strong>True<\/strong>, and then click <strong>Edit <\/strong>to activate the webhook. Your feature service webhook is now activated and ready to use in Integromat.<\/p>\n<p style=\"text-align: justify\">Now let&#8217;s verify it works, in Integromat click <strong>Run Once<\/strong>. In your ArcGIS Online map add a new hydrant feature. ArcGIS Online will now send a request to your Integromat scenario. FYI: It may take a bit for it to work because ArcGIS Online batches and schedules webhook events and the default interval is 30 seconds.<\/p>\n<p style=\"text-align: justify\">Now that we&#8217;ve verified that ArcGIS Online can actually send an event to our scenario, let&#8217;s build out the rest of our logic with Integromat.<\/p>\n<h2 style=\"text-align: justify\">Configure Integromat scenario<\/h2>\n<p style=\"text-align: justify\">If you click on the &#8220;1&#8221; bubble you can view the data that was sent or received by a module from a previous run. In our case we can see that the payload that was received looks like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167202,"id":1167202,"title":"Webhook Payload","filename":"Webhook-Payload.png","filesize":28156,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/webhook-payload","alt":"Webhook Payload","author":"8272","description":"","caption":"","name":"webhook-payload","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:35:06","modified":"2021-03-20 00:42:25","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":728,"height":504,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload.png","medium-width":377,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload.png","medium_large-width":728,"medium_large-height":504,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload.png","large-width":728,"large-height":504,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload.png","1536x1536-width":728,"1536x1536-height":504,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload.png","2048x2048-width":728,"2048x2048-height":504,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload-672x465.png","card_image-width":672,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Webhook-Payload.png","wide_image-width":728,"wide_image-height":504}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">From looking at the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/web-hooks-payloads-feature-service-.htm\">payload documentation<\/a> we can see that the expected format is:<\/p>\n<p style=\"text-align: justify\">\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"{\"layerId\":0,\"serviceName\":\"myService\",\"changeType\":\"FeaturesCreated\",\"orgId\":\"myorgId\",\"changesUrl\":\"https:\\\/\\\/olserver\\\/services\\\/myService\\\/FeatureService\\\/extractChanges?serverGens=[1122, 1124]\"}","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Notice how the payload is small and does not contain any actual features. This is a security feature. There is a <em>changesUrl<\/em> that is returned. We need to make a request to that URL to get the actual changes. In order to make that request we first need to parse the JSON so that we can extract the URL. In Integromat, add a new module using the <strong>+<\/strong> button.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167192,"id":1167192,"title":"Integromat Toolbar","filename":"Integromat-Toolbar.png","filesize":8033,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/integromat-toolbar","alt":"Integromat Toolbar","author":"8272","description":"","caption":"","name":"integromat-toolbar","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:35:02","modified":"2021-03-20 00:43:37","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":921,"height":167,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar-213x167.png","thumbnail-width":213,"thumbnail-height":167,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar.png","medium-width":464,"medium-height":84,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar.png","medium_large-width":768,"medium_large-height":139,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar.png","large-width":921,"large-height":167,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar.png","1536x1536-width":921,"1536x1536-height":167,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar.png","2048x2048-width":921,"2048x2048-height":167,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar-826x150.png","card_image-width":826,"card_image-height":150,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Integromat-Toolbar.png","wide_image-width":921,"wide_image-height":167}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Search for and select <strong>Json<\/strong>. Then select the <strong>Parse JSON<\/strong> transformer. Connect the new module to the <strong>Webhooks<\/strong> module. It will prompt for a <strong>Data structure<\/strong>, click <strong>Add<\/strong> and then click <strong>Generate. <\/strong>Paste in the sample payload listed above. Integromat will now parse that and generate a data structure for you. You can provide a useful <strong>Data structure name<\/strong> if you like.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167182,"id":1167182,"title":"webhook payload data structure","filename":"webhook-payload-data-structure.png","filesize":15618,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/webhook-payload-data-structure","alt":"","author":"8272","description":"","caption":"","name":"webhook-payload-data-structure","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:57","modified":"2021-03-20 00:34:57","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":404,"height":594,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure.png","medium-width":178,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure.png","medium_large-width":404,"medium_large-height":594,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure.png","large-width":404,"large-height":594,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure.png","1536x1536-width":404,"1536x1536-height":594,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure.png","2048x2048-width":404,"2048x2048-height":594,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure-316x465.png","card_image-width":316,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/webhook-payload-data-structure.png","wide_image-width":404,"wide_image-height":594}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Click <strong>Save<\/strong>. For the <strong>JSON string <\/strong>field, click the text box and then click the <strong>payload<\/strong> chiclet to use the output from the webhook as the input to this module. Click <strong>OK.<\/strong> We are now ready to make our request to that <em>changesURL<\/em> but wait, what if our feature service is not shared publicly? We will need to provide a token for authentication.<\/p>\n<h2 style=\"text-align: justify\">Register a new ArcGIS Online app<\/h2>\n<p style=\"text-align: justify\">Luckily for us, Integromat supports many authentication models including OAuth 2.0, an industry standard protocol for authorization that many products including ArcGIS Online support. In order to authenticate with ArcGIS Online via Integromat, we need to create a new application in ArcGIS Online. You can do this by navigating to the <strong>Content <\/strong>page and clicking <strong>Add -&gt; An Application. <\/strong>When prompted, set the <strong>Type<\/strong> to <em>Application<\/em>. Enter a <strong>Title <\/strong>and <strong>Tags<\/strong>. <strong>\u00a0<\/strong><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1169042,"id":1169042,"title":"Application Info","filename":"Application-Info-1.png","filesize":34380,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/application-info-2","alt":"Application Info","author":"8272","description":"","caption":"","name":"application-info-2","status":"inherit","uploaded_to":1166972,"date":"2021-03-23 13:24:41","modified":"2021-03-23 13:24:56","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1056,"height":754,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1.png","medium-width":366,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1.png","medium_large-width":768,"medium_large-height":548,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1.png","large-width":1056,"large-height":754,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1.png","1536x1536-width":1056,"1536x1536-height":754,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1.png","2048x2048-width":1056,"2048x2048-height":754,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1-651x465.png","card_image-width":651,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-1.png","wide_image-width":1056,"wide_image-height":754}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Click <strong>Add Item<\/strong> to create the application. Once it is created, navigate to the <strong>Settings<\/strong> tab of the application. Under the <strong>Application <\/strong>section click <strong>Update<\/strong> and add this <strong>Redirect URI:<\/strong><\/p>\n<p style=\"text-align: justify\">https:\/\/www.integromat.com\/oauth\/cb\/oauth2<\/p>\n<p style=\"text-align: justify\">This will allow list Integromat so that we can sign into ArcGIS Online via Integromat. Back on the <strong>Settings <\/strong>tab, click <strong>Registered Info<\/strong> so you can view the <strong>App ID<\/strong> and <strong>App Secret <\/strong>(these parameters will help with the authentication process). We are going to need those values when configuring the OAuth connection.<\/p>\n<p style=\"text-align: justify\">\n"},{"acf_fc_layout":"image","image":{"ID":1167282,"id":1167282,"title":"Application Information","filename":"Application-Info.png","filesize":2856,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/application-info","alt":"Application Information","author":"8272","description":"","caption":"","name":"application-info","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:46:37","modified":"2021-03-20 00:46:54","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":300,"height":173,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info-213x173.png","thumbnail-width":213,"thumbnail-height":173,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","medium-width":300,"medium-height":173,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","medium_large-width":300,"medium_large-height":173,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","large-width":300,"large-height":173,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","1536x1536-width":300,"1536x1536-height":173,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","2048x2048-width":300,"2048x2048-height":173,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","card_image-width":300,"card_image-height":173,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Application-Info.png","wide_image-width":300,"wide_image-height":173}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2 style=\"text-align: justify\">Making an authenticated request in Integromat<\/h2>\n<p style=\"text-align: justify\">Back in Integromat add a new <strong>HTTP<\/strong> module and select the <strong>Make an OAuth 2.0 request<\/strong> action when prompted. Connect the request to the JSON module. Click <strong>Add<\/strong> to add a new <strong>Connection<\/strong>. This connection will enable you to sign into ArcGIS Online from Integromat. Once the connection is configured, you will be able access private content from ArcGIS Online.<\/p>\n<p style=\"text-align: justify\">In the dialog enter a <strong>Connection name<\/strong> and set the <strong>Flow type<\/strong> to <em>Authorization Code<\/em>. On <a href=\"https:\/\/developers.arcgis.com\/documentation\/core-concepts\/security-and-authentication\/what-is-oauth-2\/\">developers.arcgis.com<\/a> you can find the <strong>Authorize URI<\/strong> (<a href=\"https:\/\/www.arcgis.com\/sharing\/rest\/oauth2\/authorize\">https:\/\/www.arcgis.com\/sharing\/rest\/oauth2\/authorize<\/a>) and <strong>Token URI <\/strong>(<a href=\"https:\/\/www.arcgis.com\/sharing\/rest\/oauth2\/token\/\">https:\/\/www.arcgis.com\/sharing\/rest\/oauth2\/token\/<\/a>) to enter. Use the <strong>App ID<\/strong> and <strong>App Secret<\/strong> of your ArcGIS Online Application as the <strong>Client ID <\/strong>and <strong>Client Secret<\/strong> respectively.<\/p>\n<p style=\"text-align: justify\">Open the advanced settings and set <strong>Token placement<\/strong> to <em>In the query string<\/em>. Set the <strong>Query string parameter name<\/strong> to <em>\u00adtoken<\/em>. This will ensure the token is sent in a way that ArcGIS Online will recognize. Click<strong> Continue<\/strong> to save the connection. This will launch a new window and ask you to sign in using ArcGIS Online Credentials. These are the credentials that will be used for all future requests. The OAuth module will handle generating new access and refresh tokens automatically from here on out.<\/p>\n<h2 style=\"text-align: justify\">Generate a server token<\/h2>\n<p style=\"text-align: justify\">It seems like we should be good to go now that we have an access token, however that token is not valid for accessing feature services. We are going to make our first request to generate a new server token so that we can interact with the hosted feature service APIs. In the HTTP module set the <strong>URL <\/strong>to <a href=\"https:\/\/www.arcgis.com\/sharing\/rest\/generateToken\">https:\/\/www.arcgis.com\/sharing\/rest\/generateToken<\/a>, the <strong>Method <\/strong>to POST and add two <strong>Query String <\/strong>parameters:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167162,"id":1167162,"title":"Generate Token Parameters","filename":"Generate-Token.png","filesize":4997,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/generate-token","alt":"Generate Token Parameters","author":"8272","description":"","caption":"","name":"generate-token","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:45","modified":"2021-03-20 00:49:04","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":386,"height":181,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token-213x181.png","thumbnail-width":213,"thumbnail-height":181,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","medium-width":386,"medium-height":181,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","medium_large-width":386,"medium_large-height":181,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","large-width":386,"large-height":181,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","1536x1536-width":386,"1536x1536-height":181,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","2048x2048-width":386,"2048x2048-height":181,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","card_image-width":386,"card_image-height":181,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-Token.png","wide_image-width":386,"wide_image-height":181}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, we need to parse the response, so add a new <strong>Parse JSON <\/strong>transformer and connect it to the previous HTTP request. Set the <strong>JSON string<\/strong> to be the data from the HTTP request. You will have to define a new data structure; use this sample json which is modified from the REST API documentation.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"{\"token\":\"example\",\"expires\":1,\"ssl\":true}","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>At this point your scenario should look like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167152,"id":1167152,"title":"Scenario Part 1 - Getting a Server Token","filename":"Pipeline-Part1-Get-Server-Token.png","filesize":26917,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/pipeline-part1-get-server-token","alt":"Scenario Part 1 - Getting a Server Token","author":"8272","description":"","caption":"","name":"pipeline-part1-get-server-token","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:41","modified":"2021-03-20 00:51:36","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1260,"height":287,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token.png","medium-width":464,"medium-height":106,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token.png","medium_large-width":768,"medium_large-height":175,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token.png","large-width":1260,"large-height":287,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token.png","1536x1536-width":1260,"1536x1536-height":287,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token.png","2048x2048-width":1260,"2048x2048-height":287,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token-826x188.png","card_image-width":826,"card_image-height":188,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-Part1-Get-Server-Token.png","wide_image-width":1260,"wide_image-height":287}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">It&#8217;s probably a good idea to test it to make sure you can actually obtain a server token at this point. Click <strong>Run Once<\/strong> in the scenario. Then in Map Viewer add a new feature. If everything works correctly, the scenario will execute within 30 seconds and a token will be available as the output of the last module.<\/p>\n<h2 style=\"text-align: justify\">Request and extract the changes<\/h2>\n<p style=\"text-align: justify\">Let&#8217;s continue to build out our scenario in Integromat. Add a new HTTP module using the <strong>Make a request<\/strong> action. Configure it as follows using the parsed <em>changesUrl <\/em>and <em>token<\/em> objects. Notice that we are requesting the results as latitude and longitude \u2013 this will be used later.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167142,"id":1167142,"title":"Request Changes","filename":"Request-Changes-URL.png","filesize":19673,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/request-changes-url","alt":"Request Changes","author":"8272","description":"","caption":"","name":"request-changes-url","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:31","modified":"2021-03-20 23:04:23","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":395,"height":882,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL.png","medium-width":117,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL.png","medium_large-width":395,"medium_large-height":882,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL.png","large-width":395,"large-height":882,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL.png","1536x1536-width":395,"1536x1536-height":882,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL.png","2048x2048-width":395,"2048x2048-height":882,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL-208x465.png","card_image-width":208,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Request-Changes-URL.png","wide_image-width":395,"wide_image-height":882}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, we need to parse the results. So, add a new <strong>Parse JSON<\/strong> transformer and connect it. The <em>changesUrl<\/em> will trigger a job that runs asynchronously and returns a <em>statusUrl<\/em> of the job. We can use the following sample json to generate the object:<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"{\"statusUrl\":\"url\"}","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>Since the changes are generated asynchronously, we will add a <strong>Sleep<\/strong> module and set the <strong>Delay<\/strong> to 30 seconds. This will allow for the server to generate the changes.<\/p>\n<p>Next, we will make another http request to the status URL that was returned previously. Add another HTTP module using the <strong>Make a request <\/strong>action. Configure it as follows:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167132,"id":1167132,"title":"Check job status","filename":"Check-Status-URL.png","filesize":18805,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/check-status-url","alt":"Check job status","author":"8272","description":"","caption":"","name":"check-status-url","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:21","modified":"2021-03-20 23:05:58","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":395,"height":833,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL.png","medium-width":124,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL.png","medium_large-width":395,"medium_large-height":833,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL.png","large-width":395,"large-height":833,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL.png","1536x1536-width":395,"1536x1536-height":833,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL.png","2048x2048-width":395,"2048x2048-height":833,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL-220x465.png","card_image-width":220,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Check-Status-URL.png","wide_image-width":395,"wide_image-height":833}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, add a <strong>Parse JSON<\/strong> transformer to parse the response. You can generate the <strong>Data structure<\/strong> using this sample json:<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"[{\"submissionTime\":1,\"lastUpdatedTime\":1,\"status\":\"Completed\",\"responseType\":\"esriDataChangesResponseTypeEdits\",\"resultUrl\":\"url\"}]","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">The response contains a \u00ad\u00ad<em>resultUrl<\/em>. This is a json file that contains the actual changes. It needs to be downloaded and then parsed. So, add a new HTTP module using the <strong>Get a file<\/strong> action. Configure it using the <em>\u00adresultUrl<\/em> and <em>token<\/em> query param as follows:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167122,"id":1167122,"title":"Download json file","filename":"Download-json-file.png","filesize":5616,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/download-json-file","alt":"Download json file","author":"8272","description":"","caption":"","name":"download-json-file","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:18","modified":"2021-03-20 23:07:06","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":395,"height":212,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","medium-width":395,"medium-height":212,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","medium_large-width":395,"medium_large-height":212,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","large-width":395,"large-height":212,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","1536x1536-width":395,"1536x1536-height":212,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","2048x2048-width":395,"2048x2048-height":212,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","card_image-width":395,"card_image-height":212,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Download-json-file.png","wide_image-width":395,"wide_image-height":212}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Integromat will interpret the file as a binary file so we need to convert the encoding to text. Add a <strong>Convert the encoding of a text<\/strong> module and configure to be a UTF-8 file as follows:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167112,"id":1167112,"title":"Convert Encoding","filename":"Convert-Encoding.png","filesize":12635,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/convert-encoding","alt":"Convert Encoding","author":"8272","description":"","caption":"","name":"convert-encoding","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:14","modified":"2021-03-22 18:27:14","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":396,"height":492,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding.png","medium-width":210,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding.png","medium_large-width":396,"medium_large-height":492,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding.png","large-width":396,"large-height":492,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding.png","1536x1536-width":396,"1536x1536-height":492,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding.png","2048x2048-width":396,"2048x2048-height":492,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding-374x465.png","card_image-width":374,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Convert-Encoding.png","wide_image-width":396,"wide_image-height":492}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Now that the file is read as plain text, we can parse it. Add another <strong>Parse JSON <\/strong>module. The data structure to use will vary based on the feature service and layers that you are working with. In this tutorial our feature service has a layer and a table. We want to process the layer and table separately so instead of parsing the full json we will only parse it to identify the different layers. Generate a <strong>Data structure<\/strong> using this sample json:<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"[{\"layerServerGens\":[{\"id\":0,\"serverGen\":0},{\"id\":1,\"serverGen\":0}],\"transportType\":\"esriTransportTypeUrl\",\"responseType\":\"esriDataChangesResponseTypeEdits\",\"edits\":[{\"id\":0,\"features\":{\"adds\":[],\"updates\":[],\"deleteIds\":[]}},{\"id\":1,\"features\":{\"adds\":[],\"updates\":[],\"deleteIds\":[]}}]}]","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">It&#8217;s important that we do not parse the specific features that may appear in the adds, updates, and deleteIds arrays. This is because Integromat will assume that all objects inside the edits object will be of the same structure which is not the case because our two layers have different sets of attributes.<\/p>\n<p style=\"text-align: justify\">At this point your scenario should resemble this where the highlighted modules were the new ones we added.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167102,"id":1167102,"title":"Scenario with parsed json changes","filename":"Pipeline-to-parsed-json-changes.png","filesize":27531,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/pipeline-to-parsed-json-changes","alt":"Scenario with parsed json changes","author":"8272","description":"","caption":"","name":"pipeline-to-parsed-json-changes","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:09","modified":"2021-03-20 23:08:36","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1707,"height":151,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes-213x151.png","thumbnail-width":213,"thumbnail-height":151,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes.png","medium-width":464,"medium-height":41,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes.png","medium_large-width":768,"medium_large-height":68,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes.png","large-width":1707,"large-height":151,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes-1536x136.png","1536x1536-width":1536,"1536x1536-height":136,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes.png","2048x2048-width":1707,"2048x2048-height":151,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes-826x73.png","card_image-width":826,"card_image-height":73,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Pipeline-to-parsed-json-changes.png","wide_image-width":1707,"wide_image-height":151}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">It&#8217;s probably a good idea to test your scenario again by clicking <strong>Run Once<\/strong> and adding a new feature in Map Viewer. If everything works correctly, the output of the last module will contain data similar to the json provided above.<\/p>\n<h2 style=\"text-align: justify\">Email the new features<\/h2>\n<p style=\"text-align: justify\">Now we can finally get to the fun part &#8211; processing the new features! First, we want to iterate over the set of layers\/tables that were returned. Add an <strong>Iterator<\/strong> and set the <strong>Array<\/strong> to be the <em>edits<\/em> property as follows:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167092,"id":1167092,"title":"Layer Iterator","filename":"Layer-Iterator.png","filesize":4924,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/layer-iterator","alt":"Layer iterator","author":"8272","description":"","caption":"","name":"layer-iterator","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:06","modified":"2021-03-20 23:09:10","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":397,"height":212,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","medium-width":397,"medium-height":212,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","medium_large-width":397,"medium_large-height":212,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","large-width":397,"large-height":212,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","1536x1536-width":397,"1536x1536-height":212,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","2048x2048-width":397,"2048x2048-height":212,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","card_image-width":397,"card_image-height":212,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Layer-Iterator.png","wide_image-width":397,"wide_image-height":212}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, we are going to add a <strong>Router<\/strong> module so that we can define two different paths \u2013 one for each layer.<\/p>\n<p style=\"text-align: justify\">We want to iterate over all of the features that were created, but we don&#8217;t have any data structures to represent the hydrants or inspections yet. We need to do a little trick here to generate these. We are going to transform the object to JSON and then re-parse it with different data structure specific for each layer and the features they contain.<\/p>\n<p style=\"text-align: justify\">Add a <strong>Transform to JSON <\/strong>module and use the <em>Features<\/em> object from the iterator:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167082,"id":1167082,"title":"Transform to JSON","filename":"Transform-to-JSON.png","filesize":12098,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/transform-to-json","alt":"Transform to JSON","author":"8272","description":"","caption":"","name":"transform-to-json","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:34:01","modified":"2021-03-20 23:09:41","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":521,"height":270,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","medium-width":464,"medium-height":240,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","medium_large-width":521,"medium_large-height":270,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","large-width":521,"large-height":270,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","1536x1536-width":521,"1536x1536-height":270,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","2048x2048-width":521,"2048x2048-height":270,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","card_image-width":521,"card_image-height":270,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Transform-to-JSON.png","wide_image-width":521,"wide_image-height":270}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, add a <strong>Parse JSON <\/strong>module and use the previous <em>JSON string<\/em> property as the <strong>JSON string. <\/strong>For the <strong>Data structure<\/strong> generate it using the following example json:<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"[{\"adds\":[{\"geometry\":{\"x\":-70,\"y\":43.8},\"attributes\":{\"OBJECTID\":23,\"GlobalID\":\"31527875-7DE8-4DC8-A8FE-4002BFE80793\",\"FACILITYID\":\"123\",\"INSTALLDATE\":1611104671387,\"LOCDESC\":\"Front Yard\",\"MANUFACTURER\":\"Clow Corporation\",\"OPERABLE\":1,\"LASTSERVICE\":1611104677975,\"FLOW\":25,\"CreationDate\":1611191081950,\"Creator\":\"useranme\",\"EditDate\":1611191081950,\"Editor\":\"username\"}}],\"updates\":[],\"deleteIds\":[]}]","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">This represents a new Hydrant feature that was added. Since our webhook was configured to only push changes on new features, we don&#8217;t need to worry about the <em>updates<\/em> or <em>deleteIds<\/em> arrays.<\/p>\n<p style=\"text-align: justify\">We are going to repeat the previous 2 steps and add another <strong>Transform to JSON <\/strong>and <strong>Parse JSON <\/strong>module. These are also going to be connected to the router and will be used for the inspections table. Configure the <strong>Transform to JSON<\/strong> module the same as the previous one. For the <strong>Parse JSON <\/strong>module use the following sample json to generate the <strong>Data structure<\/strong>:<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"[{\"adds\":[{\"attributes\":{\"OBJECTID\":7,\"GlobalID\":\"F04BC39F-FEAB-4B28-9587-A6942D9EAFB1\",\"ASSETGUID\":\"12c441c2-21bb-46ca-88c9-29360c105e53\",\"PRESSURE\":100,\"FACILITYKEY\":\"123\",\"INSPECTOR\":\"Aaron\",\"CHAINS\":\"0\",\"PAINT\":\"0\",\"MARKER\":\"0\",\"OIL\":\"0\",\"STAMPED\":\"0\",\"GREASED\":\"0\",\"DRAIN\":\"0\",\"NOTES\":\"Done\",\"CreationDate\":1611191061154,\"Creator\":\"username\",\"EditDate\":1611191061154,\"Editor\":\"username\"}}],\"updates\":[],\"deleteIds\":[]}]","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">At this point the new modules we&#8217;ve added should look like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167072,"id":1167072,"title":"Scenario with router","filename":"Scenario-to-router-to-parsed-layer-json.png","filesize":26370,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/scenario-to-router-to-parsed-layer-json","alt":"Scenario with router","author":"8272","description":"","caption":"","name":"scenario-to-router-to-parsed-layer-json","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:56","modified":"2021-03-20 23:11:05","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1030,"height":562,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json.png","medium-width":464,"medium-height":253,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json.png","medium_large-width":768,"medium_large-height":419,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json.png","large-width":1030,"large-height":562,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json.png","1536x1536-width":1030,"1536x1536-height":562,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json.png","2048x2048-width":1030,"2048x2048-height":562,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json-826x451.png","card_image-width":826,"card_image-height":451,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-to-router-to-parsed-layer-json.png","wide_image-width":1030,"wide_image-height":562}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Currently changes in both layers will be routed to both paths \u2013 which is not desired. Let&#8217;s add a filter to fix that. Click the wrench icon between the <strong>Router<\/strong> and the <strong>JSON<\/strong> module and then click <strong>Set up a filter<\/strong>. Add a <strong>Label<\/strong> of <em>Hydrant Layer Edits<\/em> and set the condition so that only layer id 0 edits are passed through. Repeat this for the other route but configure the filter so that only layer id 1 edits are passed through.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167052,"id":1167052,"title":"Hydrant Layer Filter","filename":"Hydrant-Layer-Filter.png","filesize":12608,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/hydrant-layer-filter","alt":"Hydrant Layer Filter","author":"8272","description":"","caption":"","name":"hydrant-layer-filter","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:48","modified":"2021-03-20 23:11:47","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":395,"height":524,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter.png","medium-width":197,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter.png","medium_large-width":395,"medium_large-height":524,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter.png","large-width":395,"large-height":524,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter.png","1536x1536-width":395,"1536x1536-height":524,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter.png","2048x2048-width":395,"2048x2048-height":524,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter-351x465.png","card_image-width":351,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Layer-Filter.png","wide_image-width":395,"wide_image-height":524}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":1167042,"id":1167042,"title":"Hydrant Inspection Layer Edits Filter","filename":"Hydrant-Inspection-Layer-Edits-Filter.png","filesize":13207,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/hydrant-inspection-layer-edits-filter","alt":"Hydrant Inspection Layer","author":"8272","description":"","caption":"","name":"hydrant-inspection-layer-edits-filter","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:42","modified":"2021-03-20 23:12:11","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":396,"height":524,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter.png","medium-width":197,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter.png","medium_large-width":396,"medium_large-height":524,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter.png","large-width":396,"large-height":524,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter.png","1536x1536-width":396,"1536x1536-height":524,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter.png","2048x2048-width":396,"2048x2048-height":524,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter-351x465.png","card_image-width":351,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Hydrant-Inspection-Layer-Edits-Filter.png","wide_image-width":396,"wide_image-height":524}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Let&#8217;s test our scenario before we move on. In the Field Maps mobile app, collect a new hydrant and add a new inspection as well. If everything works correctly, there should be a JSON object output from each of the last two modules.<\/p>\n<p style=\"text-align: justify\">Now we want to iterate over the actual features and generate some text that we can email. Add another <strong>Iterator<\/strong> and connect it to the <strong>Parse JSON<\/strong> module. Set the <strong>Array<\/strong> to the <em>adds<\/em> array that was parsed. \u00a0Do this for both routes.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167062,"id":1167062,"title":"Feature Iterator","filename":"Feature-Iterator.png","filesize":4708,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/feature-iterator","alt":"Feature Iterator","author":"8272","description":"","caption":"","name":"feature-iterator","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:52","modified":"2021-03-20 23:13:19","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":396,"height":215,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","medium-width":396,"medium-height":215,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","medium_large-width":396,"medium_large-height":215,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","large-width":396,"large-height":215,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","1536x1536-width":396,"1536x1536-height":215,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","2048x2048-width":396,"2048x2048-height":215,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","card_image-width":396,"card_image-height":215,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Feature-Iterator.png","wide_image-width":396,"wide_image-height":215}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Next, add a <strong>Text Aggregator<\/strong> module and connect it to the <strong>Iterator.<\/strong> We&#8217;ll use this to combine the features into a single HTML document that we will email. Open the advanced settings and set the <strong>Row separator<\/strong> to <em>&lt;br&gt;&lt;br&gt;<\/em> &#8211; this will insert two line breaks between features. Also ensure you check <strong>Stop processing after an empty aggregation<\/strong>.<\/p>\n<p style=\"text-align: justify\">For the <strong>Text<\/strong> we are going to build an HTML table so that the new hydrants are nicely formatted. We&#8217;re also going to create a hyperlink to open the map (in the new Map Viewer) at that location. You can copy and paste this sample but will need to update the referenced objects and map accordingly:<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"<table>  \r\n<tr><th>Attribute<\/th><th>Value<\/th><\/tr> \r\n<tr><td>Facility ID<\/td><td>{{20.attributes.FACILITYID}}<\/td><\/tr>\r\n<tr><td>Location Description<\/td><td>{{20.attributes.LOCDESC}}<\/td><\/tr>\r\n<tr><td>Manufacturer<\/td><td>{{20.attributes.MANUFACTURER}}<\/td><\/tr>\r\n<tr><td>Operable<\/td><td>{{if(20.attributes.OPERABLE = 1; \"Yes\"; \"No\")}}<\/td><\/tr>\r\n<tr><td>Flow<\/td><td>{{20.attributes.FLOW}}<\/td><\/tr>\r\n<tr><td>Worker<\/td><td>{{20.attributes.Creator}}<\/td><\/tr>\r\n<tr><td>Installation Date<\/td><td>{{parseDate(20.attributes.INSTALLDATE \/ 1000; \"X\")}}<\/td><\/tr>\r\n<tr><td>Last Serviced<\/td><td>{{parseDate(20.attributes.LASTSERVICE \/ 1000; \"X\")}}<\/td><\/tr>\r\n<\/table>\r\n\r\n<br><a href=\"https:\/\/arcgis.com\/apps\/mapviewer\/index.html?webmap=ee75d2b9e2384d01837d08bb05e180f9&amp;center={{20.geometry.x}},{{20.geometry.y}}&amp;level=20\">Open in Map Viewer<\/a>\r\n","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"image","image":{"ID":1166992,"id":1166992,"title":"Generate text","filename":"Generate-text.png","filesize":44869,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/generate-text","alt":"Generate text","author":"8272","description":"","caption":"","name":"generate-text","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:18","modified":"2021-03-20 23:14:42","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":796,"height":955,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text.png","medium-width":218,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text.png","medium_large-width":768,"medium_large-height":921,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text.png","large-width":796,"large-height":955,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text.png","1536x1536-width":796,"1536x1536-height":955,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text.png","2048x2048-width":796,"2048x2048-height":955,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text-388x465.png","card_image-width":388,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Generate-text.png","wide_image-width":796,"wide_image-height":955}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Do the same thing for the inspections route. Here&#8217;s some sample HTML to use:<\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"<table>  \r\n<tr><th>Attribute<\/th><th>Value<\/th><\/tr>  \r\n<tr><td>Asset ID<\/td><td>{{23.attributes.ASSETGUID}}<\/td><\/tr>  \r\n<tr><td>Inspector<\/td><td>{{23.attributes.INSPECTOR}}<\/td><\/tr>  \r\n<tr><td>Facility Key<\/td><td>{{23.attributes.FACILITYKEY}}<\/td><\/tr>  \r\n<tr><td>Pressure<\/td><td>{{23.attributes.PRESSURE}}<\/td><\/tr>  \r\n<tr><td>Chains<\/td><td>{{if(23.attributes.CHAINS = 1; \"Yes\"; \"No\")}}<\/td><\/tr>  \r\n<tr><td>Paint<\/td><td>{{if(23.attributes.PAINT = 1; \"Yes\"; \"No\")}}<\/td><\/tr>  \r\n<tr><td>Marker<\/td><td>{{if(23.attributes.MARKER = 1; \"Yes\"; \"No\")}}<\/td><\/tr>  \r\n<tr><td>Oil<\/td><td>{{if(23.attributes.OIL = 1; \"Yes\"; \"No\")}}<\/td><\/tr>  \r\n<tr><td>Stamped<\/td><td>{{if(23.attributes.STAMPED = 1; \"Yes\"; \"No\")}}<\/td><\/tr>  \r\n<tr><td>Greased<\/td><td>{{if(23.attributes.DRAIN = 1; \"Yes\"; \"No\")}}<\/td><\/tr>  \r\n<tr><td>Drain<\/td><td>{{if(23.attributes.DRAIN = 1; \"Yes\"; \"No\")}}<\/td><\/tr>  \r\n<tr><td>Notes<\/td><td>{{23.attributes.NOTES}}<\/td><\/tr>  \r\n<tr><td>Worker<\/td><td>{{23.attributes.Creator}}<\/td><\/tr> \r\n<tr><td>Inspection Date<\/td><td>{{parseDate(23.attributes.CreationDate \/ 1000; \"X\")}}<\/td><\/tr><\/table>\r\n","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Finally let&#8217;s configure the email module. In my case I&#8217;m going to add the <strong>Microsoft 365 Email<\/strong> module to my scenario, but you could use the <strong>GMAIL<\/strong> module as well. Add the <strong>Create and Send a Message<\/strong> action and connect it to the <strong>Text Aggregator<\/strong> module. You will need to <strong>Add<\/strong> a new connection \u2013 this will prompt you to sign into Microsoft 365 using your account. Once the connection is created, add a <strong>Subject<\/strong> like &#8220;New Hydrant(s)&#8221; and set the <strong>Body Content<\/strong> to be the generated text. Add one or more <strong>Recipients<\/strong> and click <strong>OK.<\/strong><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167032,"id":1167032,"title":"Office 365 Email","filename":"O365-Mail.png","filesize":20374,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/o365-mail","alt":"Office 365 Email","author":"8272","description":"","caption":"","name":"o365-mail","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:38","modified":"2021-03-20 23:16:05","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":397,"height":775,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail.png","medium-width":134,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail.png","medium_large-width":397,"medium_large-height":775,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail.png","large-width":397,"large-height":775,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail.png","1536x1536-width":397,"1536x1536-height":775,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail.png","2048x2048-width":397,"2048x2048-height":775,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail-238x465.png","card_image-width":238,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/O365-Mail.png","wide_image-width":397,"wide_image-height":775}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\"><strong>Add<\/strong> another <strong>Microsoft 365 Email<\/strong> module for the inspections route and configure it accordingly. At this point, your two routes should look similar to this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167022,"id":1167022,"title":"Secnario of router to email","filename":"Scenario-router-to-email.png","filesize":50282,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/scenario-router-to-email","alt":"Secnario of router to email","author":"8272","description":"","caption":"","name":"scenario-router-to-email","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:33","modified":"2021-03-20 23:16:41","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1422,"height":512,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email.png","medium-width":464,"medium-height":167,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email.png","medium_large-width":768,"medium_large-height":277,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email.png","large-width":1422,"large-height":512,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email.png","1536x1536-width":1422,"1536x1536-height":512,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email.png","2048x2048-width":1422,"2048x2048-height":512,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email-826x297.png","card_image-width":826,"card_image-height":297,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-router-to-email.png","wide_image-width":1422,"wide_image-height":512}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">Here is what the full scenario should look like:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167012,"id":1167012,"title":"Completed Scenario","filename":"Scenario-Full.png","filesize":30400,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/scenario-full","alt":"Completed Scenario","author":"8272","description":"","caption":"","name":"scenario-full","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:28","modified":"2021-03-20 00:38:31","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1710,"height":178,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full-213x178.png","thumbnail-width":213,"thumbnail-height":178,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","medium-width":464,"medium-height":48,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","medium_large-width":768,"medium_large-height":80,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","large-width":1710,"large-height":178,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full-1536x160.png","1536x1536-width":1536,"1536x1536-height":160,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","2048x2048-width":1710,"2048x2048-height":178,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full-826x86.png","card_image-width":826,"card_image-height":86,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Scenario-Full.png","wide_image-width":1710,"wide_image-height":178}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p style=\"text-align: justify\">It&#8217;s time to test it! Turn on your scenario so it&#8217;s ready to accept incoming webhooks. Then open your map in ArcGIS Field Maps and collect a new hydrant and add a related inspection. You should receive two emails after a minute or so that look similar to this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1167002,"id":1167002,"title":"Email for Hydrant","filename":"Email-for-Hydrant.png","filesize":16817,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\/email-for-hydrant","alt":"Email for Hydrant","author":"8272","description":"","caption":"","name":"email-for-hydrant","status":"inherit","uploaded_to":1166972,"date":"2021-03-20 00:33:24","modified":"2021-03-20 23:17:41","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":307,"height":238,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","medium-width":307,"medium-height":238,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","medium_large-width":307,"medium_large-height":238,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","large-width":307,"large-height":238,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","1536x1536-width":307,"1536x1536-height":238,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","2048x2048-width":307,"2048x2048-height":238,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","card_image-width":307,"card_image-height":238,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Email-for-Hydrant.png","wide_image-width":307,"wide_image-height":238}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2 style=\"text-align: justify\">Summary<\/h2>\n<p style=\"text-align: justify\">In summary, we started from nothing and were able to:<\/p>\n<ol style=\"text-align: justify\">\n<li>Create a hosted feature layer<\/li>\n<li>Create a map<\/li>\n<li>Configure an incoming webhook for Integromat<\/li>\n<li>Configure an outgoing webhook for the feature service<\/li>\n<li>Create a new ArcGIS app for authenticating within Integromat<\/li>\n<li>Create a scenario to process the new hydrant and inspection features and send an email<\/li>\n<li>Send an email when a new feature or related record was collected by a mobile worker.<\/li>\n<\/ol>\n<p style=\"text-align: justify\">Where do we go from here? There are many options beyond just emailing features. For example, we could expand this to support detecting a problem reported in the inspection and then create a new assignment for ArcGIS Workforce. The nice thing is that a lot of what we built can be re-used.<\/p>\n<p style=\"text-align: justify\">Webhooks open up a lot of opportunities for automation without the need for coding and are a great way to streamline many workflows. We look forward to seeing what you come up with!<\/p>\n<p style=\"text-align: justify\">If you have specific requirements related to webhooks, we&#8217;d love to hear about it. Please email us at <a href=\"http:\/\/arcgisfieldmaps@esri.com\">arcgisfieldmaps@esri.com<\/a>.<\/p>\n<h2 style=\"text-align: justify\">Additional Resources:<\/h2>\n<ul>\n<li style=\"text-align: justify\"><a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/web-hooks-feature-service-.htm\">ArcGIS Online Hosted Feature Service Webhooks<\/a><\/li>\n<li style=\"text-align: justify\"><a href=\"https:\/\/www.integromat.com\/en\/kb\/tutorials.html\">Integromat Tutorials<\/a><\/li>\n<li style=\"text-align: justify\"><a href=\"https:\/\/www.youtube.com\/watch?v=Uo5N7aEvNNQ\">ArcGIS Survey123: Automate Workflows with Integromat<\/a><\/li>\n<\/ul>\n"}],"authors":[{"ID":8272,"user_firstname":"Aaron","user_lastname":"Pulver","nickname":"APulver","user_nicename":"apulver","display_name":"Aaron Pulver","user_email":"APulver@esri.com","user_url":"","user_registered":"2018-08-13 15:03:58","user_description":"Aaron is a lead Product Engineer on the Field Apps team primarily focused on location sharing, smart forms, and automation. In his free time, you can often find him hiking, camping, or kayaking throughout Central New York.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/2099642.jpeg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":10102,"user_firstname":"Joshua","user_lastname":"Clifford","nickname":"Joshua Clifford","user_nicename":"jclifford","display_name":"Josh Clifford","user_email":"jclifford@esri.com","user_url":"","user_registered":"2019-11-13 14:04:25","user_description":"Josh is a Product Engineering Writer with a background in geography and comparative literature. When he isn't writing for the field apps team, he enjoys reading short stories, trying new recipes, and playing his bass clarinet.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/josh-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":873451,"post_author":"39221","post_date":"2020-08-28 09:00:34","post_date_gmt":"2020-08-28 16:00:34","post_content":"","post_title":"Create a hosted feature service webhook","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"how-to-create-a-hosted-feature-service-webhook","to_ping":"","pinged":"","post_modified":"2021-03-24 07:30:11","post_modified_gmt":"2021-03-24 14:30:11","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=873451","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":1345852,"post_author":"3651","post_date":"2021-09-14 10:20:20","post_date_gmt":"2021-09-14 17:20:20","post_content":"","post_title":"ArcGIS Field Maps app for Make released! (Sept 2021)","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-field-maps-app-for-integromat-released-sept-2021","to_ping":"","pinged":"","post_modified":"2023-08-02 22:44:10","post_modified_gmt":"2023-08-03 05:44:10","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1345852","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"3","filter":"raw"},{"ID":1300072,"post_author":"10102","post_date":"2021-09-14 10:15:54","post_date_gmt":"2021-09-14 17:15:54","post_content":"","post_title":"Automate email notifications for field updates","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"automate-email-notifications-for-field-updates","to_ping":"","pinged":"","post_modified":"2021-12-31 07:13:23","post_modified_gmt":"2021-12-31 15:13:23","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1300072","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"7","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Banner_826_2.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Banner_1920_2.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Use webhooks to automate workflows in ArcGIS Field Maps<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use webhooks to automate workflows in ArcGIS Field Maps\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-05T15:45:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2021\/03\/Banner_826_2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"826\" \/>\n\t<meta property=\"og:image:height\" content=\"465\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\"},\"author\":{\"name\":\"Aaron Pulver\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/8d54151f4591c7f17798ea38801e11c7\"},\"headline\":\"Use webhooks to automate workflows in ArcGIS Field Maps\",\"datePublished\":\"2021-03-23T13:30:15+00:00\",\"dateModified\":\"2022-07-05T15:45:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\"},\"wordCount\":9,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"Automation\",\"data collection\",\"Webhooks\"],\"articleSection\":[\"Field Operations\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\",\"name\":\"Use webhooks to automate workflows in ArcGIS Field Maps\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2021-03-23T13:30:15+00:00\",\"dateModified\":\"2022-07-05T15:45:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use webhooks to automate workflows in ArcGIS Field Maps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/8d54151f4591c7f17798ea38801e11c7\",\"name\":\"Aaron Pulver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/2099642.jpeg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/2099642.jpeg\",\"caption\":\"Aaron Pulver\"},\"description\":\"Aaron is a lead Product Engineer on the Field Apps team primarily focused on location sharing, smart forms, and automation. In his free time, you can often find him hiking, camping, or kayaking throughout Central New York.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/apulverizer\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/apulver\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Use webhooks to automate workflows in ArcGIS Field Maps","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps","og_locale":"en_US","og_type":"article","og_title":"Use webhooks to automate workflows in ArcGIS Field Maps","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2022-07-05T15:45:23+00:00","og_image":[{"width":826,"height":465,"url":"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2021\/03\/Banner_826_2.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps"},"author":{"name":"Aaron Pulver","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/8d54151f4591c7f17798ea38801e11c7"},"headline":"Use webhooks to automate workflows in ArcGIS Field Maps","datePublished":"2021-03-23T13:30:15+00:00","dateModified":"2022-07-05T15:45:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps"},"wordCount":9,"commentCount":1,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["Automation","data collection","Webhooks"],"articleSection":["Field Operations"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps","name":"Use webhooks to automate workflows in ArcGIS Field Maps","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2021-03-23T13:30:15+00:00","dateModified":"2022-07-05T15:45:23+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Use webhooks to automate workflows in ArcGIS Field Maps"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/8d54151f4591c7f17798ea38801e11c7","name":"Aaron Pulver","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/2099642.jpeg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/2099642.jpeg","caption":"Aaron Pulver"},"description":"Aaron is a lead Product Engineer on the Field Apps team primarily focused on location sharing, smart forms, and automation. In his free time, you can often find him hiking, camping, or kayaking throughout Central New York.","sameAs":["https:\/\/www.linkedin.com\/in\/apulverizer"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/apulver"}]}},"text_date":"March 23, 2021","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/field-maps\/field-mobility\/use-webhooks-to-automate-workflows-in-arcgis-field-maps","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/03\/Banner_1920_2.png","primary_product":"ArcGIS Field Maps","tag_data":[{"term_id":27481,"name":"Automation","slug":"automation","term_group":0,"term_taxonomy_id":27481,"taxonomy":"post_tag","description":"","parent":0,"count":38,"filter":"raw"},{"term_id":39831,"name":"data collection","slug":"data-collection","term_group":0,"term_taxonomy_id":39831,"taxonomy":"post_tag","description":"","parent":0,"count":64,"filter":"raw"},{"term_id":350622,"name":"Webhooks","slug":"webhooks","term_group":0,"term_taxonomy_id":350622,"taxonomy":"post_tag","description":"","parent":0,"count":12,"filter":"raw"}],"category_data":[{"term_id":23261,"name":"Field Operations","slug":"field-mobility","term_group":0,"term_taxonomy_id":23261,"taxonomy":"category","description":"","parent":0,"count":616,"filter":"raw"}],"product_data":[{"term_id":679821,"name":"ArcGIS Field Maps","slug":"field-maps","term_group":0,"term_taxonomy_id":679821,"taxonomy":"product","description":"","parent":36591,"count":153,"filter":"raw"},{"term_id":36551,"name":"ArcGIS Online","slug":"arcgis-online","term_group":0,"term_taxonomy_id":36551,"taxonomy":"product","description":"","parent":0,"count":2419,"filter":"raw"},{"term_id":36861,"name":"ArcGIS REST API","slug":"api-rest","term_group":0,"term_taxonomy_id":36861,"taxonomy":"product","description":"","parent":36601,"count":75,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=field-maps","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1166972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/8272"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=1166972"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1166972\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=1166972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=1166972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=1166972"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=1166972"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=1166972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}