---
title: Newsletter (Listmonk)
description: Integrated opt-in mailing lists and newsletter campaigns powered by Listmonk.
icon: material/newspaper-variant
tags:
  - guide
  - admin
  - broadcast
  - email
---

# Newsletter (Listmonk)

Integrated with [Listmonk](https://listmonk.app/) for opt-in mailing lists and newsletter campaigns. Enable with `LISTMONK_SYNC_ENABLED=true`.


![Newsletter Sync](../../../assets/images/screenshots/admin/newsletter.png){ loading=lazy }

---

## Managed Lists

The platform automatically creates and maintains 13 subscriber lists in Listmonk:

| List Name | Source | Tags |
|-----------|--------|------|
| All Contacts | All synced records | `v2` |
| Campaign Participants | Users who sent advocacy emails | `v2`, `influence` |
| Locations - All | Address occupants with email | `v2`, `map` |
| Support Level 1-4 | Addresses by canvass support level | `v2`, `map`, `support` |
| Has Campaign Sign | Addresses with a yard sign | `v2`, `map`, `signs` |
| Users | Active non-temp platform accounts | `v2`, `users` |
| Volunteers | Shift signups | `v2`, `map`, `shifts` |
| Canvassers | Users who completed canvass sessions | `v2`, `map`, `canvass` |
| Subscribers | Active paid subscribers | `v2`, `payments` |
| Donors | Users who completed a donation | `v2`, `payments` |

---

## Bulk Sync

The admin panel provides a manual "Sync All" action that synchronizes four data sources to Listmonk:

1. **Campaign participants** -- distinct email senders from advocacy campaigns
2. **Location contacts** -- address occupants with email, mapped to support level and sign lists
3. **Users** -- active platform accounts (excludes TEMP users)
4. **CRM tags** -- contacts tagged in the [People module](../people-access.md#people-crm), synced to tag-linked Listmonk lists

Each source upserts subscribers (creates new or merges into existing), preserving existing list memberships and merging metadata attributes.

---

## Event-Driven Sync

In addition to bulk sync, the platform fires real-time subscriber upserts on application events:

- **Shift signup** -- adds to Volunteers list
- **Canvass session completed** -- adds to Canvassers list
- **Campaign email sent** -- adds to Campaign Participants list
- **Subscription activated** -- adds to Subscribers list
- **Donation completed** -- adds to Donors list
- **Product purchased** -- adds to Donors list
- **Address updated** (canvass visit) -- updates support level list membership
- **Re-engagement email sent** -- updates Volunteers list metadata
- **CRM tag changed** -- adds/removes from tag-linked Listmonk lists

All event-driven syncs are fire-and-forget and silently fail if Listmonk is unreachable.

---

## Admin Routes

- `/app/listmonk` (sidebar: "Newsletter") -- sync status, subscriber counts, campaign stats, and manual sync trigger
