{% extends "base.html" %} {% load static %} {% block title %} {% if form.instance.pk %}Edit Notification Channel{% else %}Create Notification Channel{% endif %} - Stream Processor {% endblock %} {% block page_title %} {% if form.instance.pk %}Edit Channel{% else %}Create Channel{% endif %} {% endblock %} {% block extra_css %} {% endblock %} {% block content %}

{% if form.instance.pk %} Edit Notification Channel {% else %} Create New Notification Channel {% endif %}

{% if form.instance.pk %} Update the configuration for your notification channel to ensure optimal delivery performance {% else %} Set up a new channel to receive real-time notifications, alerts, and system updates {% endif %}

Channel Configuration Guidelines

Choose a descriptive, memorable name
Select the appropriate delivery method
Configure rate limits appropriately
Set optimal retry attempts
Test configuration before activation
Monitor delivery performance

Channel Configuration

Configure the basic settings and delivery parameters for your notification channel

{% csrf_token %} {% if form.non_field_errors %}

Please correct the following errors:

{{ form.non_field_errors }}
{% endif %}

Basic Information

{% if form.name.errors %}

{{ form.name.errors.0 }}

{% endif %}

A descriptive name that identifies this channel's purpose

{% if form.channel_type.errors %}

{{ form.channel_type.errors.0 }}

{% endif %}

The delivery method for notifications sent through this channel

Enable this channel to start receiving notifications

Channel Configuration

{% if form.configuration.errors %}

{{ form.configuration.errors.0 }}

{% endif %}

JSON configuration specific to the selected channel type. See examples below.

Delivery Settings

{% if form.rate_limit.errors %}

{{ form.rate_limit.errors.0 }}

{% endif %}

Maximum notifications per minute

{% if form.retry_attempts.errors %}

{{ form.retry_attempts.errors.0 }}

{% endif %}

Number of retry attempts on failure

{% if form.timeout_seconds.errors %}

{{ form.timeout_seconds.errors.0 }}

{% endif %}

Request timeout in seconds

{% if form.instance.pk %} {% endif %}
Cancel

Configuration Examples

Telegram Configuration

{
  "bot_token": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
  "chat_id": "-1001234567890"
}

Email Configuration

{
  "recipients": ["admin@example.com", "ops@example.com"],
  "smtp_host": "smtp.gmail.com",
  "smtp_port": 587,
  "username": "notifications@example.com",
  "password": "app_password",
  "use_tls": true
}

Webhook Configuration

{
  "url": "https://api.example.com/webhook",
  "method": "POST",
  "headers": {
    "Authorization": "Bearer your-token",
    "Content-Type": "application/json"
  }
}

Slack Configuration

{
  "webhook_url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
  "channel": "#alerts",
  "username": "StreamProcessor"
}

Configuration Tips

  • Always test your configuration after creating a channel
  • Use environment variables for sensitive data like API keys
  • Set appropriate rate limits to avoid overwhelming external services
  • Configure retry attempts based on the reliability of your delivery method
  • Monitor channel performance and adjust timeout settings as needed
{% endblock %}