Skip to content
Stand with Ukraine flag

Send Email on Alarm

Configure ThingsBoard to automatically send email notifications when an alarm is created. This guide extends the Create and Clear Alarms recipe by using the Notification Center to deliver alarm-based email notifications.

Assume your refrigeration equipment has a temperature sensor that periodically publishes telemetry to ThingsBoard. The normal operating range is 2 °C5 °C. When a reading goes outside this range:

  • An alarm is created by the alarm rules.
  • An email notification is sent to the responsible users.

Before proceeding:

Review the following documentation for background:

The Notification Center delivers notifications to users. It consists of three components:

  • Recipients — define who receives notifications.
  • Templates — define the notification content and delivery method.
  • Rules — define the conditions under which notifications are sent.

Create a recipient group targeting the users responsible for the refrigeration equipment.

  1. Navigate to Notification Center ⇾ Recipients.
  2. Click + Add recipients in the top-right corner.
  3. Configure the group:
    • Name: Refrigeration operators
    • Type: Platform users
    • User filter: Customer users
    • Customer: Customer A
  4. Click Add.

Create a template that defines the email subject and message body using alarm variables.

  1. Navigate to Notification Center ⇾ Templates.
  2. Click + Add template in the top-right corner.
  3. Setup — configure the template:
    • Name: Device temperature notification
    • Type: Alarm
    • Delivery methods: toggle Email on
  4. Click Next.
  5. Compose — expand the Email section and set:
    • Subject:
      ${alarmType} on ${alarmOriginatorName} device
    • Message:
      A ${alarmType} has been detected on the ${alarmOriginatorName} device: ${details.data} °C.
  6. Click Add.

Template variables used:

  • ${alarmType} — the alarm type name (e.g. High temperature).
  • ${alarmOriginatorName} — the name of the device that triggered the alarm.
  • ${details.data} — the reported telemetry value, populated by the alarm rule.

Create a rule that links the alarm trigger to the template and recipients.

  1. Navigate to Notification Center ⇾ Rules.
  2. Click + Add rule in the top-right corner.
  3. Basic settings — configure the rule:
  4. Click Next.
  5. Alarm trigger settings — configure the filter:
    • Alarm type list: Any type
    • Alarm severity list: Any severity
    • Notify on: Alarm created
  6. Click Add.

Publish a temperature value that triggers the alarm (above 5 °C).
Use the Check Connectivity feature or the command below:

Terminal window
curl -v -X POST \
--header "Content-Type: application/json" \
--data '{"temperature": 7}' \
http://eu.thingsboard.cloud/api/v1/$ACCESS_TOKEN/telemetry

A new alarm is created and the email notification is sent immediately to all users of Customer A. The email subject and body are populated from the template variables.