HTTP reference

Markdown

Integrations — Slack & Telegram notifiers

Externa can fan out human-readable alerts to Slack (incoming webhook) and/or Telegram (bot sendMessage) for the same domain events as outbound webhooks. This is outbound only — Externa is not a Slack or Telegram chat backend.

Configure

  1. Admin → Settings → Project
  2. Under Outbound notifiers (Slack & Telegram):
    • Slack: paste an Incoming Webhook URL, save, then Send Slack test
    • Telegram: create a bot via @BotFather, add the bot to your channel/group, set Chat ID and bot token, save, then Send Telegram test

Leave fields empty to disable each channel. Telegram requires both chat ID and token.

The bot token must be the BotFather format (123456:ABC…), not the bot username. Send Telegram test runs synchronously and shows the Bot API error (for example HTTP 404 — Not Found) if the token or chat ID is wrong. The bot token is stored encrypted.

Queue worker required

Delivery uses DeliverSlackOutboundNotifierJob and DeliverTelegramOutboundNotifierJob. Run a queue worker (composer run dev locally, or php artisan queue:work in production). See Operations.

Events

Notifiers subscribe to the same event bus as outbound webhooks (see the webhook event catalog). Under Notify on these events, choose which types fan out to Slack/Telegram; unchecked types stay silent there. Outbound webhooks are not filtered by this list. Bulk imports still use OutboundWebhookDispatcher::withoutWebhooks(), which suppresses notifier fan-out as well. Send test (ping) always works.

Messages are short human summaries (headline, description, item/file title when known, collection name + slug, approval status, actor, timestamp, admin deep link) — not full record dumps. Outbound webhook JSON payloads stay minimal (ids/slug only).

Privacy

When enabled, event metadata leaves your self-hosted Externa instance and is processed by Slack or Telegram under their terms. Review provider policies before enabling in regulated environments.