Skip to main content
Version: Release

Alerts in Depth

An alert is a tuple of a Topic (sometimes referred to as "source" as well), Filter, and Target, which are represented by sourceGroup, Filter, and TargetGroup objects respectively. Existing topics, filters, and targets can be reused.

As long as the alert exists, the user will receive notifications to their specified channels whenever they are triggered.

Topics

The topic of an alert serves as a way for users to subscribe to specific categories of alerts and can be triggered manually through the Admin Portal web UI, programmatically through an API, or through a Notifi hosted monitoring service.

Topic types

  • Announcements through Community Manager

    Topics of these alerts are triggered manually through the Community Manager feature of the Admin Portal. Common use cases for this type of topic include project announcements (e.g. for new launches, events, etc.), marketing campaigns, and others.

  • Alerts triggered through API call

    Notifi provides a Node Client which can be called to programmatically trigger notifications. This can be used to send out notifications based on events from an external service that also is required for things other than triggering notifications.

  • Notifi hosted monitoring service

    The most common type of topic involves creating a monitoring service hosted by Notifi that can pull on-chain and off-chain data and trigger notifications based on set conditions. This is often the simplest and fastest solution to start sending out automated notifications as Notifi has set up the required infrastructure already and provides a simple and fast toolkit to define the triggering conditions.

Filters

Filters are used in combination with Topics to enable a variety of alerts using the same source. For example, different filters could be used to allow different threshholds on loan health alerts, token balance changes, etc. This allows a user to fully customize an alert to their preferences.

Targets

A Target is a destination for an alert, which is a communication channel: email adress, Telegram account, Discord account, or phone number.

They are represented as Target objects and used in alerts as TargetGroup objects, which are a collection of Target objects.

note

Typically one targetGroup should only contain targets owned by the same user. This ensures that one alert is clearly associated with only one user.