Complete guide to configuring and using all 7 built-in notification channels.
Send formatted emails with HTML templates, attachments, and rich formatting.
{
"type": "email",
"recipients": ["user@example.com", "admin@example.com"],
"cc": ["manager@example.com"],
"bcc": ["archive@example.com"],
"subject": "Order Confirmation #{{order_id}}",
"body_html": """
Order Confirmed!
Thank you for your order:
Order ID: {{order_id}}
Total: ${{order_total}}
Estimated Delivery: {{delivery_date}}
Track your order: Click here
""",
"attachments": [
{
"filename": "invoice.pdf",
"path": "{{invoice_path}}"
}
]
}
Step: Send Welcome Email (Notification)
Type: Email
Recipients: {{user_email}}
Subject: Welcome to {{company_name}}!
Body:
Welcome {{user_name}},
Your account has been created.
Login here: {{login_url}}
Best regards,
{{company_name}} Team
Send rich Slack messages with formatting, mentions, file uploads, and threading.
api.slack.com/apps ā Create New Apphttps://hooks.slack.com/services/T00000000/B00000000/XXXX{
"type": "slack",
"webhook_url": "{{SLACK_WEBHOOK_URL}}",
"channel": "#alerts", # optional
"username": "PyExecutor Bot",
"icon_emoji": ":robot_face:",
"text": "Server Alert",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "ā ļø High CPU Alert"
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Server:*\n{{server_name}}"
},
{
"type": "mrkdwn",
"text": "*CPU Usage:*\n{{cpu_percent}}%"
}
]
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": " Immediate attention required on {{server_name}}"
}
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "View Dashboard"
},
"url": "{{dashboard_url}}"
}
]
}
]
}
Send formatted Teams messages with rich cards, @mentions, and actions.
⯠(More options){
"type": "teams",
"webhook_url": "{{TEAMS_WEBHOOK_URL}}",
"title": "Deployment Completed",
"themeColor": "00FF00", # Hex color without #
"sections": [
{
"activityTitle": "{{app_name}} v{{version}}",
"activitySubtitle": "Deployment Summary",
"facts": [
{
"name": "Environment:",
"value": "Production"
},
{
"name": "Status:",
"value": "ā
Success"
},
{
"name": "Duration:",
"value": "{{deploy_duration}}s"
},
{
"name": "Deployed by:",
"value": "{{deploy_user}} "
}
]
},
{
"activityTitle": "Changes",
"text": "⢠{{change_1}}\n⢠{{change_2}}\n⢠{{change_3}}"
}
],
"potentialAction": [
{
"name": "View Logs",
"targets": [
{
"os": "default",
"uri": "{{logs_url}}"
}
]
},
{
"name": "Rollback",
"targets": [
{
"os": "default",
"uri": "{{rollback_url}}"
}
]
}
]
}
Send rich Discord embeds with colors, thumbnails, and interactive buttons.
https://discordapp.com/api/webhooks/...{
"type": "discord",
"webhook_url": "{{DISCORD_WEBHOOK_URL}}",
"content": "šØ Production Alert",
"tts": false,
"embeds": [
{
"title": "Database Backup Failed",
"description": "Backup for {{database_name}} failed to complete.",
"url": "{{monitoring_dashboard_url}}",
"color": 16711680, # Red (decimal)
"fields": [
{
"name": "Database",
"value": "{{database_name}}",
"inline": true
},
{
"name": "Time",
"value": "{{failure_time}}",
"inline": true
},
{
"name": "Error",
"value": "{{error_message}}",
"inline": false
}
],
"thumbnail": {
"url": "https://example.com/alert-icon.png"
},
"footer": {
"text": "PyExecutor Monitoring",
"icon_url": "https://example.com/logo.png"
}
}
]
}
Send Telegram messages with markdown formatting, buttons, and bot integration.
@BotFather/newbot command1234567890:ABCdefGHIjklmnoPQRstuvWXYZabcdefGhttps://api.telegram.org/botTOKEN/getUpdates{
"type": "telegram",
"bot_token": "{{TELEGRAM_BOT_TOKEN}}",
"chat_id": "{{TELEGRAM_CHAT_ID}}",
"text": """
*Error Alert* šØ
*Service:* `{{service_name}}`
*Status:* {{status}}
*Error:* `{{error_code}}`
_{{timestamp}}_
[View Dashboard]({{dashboard_url}})
[Acknowledge]({{ack_url}})
""",
"parse_mode": "Markdown",
"disable_web_page_preview": true,
"reply_markup": {
"inline_keyboard": [
[
{
"text": "š Dashboard",
"url": "{{dashboard_url}}"
}
],
[
{
"text": "ā
Acknowledge",
"callback_data": "ak_{{alert_id}}"
},
{
"text": "ā Ignore",
"callback_data": "ig_{{alert_id}}"
}
]
]
}
}
*bold* ā bold_italic_ ā italic`code` ā fixed-width code~~strikethrough~~ ā strikethrough[link text](url) ā clickable linkSend WhatsApp messages using Twilio integration or WhatsApp Business API.
twilio.com{
"type": "whatsapp",
"account_sid": "{{TWILIO_ACCOUNT_SID}}",
"auth_token": "{{TWILIO_AUTH_TOKEN}}",
"from_number": "+1234567890", # Your Twilio number
"to_number": "{{user_phone}}", # Include country code
"template": "appointment_reminder", # Pre-approved template
"template_variables": [
"{{appointment_date}}",
"{{appointment_time}}",
"{{doctor_name}}"
],
"media": {
"document": "{{invoice_path}}",
"type": "application/pdf"
}
}
# Pre-approved Template: appointment_reminder
# Variables: {{1}}, {{2}}, {{3}}
"Hello! Your appointment with {{1}} on {{2}} at {{3}} is confirmed.
Please arrive 10 minutes early. Reply C to confirm or R to reschedule."
Create incidents and alerts in PagerDuty with escalation policies and runbooks.
PAGERDUTY_ROUTING_KEY{
"type": "pagerduty",
"routing_key": "{{PAGERDUTY_ROUTING_KEY}}",
"event_action": "trigger", # trigger, acknowledge, resolve
"dedup_key": "database-backup-{{date}}", # Group related alerts
"payload": {
"summary": "Database backup failed",
"severity": "critical", # critical, error, warning, info
"source": "PyExecutor",
"timestamp": "{{iso_timestamp}}",
"custom_details": {
"database": "{{database_name}}",
"error": "{{error_message}}",
"affected_records": "{{affected_count}}",
"dashboard_link": "{{monitoring_url}}"
}
},
"client": "PyExecutor",
"client_url": "{{dashboard_url}}",
"links": [
{
"href": "{{runbook_url}}",
"text": "Database Backup Runbook"
}
]
}
| Provider | Rich Formatting | Buttons/Actions | Team Integration | File Upload |
|---|---|---|---|---|
| š§ Email | ā HTML | ā Links | ā Any email | ā Attachments |
| š¬ Slack | ā Block Kit | ā Buttons | ā Channels | ā Via API |
| š¤ Teams | ā Adaptive Cards | ā Actions | ā Teams rooms | ā ļø Limited |
| š® Discord | ā Embeds | ā Buttons | ā Servers | ā URLs |
| āļø Telegram | ā Markdown | ā Buttons | ā Groups | ā Any file |
| š WhatsApp | ā Templates | ā Buttons | ā Broadcast | ā Media |
| šØ PagerDuty | ā Structured | ā Payload | ā On-call | ā No |