- Shipped
- September 17, 2026 at 1:08 AM UTC
- Author
- Kamo
- Commit
- be629f2
/marketing/email gets a Broadcasts / Drips switch (?view=drips). The drips view lists every drip as a card with its trigger, its sequence and live counts, KPI and status tabs, search and sort, and starts a new drip blank or from ten recipes (welcome new leads, birthday greetings, meet your new agent, claimed lead introduction, status nurture, re-engage non-openers, clicked link follow-up, team member and member onboarding, and more). /marketing/email/drip is the builder: - Trigger: a new lead (by hand, imported, integrations; markets, vendors, products), a status or sub-status change from/to, a reassignment, a credit or free-for-all claim, birthdays and anniversaries, a team member or member account created, a campaign email sent / opened / link clicked, no engagement with a campaign after N days, finishing another drip, or people added by hand. - Emails on a canvas: add, duplicate, drag to reorder, a wait before each (minutes to weeks, from the email before it), a send window per email or for the drip (days, hours, the contact's or the organization's time), and a condition (only if the previous email was or was not opened or clicked, otherwise skip it or leave the drip). - Settings: From and Reply-To exactly as a campaign (the shared pickers), the signature template, who can join again (once, after leaving with a cooldown, or restart), and when people leave (a status change, a reassignment, a click). - A readiness strip, Save (Ctrl/Cmd+S), Activate with a burst, Pause, Archive, Duplicate, Delete; unsaved edits are guarded and a colleague's change arrives live. - People: who is in the drip, where they are and when their next email goes, each person's timeline, add people by hand, take someone out. Performance: joined / in progress / finished / left, an email funnel, and live activity. A new drip, blank or from a recipe, is not created until its first save, as with a new campaign, so every email is stored with the template and the compliance footer. The campaign editor's template and footer context moved into useCampaignEmailTemplate, shared with the builder (saved bodies and requests compared identical before and after). CountUp now writes a first target of 0 instead of a dash. EmailService serves /api/email/drips and "drip" frames on the campaigns topic; the English is in the dictionary.