Email notifications — what you'll receive

Per-event notification emails + owner fan-out + per-type unsubscribe link. One batched exception: the Ad Fatigue email digest (daily/weekly).

Written By Salvatore Sinigaglia

Last updated 19 days ago

Per-event notification emails + owner fan-out + per-type unsubscribe link. One batched exception: the Ad Fatigue email digest (daily/weekly).

Email notifications — what you'll receive

Wevion sends most notification emails per event (real-time, not batched). Sent per event. Direct user + owner fan-out (if user.owner_id exists). Per-type unsubscribe link in every email points to ${frontendUrl}/settings/personal/notifications?unsubscribe=${notificationType}. Failures non-blocking. One batched exception exists: the Ad Fatigue email digest (daily + weekly), sent by a dedicated scheduled job every 24h (weekly only on Mondays UTC).

Who is this for

Anyone wondering what email notifications Wevion sends, when, from whom, and how to manage them.

Per-event delivery (with one digest exception)

Each qualifying notification triggers one email. There is no general email digest that batches all notification types — meaning:

  • No batched daily / weekly email summary of general alerts
  • No "10 events combined into one email"
  • Every alert that passes your preferences → one email

The one exception is the Ad Fatigue email digest: a dedicated daily (and weekly, on Mondays) batched email of creative-fatigue findings, sent by its own scheduled job, separate from the per-event path.

For general batched summaries: use Telegram digest (Telegram digest — daily and weekly reports).

How delivery works

  1. Notification event triggers in backend (e.g. campaign disapproved)
  2. Policy engine evaluates preferences → if email enabled for this type × user → enqueue
  3. The email is queued for delivery
  4. Worker calls emailService.sendNotificationAlert()
  5. Email sent via plugin 12.email.ts (typically AWS SES / Mailgun / similar)
  6. If user.owner_id exists: owner also gets email (with implicit "Team: [memberName]" context)

Failure (provider error, invalid address): event recorded; worker doesn't retry indefinitely (typical SQS retry pattern with DLQ).

Email content

Each email includes:

  • Subject: [Wevion] {Notification Type} or similar
  • Body: notification message + severity + context
  • Entity link: entityUrl = ${frontendUrl}/backoffice/${entity_type}s/${entity_id} — click to open the relevant entity in Wevion
  • Unsubscribe link: ${frontendUrl}/settings/personal/notifications?unsubscribe=${notificationType} — clicking unsubscribes from this specific type (not all emails)

Branded HTML template + plain-text fallback.

Owner fan-out

If you're a team member (e.g. mediabuyer) with user.owner_id set to your team owner:

  • Direct notifications go to you (your email)
  • AND to your owner (their email)

This lets owners stay informed of team activity. Owner can disable in their own preferences.

If you're an owner: you receive your team members' notifications by default (per ROLE_DEFAULTS for owner role).

Unsubscribe per type

Each email's unsubscribe link is per-notification-type, not all-emails:

${frontendUrl}/settings/personal/notifications?unsubscribe=${notificationType}

Click → opens Wevion settings → toggles email channel off for that specific notification type.

To unsubscribe from ALL emails: visit /settings/personal/notifications directly → toggle email channel off across all types.

Who sends

  • From address: typically noreply@wevion.ai (varies per deployment)
  • Reply-to: typically not monitored (use support channels for replies)
  • Email domain: your workspace's configured domain

Allowlist noreply@wevion.ai in your email provider's spam filter to ensure delivery.

What notification types email by default

Per the role-based defaults:

RoleEmail default for
super_adminMost critical types (account, payment, sync errors)
ownerCritical types + team member actions
adminCritical types relevant to admin scope
managerLimited subset; most types email-off by default
mediabuyerLimited subset; most types in-app only by default
financeBilling-related only
viewerMinimal

Override via /settings → Notifications.

When email is the right channel

Use email forUse other channel
Important events worth archivingReal-time alerts (use push / telegram)
Cross-team async coordinationTeam chat
Compliance / audit trailIn-app inbox
Notifications for users without TelegramTelegram users → use Telegram

Email's strengths: durable, searchable, shareable. Weakness: slower than push / Telegram.

Email vs in-app

ChannelLatencyPersistence
in-app~30s pollingPersisted in notification_inbox_item until acknowledged / archived
emailNear-instantPersisted in your inbox forever (until you delete)

For critical alerts you may want both. For high-frequency types: maybe in-app only to avoid email overload.

Bounces + invalid addresses

If user.email is missing or invalid:

  • Worker skips email send for that user
  • Other channels still attempted (in_app, telegram, push)
  • No bounce-retry mechanism (admin / user fixes email in profile)

Privacy

Email recipients see:

  • Your user.email (the address)
  • The notification content (subject + body)
  • Entity link (opens Wevion — requires login)

Email does NOT include:

  • Other users' notifications
  • Cross-team data
  • Sensitive tokens / secrets (output is sanitized server-side via similar mechanism to Wavo's sanitizeToolOutput)

Common questions

Why am I getting so many emails?

Your role + per-type defaults trigger emails for many notification types. Disable specific types via /settings → Notifications or click unsubscribe in any email.

Why am I getting emails for someone else's actions?

Owner fan-out: you're an owner; team member actions notify you. Disable in your preferences.

Why didn't I get an email I expected?

Check: preferences (email channel enabled for this type?), spam folder, user.email correct, role default doesn't enable email for this type.

Can I get daily / weekly email digest?

Not as a general summary of all notification types — those arrive per event. The one batched email is the Ad Fatigue digest (daily, plus weekly on Mondays), covering creative-fatigue findings only. For a broader batched summary, use the Telegram digest (Telegram digest — daily and weekly reports).

Can I forward Wevion emails to my team?

Yes (standard email forward). But beware: forwarded emails leave Wevion's auth scope; the entityUrl link requires Wevion login.

Can I reply to a notification email?

Typically no (noreply@ address). For support: open ticket via Wevion Help Center or via Wavo (create_support_ticket tool).

Common issues

  • No emails received: check user.email, spam folder, allowlist noreply@wevion.ai, verify preferences
  • Too many emails: disable specific types via /settings → Notifications or unsubscribe link in any email
  • Unsubscribe link broken: very rare; report to support; meanwhile manage via /settings → Notifications directly
  • Email with sensitive token / secret visible: should not happen (sanitization). If observed: report immediately as security concern
  • Owner / member separate emails for same event: by design (owner fan-out); owner can disable

FAQ

Who does Wevion send notification emails from?

Wevion sends from noreply@wevion.ai (the exact address varies per deployment), using the workspace's configured email domain via the 12.email.ts plugin. The reply-to is typically unmonitored, so use support channels for replies. To ensure delivery, allowlist noreply@wevion.ai in your email provider's spam filter.

Does unsubscribing stop all Wevion emails?

No. Each email's unsubscribe link is per-notification-type — it points to /settings/personal/notifications?unsubscribe= and toggles the email channel off only for that specific type. To stop every email, visit /settings/personal/notifications directly and turn the email channel off across all notification types.

What happens if my email address is invalid?

If your email is missing or invalid, Wevion skips the email send for you, while other channels (in-app, Telegram, push) are still attempted. There is no bounce-retry mechanism, so you or an admin must correct the email address in your profile to resume email delivery.

Which channel keeps a durable, searchable record of alerts?

Email. Wevion emails are near-instant and persist in your inbox until you delete them, making them ideal for archiving important events, compliance trails, and users without Telegram. In-app notifications persist in notification_inbox_item but rely on ~30s polling; for critical alerts you may want both channels enabled.