Notifications across channels — complete guide

Notification categories, channels, preferences, Telegram, email, push, and Slack setup. Connect, customize, troubleshoot.

Written By Salvatore Sinigaglia

Last updated 18 days ago

Notification categories, channels, preferences, Telegram, email, push, and Slack setup. Connect, customize, troubleshoot.

Notifications across channels — complete guide

TL;DR: Wevion delivers alerts across in-app, email, web push, Telegram, and Slack. Notification types and UI categories are predefined, with role-based defaults per role × type × channel. Telegram + Slack are opt-in setup; in-app + email are role-based defaults.

Table of contents

Notification categories

Current notification types are verified in notification-defaults.ts:

ACCOUNT_STATUS_CHANGE, ACCOUNT_VERIFICATION_BLOCK, SPEND_CAP_WARNING, CAMPAIGN_DISAPPROVED, ADSET_DISAPPROVED, DELIVERY_ERROR, TOKEN_EXPIRING, PAYMENT_ISSUE, SYNC_COMPLETED, SYNC_FAILED, REPORT_READY, BULK_LAUNCH_COMPLETED, USER_ADDED, RULE_EXECUTED, CREATIVE_JOB, SYSTEM, RULE_ACTION_FAILED, BUDGET_DEPLETED, EXPORT_READY, SUBSCRIPTION_CHANGE, TEAM_MEMBER_REMOVED, KPI_THRESHOLD_ALERT, CREATIVE_FATIGUE, STRATEGIC_PLAN_STEP.

Grouped categories are defined in the same file: campaigns, budget, account, kpi, sync, operations, creative, team, system, strategy.

Channels

The NOTIFICATION_CHANNELS enum has 4 channels (in_app, email, push, telegram); Slack is delivered separately by a policy-gated allowlist, not part of the enum or ROLE_DEFAULTS.

ChannelNotes
in_appAlways on; team-scoped notification inbox v2
emailMostly per-event delivery; per-type unsubscribe link; the one batched email is the Ad Fatigue digest (daily/weekly)
pushVAPID web push (PWA); NO native mobile push
telegramOpt-in link + mapped alert toggles + digest (daily/weekly)
Slack (policy-gated)OAuth install + conservative default failure event set; not in the channel enum

Connect Telegram

Settings → Notifications → Connect Telegram. A one-time link token generates a deep link to the bot → send /start → your account is linked (unique per user + chat).

Bot blocking auto-detection: 403 from Telegram → is_active = false.

Telegram bot commands + digest

5 verified bot commands: /start /status /stats /help /unlink.

Digest configs: daily_digest_enabled + hour, weekly_digest_enabled + day + hour, digest_timezone (IANA). Cron every 15 min (lock 100011) → dedup via telegram_digest_log past 14 days.

Email notifications

Mostly per-event delivery. The one batched exception is the Ad Fatigue email digest (daily/weekly, via a dedicated scheduled job). Owner fan-out included. Unsubscribe URL per-type.

Customize preferences

Per-user + team-scoped overrides + role defaults (ROLE_DEFAULTS matrix).

Troubleshoot

Common: Telegram silent (bot blocked / preference disabled), email in spam, push expired (410/404 → subscription hard-deleted), Slack token revoked, owner fan-out unwanted, digest skipped, in-app inbox empty.

FAQ

Why don't I get notifications I expect?

Check preferences precedence: team override → user override → role default → catalog default. Notification may be IGNORE'd by policy engine.

What's owner fan-out?

Owners receive notifications for team members' triggering actions (with "Team: [memberName]" prefix). Can disable in preferences.

Mobile push?

NO native mobile app. Web push via VAPID (browser / PWA only).

Email digest?

No general email digest of all notification types — general alerts are per-event. The one batched email is the Ad Fatigue digest (daily/weekly). Use Telegram digest for a broader batched summary.

Mute / snooze?

NOT implemented in notification core (DEFERRED).

Slack default events?

Conservative event set: account.disconnected, account.token_expiring, campaign.publish_failed, rule.action_failed, sync.failed, billing.payment_failed, billing.subscription_expired.

Multiple users, one Telegram bot?

Yes — same bot serves all users via per-user telegram_link rows + per-user preferences.

Bot also for tracker callbacks?

Yes — same bot infrastructure handles both notifications + tracker postback callbacks. Separate workflows.

Next steps

FAQ

Why don't I get notifications I expect?

Check preferences precedence: team override → user override → role default → catalog default. Notification may be IGNORE'd by policy engine.

What's owner fan-out?

Owners receive notifications for team members' triggering actions (with "Team: [memberName]" prefix). Can disable in preferences.

Mobile push?

NO native mobile app. Web push via VAPID (browser / PWA only).

Email digest?

No general email digest of all notification types — general alerts are per-event. The one batched email is the Ad Fatigue digest (daily/weekly). Use Telegram digest for a broader batched summary.

Mute / snooze?

NOT implemented in notification core (DEFERRED).

Slack default events?

Conservative event set: account.disconnected, account.tokenexpiring, campaign.publishfailed, rule.actionfailed, sync.failed, billing.paymentfailed, billing.subscription_expired.

Multiple users, one Telegram bot?

Yes — same bot serves all users via per-user telegram_link rows + per-user preferences.

Bot also for tracker callbacks?

Yes — same bot infrastructure handles both notifications + tracker postback callbacks. Separate workflows.

Last updated: 2026-05-17