Product · Automation

Product events in. Emails out. Quietly.

Lifecycle campaigns send multi-step email sequences when your product does something — trial started, limit reached, payment failed. Tracked opens and clicks feed the same customer record your team works from.

How campaigns work

  1. Trigger — a product event, an API call, or a CRM change enrolls the contact.
  2. Steps — a timed sequence of emails; each step can be locale-aware.
  3. Tracking — opens and clicks are recorded on the contact timeline.
  4. Exit — the contact completes, replies, unsubscribes, or is suppressed.

Templates worth starting from

  • Trial expiring — day-by-day nurture ending in a clear upgrade CTA.
  • Payment failed — immediate heads-up, retry notice, grace-window warning.
  • Usage limit reached — what they hit, what unlocks it, one link.
  • Welcome — first-run value in three short steps.

Reporting

Per-campaign and per-step delivery, open, and click rates; execution history shows who was enrolled, what fired, and when. Clicks and replies tie back to the contact and company — sales sees the campaign's effect on the deal timeline instead of a separate email platform's dashboard.

Suppression & consent

  • Unsubscribe links are mandatory and honored instantly, per contact.
  • Suppression list prevents re-enrollment — bounced and complained addresses never return.
  • Campaigns respect frequency caps so lifecycle mail never turns into drip spam.

Triggering from your product

Any tracked event can enroll a contact. Fire trial_started, usage_limit_reached, or payment_failed from your backend and map events to campaigns in the dashboard:

POST /api/v1/events/track
{ "name": "usage_limit_reached", "user_id": "usr_123" }

Keep it human

Campaigns work best when they do one thing: deliver the next right message at the next right moment. When a sequence needs branching logic, approvals, or custom copy per account, that's a job for the Work lane — drafts and a human sender, not a drip.