Real run

Birthday Email Flow Writer

Sample 1 · 2026-10-30 · Grok Bot executor subagent, builder batch 6 (model family not disclosed)

Bot page

Date field check

Klaviyo facts apply here because your platform is Klaviyo. Sorted by script into groups. Accepted formats are YYYY-MM-DD and MM/DD/YYYY. Klaviyo sign-up forms convert day first dates, but you said the day first values came from a quiz app import, not a Klaviyo form, so those were not converted.

ID Stored value Group What happens
D1 1988-04-12 Accepted format, valid will trigger
D2 03/27/1991 Accepted format, valid will trigger
D3 14/07/1985 Day first, not from a Klaviyo form not converted; fix needed (HELD)
D4 07/04/1990 Accepted format, ambiguous MM/DD reads it as month 7, day 4; if it came from the quiz import it is day 7, month 4
D5 1979-11-30 Accepted format, valid will trigger
D6 June 5 Text or blank will not appear in the trigger; ask the customer
D7 (blank) Text or blank will not appear in the trigger; ask the customer
D8 22-09-1993 Day first, not from a Klaviyo form not converted; fix needed (HELD)
D9 12/11/1987 Accepted format, ambiguous MM/DD reads it as month 12, day 11; if it came from the quiz import it is day 12, month 11
D10 1995-02-29 Accepted format, not a real date 1995 has no February 29; ask
D11 08/19/1984 Accepted format, valid will trigger
D12 2001-06-03 Accepted format, valid will trigger
Group Count
Accepted format, valid 5
Day first, not from a Klaviyo form 2
Accepted format, ambiguous 2
Text or blank 2
Accepted format, not a real date 1
Total 12

These counts describe these 12 sample values only, not your whole list.

Proposed fixes for the day first values, HELD until you approve a profile update:

ID Now Proposed
D3 14/07/1985 1985-07-14
D8 22-09-1993 1993-09-22

Ambiguous values (D4, D9) and the impossible date (D10) are questions below, not fixes. I did not guess them.

Trigger spec

  • Trigger: date property Birthday (it shows in the dropdown because at least 1 profile has it).
  • Start: 3 days before the date, per your timing.
  • Time: 10 am, recipient's local time zone. Klaviyo recommends an earlier time of day; 10 am fits that, your call.
  • Repeat: yearly.
  • Note: once the trigger is saved, the date property cannot be changed. To switch properties later, clone the flow.
  • A date flow has one anchor date. M2 below sits after a 3 day time delay from M1, which lands on the birthday. The delay step is my own setup, not covered in the saved sources; check it in the flow builder.

Messages

M1, 3 days before the birthday: - Subject: A birthday gift from Juniper & Pine - Preview text: A free mini candle is waiting for you. - Button: Shop candles (links to juniperandpine.example/shop)

Hi there,

Your birthday is coming up, and we would like to send you a small gift.

Use code BDAYMINI for a free mini candle with any order of $30 or more. The code works once and is good for 14 days after this email.

Our candles are hand-poured soy, made in Asheville, NC.

Warmly, the Juniper & Pine team

M2, on the birthday (3 day delay after M1): - Subject: Happy birthday from Juniper & Pine - Preview text: Your free mini candle code is still good. - Button: Use my code (links to juniperandpine.example/shop)

Hi there,

Happy birthday from all of us at Juniper & Pine Candle Co.

Your code BDAYMINI is still waiting: a free mini candle with any order of $30 or more, once, within 14 days of our first birthday email.

Warmly, the Juniper & Pine team

Counts

Word counts of each body, by script:

Item Count
Sample values 12
Values that will trigger as stored 5
Values needing a fix or answer 7
M1 body words 60
M2 body words 46
Messages 2

Go-live step (held)

  1. Both messages stay in Manual status until you approve them.
  2. HELD: switch M1 and M2 to Live.
  3. HELD: update D3 and D8 to the proposed values.

Questions for you

  1. D4 (07/04/1990) and D9 (12/11/1987): did these come from the Klaviyo form (month first) or the quiz import (day first)?
  2. D10 (1995-02-29) is not a real date. Should I ask that customer, or leave the profile out of the flow?
  3. D6 ("June 5") has no year and D7 is blank. Do you want a short email asking those customers for their birthday?
  4. Should M2 be sent at all, or only M1?

Needs your decision

  • Set M1 and M2 Live: HELD.
  • Update profile values D3 and D8: HELD.