ELONIQ / ELONIQ Handbook
Deutsch English Français
Overview / Components / Messaging

Messaging

Central Multi-Channel Notification System

The Messaging component is the central notification system of ELONIQ. It manages all communication channels and ensures reliable delivery of notifications.

Overview

The Messaging component provides a unified notification system for all ELONIQ modules. Messages can be sent to predefined system channels (team channels, webhooks) or directly to individual users.

Two Delivery Modes
  • System Channels — Messages to predefined targets (e.g. Discord channel for alerts, Teams channel for status). Configured via webhooks.
  • User Providers — Direct messages to individual users via their preferred channel (Discord DM, Teams chat, email, etc.).
Dead Letter Queue

Failed deliveries are placed in the Dead Letter Queue and automatically retried — with exponential backoff (5 min base, max 5 retries). After exhausting all retries, entries can be manually retried.

Features

  • Multi-channel support — Email, Discord, Microsoft Teams, Slack, Telegram, browser push and generic webhooks.
  • System channels — Predefined channels for automatic notifications to teams, channels or groups.
  • User direct messages — Personal notifications to individual users via their preferred channel.
  • Dead Letter Queue (DLQ) — Failed webhook deliveries are automatically retried with exponential backoff (max 5 retries).
  • Message formats — Support for plain text, HTML, Discord embeds, Teams cards and Slack rich formatting.
  • Severity levels — Mark messages as info, warning, error or success.
  • Fallback mechanism — Automatically fall back to email when delivery via preferred channel fails.
  • Connection testing — Test each provider and channel before production use.
  • DLQ statistics — Overview of pending, failed and delivered messages.

Usage

  1. Open component — Navigate to Components > Messaging in AdminUI.
  2. Set up system channels — Create channels for the desired targets (Discord webhook, Teams webhook, email group, etc.).
  3. Test channels — Use the test function to verify delivery for each channel.
  4. Configure user providers — Set up at least email as a provider. Optionally: Discord bot, Teams app, Slack bot or Telegram bot.
  5. Connect modules — The modules (ELO Base, Exporter, etc.) use messaging automatically once channels are configured.
  6. Monitor DLQ — Regularly check the Dead Letter Queue for failed deliveries and fix configuration issues.

Best Practices

  • Validate webhook URLs — Test each webhook URL before production use via the test function.
  • Monitor DLQ — Regularly check the Dead Letter Queue for failed deliveries.
  • Fallback channel — Configure email as a fallback channel, as it is the most reliable.
  • One channel per purpose — Create separate system channels for alerts, status messages and user notifications.
  • Protect bot tokens — Discord, Slack and Telegram bot tokens are stored encrypted. Never share these in plain text.
  • User preferences — Let users choose their preferred channel to increase engagement.

Examples

1. Set Up Discord Alert Channel
System Channel:
  Name: alerts-discord
  Type: Discord
  Webhook URL: https://discord.com/api/webhooks/xxx/yyy
  Active: true
2. Email as User Provider
User Provider Email:
  SMTP Host: smtp.company.com
  SMTP Port: 587
  Username: notifications@company.com
  From: notifications@company.com
3. Teams + Email Combined
System Channels:
  - teams-status (for status messages)
  - email-alerts (for critical errors)

User Providers:
  - Teams (for workflow tasks)
  - Email (as fallback)
4. Generic Webhook for Third-Party Systems
System Channel:
  Name: erp-webhook
  Type: Webhook
  URL: https://erp.company.com/api/notifications
  Active: true