Transactional Email & Campaigns Overview

ClientCove sends two fundamentally different kinds of email: transactional emails that fire automatically in response to events ("you have a new ticket", "your invoice was paid") and email campaigns that you compose and send intentionally to a chosen audience. Both use the same underlying Email Designer for branding, templates, and rendering.

Two Email Worlds

TransactionalCampaigns
TriggerAn event in the portal (new ticket, invoice paid, contract sent)You manually click Send (or schedule a future send)
VolumeOne recipient per email, many events per dayOne campaign goes to many recipients (10s to 1000s)
AudienceDetermined by the event (the user the event affects)Chosen by you — segments, specific clients, custom user lists
TemplateAuto-selected based on notification typeSelected per campaign
TrackingDelivery confirmation onlyOpens, clicks, per-recipient status
SenderPortal default senderConfigurable per-campaign (From Name + From Email)
DashboardNot surfaced as a list — fires silently/email-campaigns/ dashboard with status, stats, history
ComplianceFunctional — service-related, generally exempt from CAN-SPAM unsubscribe rulesMarketing — requires unsubscribe link, sender info, etc.

The Email Designer is the unified template tool. Templates created there can be applied to either world.

Quick Glossary

TermWhat it means
Email DesignerThe visual drag-and-drop editor at /email-designer/ for creating reusable email templates
TemplateA reusable design with branded header, body blocks, footer — used for transactional and campaign emails
BlockA single visual element in a template (header, text, button, image, divider, footer, etc.)
Notification TypeA trigger event (new_invoice, task_assigned, magic_link, etc.) — assignable to a template
Default TemplateThe template used when a notification type doesn't have a specific template assigned
Transactional EmailAuto-sent system email (notifications, confirmations, password resets)
CampaignAn email_campaign post — one-to-many email send
Audience SegmentWho a campaign goes to (all users, specific clients, custom user list)
Send StatusWhere a campaign is in its lifecycle (Draft / Scheduled / Sending / Sent / Paused / Cancelled)
Open TrackingA 1×1 invisible image (pixel) in the email that records when it's opened
Click TrackingURL rewriting in the email body — clicks route through a redirect that logs them, then forwards to the original URL

The Email Designer

The visual editor at /email-designer/ (admin-only) is the foundation for all email styling in ClientCove.

You create templates by:

  1. Picking a starting point (blank, or duplicate an existing template)
  2. Dragging blocks onto the canvas (header, text, buttons, images, etc.)
  3. Configuring each block (text, color, link, alignment)
  4. Setting global template settings (colors, fonts, max-width, padding)
  5. Assigning the template to one or more notification types
  6. Saving

Once saved, the template renders for every email of those notification types — across the whole portal.

See The Email Designer for the complete walkthrough.

Transactional Emails

ClientCove fires transactional emails in response to ~22 different events:

CategoryNotification Types
AuthAuth Code (2FA), Magic Link, Forgot Password, Registration Welcome, Registration Pending, User Invitation, New User Welcome
MessagesNew Messages
TasksTask Assignments, Task Due Soon
TicketsTicket Updates
ProjectsProject Deadlines
DailyDaily Summary, Daily Digest
InvoicesNew Invoice, Payment Received, Overdue Reminder
ContractsContract Sign Request
File TransfersTransfer Ready, Upload Request, Upload Complete, Transfer Expiring, Verification Code

Each notification type can have its own template (specifically designed for that event), or fall back to the default transactional template configured in Settings → Email Designer.

See Transactional Emails for the full notification type list, template assignment, and override mechanics.

Email Campaigns

Email campaigns are one-to-many sends you compose and schedule. The dashboard at /email-campaigns/ (admin / editor / approved representative) shows:

  • All campaigns with status, audience size, and stats
  • Filters by status (Draft / Scheduled / Sending / Sent / Paused / Cancelled)
  • Search across campaign names and subjects
  • A Create Campaign button to start a new campaign
  • A link to Email Templates (the Email Designer)

Campaigns flow through:

  1. Create — pick template, write subject, choose audience segment, set From Name + From Email
  2. Schedule — send now, or schedule for a future date/time
  3. Send — ClientCove processes the send in batches via cron (configurable batch size)
  4. Track — opens, clicks, failures recorded per-recipient

See Email Campaigns for create/schedule/track workflow.

How They Work Together

The unified architecture:

        ┌──────────────────────────┐
        │     Email Designer       │
        │  (visual template tool)  │
        └────────┬──────────┬──────┘
                 │          │
                 ▼          ▼
        ┌──────────────┐  ┌────────────────┐
        │ Transactional│  │   Campaigns    │
        │ (auto-sent)  │  │ (manual sends) │
        └──────┬───────┘  └────────┬───────┘
               │                   │
               └─────────┬─────────┘

                ┌─────────────────┐
                │  WP Mail / SMTP │
                │   (delivery)    │
                └─────────────────┘

Both transactional and campaign emails:

  • Use templates from the Email Designer
  • Render through email-template-renderer.php (HTML output)
  • Send via WordPress's wp_mail() (typically routed through SMTP/SendGrid)
  • Apply the global email branding (logo, colors)

The split into two systems keeps concerns clean:

  • Transactional — never have an "unsubscribe" because they're functional, deliverability-critical
  • Campaigns — always have unsubscribe links, sender info, list management

Email Delivery Infrastructure

The Email Designer renders the HTML; WordPress sends it. For reliable delivery you almost always want an SMTP service in front of WordPress's default mail function.

Recommended setup

  • WP Mail SMTP plugin (or similar)
  • SendGrid as the delivery provider (the same one that handles inbound parse for ticket / task creation)
  • SPF, DKIM, DMARC records configured for your sending domain
  • A consistent From address (e.g. notifications@yourportal.com)

Without proper SMTP setup, emails go through PHP's mail() function, which has extremely poor deliverability. They'll often land in spam or be rejected silently.

Cloud storage for images

If your templates include images (logos, hero images), store them in cloud storage with public URLs. The Email Designer's global logo field expects a public URL — typically a Google Cloud Storage / S3 / DigitalOcean Spaces URL. Linking to images on your portal works but tends to be slower for recipients and less cacheable.

Permissions Snapshot

CapabilityWho
Use the Email DesignerAdministrator only
Set the default transactional templateAdministrator
Create / send transactional emailsThe system (via event triggers)
View Email Campaigns dashboardAdministrator, Editor, Representative (with can_access_email_campaigns granted)
Create campaignsAdministrator, Editor, approved Representative
Send campaignsAdministrator, Editor, approved Representative
View campaign statsAdministrator, Editor, approved Representative
Receive transactional emailsAny user, based on their notification preferences and the event

Subscribers and standard client users don't see the Email Designer or the Campaigns dashboard — these are management tools.

Was this page helpful?