# Notifications

System Notifications is a key function for a database administrator. The notifications keep the administrator up to date with the newest actions performed across the whole system, such as:

  • Device power on and off.
  • New device added to the system.
  • Device removed from the system.
  • New order creation.
  • Operating system installation started and finished on a dedicated server.

And many more are available from the moment EasyDCIM is installed.

# Notifications Types

The notification system includes many predefined notifications related to specific entities in the system, such as:

  • Clients
  • Colocations
  • Devices
  • Inventory
  • Items
  • Locations
  • Orders
  • System

# Notifications Settings

Every notification in the system can be configured and customized to meet the administrator's needs. To manage the notifications, open the Additional Actions Menu (in the side menu) → Settings → Notifications. You will find a list of all notifications with current status and options to edit or disable. Press the 'Edit' icon to open the notification details.

The following fields are included in the form:

  • Notification Content - Contents of the notifications that can include the variables.
  • Notification Type - The type of the notification, defines group assignment for easier filtering.
  • Notification Level - The level of the notification, used by EasyDCIM to mark them in the Activity Log (important or normal).
  • Actions - Any number of actions to be executed. It can send an email notification with a popular application like Slack or Telegram or a non-standard notification sent to an outside URL address.
    The Action field features a list of channels available in the system. Each channel can be modified freely based on the default configuration.

# Email Templates

EasyDCIM also includes a separate Email Templates tab available under Settings → Notifications → Email Templates. This area is intended for client-facing emails, whereas the main Notifications tab is used for administrator-facing system notifications delivered through configured streams such as Email, Slack, Telegram, or Webhook.

This distinction is important because client emails and administrator notifications serve different purposes:

  • Notifications inform administrators about events that occurred in the system and can be routed to one or more streams.
  • Email Templates define the actual email messages sent directly to customers or device owners.

Using a dedicated section for Email Templates makes it possible to update the wording, subject, and HTML layout of client emails without changing administrator alerts, activity log entries, or notification stream settings.

Each email template can be edited independently and includes the following options:

  • Status - enables or disables sending a given email template
  • Subject - defines the email subject
  • Body - defines the HTML email content
  • Available Variables - shows the Twig variables that can be used inside the template body

The body of each email template supports dynamic variables, so the final message can include server details, user information, login credentials, activation links, or password reset URLs depending on the selected template.

# Available Client Email Templates

The following client email templates are currently available in EasyDCIM:

Template Purpose Typical recipient
OS Installation Started (Client Email) Sent when the OS installation process starts for a device. It can inform the owner that provisioning has begun and include basic server details. Device owner
OS Installation Completed (Client Email) Sent after OS installation finishes successfully. It usually contains the most important access details and server information. Device owner
OS Installation Cancelled (Client Email) Sent when the OS installation process is cancelled before completion. Device owner
Rescue Mode Access (Client Email) Sent when rescue mode is enabled, providing the customer with temporary access details required to connect to the rescue environment. Device owner
Account Activation (Client Email) Sent to a newly created user so they can activate their account and access the client area. User
Password Reminder (Client Email) Sent when a user requests password recovery and needs a link to define or restore access to the account. User

In practice, this means that OS-related customer communication can be managed from one place together with account-related transactional messages. Administrators can disable selected templates, customize subjects, and adapt the message body to their own branding or support workflow.

If you need administrator delivery for the same event, configure it in the standard Notifications tab together with the proper notification actions and streams.

# Notification Variables

Each notification in the system supports dynamic variables that correspond to the specific entity (object) related to the triggered notification. These variables can be freely used within the Notification Content field to include dynamic data in your message — such as device information, user details, or service identifiers.

To view all variables available for a given notification type:

  • Open the notification configuration in Settings → Notifications.
  • In the Notification Content field, insert the following variable:
:related_variables
  • Trigger the corresponding notification (for example, by performing an action that normally generates it).
  • On the output stream — for instance, in the received email — you will obtain a list of all available variables for that notification.

Each variable will be displayed in a sample format, such as:

:related_id - 37
:related_serialnumber1 - UUZUMFNYBY6PMBFSMYSW
:related_label - label2
:related_status - defect
:related_device_status - running
:related_metadata_ip address - 192.168.56.170
:related_metadata_mac address - bf:4d:9e:68:7e:75
:related_metadata_hostname - hostname-vQbBM-100.local
:related_metadata_os - AlmaLinux 9 (latest)
:related_created_at - 2025-02-01 12:42:50
:related_updated_at - 2025-11-12 13:50:14

These variables can then be used directly inside your notification content. For example:

Device :related_label has changed status to :related_status.

When sent, the system will automatically replace each variable with its corresponding value from the related entity.

This mechanism allows for creating highly customized and informative notifications, fully adapted to the context of the event.

# Notifications Streams

Notification can be sent via respective channels, which in EasyDCIM are called 'Streams'. Under Additional Actions Menu (in the side menu) → Settings → Notifications → Streams you will find a list of stream channels that can be configured based on their type. The available types are:

  • Email - Sending notifications to a specified email address.
  • Slack - Sending notification to a specified Slack channel.
  • Telegram - Sending notification to a specified Telegram channel.
  • Webhook - Sending notifications to a non-standard URL address.

The configuration process for each stream has been described below.

# Email Stream

The following fields are included in the configuration of an email stream:

  • Stream Name - Any name for the stream.
  • Stream Type - Module used for delivering notifications to email addresses, it cannot be modified.
  • Default Emails - Default email addresses to which the notifications will be sent.
  • Email Template - Template for the mail notification. The variable %%CONTENT%% displays the notification content.

# Slack Stream

Slack notification stream is based on the webhook functionality. Inbound webhooks are used as the way for information to be sent from the application to Slack. Creating an inbound webhook provides a unique URL, to which a JSON file with the information and a few options is sent. The webhook has to be made in your Slack application first.

The following fields are included in the configuration of a Slack stream:

  • Stream Name - Any name for the stream.
  • Stream Type - Module used for delivering notifications to email addresses, it cannot be modified.
  • Webhook URL - The URL that was generated in the Slack application.
  • Message Template - The Slack notification template. The variable %%CONTENT%% displays the notification content.

# Telegram Stream

Telegram notification stream is based on the bot mechanism. Telegram bots are a key feature of the popular messaging app Telegram. These bots are automated programs that can perform various tasks and interact with users on the Telegram platform.

The following fields are included in the configuration of a Telegram stream:

  • Stream Name - Any name for the stream.
  • Stream Type - Module used for delivering notifications to email addresses, it cannot be modified.
  • Bot Token - Token of the created bot, which is used to communicate with Telegram.
  • Chat Name - The name of the created chat to which notifications will be sent.
  • Message Template - The Telegram notification template. The variable %%CONTENT%% displays the notification content.

# Webhook Stream

EasyDCIM has a specially prepared sample webhook file that shows how to use this functionality:

  • This file is located in the directory: /opt/easydcim/public/scripts/webhook.php
  • An example URL to a webhook file: https://EasyDCIM-IP/scripts/webhook.php
  • The log of this file will be generated as: /opt/easydcim/storage/logs/webhook.log

The following fields are included in the configuration of a webhook stream:

  • Stream Name - Any name for the stream.
  • Stream Type - Module used for delivering notifications to email addresses, it cannot be modified.
  • Request Timeout - The maximum time to wait for the CURL request to complete.
  • Default URL - The URL to which the notification will be sent.

Device notification includes the following elements:

[:action] => shutdownServer
[entity] => #1 debian-test-edit (Dell PowerEdge C6220)
[user] => #1 John Doe
[:key] => SYSTEM
[labeledFieldName] => SYSTEM
[related_id] => 1
[related_label] => #1 debian-test-edit (Dell PowerEdge C6220)