Contents

Chapter 1

Features

This chapter covers the core features and capabilities of Notification Dispatcher.

Features

  • Multi-channel dispatch — Email (SMTP), Slack webhooks, HTTP webhooks, SMS gateways, console
  • Template rendering — Python string.Template placeholders in messages
  • Priority levels — low, normal, high, critical with per-channel routing
  • Retry with backoff — Exponential backoff on delivery failures (3 retries default)
  • Delivery logging — Track every send attempt in SQLite
  • Batch dispatch — Send multiple notifications from a single config file
  • Config-driven — Define channels, templates, and recipients in JSON

Requirements

  • Python 3.10+
  • No external dependencies (stdlib only)
  • SMTP server access for email delivery
  • Webhook URLs for Slack/webhook channels
Chapter 2

Quick Start

Follow this guide to get Notification Dispatcher up and running in your environment.

Quick Start

bash
# Send a quick email
python src/notification_dispatcher.py --channel email \
    --to user@example.com --subject "Alert" --message "Server CPU at 95%"

# Send a Slack notification
python src/notification_dispatcher.py --channel slack \
    --to "#ops-alerts" --message "Deploy complete" \
    --webhook-url https://hooks.example.com/services/T00/B00/xxx

# Send a webhook notification
python src/notification_dispatcher.py --channel webhook \
    --to https://api.example.com/v1/alerts --message '{"event": "deploy"}'

# Batch dispatch from config
python src/notification_dispatcher.py --config examples/notifications_config.json

Configuration Reference

json
{
    "channels": {
        "email": {
            "smtp_host": "smtp.example.com",
            "smtp_port": 587,
            "smtp_user": "alerts@example.com",
            "smtp_pass": "YOUR_SMTP_PASSWORD_HERE",
            "from_address": "alerts@example.com"
        },
        "slack": {
            "webhook_url": "https://hooks.example.com/services/T00/B00/YOUR_TOKEN"
        },
        "webhook": {
            "default_url": "https://api.example.com/v1/notifications"
        }
    },
    "notifications": [
        {
            "channel": "email",
            "recipient": "admin@example.com",
            "subject": "Daily Report",
            "message": "All systems operational. Uptime: ${uptime}%.",
            "priority": "normal",
            "template_vars": {"uptime": "99.9"}
        },
        {
            "channel": "slack",
            "recipient": "#ops-alerts",
            "message": ":white_check_mark: Deploy to production complete.",
            "priority": "high"
        }
    ]
}

CLI Options

FlagDefaultDescription
--config, -c—Config file (JSON) for batch dispatch
--channel—Channel: email, slack, webhook, sms, console
--to—Recipient address/URL
--subject, -s—Notification subject
--message, -m—Notification message body
--prioritynormalPriority: low, normal, high, critical
--webhook-url—Slack/webhook URL override
--log-levelINFOLogging level

Supported Channels

ChannelTransportRecipient Format
emailSMTPEmail address
slackHTTP POSTChannel name or webhook URL
webhookHTTP POSTURL endpoint
smsHTTP APIPhone number (via gateway)
consolestdout— (prints to terminal)
Chapter 3
🔒 Available in full product

FAQ

You’ve reached the end of the free preview

Get the full Notification Dispatcher and unlock everything.

All Chapters

Get the complete guide with every chapter unlocked, including code samples, diagrams, and best practices.

Full Tool Suite

Access all interactive tools with complete data, all workload profiles, and the full scenario library.

Source Files

Downloadable source code, configuration files, and working examples from every chapter.

Lifetime Updates

Free updates for life. Every new chapter, tool, and improvement included.

Buy Now — $19 →
📦 Free sample included — download another copy for the full product.
Notification Dispatcher v1.0.0 — Free Preview