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 a version of ArcGIS Enterprise that is either at 10.7 or later. To use service webhooks, your organization must be using a version of ArcGIS Enterprise that is either at version 11.0 or later.
  • You must be an administrator or be assigned the default administrator role to create and manage organization webhooks.
  • You must be assigned either the Security and infrastructure, Update, Delete administrator privilege, or be assigned the default administrator or publisher role, to create and mange service webhooks.
  • 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), and custom web services. For examples of how to create custom web services, or get started using third-party receivers, see the Webhook repository.
  • To configure webhooks for a feature service, the service must have the must include the Editing capability and have change tracking enabled without sync.
  • To configure webhooks for a geoprocessing service, the service must be asynchronous.
Note:

At this release, service webhooks are beta features. While in beta, these features may not be feature complete and as such may have known performance or quality issues and will not be supported by Esri Technical Support. The beta API documentation for the service webhooks is available in the Service webhooks administrator API guide PDF. For more information on beta features in ArcGIS Enterprise, see Beta features.

Create an organization webhook

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

Note:

To see an example POST request that creates a webhook around user-, group-, and item-related events, see the Create Webhook REST API documentation.

To create a webhook for your organization, follow these steps:

  1. Browse to the ArcGIS Portal Directory and sign in as a member with an administrator role.

    Webhooks can only be created and managed by administrators or by members who have been assigned the default administrator role.

    https://organization.domain.com/context/sharing/rest
    

    Once you are signed in, the User resource page for your account appears.

  2. Click the Org ID hyperlink or make a request of the following form to access the Portal Self resource page:
    https://organization.domain.com/context/sharing/rest/portals/self
    
  3. Scroll to the bottom of the Self resource page and click Webhook > Create Webhook to access the Create Webhook operation.
  4. Once on the Create Webhook endpoint, provide the following information:
    1. Provide a unique name for the webhook in the Name text box.
    2. Provide the payload URL for the webhook receiver in the Payload URL text box, which will be queried while the webhook is being created to ensure that a successful connection can be made between your receiver and the ArcGIS Enterprise portal.

      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
      
    3. Optionally, set a secret for the webhook that can be used to authenticate webhook messages with the receiver. Enter the user-defined alphanumerical string in the Secret (Optional) text box.
    4. Optionally, specify the deactivation information for the webhook in the Configuration Properties text box.

      By default, the webhook deactivates if five failures over the course of five days have occurred.

    5. Under Which events would you like to trigger this webhook, select either Let me define manually or Send me everything.
      • If you choose Let me define manually, list the trigger events that will be used for this webhook in the Send me changes for these comma separated events text box. For example, if you want to subscribe to all events pertaining to a specific group in your organization, enter a trigger event similar to the one demonstrated below, where [groupID] represents the unique ID associated with a specific group:
        /groups/[groupID]/update
        
        To see a list of all supported event triggers for organization webhooks, see the Event triggers topic.
      • If you choose Send me everything, you will be subscribing to all supported trigger events. You will receive notifications for each event as they occur.
  5. Once the above parameters have been configured, click Create Webhook to submit the request.

    Once the operation is complete, a new webhook will be added to your organization.

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.

Note:

To see an example POST request that configures these advanced properties, see the Update Webhook Settings REST API documentation.

To set these advanced properties, do the following:

  1. Browse to the ArcGIS Portal Directory and sign in as a member with an administrator role. Webhooks can only be created and managed by administrators or by members who have been assigned the default administrator role.
    https://organization.domain.com/context/sharing/rest
    

    Once you are signed in, the User resource page for your account appears.

  2. Click the Org ID hyperlink or make a request of the following form to access the Portal Self resource page:
    https://organization.domain.com/context/sharing/rest/portals/self
    
  3. Scroll to the bottom of the Self resource page and click Webhook > Settings > Update to access the Update Webhook Settings operation.
  4. Once on the Update Webhook Settings endpoint, provide the following information:
    1. Set a value for Number of Notification 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 three times. The value for the attempts must be an integer between 0-5.

    2. Set a value for Notification Time Out in Seconds.

      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, 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-60 seconds.

    3. Set a value for Notification Elapsed Time in Seconds.

      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 Notification Attempts have been reached.

  5. Once the above parameters have been configured, click Update Webhook Settings to submit the request.

    Once the operation is complete, the updated properties will be applied to every configured organization webhook.

Create a geoprocessing service webhook

Geoprocessing service webhooks allow you to subscribe to specific event triggers associated with the geoprocessing services.

Note:

To see an example POST request that creates a webhook for geoprocessing services, reference the webhook REST API beta documentation in the Service webhooks administrator API guide PDF.

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

  1. Browse to the ArcGIS Enterprise Administrator Site Directory and sign in as a member with the appropriate administrative privileges assigned to them.

    Webhooks can only be created and managed by administrators who have either the Security and infrastructure, Update, Delete administrator privilege assigned to them or have been assigned the default administrator or publisher role.

    https://organization.domain.com/context/admin
    
  2. Once signed in, browse to the Webhooks resource for a geoprocessing service by clicking Services > [ServiceName] > Webhooks > Create, where [ServiceName] represents the service the webhook will be created for. For services that are housed in specific folders, click Services > [FolderName] > [ServiceName] > Webhooks > Create, where [FolderName] represents the folder where the service is located.
    Caution:

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

  3. Once on the Create Webhook endpoint, provide the following information:
    1. Provide a unique name for the webhook in the Name text box. The provided name can only alphanumeric values, as using special characters will result in an error response.
    2. Optionally, set a secret for the webhook that can be used to authenticate webhook messages with the receiver. Type the user-defined alphanumerical string in the Signature Key text box.
    3. Provide the payload URL for the webhook receiver in the Hook URL text box, which will be queried while the webhook is being created to ensure that a successful connection can be made between the receiver and the deployment's ArcGIS Server. An example payload 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
      
    4. Optionally, specify the media type. In the Content Type drop-down menu, choose either of the following:
      • application/json (default)
      • application/x-www-form-urlencoded
    5. Optionally, define the format for the payloads. In the Payload Format drop-down menu, choose either of the following:
      • JSON (default)
      • PJSON
    6. Optionally, use the Active parameter to disable or enable callbacks when the webhook is triggered. To enable, select True. To disable, select False.

      The default is for callbacks to be enabled.

  4. Once the above parameters have been configured, click Create to submit the request.

    Once the operation is complete, a new webhook is applied to the specific geoprocessing service.

Note:
Unlike organization and feature service webhooks, geoprocessing service webhooks do not have user-defined event triggers. Geoprocessing service webhooks deliver payloads once a geoprocessing job is complete. For more information on the payloads delivered for geoprocessing services, see the Payloads topic.

Create a feature service webhook

Feature service webhooks allow you to subscribe to specific event triggers associated with feature services.

Note:

To see an example POST request that creates a webhook for feature services, reference the webhook REST API beta documentation in the Service webhooks administrator API guide PDF.

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

  1. Browse to the ArcGIS Enterprise Administrator Site Directory and sign in as a member with the appropriate administrative privileges assigned to them.

    Webhooks can only be created and managed by administrators who have either the Security and infrastructure, Update, Delete administrator privilege assigned to them or have been assigned the default administrator or publisher role.

    https://organization.domain.com/context/admin
    
  2. Once signed in, browse to the Webhooks resource for a feature service by clicking Services > [ServiceName] > Webhooks > Create, where [ServiceName] represents the service the webhook will be created for. For services that are housed in specific folders, click Services > [FolderName] > [ServiceName] > Webhooks > Create, where [FolderName] represents the folder where the service is located.
    Caution:

    To configure webhooks for a feature service, the feature service must include the Editing capability and have change tracking enabled without sync.

  3. Once on the Create Webhook endpoint, provide the following information:
    1. Provide a unique name for the webhook in the Name text box. The provided name can only alphanumeric values, as using special characters will result in an error response.
    2. List the events triggers that will be used for this webhook in the Change Type text box. For example, to invoke the webhook whenever a feature service is created, use the following event trigger:

      Example

      FeaturesCreated
      
      To see a list of all event triggers supported for feature service webhooks, see the Event triggers topic.
    3. Optionally, set a secret for the webhook that can be used to authenticate webhook messages with the receiver. Type the user-defined alphanumerical string in the Signature Key text box.
    4. Provide the payload URL for the webhook receiver in the Hook URL text box, which will be queried while the webhook is being created to ensure that a successful connection can be made between the receiver and the deployment's ArcGIS Server. An example payload 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, specify the media type. In the Content Type drop-down menu, choose either of the following:
      • application/json (default)
      • application/x-www-form-urlencoded
    6. Optionally, define the format for the payloads. In the Payload Format drop-down menu, choose either of the following:
      • JSON (default)
      • PJSON
    7. Optionally, use the Active parameter to disable or enable callbacks when the webhook is triggered. To enable, select True. To disable, select False.

      The default is for callbacks to be enabled.

    8. Adjust the scheduling for webhooks by modifying the Seconds information in the Schedule text box. For feature services that experience a lot of frequent edits, lower the Seconds value to receive more frequent webhooks with less event information in the payload. For feature services that do not experience frequent changes, raise the value for the Seconds property to receive less frequent webhooks with more event information contained in the payload.

      The minimum, and default, value for scheduling is 20 seconds.

  4. Once the above parameters have been configured, click Create to submit the request.

    Once the operation is complete, a new webhook is applied to the specific feature service.