Creating a Webhook Subscription

Create Webhook Subscription Dialog

  1. Open the Webhooks module in the Alerts section.

  2. Click Create Webhook Subscription in the top right corner.

  3. Fill in the required fields (marked with *) for each step in the dialogue.

  4. Click Create.

Types of Webhook Subscriptions

The VMS supports two types of webhook subscriptions: HTTP and Email.

Below are illustrations and detailed descriptions of the fields required to create a new Webhook Subscription for each type.

Receiver

Configuring the URL and HTTP Headers

Authentication Configuration

Set up authentication using basic user-password or OAuth-based methods.

circle-info

Basic Authentication requires filling out a Username and Password for the endpoint. Request Token requires filling out an Access Token Request Url and an Access Token Request Body , with the other fields being optional.

Trigger

The Trigger step allows you to define the specific conditions that must be met for a webhook to be sent to your receiver. By using dynamic filters, you can ensure you only receive data that is relevant to your workflow.

There are three different operational modes of the trigger. The types are Default, Alert Script and All Object Types.

1. Basic Event Selection

  • Object Type: Choose the data entity you want to monitor (e.g., Cargo).

  • Event Type: Specify the action that initiates the check (e.g., Create, Update, or Delete).

2. Building Filter Conditions

Filters allow you to narrow down events based on specific field values. You can combine multiple conditions using logical operators.

Creating a Condition

To add a new rule, click + Add Condition. Each condition consists of:

  • Field: Select the specific attribute you want to evaluate (e.g., cargoQuantity).

  • Source: Choose whether to evaluate the Current value (the value after the change) or the Previous value (the value before the change).

  • Operator: Choose a logical comparison such as:

    • = (Equal to)

    • != (Not equal to)

    • < (Less than)

    • > (Greater than)

  • Comparison Type: Decide if you are comparing the field against another Field, a static Literal value, or a Variable.

Example from Screenshot:

The filter is set to trigger only if the cargoQuantity has changed from its previous state (Current != Previous) AND the new quantity is less than 100.

3. Advanced Logic & Grouping

For more complex requirements, you can use the following tools:

  • Match All (AND): Every condition in the list must be true.

  • Match Any (OR): The trigger fires if at least one condition is true.

  • Add Group: Click this to nest a set of conditions. This is useful for creating (A and B) OR (C and D) style logic.

  • Expression Preview: Located at the bottom of the screen, this text box shows the raw logic string generated by your UI selections. Use this to double-check that your filters match your intent.

Payload

Template Message and Fields are optional. Template Message allows for a custom message where field values from the object can be inserted as variables in the notification message.

To access the fields, type {{, which opens a menu with options to navigate and select any available fields, including sub-object fields.

circle-info

Fields limit what fields should be returned in the notification and can look like this {"fieldName1":"*","fieldName2":"*"}. Read more about how to specify Fields herearrow-up-right.

General

All options are optional except User, which must be selected. This should in most cases be set to the user intended to receive the notification. As the permissions of that User decides the access to objects when the notification is sent. Failing notifications could be due to the User not having the right access.

Additional behavior modifiers can be enabled here, such as preventing unsubscribing, limiting triggers to main object changes, or excluding metadata from the payload.

When the Trigger uses an Alert Script, the General step also includes scheduling. This allows you to set the start time for when the Webhook begins running and the interval between each run. The description icon (i) can be hovered over to reveal additional information about their function.

Last updated

Was this helpful?