Umbraco Heartcore
CMSCloudDXP
  • What is Umbraco Heartcore?
    • Compare with Umbraco CMS
  • Versions and updates
  • Getting Started
    • API Browser
    • Backoffice Users and API Keys
    • Building a project from scratch
    • Environments
    • GraphQL Playground
    • Preview
    • The Umbraco Cloud Portal
    • Tour of the Backoffice
    • Using the Forms API
    • Webhooks
    • Deployment workflow
      • Content and media transfer / restore
      • Structure deployments
  • API Documentation
    • API Documentation
      • Rate Limits
    • Content Delivery
      • Content
      • Media
      • Redirect API
    • Content Management
      • Umbraco Forms
      • Languages
      • Content
        • Content Types
      • Media
        • Media Types
      • Members
        • Member Groups
        • Member Types
      • Relations
        • Relation Types
    • GraphQL API
      • Filtering and Ordering
      • Property Editors
      • Schema Generation
      • Persisted Queries
  • Backoffice
    • Custom Grid Editors
  • Client Libraries
    • Client Libraries
    • .NET Core Console Application
    • Node.js Client library
    • .NET Client library
      • MVC Sample
      • Content Management Sample
  • Tutorials
    • Custom Grid Editors
    • Querying with GraphQL
    • Creating content with media
  • Release Notes
    • February 2024
    • April 2024
    • August 2024
    • September 2024
    • April 2025
Powered by GitBook
On this page
  • Uses
  • Creating a webhook
  • Webhook Configuraiton
  • Webhook behaviour specifics
  • Retries
  • Redelivery
  • Unresponsive endpoints
  • Outgoing IP addresses

Was this helpful?

Edit on GitHub
Export as PDF
  1. Getting Started

Webhooks

PreviousUsing the Forms APINextDeployment workflow

Last updated 8 months ago

Was this helpful?

Webhooks give you the ability to send information about events in Heartcore to external systems. They work by sending an HTTP POST request to a configured endpoint, with information about the event in the request body.

Uses

Webhooks can keep other systems in-sync with content from Heartcore without having to poll it for changes.

One common use case is building static websites. By adding a webhook, you can inform your chosen static site builder when content changes so that it can re-generate static assets on demand.

Creating a webhook

Webhooks are managed from a dashboard in the settings section of the backoffice.

  1. Go to the Settings section.

  2. Expand the Headless folder in the Settings tree.

  3. Select Webhooks.

  4. Click Create Webhook.

  5. The Add webhook menu opens on the right side.

  6. Enter the URL that the webhook should call.

  7. Select the Event for which the webhook should be triggered.

  8. Choose a Content Type you wish the webhook to be triggered on.

Selecting the Content Type is the initial step. This field is not mandatory.

  1. Click Create.

Once the webhook has been created you can manage it from the dashboard.

To temporarily pause/disable the webhook, click on Edit and toggle the Enabled field.

Webhook Configuraiton

Below is an overview of the webhook configuration options.

  • Url

    The URL that Heartcore will send a POST request to when conditions are met.

  • Events

    Backoffice or Management API action(s) that will cause the webhook request to be sent.

  • Content Type (optional)

    Restrict the webhook to firing only if one of these content or media types were affected by one of the selected events.

  • Enabled

    Toggle the webhook on or off. While disabled, no requests will be sent.

  • Headers

    Configure custom HTTP headers to be sent with the request. May be useful for e.g. identifying the source of a request or for authorization.

Webhook behaviour specifics

Retries

When a webhook is triggered, if it fails to be processed by the endpoint Heartcore attempts to re-deliver it up to 9 more times.

  • The endpoint returned a non HTTP-compliant response

  • The endpoint returned an HTTP response with any status code other than a successful one (HTTP 200 - 299)

  • The endpoint failed to respond within a timeout period

Redelivery

Webhooks are guaranteed to be delivered at least once. I.e. even for a webhook that is delivered successfully, in some situations that hook may be re-delivered.

Your webhook endpoints should thus be capable of handling multiple deliveries. Ideally they are idempotent.

Unresponsive endpoints

If an endpoint is slow or unresponsive, then webhook delivery may be briefly paused to that endpoint. No messages will be dropped (unless the retry count has been exceeded), but messages will be rescheduled for delivery a short time later. This gives the endpoint room to recover from traffic spikes.

Outgoing IP addresses

Webhooks will be fired from either of the two static IP addresses listed below.

When your endpoint refers to a service behind a firewall, you may need some additional firewall configuration. You should ensure that HTTP traffic from these addresses is allowed to pass through the firewall:

20.86.53.156
20.86.53.157

Or if your firewall needs a Classless Inter-Domain Routing (CIDR) Range: 20.86.53.156/31

Manage your created webhooks