- 5 minutes to read

ResendWebhookSettings - System Parameter

ResendWebhookSettings defines the Webhooks that users can pick as the target when they repair and resend a logged message (Log Event) from a Log View in the Web Client. Each Webhook has a display name, a URI, and optional OAuth 2.0 or Basic Authentication; your own Webhook then decides where the message goes.

At a Glance

Property Value
Key ResendWebhookSettings
Data type json
Default Empty (no Webhooks configured)
Read by Web Client
Takes effect Within about 15 seconds; no restart needed
Status ✅ Active
Since Nodinite 5.4; authentication from Nodinite 6.1; encrypted secrets with the PROTECTED_1. prefix in Nodinite 7

How It Works

graph LR logEvent["fa:fa-envelope Log Event"] --> |Repair and resend| webhook{"fa:fa-code Your Webhook"} webhook --> |Office hours| mail["fa:fa-envelope Mail"] webhook --> |Statistics| dw["fa:fa-database Data Warehouse"] webhook --> |ERP| erp["fa:fa-building Salesforce, SAP, Dynamics 365, ..."]

Your Webhook receives the repaired message and forwards it with your own logic.

The Webhook option is available when all of these hold:

The repair steps themselves are described in What is a Log View?.

Tip

To develop a custom Webhook, test it with the free webhook.site service to capture what the resend operation sends.

Value Format

Root Object

Property Type Default Meaning
Enabled boolean — true offers the Webhook option in the Web Client; false hides it.
EditableURI boolean — true lets the user type any URI for the Webhook; false restricts the user to the configured URIs.
ExtractContextValues array — Rules that pick context properties from the Log Event and use them as defaults for the Webhook call. Each rule has the properties below.
Webhooks array — The Webhook entries, see Webhook Object.

ExtractContextValues Rule

The same rule format as ResubmitContextValuesForActiveMQ.

Property Type Meaning
MessageTypeIds array of integers The Message Types the rule applies to. [] or null applies it to all Message Types.
KeyRegEx string Regular expression matched against context property keys. Escape backslashes for JSON (\\.).
KeyGroup integer Which regex group becomes the key: 0 uses the whole key, 1 the first group.

Webhook Object

Property Type Meaning
Enabled boolean true makes the entry available in the Web Client.
DisplayName string The name the user sees.
Description string A short description shown with the entry.
URI string The address of the Webhook.
Order integer Display order when there are several entries.
Authentication object Optional. Omit it for a Webhook without authentication. See Authentication Object.

Authentication Object

Property Type Used with Meaning
Enabled boolean both true sends credentials with the call.
Type string — client_credentials (OAuth 2.0) or basic (Basic Authentication).
ClientId string client_credentials The OAuth 2.0 client ID.
ClientSecret string client_credentials The client secret. Enter it in clear text; Nodinite encrypts it and stores it with the PROTECTED_1. prefix.
OpenIdEndpointConfiguration string client_credentials URL of the identity provider's .well-known/openid-configuration document.
Scope string or null client_credentials Optional OAuth 2.0 scope.
Username string basic The user name.
Password string basic The password. Enter it in clear text; Nodinite encrypts it with the PROTECTED_1. prefix.
Protected boolean both Used by Nodinite 6 to mark an encrypted secret. Nodinite 7 uses the PROTECTED_1. prefix instead, so leave it out.

Secrets are encrypted with the same mechanism as other Nodinite secrets, see Secret Management. Leave a value that starts with PROTECTED_1. as it is unless you change the credential; then replace the whole value with the new clear-text secret.

Example

Three Webhooks: one without authentication, one with OAuth 2.0, and one with Basic Authentication. The PROTECTED_1.… values are shortened fragments of what Nodinite stores after encryption; the real values are much longer.

{
  "Enabled": true,
  "EditableURI": true,
  "ExtractContextValues": [
    {
      "MessageTypeIds": [],
      "KeyRegEx": "ExtendedProperties/1\\.0#(EndPointUri)",
      "KeyGroup": 1
    },
    {
      "MessageTypeIds": [],
      "KeyRegEx": "x-ms-client-tracking-id",
      "KeyGroup": 0
    }
  ],
  "Webhooks": [
    {
      "Enabled": true,
      "DisplayName": "The Webhook",
      "Description": "Use your custom built Webhook to resend Log Events",
      "URI": "https://127.0.0.1",
      "Order": 0
    },
    {
      "Enabled": true,
      "DisplayName": "OAuth Webhook Example",
      "Description": "Use a custom built Webhook with OAuth 2.0 authentication to resend Log Events",
      "URI": "https://localhost/secure",
      "Order": 1,
      "Authentication": {
        "Enabled": true,
        "Type": "client_credentials",
        "ClientId": "webhook",
        "ClientSecret": "PROTECTED_1.WindowsCertificateStore.BCEBB8FD5C77E8E58853E03F6015A9A4223BC9C6.AES256-RSA-OAEP.…",
        "OpenIdEndpointConfiguration": "http://localhost:8080/auth/realms/dev/.well-known/openid-configuration",
        "Scope": null
      }
    },
    {
      "Enabled": true,
      "DisplayName": "Basic Authentication Webhook Example",
      "Description": "Use a custom built Webhook with basic authentication to resend Log Events",
      "URI": "https://127.0.0.1",
      "Order": 2,
      "Authentication": {
        "Enabled": true,
        "Type": "basic",
        "Username": "DaUserName",
        "Password": "PROTECTED_1.WindowsCertificateStore.BCEBB8FD5C77E8E58853E03F6015A9A4223BC9C6.AES256-RSA-OAEP.…"
      }
    }
  ]
}

Next Steps

Note

Nodinite v6 is no longer supported. The Protected attribute is only relevant for configurations carried over from v6.