Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Coldflow templates

A small, opinionated library of cold email templates for the use cases that actually drive replies. Plaintext, under ~120 words, one CTA per email.

These are content — markdown files you copy into the campaign builder. They are not loaded by the app at runtime. For the in-app picker (Browse templates button), see src/lib/templates/catalog.ts.

Index

Sales (3)

Recruiting (2)

Partnership (2)

Warm intro (2)

Follow-up (1)

Format

Each template is a .md file with YAML front-matter and a plaintext body:

---
id: sales_saas_pain_point
name: SaaS — Pain Point Opener
category: sales
persona: Who you are when you send this
use_case: When this template wins
deliverability_notes: |
  What to keep, what to swap, what trips spam filters.
subject: Noticed {{specific_signal}} at {{company}}
variables:
  - first_name
  - company
  - specific_signal
---

Hi {{first_name}},

...body...

{{variable}} placeholders match the syntax used by the in-app campaign builder (see src/lib/templates/catalog.ts). Replace them per-recipient before sending.

How to load into Coldflow

Coldflow's MVP supports a single-step sequence with per-recipient personalization. There is no separate "CSV upload" — the recipient list is pasted into a textarea on the new-campaign page.

  1. Start a new campaign — go to /dashboard/campaigns/new (page source: src/app/(frontend)/dashboard/campaigns/new/page.tsx).
  2. Pick a connected sender under Send from. If none are connected, set one up at /dashboard/email-accounts first.
  3. Paste recipients into the Recipients textarea. One per line, comma, or semicolon. Optional Name <email> form is parsed by src/lib/recipientParser.ts, so a pasted CSV column works directly.
  4. Copy the template — open the chosen file in this folder, copy subject: into the Subject field and the body (everything below the second ---) into the Body field.
  5. Verify variables — the form lists every {{placeholder}} it detected under Variables in this template. Match them against the front-matter variables: list.
  6. Create campaign — Coldflow queues the emails through the configured sending limit (see src/app/api/email-queue/process/route.ts).

If you want the template available in the in-app Browse templates picker instead of one-off copy/paste, add an entry to TEMPLATES in src/lib/templates/catalog.ts and the catalog test will enforce that every {{variable}} is declared.

Deliverability notes that apply to every template

  • Send plaintext. No tracking pixel, no signature image, no link in send #1 unless the recipient asked for one.
  • Personalize the variable that carries the email — the "specific signal" or "specific conversation detail" line. Generic versions get filtered.
  • Stay under 120 words. Longer reads as marketing.
  • Reply-bumps go on the same thread (Re: {{previous_subject}}), not a new one. Coldflow's silent-reply follow-up handles this automatically; see Pending follow-ups on the dashboard.
  • One CTA per email. If you want two, send two emails.

Contributing

New templates welcome. Keep the front-matter shape consistent, run a quick spam-word pass before opening a PR, and aim for "useful as-is to a real sender" over "clever".