Free template · Milestones

Remember every birthday without remembering.

Wishes clients happy birthday or anniversary with a personalized message and an offer that fits their history with you. The thing local businesses used to do before it became impossible to track.

Setup time ~20 minutes
Run cost ~$1/mo (300 messages)
Validation Tested + ready to run
License Free, yours forever

Customers who feel remembered.

  1. 1
    Schedule Trigger — daily 8am
    Cron expression 0 8 * * *. Runs every morning so messages land before the workday gets noisy. Adjust the time to whatever your customers respond to best.
  2. 2
    Sample Milestones Today (replace this)
    Ships with two sample milestones so it runs out of the box. Replace this Set node with an HTTP Request to your CRM or booking software for contacts whose birthday or anniversary is today: Mindbody, Vagaro, HubSpot, Zoho, or a Google Sheets pull.
  3. 3
    Split Each Contact
    Iterates so the rest of the workflow runs once per contact. n8n handles the loop automatically.
  4. 4
    Generate Milestone Message — OpenAI
    Uses gpt-4o-mini to write two sentences. References the milestone type and the customer's recent context, ends with one specific low-pressure offer (a credit, a complimentary add-on, a recall slot). No emojis.
  5. 5
    Send Milestone Email — SMTP
    Sends the message from your business address. Swap for a Twilio SMS node if your customers prefer texts.
  6. 6
    Log Result
    Captures who got the message, the milestone, and the sent timestamp. Replace with a Google Sheets append, an Airtable create, or an HTTP request to your CRM if you want centralized reporting.

Vertical-specific framing

Med spa
Pulls birthdays from Mindbody or Vagaro and references the last treatment. Offers a complimentary add-on tied to that treatment, not a generic discount that erodes margin.
Salon
Names the stylist from the last visit and the service category (color, balayage, cut). Offers a small upgrade slot the next time they come in.
Dental practice
Pulls patient birthdays from Eaglesoft or Dentrix. References the last hygiene visit and offers a recall slot that fits the patient's typical cadence.
Financial advisor
Pulls client anniversaries (years since onboarding) from your CRM. References a milestone the client hit (paid down a loan, retirement target on track) and offers a 15-minute review call.
Get the template
Three quick questions, then we send the JSON. We use the answers to recommend templates that fit your business.

No spam. Unsubscribe anytime. The JSON link arrives instantly after submit.

Three accounts. Free or close to it.

n8n Free self-hosted, or n8n Cloud starting $20/mo
OpenAI API key Pay-as-you-go, ~$0.0001 per message
SMTP or Twilio SMTP for email, Twilio if you'd rather text
Your CRM or booking software API access to pull contacts with today's birthday or anniversary

What this is worth, conservatively

Engagement on personalized birthday emails (Mailchimp benchmark) 12 to 15%
Lift over a generic broadcast send ~3x open, ~5x reply
Practice with 2,000 customers, ~5 birthdays/day ~150 birthdays/mo
Cost to run this template forever ~$12/year

Numbers based on Mailchimp's reported engagement on personalized milestone emails vs generic broadcasts. Your conversion to repeat purchase or rebook varies with offer specificity.

Related

Want this customized to your stack?

If you'd rather have us connect this to your CRM, write the prompts in your voice, and hand it back working — that's our retention build. 1 to 2 weeks.

Book a 15-min walkthrough