Skip to main content

Notification providers

Seven native channels. Plug into the stack you already use.

Email, Slack, Microsoft Teams, PagerDuty, Discord, Telegram, and generic HTTPS webhook are first-class channels with a shared CRUD surface and a Test button that dispatches a canned payload through the real provider before you save. HTTP targets use scheme and host allow-lists plus DNS-pinned dialing. SMTP is re-resolved before send, but its TCP connection is deliberately not DNS-pinned. Project-wide channels for the team plus per-user personal channels use the same schema, so on-call handoffs do not require touching shared config.

Ships with

  • SMTP email with TLS / STARTTLS, 4-port allow-list, masked passwords on read
  • Slack incoming webhook with Block Kit formatting
  • Microsoft Teams via Adaptive Cards (classic O365 connector, Workflow webhooks, and Power Automate URLs; host-locked to Microsoft families)
  • PagerDuty native Events API v2 with severity_map per trigger and dedup keys that collapse repeats into one incident
  • Discord incoming webhook (Slack-compatible payload, auto /slack suffix)
  • Telegram bot via sendMessage with regex-validated bot_token and chat_id
  • Generic HTTPS webhook with HMAC-SHA256 signature in X-Z4J-Signature for replay-safe receivers

Highlights

  • Test endpoint dispatches through the real provider so credentials are verified before save
  • HTTP targets use SSRF checks and DNS-pinned dialing; SMTP re-checks the resolved address before connecting
  • Sensitive fields (smtp_pass, hmac_secret, bot_token, integration_key) masked on read; empty PATCH preserves stored value
  • Delivery audit log captures status, response code, and sanitized error body for every send

Related

More capabilities

Ready to try z4j?