Get Hedhog updates in your inbox
New releases, fresh recipes, and breaking changes — no spam.
Campaign Module Documentation
EnterpriseEnterprise module
Campaign is part of the HedHog Enterprise offering and requires a commercial license. Only the Core module is Open Source. Request a quote →
The Campaign module provides full email campaign management: create, schedule, send, and track email campaigns with support for recipient lists, reusable templates, suppression lists, public unsubscribes, and real-time delivery analytics. It depends on Core for mail delivery (via Integration Profiles), settings, and notifications, and on Queue for asynchronous, rate-limited dispatch.
Unlike Core, Campaign is implemented as a single NestJS module with one controller (CampaignController) backed by many feature-specific services under libraries/campaign/src/services. The submodules below group the routes of that single controller by feature area for documentation purposes — they do not correspond to separate NestJS modules, and every submodule is unconditionally wired into CampaignModule.
Submodules
8
Total HTTP endpoints
57
campaigns
Core campaign CRUD plus lifecycle actions: schedule, start, pause, resume, cancel, and duplicate.
templates
Manages reusable email content templates (name, subject, HTML/plain-text body) that campaigns can reference.
recipient-lists
Named lists of recipients that campaigns target. Supports manual entry, CSV import, CRM sync, and public signup.
recipients
Direct CRUD over individual campaign_recipient records across all lists.
suppression
Global, campaign-independent suppression list that CampaignDispatchService consults to skip emails it must not send to.
messages
Read access to individual per-recipient delivery records (campaign_message) for a campaign.
unsubscribes
Token-based public unsubscribe flow plus an admin listing of all unsubscribe records.
tracking
Public pixel and redirect endpoints for open and click tracking embedded in outgoing campaign emails.