Sent via Sendy (self-hosted, on Amazon SES). A separate rail from the dunning & billing emails, and not blocked by the Chargebee migration that gates those.
{{fields}} resolve from the tables below; text in "quotes" is literal email copy. In Sendy these render as [Field name,fallback=there] tags at build time.
Every marketing send carries a real {{unsubscribe}} footer. The transactional dunning emails don't, because those are account-servicing, not bulk mail. Don't cross the wires.
Same voice, two entirely separate pipelines. This doc is only the marketing rail.
| Transactional (dunning) | Marketing (this doc) | |
|---|---|---|
| Sender rail | SES, billing address | Sendy on SES, named person |
| Fires on | a billing event (charge fail, retry, pause) | subscribe-date + time, or list / segment |
| Depends on | Chargebee webhooks blocked | a user feed into Sendy independent |
| Unsubscribe | no (servicing mail) | yes, on every send |
Sendy has exactly three ways to send. None of them react to in-product behavior on their own.
| Mechanism | Fires on | Use for |
|---|---|---|
| Autoresponder | subscribe-date + elapsed time (Day 0, Day 2, …) | drips: onboarding, education |
| Segment broadcast | a manual send to a filtered segment | one-offs: product news, seasonal offers |
| List move | a user added to / removed from a list | crossing a state boundary (free → paid) |
Sendy only knows what we sync into it: its list membership and its custom fields. It cannot react to "user made their first deck" unless a job writes that state into Sendy on a schedule. Until this is settled, every campaign is designed both ways:
Blind — Sendy has signup date + plan tier only. Campaigns run on time and plan. Onboarding still works in full; behavioral targeting does not.
Synced — a job writes {{deck_count}}, {{last_active}}, {{activated}} into custom fields on a schedule, so segments can branch on behavior.
Anywhere a campaign leans on synced data, it's tagged needs feed so it's easy to resolve once we know.
| Campaign | Sendy trigger | Segment | Data needed | Status |
|---|---|---|---|---|
| Onboarding / activation | autoresponder | all new signups | signup date only | written ↓ |
| Free → paid conversion | autoresponder + segment | free plan, still active | plan; needs feed to target engaged | next pass |
| Feature education | autoresponder / broadcast | hasn't used feature X | needs feed | next pass |
| Reactivation | segment broadcast | dormant free, 30d+ idle | needs feed | next pass |
| Broadcasts | manual broadcast | news: all · offers: segment | none / plan | next pass |
One clear action per email, always pointing at real product. Warm, never pushy. Each touch earns the next by being useful, not by nagging.
| Touch | What the message should do |
|---|---|
| Day 0 · Welcome | Say what Presentations.AI does in one line and point at the single first action: make a deck. Note the free credits are already there. |
| Day 2 · First deck | Lower the barrier to the first deck. Show how little input it takes. Give a concrete starting prompt. |
| Day 4 · Capability | Teach one genuinely useful thing they may not know: turn a document or notes into a deck. |
| Day 7 · Range | Show what people build with it, so they see it fits their own use. Invite them back in. |
| Day 12 · What's next | Soft bridge to Pro for anyone outgrowing the free credits. The seam where onboarding hands off to conversion. |
| {{first_name}} | User's first name. Sendy fallback: "there" |
| {{credits}} | Free-plan credit grant (200) |
| {{deck_count}} | Decks the user has made. needs feed |
| {{last_active}} | Last time they created or edited a deck. needs feed |
| {{activated}} | Has made at least one real deck (true/false). needs feed |
| {{sender}} | Placeholder: a real teammate's name + a named from-address (not billing@) |
| {{unsubscribe}} | Sendy's per-send unsubscribe link. Required on every marketing email |
A five-touch autoresponder off the signup date, running ~12 days. It's the one campaign that works fully in the blind case, since every touch is time-based. Where synced data would sharpen it, the needs feed flag shows the behavioral upgrade.
Not-yet-activated (default, works blind): the copy below, nudging toward a first deck.
Activated needs feed: once {{activated}} is true, suppress the "make your first deck" nudges and switch that user to a lighter "here's what's next" track (Day 4 onward only). Until the feed exists, everyone runs the not-yet-activated track on time, and the copy is written so it never insults someone who already made a deck.
Hi {{first_name}},
Presentations.AI turns an idea into a finished deck. You describe what you need, and you get real slides back, ready to edit and present.
The quickest way to see it is to make one. You have {{credits}} credits on the free plan, so there's nothing to set up first.
{{sender}}, Presentations.AI
Check: if the product already sends a verify/welcome on signup, move this to Day 1 or fold it in, so we don't land two welcomes.
Hi {{first_name}},
The first deck takes about a minute. You don't start from a blank canvas. You type one line about what you want, and the slides come back drafted.
Something like "a 10-slide pitch for a coffee subscription startup" is plenty to start. You can change anything after.
{{sender}}, Presentations.AI
Hi {{first_name}},
If you already have the content, you don't have to retype it. Paste in your notes, or bring in a document, and Presentations.AI shapes it into slides.
It's the fastest way to turn something you've already written into something you can present.
{{sender}}, Presentations.AI
Hi {{first_name}},
A quick sense of what it's good for, in case your use isn't the obvious one:
• Investor and sales pitches
• Turning a report or doc into a readable deck
• Class and training material
• Internal updates and reviews
Whatever you're working on next, it's a good place to start.
{{sender}}, Presentations.AI
Hi {{first_name}},
If Presentations.AI has earned a place in how you work, Pro gives you room to lean on it: 5,000 credits and headroom for bigger, more frequent decks.
No rush. The free plan stays exactly as it is. This is just here for when you outgrow it.
{{sender}}, Presentations.AI
This is the seam. Day 12 hands off to the free → paid conversion campaign below, so the two shouldn't double up on the same week. Suppression rule between them is a next-pass detail.
Intent: move active free-plan users to Pro, on value not pressure. Best when it can target the engaged (credits nearly spent, coming back often) rather than blast all free users. needs feed for the good version; a plan-only time drip is the blind fallback. Distinct from dunning: this is people who never paid, not a failed charge.
Intent: teach one feature to the segment that hasn't touched it (brand kit, export to PPT, templates, collaboration). Broadcast per feature, or a slow evergreen autoresponder. needs feed to know who's used what.
Intent: win back dormant free users (30+ days idle) with what's new since they left, or a reason to come back. Segment broadcast. needs feed for the idle segment. This is the free-user cousin of the billing win-back in the dunning doc, and must not overlap it.
Intent: reusable one-off templates. Product news (to all, opted-in) and seasonal offers (to a plan segment). Not a drip, so this is a house-style template plus rules, not a sequence.