Skip To Content

Create webhooks

As an organization administrator, you can configure webhooks for your ArcGIS Enterprise deployment to be notified when specific events have occurred. The sections below outline how to configure organization and service webhooks.

Prerequisites to creating webhooks

Consider the following before creating webhooks:

  • To use organization webhooks, your organization must be using ArcGIS Enterprise 10.7 or later. To use service webhooks, your organization must be using ArcGIS Enterprise 11.0 or later.
  • To create and manage organization webhooks, you must either be assigned the Organization webhooks privilege or be assigned the default administrator role.
  • To create and manage geoprocessing service webhooks, you must either be assigned the Geoprocessing privilege or be assigned the default administrator role.
    Note:

    Users assigned the Geoprocessing privilege will also require the Publish server-based layers privilege to be added to their custom role.

  • To create and manage feature service webhooks, you must either be assigned the Feature layer privilege or be assigned the default administrator role.
  • Webhook receivers must be configured to communicate over HTTPS. There are a few options that are supported for receivers, such as third-party web service receivers (Microsoft Power Automate, Zapier, and IFFT), custom web services, ArcGIS Notebook Server, and ArcGIS Workflow Manager. For examples of how to create custom web services, or get started using third-party receivers, see the Webhook repository. To learn more about creating Notebook Server and Workflow Manager webhooks, see Automate workflows with ArcGIS Notebooks and Create jobs with webhooks, respectively.
  • To configure webhooks for a hosted feature service, the service must include the Editing capability and have change tracking enabled without sync.
  • To configure webhooks for a non-hosted feature service, the enterprise geodatabase data the service references must meet the requirements for change tracking and follow one of the following patterns:
    • It is a non-versioned feature service with archiving enabled and global IDs.
    • It is a branch versioned feature service without the Version Management capability enabled, where edits are applied directly to the features of the default version.
    • It is a branch versioned feature service with the Version Management capability enabled. When the Version Management capability is enabled, the service can create a webhook that has the FeaturesPosted event trigger, which invokes the webhook whenever the post operation is performed on the service.
    Note:

    Support for branch versioned feature services was added at ArcGIS Enterprise 11.3.

  • To configure webhooks for a geoprocessing service, the service must be asynchronous.

Configure organization webhooks

Organization webhooks allow you to subscribe to triggers for events associated with your ArcGIS Enterprise portal items, groups, and users.

Create an organization webhook

To create an organization webhook through the ArcGIS Enterprise portal website, follow these steps:

  1. Verify that you are signed in as a default administrator or a member of a custom role with the Organization webhooks privilege.
  2. Browse to Organization > Settings > Webhooks.
  3. Under Organization webhooks, click Create webhook.
  4. In the Create webhook window, do the following:
    1. Provide a unique name for the webhook in the Name text box.
    2. Select a webhook type from the Type drop-down menu.
      • Selecting All subscribes you to all supported event triggers. You will receive notifications for each event as they occur.
      • Selecting Items, Users, Groups, or Roles allows you to manually define which event triggers you want to subscribe to.
    3. If you select a webhook type other than All, an additional drop-down menu will appear, relative to the webhook type that was chosen. For example, if you selected Items for the webhook type, the Items drop-down menu appears, allowing you to select a specific item the webhook will monitor.
    4. Select event triggers from the Events drop-down menu. For example, if you want the webhook to be invoked when a specific item is published, select /items/<item ID>/publish.
    5. Select a webhook receiver type.
      • If you select Webhook URL, provide the payload URL for the webhook receiver. An example payload URL is demonstrated below:
        https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
      • If you select Notebook, choose the notebook that will run when the webhook is triggered.
        Note:

        If the Notebook option is not available, a Notebook Server has not been configured with your portal. If the option is available but cannot be selected, you do not own any notebooks suitable for configuring webhooks. You must own the notebook item that will be used for the webhook.

    6. Optionally, set a secret value for the webhook in the Secret (Optional) text box. The secret value will be used to generate a signature that is included in the webhook payload headers. The webhook receiver can use this signature to determine if the message should be trusted.
  5. Click Create webhook.

Configure advanced parameters for organization webhooks

The advanced settings applied to your organization's webhooks allow you to further customize the performance of webhooks, such as specifying the number of delivery attempts, notification time, and time between delivery attempts.

To set advanced properties through the ArcGIS Enterprise portal website, do the following:

  1. Sign in to your organization as a default administrator or a member of a custom role with the Organization webhooks privilege.
  2. Browse to Organization > Settings > Webhooks.
  3. Under Organization webhooks, click Advanced webhook settings.
  4. In the Advanced webhook settings window, do the following:
    1. Set a value for Number of delivery attempts.

      This value specifies the number of attempts that will be made to deliver the webhook payloads. By default, the ArcGIS Enterprise portal will attempt to deliver payloads 3 times. The value for the attempts must be an integer between 0 and 5.

    2. Set a value for Notification timeout.

      This value specifies the length of time, in seconds, that the ArcGIS Enterprise portal will wait to receive a response from a receiver. By default, the ArcGIS Enterprise portal will wait 10 seconds. The value for the number of seconds the ArcGIS Enterprise portal will wait must be an integer between 0 and 60 seconds.

    3. Set a value for Notification elapsed time.

      This value specifies the amount of time, in seconds, between each payload delivery attempt. By default, the ArcGIS Enterprise portal will attempt to deliver another payload after 5 seconds if the previous attempt fails, until the number of attempts specified in Number of delivery attempts has been reached.

  5. Once the above settings have been configured, click Save.

    The updated properties will be applied to every configured organization webhook.

Configure service webhooks

Service webhooks allow you to subscribe to triggers for events associated with your organization's feature services or when geoprocessing service jobs are completed.

Create a service webhook

To create a webhook for either a geoprocessing service or a feature service, follow these steps:

  1. Sign in to your organization as a default administrator or a member of a custom role with the administrative privileges to create and manage service webhooks.

    Note:
    Members assigned the publisher role will be unable to create or manage service webhooks from the ArcGIS Enterprise portal site and will need to perform these workflows using the administrative API.

  2. Browse to Organization > Settings > Webhooks.
  3. Under Service webhooks, click Create webhook.
  4. In the Create webhook window, do the following:
    1. Provide a unique name for the webhook in the Name text box.
    2. Select a service from the Service drop-down menu.

      Note:

      Selecting a geoprocessing service will set the event as Service is finished. Selecting a feature service will enable the Events drop-down menu.

    3. If you select a feature service webhook, select a event trigger from the Events drop-down menu. For example, if you want the webhook to be invoked when an edit includes a new attachment, select AttachmentsCreated.
    4. Provide the payload URL for the webhook receiver in the Webhook URL text box. An example payload URL is demonstrated below:
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
    5. Optionally, set a secret value for the webhook in the Secret (Optional) text box. The secret value will be used to generate a signature that is included in the webhook payload headers. The webhook receiver can use this signature to determine if the message should be trusted.
  5. Click Create webhook.

Configure advanced parameters for service webhooks

The advanced settings applied to your service webhooks allow you to further customize the performance of webhooks, such as specifying the number of delivery attempts, notification time, and time between delivery attempts.

To set advanced properties through the ArcGIS Enterprise portal website, do the following:

  1. Sign in to your organization as a default administrator or a member of a custom role with the administrative privileges to create and manage service webhooks.

    Note:
    Members assigned the publisher role will be unable to create or manage service webhooks from the ArcGIS Enterprise portal site and will need to perform these workflows using the administrative API.

  2. Browse to Organization > Settings > Webhooks.
  3. Under Service webhooks, click Advanced webhook settings.
  4. In the Advanced webhook settings window, do the following:
    1. Set a value for Number of delivery attempts.

      This value specifies the number of attempts that will be made to deliver the webhook payloads. By default, the system will attempt to deliver payloads 3 times. The value for the attempts must be an integer between 0 and 5.

    2. Set a value for Notification timeout.

      This value specifies the length of time, in seconds, that the system will wait to receive a response from a receiver. By default, the system will wait 10 seconds. The value must be an integer between 0 and 60 seconds.

    3. Set a value for Notification elapsed time.

      This value specifies the amount of time, in seconds, between each payload delivery attempt. By default, the system will attempt to deliver another payload after 5 seconds if the previous attempt fails, until the number of attempts specified in Number of delivery attempts has been reached.

    4. Set a value for Past number of days.

      This value specifies the number of days a specific number of failures can occur during before the webhook is deactivated. By default, the system will accept a specific number of failures (specified in Maximum number of failures) over the course of 5 days. The value must be an integer between 1 and 30.

    5. Set a value for Maximum number of failures.

      This value specifies the number of failures that can happen over a specific number of days before the webhook is deactivated. By default, the system will accept 5 failures over a number of days (specified in Past number of days) before the webhooks is deactivated. The value must be an integer between 1 and 30.

  5. Once the above settings have been configured, click Save.

    The updated properties will be applied to every configured service webhook.