@elitedcs/ghl-mcp 3.97.0 → 3.97.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -413,116 +413,116 @@
413
413
  {
414
414
  "ref": "email_template.stl_email_1",
415
415
  "name": "Speed to Lead - Instant Email",
416
- "subject": "Got your quote request, {{contact.first_name}}",
417
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Thanks for asking {{custom_values.business_name}} about {{offer.summary || the work you asked about}}. I'm {{custom_values.owner_first_name}}, and I see every request that comes in.</p><p style=\"margin:0 0 14px;\">Here's what happens next: in the next minute or two you'll get a text from this number. If this is urgent, reply URGENT and we'll call you right away. If it can wait a day, reply with a photo of the problem and we'll tell you what we're likely looking at before anyone drives out.</p><p style=\"margin:0 0 14px;\">If you'd rather book the estimate visit straight away:</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0 0 14px;\">Every quote we give is in writing, itemized, and good for 30 days. No surprises when the invoice comes.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
416
+ "subject": "Got your request, {{contact.first_name}}",
417
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Thanks for asking {{custom_values.business_name}} about {{offer.summary || the work you asked about}}. I'm {{custom_values.owner_first_name}}.</p><p style=\"margin:0 0 14px;\">Here's what happens next: reply to this email and tell us what's going on. If this is urgent, say so. A photo of the problem helps.</p><p style=\"margin:0 0 14px;\">If you'd rather book the estimate visit straight away:</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0 0 14px;\">Not ready to book? Reply with a question.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
418
418
  },
419
419
  {
420
420
  "ref": "email_template.stl_email_2",
421
421
  "name": "Speed to Lead - 3 Hour Email",
422
- "subject": "What a quote from us includes",
423
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">If you're getting a few quotes, here's what to compare. A quote from {{custom_values.business_name}} always includes:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">Every line itemized: labor, materials, disposal, permits if any.</li><li style=\"margin:0 0 6px;\">A start date and how long the job takes.</li><li style=\"margin:0 0 6px;\">What's covered by warranty and for how long.</li><li style=\"margin:0 0 6px;\">What's NOT included, in plain words, so nothing is added later.</li></ul><p style=\"margin:0 0 14px;\">If another quote is missing any of those, ask why. That's usually where the surprise ends up.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0 0 14px;\">Or reply with a photo and a sentence about what's going on. I'll tell you honestly what it looks like from here.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
422
+ "subject": "What to compare before you hire anyone",
423
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">If you're talking to a few companies, here's what to compare. Before you hire anyone, ask each of them for:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">What the price covers: labor, materials, disposal, permits if any.</li><li style=\"margin:0 0 6px;\">A start date and how long the job takes.</li><li style=\"margin:0 0 6px;\">What's covered by warranty and for how long.</li><li style=\"margin:0 0 6px;\">What's NOT included, in plain words.</li></ul><p style=\"margin:0 0 14px;\">If an answer is vague, ask again. That's usually where the surprise ends up.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0 0 14px;\">Or reply with a photo and a sentence about what's going on. I'll tell you honestly what it looks like from here.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
424
424
  },
425
425
  {
426
426
  "ref": "email_template.n_email_1",
427
427
  "name": "Nurture 1 - The Cheapest Quote",
428
428
  "subject": "Why the cheapest quote costs the most",
429
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Here's the pattern we see most: three quotes, one is far lower, the homeowner picks it, and the final bill ends up above the highest quote.</p><p style=\"margin:0 0 14px;\">Low quotes are low because something's missing: disposal, permits, the part that only shows up once the old one is off, or the warranty. Nobody's lying; it's just not on the page. You find out on the invoice.</p><p style=\"margin:0 0 14px;\">So when you compare, don't compare the total. Compare what's included. Then ask each of us the same question: \"What could add to this once you start?\" The honest answer is worth more than the low number.</p><p style=\"margin:0 0 14px;\">When you're ready, an estimate visit is here: <a href=\"{{custom_values.booking_link}}\" style=\"color:#1a56db;text-decoration:underline;\">pick a time</a>. The quote is written, itemized, and free.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
429
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Here's a common pattern: three quotes, one is far lower, the homeowner picks it, and the final bill ends up above the highest quote.</p><p style=\"margin:0 0 14px;\">Low quotes are low because something's missing: disposal, permits, the part that only shows up once the old one is off, or the warranty. Nobody's lying; it's just not on the page. You find out on the final bill.</p><p style=\"margin:0 0 14px;\">So when you compare, don't compare the total. Compare what's included. Then ask each of us the same question: \"What could add to this once you start?\" The honest answer is worth more than the low number.</p><p style=\"margin:0 0 14px;\">When you're ready, an estimate visit is here: <a href=\"{{custom_values.booking_link}}\" style=\"color:#1a56db;text-decoration:underline;\">pick a time</a>.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
430
430
  },
431
431
  {
432
432
  "ref": "email_template.n_email_2",
433
433
  "name": "Nurture 2 - How the Estimate Works",
434
434
  "subject": "How the estimate visit actually works",
435
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">People put off the estimate because they picture a hard sell at the kitchen table. That's not how {{custom_values.business_name}} works:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">We arrive in the window we gave you, or you get a text before it, not after.</li><li style=\"margin:0 0 6px;\">We look at the actual problem and show you what we found, photos included, so you don't have to take our word for it.</li><li style=\"margin:0 0 6px;\">You get a written, itemized quote, usually the same day. You take your time. Nobody pushes for a signature in your driveway.</li></ul><p style=\"margin:0 0 14px;\">The objection we hear most is {{audience.objections[0] || price}}. That's why the quote shows options where there are options: fix what's broken now, or do the fuller job, with the price of each.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
435
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">People put off the estimate because they picture a hard sell at the kitchen table. That's not how {{custom_values.business_name}} works:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">You show us the problem, and you can ask us anything about it.</li><li style=\"margin:0 0 6px;\">You take your time. Nobody pushes for a signature in your driveway.</li></ul><p style=\"margin:0 0 14px;\">The objection we hear most is {{audience.objections[0] || price}}. That's why we talk you through the options where there are options: fix what's broken now, or do the fuller job.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
436
436
  },
437
437
  {
438
438
  "ref": "email_template.n_email_3",
439
439
  "name": "Nurture 3 - The Three Questions",
440
440
  "subject": "Three questions to ask any contractor",
441
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Whoever you end up hiring, ask them these three before you sign:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">Can I see proof of license and insurance? (A yes with paperwork. A \"we're covered\" with nothing to show is a no.)</li><li style=\"margin:0 0 6px;\">Who actually does the work, your crew or a sub? (Either can be fine. You should know before the truck arrives.)</li><li style=\"margin:0 0 6px;\">What happens if it takes longer than quoted? (The answer should be \"the price doesn't change unless you change the job.\")</li></ul><p style=\"margin:0 0 14px;\">Our answers: paperwork on request, you'll know who's on site, and the written price is the price.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0 0 14px;\">Have a question about your specific situation? Reply with a photo. I answer these myself.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
441
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Whoever you end up hiring, ask them these three before you sign:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">Can I see proof of license and insurance? (A yes with paperwork. A \"we're covered\" with nothing to show is a no.)</li><li style=\"margin:0 0 6px;\">Who actually does the work, your crew or a sub? (Either can be fine. You should know before the truck arrives.)</li><li style=\"margin:0 0 6px;\">What happens if it takes longer than quoted? (The answer should be \"the price doesn't change unless you change the job.\")</li></ul><p style=\"margin:0 0 14px;\">Ask us the same three. You should get a straight answer from anyone you let in the door.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0 0 14px;\">Have a question about your specific situation? Reply with a photo.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
442
442
  },
443
443
  {
444
444
  "ref": "email_template.n_email_4",
445
445
  "name": "Nurture 4 - About the Price",
446
446
  "subject": "About the price",
447
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Let's talk about the thing most people are too polite to ask: what is this going to cost?</p><p style=\"margin:0 0 14px;\">The honest answer is \"it depends on what we find\", which is why we don't guess over the phone. What we can promise: the quote is itemized, it shows the repair-only option next to the full-job option where both exist, and payment terms are on the same page. Nothing is added after the fact unless you change the job, and you'd sign for that first.</p><p style=\"margin:0 0 14px;\">If you have a budget in mind, tell us at the estimate. It's easier to design the job to the budget than to argue about it after.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Get my written quote</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
447
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Let's talk about the thing most people are too polite to ask: what is this going to cost?</p><p style=\"margin:0 0 14px;\">The honest answer is \"it depends on what we find\", which is why we don't guess over the phone. What we can do: look at it properly, then talk you through the options, including a repair-only option next to the fuller job where both exist.</p><p style=\"margin:0 0 14px;\">If you have a budget in mind, tell us at the estimate. It's easier to design the job to the budget than to argue about it after.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
448
448
  },
449
449
  {
450
450
  "ref": "email_template.n_email_5",
451
451
  "name": "Nurture 5 - What a Small Problem Becomes",
452
452
  "subject": "What a small problem turns into",
453
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Most of the big jobs we do started as small ones somebody meant to get to.</p><p style=\"margin:0 0 14px;\">That's not a scare tactic; it's just how houses work. A small leak, a unit that's working a bit harder than it should, a patch that's been \"fine for now\": each one has a cheap window and an expensive window. The estimate tells you which window you're in.</p><p style=\"margin:0 0 14px;\">You don't have to do anything today. An hour of our time gets you a written answer you can sit on for 30 days.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
453
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Most of the big jobs we do started as small ones somebody meant to get to.</p><p style=\"margin:0 0 14px;\">That's not a scare tactic; it's just how houses work. A small leak, a unit that's working a bit harder than it should, a patch that's been \"fine for now\": each one has a cheap window and an expensive window. The estimate tells you which window you're in.</p><p style=\"margin:0 0 14px;\">You don't have to do anything today. An estimate visit tells you where things stand, and you can take your time deciding.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
454
454
  },
455
455
  {
456
456
  "ref": "email_template.n_email_6",
457
457
  "name": "Nurture 6 - Everything in One Place",
458
458
  "subject": "Everything you need to decide, in one place",
459
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">If you're still weighing it up, here is everything in one place:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">What: a free estimate visit from {{custom_values.business_name}} with a written, itemized quote, usually the same day, good for 30 days.</li><li style=\"margin:0 0 6px;\">Where: {{business.location || our service area}}.</li><li style=\"margin:0 0 6px;\">The quote includes: labor, materials, disposal, permits, timeline, warranty, and what's excluded.</li><li style=\"margin:0 0 6px;\">Our rule: the written price is the price unless you change the job.</li><li style=\"margin:0 0 6px;\">Book, cancel or move your estimate any time: <a href=\"{{custom_values.booking_link}}\" style=\"color:#1a56db;text-decoration:underline;\">your booking link</a>.</li></ul><p style=\"margin:0 0 14px;\">If the answer is \"not now\", that's fine. Reply with the word later and I'll stop the emails and check in next season.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
459
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">If you're still weighing it up, here is everything in one place:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">What: an estimate visit from {{custom_values.business_name}} to look at the problem and talk you through your options.</li><li style=\"margin:0 0 6px;\">Where: {{business.location || our service area}}.</li><li style=\"margin:0 0 6px;\">Book, cancel or move your estimate any time: <a href=\"{{custom_values.booking_link}}\" style=\"color:#1a56db;text-decoration:underline;\">your booking link</a>.</li></ul><p style=\"margin:0 0 14px;\">If the answer is \"not now\", that's fine. Reply with the word later and I'll stop the emails.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
460
460
  },
461
461
  {
462
462
  "ref": "email_template.w_email_1",
463
463
  "name": "Win-back 1 - One Question",
464
464
  "subject": "One question, {{contact.first_name}}",
465
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">A while back you asked {{custom_values.business_name}} for a quote, and then things went quiet. That happens; sometimes the problem gets fixed, sometimes it just stops being loud.</p><p style=\"margin:0 0 14px;\">One question, and an honest answer is all I need: what stopped you? Went with someone else, price, timing, or fixed it yourself?</p><p style=\"margin:0 0 14px;\">Reply with a word or two. If it's something we can fix, I'll fix it. If it's done, congratulations, and I'll leave you alone.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
465
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">A while back you got in touch with {{custom_values.business_name}}, and then things went quiet. That happens; sometimes the problem gets fixed, sometimes it just stops being loud.</p><p style=\"margin:0 0 14px;\">One question, and an honest answer is all I need: what stopped you? Went with someone else, price, timing, or fixed it yourself?</p><p style=\"margin:0 0 14px;\">Reply with a word or two. If it's something we can fix, tell me. If it's done, congratulations, and I'll leave you alone.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
466
466
  },
467
467
  {
468
468
  "ref": "email_template.w_email_2",
469
469
  "name": "Win-back 2 - Before the Season Turns",
470
470
  "subject": "Before the season turns",
471
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Quick heads-up from {{custom_values.business_name}}: our calendar is open now and fills once the season turns. If {{offer.summary || the work you asked about}} is still on your list, this is the cheap, unhurried window to get it looked at.</p><p style=\"margin:0 0 14px;\">Nothing's changed about how we work: free estimate visit, written itemized quote, good for 30 days, no pressure in the driveway.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book while the calendar is open</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
471
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Quick note from {{custom_values.business_name}}: if {{offer.summary || the work you asked about}} is still on your list, you can pick a time to get it looked at.</p><p style=\"margin:0 0 14px;\">Nothing's changed about how we work: we look first, talk you through the options, and there's no pressure in the driveway.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book while the calendar is open</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
472
472
  },
473
473
  {
474
474
  "ref": "email_template.w_email_3",
475
475
  "name": "Win-back 3 - The Door Stays Open",
476
476
  "subject": "The door stays open",
477
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">This is the last automatic email you'll get from me. I'd rather you hear from a person when the time is right than from a sequence.</p><p style=\"margin:0 0 14px;\">The free estimate doesn't expire. When you're ready, the link below works, and so does replying to this email, photo attached.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book when you're ready</a></p><p style=\"margin:0 0 14px;\">Thanks for considering us. And whoever you hire: get it itemized, in writing, before they start.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
477
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">This is the last automatic email you'll get from me. I'd rather you hear from a person when the time is right than from a sequence.</p><p style=\"margin:0 0 14px;\">There's no deadline. When you're ready, the link below works, and so does replying to this email, photo attached.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book when you're ready</a></p><p style=\"margin:0 0 14px;\">Thanks for considering us. And whoever you hire: ask what the price covers before they start.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
478
478
  },
479
479
  {
480
480
  "ref": "email_template.appt_confirm_email",
481
481
  "name": "Estimate Confirmed",
482
482
  "subject": "Confirmed, {{contact.first_name}}: your estimate visit",
483
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Your estimate visit with {{custom_values.business_name}} is confirmed for {{appointment.start_time}} at the address you gave us.</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">Please make sure we can get to the area (gate, dog, attic hatch, that sort of thing).</li><li style=\"margin:0 0 6px;\">If you have photos from when it started, or a previous quote, have them handy.</li><li style=\"margin:0 0 6px;\">If you have a budget in mind, tell us. We'll quote to it where we can.</li></ul><p style=\"margin:0 0 14px;\">You'll get a written, itemized quote, usually the same day. Need to move the visit? <a href=\"{{custom_values.booking_link}}\" style=\"color:#1a56db;text-decoration:underline;\">Reschedule here</a> or reply to this email.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
483
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Your estimate visit with {{custom_values.business_name}} is confirmed for {{appointment.start_time}} at the address you gave us.</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">Please make sure we can get to the area (gate, dog, attic hatch, that sort of thing).</li><li style=\"margin:0 0 6px;\">If you have photos from when it started, or a previous quote, have them handy.</li><li style=\"margin:0 0 6px;\">If you have a budget in mind, tell us.</li></ul><p style=\"margin:0 0 14px;\">Need to move the visit? <a href=\"{{custom_values.booking_link}}\" style=\"color:#1a56db;text-decoration:underline;\">Reschedule here</a> or reply to this email.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
484
484
  },
485
485
  {
486
486
  "ref": "email_template.appt_prep_email",
487
487
  "name": "Estimate Prep (day before)",
488
488
  "subject": "Tomorrow: 3 things that make the estimate quicker",
489
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">See you tomorrow at {{appointment.start_time}}. Three small things that make the visit quicker and the quote more accurate:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">Clear a path to the problem area so we can measure and photograph it properly.</li><li style=\"margin:0 0 6px;\">Note when it started and anything that makes it better or worse.</li><li style=\"margin:0 0 6px;\">Decide the one question you most want answered. We'll start there.</li></ul><p style=\"margin:0 0 14px;\">Running late or need to move it? Reply to this email or call {{custom_values.business_phone}}.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
489
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">See you tomorrow at {{appointment.start_time}}. Three small things that make the visit quicker and more useful:</p><ul style=\"margin:0 0 14px 20px;padding:0;\"><li style=\"margin:0 0 6px;\">Clear a path to the problem area so we can measure and photograph it properly.</li><li style=\"margin:0 0 6px;\">Note when it started and anything that makes it better or worse.</li><li style=\"margin:0 0 6px;\">Decide the one question you most want answered. We'll start there.</li></ul><p style=\"margin:0 0 14px;\">Running late or need to move it? Reply to this email or call {{custom_values.business_phone}}.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
490
490
  },
491
491
  {
492
492
  "ref": "email_template.ns_email_1",
493
493
  "name": "No-Show 1 - We Missed You",
494
494
  "subject": "We missed you, {{contact.first_name}} (no guilt)",
495
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">We came by for the estimate today and couldn't connect. It happens; nobody here is bothered.</p><p style=\"margin:0 0 14px;\">The free estimate is still yours. Pick a new time whenever it suits, and if something changed, reply and tell me. I'd rather know than guess.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Rebook my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
495
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">We came by for the estimate today and couldn't connect. It happens; nobody here is bothered.</p><p style=\"margin:0 0 14px;\">The offer still stands. Pick a new time whenever it suits, and if something changed, reply and tell me. I'd rather know than guess.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Rebook my estimate</a></p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
496
496
  },
497
497
  {
498
498
  "ref": "email_template.ns_email_2",
499
499
  "name": "No-Show 2 - Still Want This?",
500
- "subject": "Still want the quote?",
501
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Quick and honest: if the timing is wrong, say so and I'll check back next season. If you still want a written quote, the calendar is open and the visit is still free.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Pick a new time</a></p><p style=\"margin:0 0 14px;\">Either way, thanks for considering {{custom_values.business_name}}.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
500
+ "subject": "Still want us to take a look?",
501
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Quick and honest: if the timing is wrong, say so and I'll check back next season. If you still want us to take a look, the calendar is open.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Pick a new time</a></p><p style=\"margin:0 0 14px;\">Either way, thanks for considering {{custom_values.business_name}}.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
502
502
  },
503
503
  {
504
504
  "ref": "email_template.quote_email_1",
505
505
  "name": "Quote Follow-up - Day 3 Email",
506
506
  "subject": "Any questions on your quote, {{contact.first_name}}?",
507
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">You have had the quote from {{custom_values.business_name}} for a few days, so this is a short check-in rather than a push.</p><p style=\"margin:0 0 14px;\">Three things people usually ask at this point: what is included, what can wait, and how payment works. Reply with any of those and I will answer plainly.</p><p style=\"margin:0 0 14px;\">If you would rather talk it through, pick a time here:</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book a quick call</a></p><p style=\"margin:0 0 14px;\">No pressure either way. The numbers stand for 30 days.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
507
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">You have had the quote from {{custom_values.business_name}} for a few days, so this is a short check-in rather than a push.</p><p style=\"margin:0 0 14px;\">Three things people usually ask at this point: what is included, what can wait, and how payment works. Reply with any of those and I will answer plainly.</p><p style=\"margin:0 0 14px;\">If you would rather talk it through, pick a time here:</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.booking_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Book a quick call</a></p><p style=\"margin:0 0 14px;\">No pressure either way.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
508
508
  },
509
509
  {
510
510
  "ref": "email_template.review_email_1",
511
511
  "name": "Review Request - Email",
512
512
  "subject": "One minute for a review, {{contact.first_name}}?",
513
- "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Thank you again for your appointment with {{custom_values.business_name}} this week.</p><p style=\"margin:0 0 14px;\">If it went well, a short review is the most useful thing you could do for us. It takes about a minute and it is how the next person decides to trust us.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.review_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Leave a review</a></p><p style=\"margin:0 0 14px;\">If anything was not right, reply to this email instead and I will fix it personally.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
513
+ "html": "<div style=\"font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#1f2937;max-width:600px;\"><p style=\"margin:0 0 14px;\">Hi {{contact.first_name}},</p><p style=\"margin:0 0 14px;\">Thank you again for your appointment with {{custom_values.business_name}} this week.</p><p style=\"margin:0 0 14px;\">If it went well, a short review is the most useful thing you could do for us. It takes about a minute and it is how the next person decides to trust us.</p><p style=\"margin:0 0 14px;\"><a href=\"{{custom_values.review_link}}\" style=\"display:inline-block;background:#1a56db;color:#ffffff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:600;\">Leave a review</a></p><p style=\"margin:0 0 14px;\">If anything was not right, reply to this email instead and tell us.</p><p style=\"margin:0;\">{{custom_values.owner_first_name}}<br>{{custom_values.business_name}} · {{custom_values.business_phone}}</p></div>"
514
514
  }
515
515
  ],
516
516
  "sms": [
517
517
  {
518
518
  "ref": "sms_template.stl_sms_1",
519
519
  "name": "Speed to Lead - Instant Text",
520
- "body": "Hi {{contact.first_name}}, it's {{custom_values.owner_first_name}} at {{custom_values.business_name}}. Got your quote request. Quick one: is this urgent today, or can it wait for a scheduled visit? Reply STOP to opt out."
520
+ "body": "Hi {{contact.first_name}}, it's {{custom_values.owner_first_name}} at {{custom_values.business_name}}. Got your request. Quick one: is this urgent today, or can it wait for a scheduled visit? Reply STOP to opt out."
521
521
  },
522
522
  {
523
523
  "ref": "sms_template.stl_sms_2",
524
524
  "name": "Speed to Lead - 20 Minute Text",
525
- "body": "{{contact.first_name}}, if you can text me a photo of the problem I'll tell you what we're likely looking at before anyone drives out. Or book the estimate here: {{custom_values.booking_link}}"
525
+ "body": "{{contact.first_name}}, if you can text me a photo of the problem, it helps us get ready. Or book the estimate here: {{custom_values.booking_link}}"
526
526
  },
527
527
  {
528
528
  "ref": "sms_template.stl_sms_3",
@@ -532,7 +532,7 @@
532
532
  {
533
533
  "ref": "sms_template.mc_sms_1",
534
534
  "name": "Missed Call - Instant Text-Back",
535
- "body": "Hi, it's {{custom_values.business_name}}. Sorry we missed your call. If it's an emergency, reply URGENT and we'll call right back. Otherwise, what's going on? Reply STOP to opt out."
535
+ "body": "Hi, it's {{custom_values.business_name}}. Sorry we missed your call. If it's an emergency, say so in your reply. Otherwise, what's going on? Reply STOP to opt out."
536
536
  },
537
537
  {
538
538
  "ref": "sms_template.mc_sms_2",
@@ -547,22 +547,22 @@
547
547
  {
548
548
  "ref": "sms_template.n_sms_2",
549
549
  "name": "Nurture Text 2 - Free Tip",
550
- "body": "Tip from {{custom_values.business_name}}: ask every contractor the same question: \"What could add to this quote once you start?\" The honest ones have an answer. Want our 5-question checklist for comparing quotes? Reply YES."
550
+ "body": "Tip from {{custom_values.business_name}}: ask every contractor the same question: \"What could add to this quote once you start?\" The honest ones have an answer. Questions about yours? Reply here."
551
551
  },
552
552
  {
553
553
  "ref": "sms_template.n_sms_3",
554
554
  "name": "Nurture Text 3 - Midpoint",
555
- "body": "{{contact.first_name}}, it's {{custom_values.owner_first_name}}. Still thinking about {{offer.summary || the work you asked about}}? I have a couple of estimate slots this week. Want one, or should I check back next month?"
555
+ "body": "{{contact.first_name}}, it's {{custom_values.owner_first_name}}. Still thinking about {{offer.summary || the work you asked about}}? Want me to find you a time this week, or should I check back next month?"
556
556
  },
557
557
  {
558
558
  "ref": "sms_template.n_sms_4",
559
559
  "name": "Nurture Text 4 - Any Question",
560
- "body": "Hi {{contact.first_name}}, {{custom_values.owner_first_name}} here. No pitch, just checking: did you get your question answered? If not, send it here (a photo helps) and I'll reply personally."
560
+ "body": "Hi {{contact.first_name}}, {{custom_values.owner_first_name}} here. No pitch, just checking: did you get your question answered? If not, send it here (a photo helps) and I'll reply."
561
561
  },
562
562
  {
563
563
  "ref": "sms_template.n_sms_5",
564
564
  "name": "Nurture Text 5 - Last Direct Ask",
565
- "body": "{{contact.first_name}}, last one from me at {{custom_values.business_name}}. If you want a written quote this month, reply YES and I'll send two estimate times. If not, no hard feelings. Reply STOP to opt out."
565
+ "body": "{{contact.first_name}}, last one from me at {{custom_values.business_name}}. If you want an estimate visit this month, reply YES and I'll send two times. If not, no hard feelings. Reply STOP to opt out."
566
566
  },
567
567
  {
568
568
  "ref": "sms_template.w_sms_1",
@@ -572,7 +572,7 @@
572
572
  {
573
573
  "ref": "sms_template.w_sms_2",
574
574
  "name": "Win-back Text 2",
575
- "body": "{{contact.first_name}}, our calendar is open this week before the season picks up. Want a free estimate slot? Reply YES and I'll hold one. {{custom_values.business_name}}"
575
+ "body": "{{contact.first_name}}, still want it looked at? Reply YES and I'll find you an estimate time. {{custom_values.business_name}}"
576
576
  },
577
577
  {
578
578
  "ref": "sms_template.appt_confirm_sms",
@@ -597,7 +597,7 @@
597
597
  {
598
598
  "ref": "sms_template.ns_sms_2",
599
599
  "name": "No-Show Text 2",
600
- "body": "{{contact.first_name}}, {{custom_values.owner_first_name}} here. I kept a couple of estimate slots open for you this week. Want one? Reply with a day that works."
600
+ "body": "{{contact.first_name}}, {{custom_values.owner_first_name}} here. We'd be glad to find you another estimate time. Want one? Reply with a day that works."
601
601
  },
602
602
  {
603
603
  "ref": "sms_template.quote_sms_1",
@@ -621,9 +621,9 @@
621
621
  {
622
622
  "ref": "email.stl_email_1",
623
623
  "name": "Speed to Lead - Instant Email",
624
- "subject": "Got your quote request, {{contact.first_name}}",
624
+ "subject": "Got your request, {{contact.first_name}}",
625
625
  "templateRef": "email_template.stl_email_1",
626
- "copyDirection": "Instant. Who I am, what they asked for, what happens next (a text; if urgent reply URGENT), the photo ask, the estimate booking CTA, the written-quote promise. Tone: brief.voice.threeWords. If brief.voice.signatureLine exists, insert it verbatim as its own paragraph right after the greeting.",
626
+ "copyDirection": "Instant. Who I am, what they asked for, what happens next (a reply invitation; if urgent, say so in the reply; promise no text and no call-back time), the photo ask, the estimate booking CTA, a reply invitation. Promise no quote, quote term or validity period. Tone: brief.voice.threeWords. If brief.voice.signatureLine exists, insert it verbatim as its own paragraph right after the greeting.",
627
627
  "mergeTags": [
628
628
  "contact.first_name",
629
629
  "custom_values.business_name",
@@ -635,9 +635,9 @@
635
635
  {
636
636
  "ref": "email.stl_email_2",
637
637
  "name": "Speed to Lead - 3 Hour Email",
638
- "subject": "What a quote from us includes",
638
+ "subject": "What to compare before you hire anyone",
639
639
  "templateRef": "email_template.stl_email_2",
640
- "copyDirection": "Second touch, 3 hours in. What a written quote from us includes (itemized, materials, timeline, warranty, what is excluded), why that matters when comparing, CTA, reply invitation.",
640
+ "copyDirection": "Second touch, 3 hours in. What to ask any company for before hiring (what the price covers, timeline, warranty, what is excluded), as advice to the reader, never a promise about our own quote. CTA, reply invitation.",
641
641
  "mergeTags": [
642
642
  "contact.first_name",
643
643
  "custom_values.business_name",
@@ -665,7 +665,7 @@
665
665
  "name": "Nurture 2 - How the Estimate Works",
666
666
  "subject": "How the estimate visit actually works",
667
667
  "templateRef": "email_template.n_email_2",
668
- "copyDirection": "Day 5. Remove the unknown: the estimate visit step by step (arrive, look, explain, written quote), how long, no pressure to sign on the spot. Name and answer the top objection. One CTA.",
668
+ "copyDirection": "Day 5. Remove the unknown: the estimate visit step by step (arrive, look, explain the options), no pressure to sign on the spot. Name and answer the top objection. One CTA.",
669
669
  "mergeTags": [
670
670
  "contact.first_name",
671
671
  "custom_values.business_name",
@@ -693,7 +693,7 @@
693
693
  "name": "Nurture 4 - About the Price",
694
694
  "subject": "About the price",
695
695
  "templateRef": "email_template.n_email_4",
696
- "copyDirection": "Day 14. Handle cost head-on: itemized, options, deposit and payment terms in writing, financing only if the brief says it exists. No numbers unless the brief has them.",
696
+ "copyDirection": "Day 14. Handle cost head-on: it depends on what we find, so we talk through the options at the visit; financing or payment terms only if the brief says they exist. No numbers unless the brief has them. Never promise a written or itemized quote or how long one is good for.",
697
697
  "mergeTags": [
698
698
  "contact.first_name",
699
699
  "custom_values.booking_link",
@@ -721,7 +721,7 @@
721
721
  "name": "Nurture 6 - Everything in One Place",
722
722
  "subject": "Everything you need to decide, in one place",
723
723
  "templateRef": "email_template.n_email_6",
724
- "copyDirection": "Day 27. The decision sheet: what the estimate is, service area, what the quote includes, our rule, how to book or move. Offer the \"later\" out. One CTA.",
724
+ "copyDirection": "Day 27. The decision sheet: what the estimate visit is, service area, how to book or move. Offer the \"later\" out. One CTA.",
725
725
  "mergeTags": [
726
726
  "contact.first_name",
727
727
  "custom_values.business_name",
@@ -735,7 +735,7 @@
735
735
  "name": "Win-back 1 - One Question",
736
736
  "subject": "One question, {{contact.first_name}}",
737
737
  "templateRef": "email_template.w_email_1",
738
- "copyDirection": "Win-back day 0. Acknowledge the gap without guilt; ask what stopped them (went with someone else, price, timing, fixed it yourself); promise to fix it or leave them alone.",
738
+ "copyDirection": "Win-back day 0. Acknowledge the gap without guilt; ask what stopped them (went with someone else, price, timing, fixed it yourself); invite them to say what would help.",
739
739
  "mergeTags": [
740
740
  "contact.first_name",
741
741
  "custom_values.business_name",
@@ -776,7 +776,7 @@
776
776
  "name": "Estimate Confirmed",
777
777
  "subject": "Confirmed, {{contact.first_name}}: your estimate visit",
778
778
  "templateRef": "email_template.appt_confirm_email",
779
- "copyDirection": "On booking. Date/time via {{appointment.start_time}}, the address on file, what to have ready (access, photos, budget), what they get (written quote), how to move it.",
779
+ "copyDirection": "On booking. Date/time via {{appointment.start_time}}, the address on file, what to have ready (access, photos, budget), how to move it.",
780
780
  "mergeTags": [
781
781
  "contact.first_name",
782
782
  "custom_values.business_name",
@@ -805,7 +805,7 @@
805
805
  "name": "No-Show 1 - We Missed You",
806
806
  "subject": "We missed you, {{contact.first_name}} (no guilt)",
807
807
  "templateRef": "email_template.ns_email_1",
808
- "copyDirection": "Same day. Zero guilt (nobody home / no access), the estimate is still free, rebook CTA, invite the honest reason.",
808
+ "copyDirection": "Same day. Zero guilt (nobody home / no access), the offer to rebook still stands, rebook CTA, invite the honest reason.",
809
809
  "mergeTags": [
810
810
  "contact.first_name",
811
811
  "custom_values.booking_link",
@@ -817,7 +817,7 @@
817
817
  {
818
818
  "ref": "email.ns_email_2",
819
819
  "name": "No-Show 2 - Still Want This?",
820
- "subject": "Still want the quote?",
820
+ "subject": "Still want us to take a look?",
821
821
  "templateRef": "email_template.ns_email_2",
822
822
  "copyDirection": "Day 4 after the no-show. Honest binary: wrong timing or still want it. One CTA, gracious close.",
823
823
  "mergeTags": [
@@ -874,7 +874,7 @@
874
874
  "ref": "sms.stl_sms_2",
875
875
  "name": "Speed to Lead - 20 Minute Text",
876
876
  "templateRef": "sms_template.stl_sms_2",
877
- "copyDirection": "20 minutes in. Ask for a photo (saves a trip), offer the estimate link.",
877
+ "copyDirection": "20 minutes in. Ask for a photo (it helps us get ready), offer the estimate link.",
878
878
  "mergeTags": [
879
879
  "contact.first_name",
880
880
  "custom_values.booking_link"
@@ -896,7 +896,7 @@
896
896
  "ref": "sms.mc_sms_1",
897
897
  "name": "Missed Call - Instant Text-Back",
898
898
  "templateRef": "sms_template.mc_sms_1",
899
- "copyDirection": "Seconds after a missed inbound call. Apologize, URGENT keyword for emergencies, ask what is going on, STOP line.",
899
+ "copyDirection": "Seconds after a missed inbound call. Apologize, ask them to say so if it is an emergency (promise no call-back time), ask what is going on, STOP line.",
900
900
  "mergeTags": [
901
901
  "custom_values.business_name"
902
902
  ],
@@ -940,7 +940,7 @@
940
940
  "ref": "sms.n_sms_3",
941
941
  "name": "Nurture Text 3 - Midpoint",
942
942
  "templateRef": "sms_template.n_sms_3",
943
- "copyDirection": "Day 15. Personal, from the owner; binary: an estimate slot this week or check back next month.",
943
+ "copyDirection": "Day 15. Personal, from the owner; binary: find an estimate time this week or check back next month. Never claim slots are free.",
944
944
  "mergeTags": [
945
945
  "contact.first_name",
946
946
  "custom_values.owner_first_name"
@@ -985,7 +985,7 @@
985
985
  "ref": "sms.w_sms_2",
986
986
  "name": "Win-back Text 2",
987
987
  "templateRef": "sms_template.w_sms_2",
988
- "copyDirection": "Win-back day 22. Concrete seasonal reason (calendar open now) and a YES ask.",
988
+ "copyDirection": "Win-back day 22. A YES ask to find a time. No availability or season claim unless the brief gives one.",
989
989
  "mergeTags": [
990
990
  "contact.first_name",
991
991
  "custom_values.business_name"
@@ -1042,7 +1042,7 @@
1042
1042
  "ref": "sms.ns_sms_2",
1043
1043
  "name": "No-Show Text 2",
1044
1044
  "templateRef": "sms_template.ns_sms_2",
1045
- "copyDirection": "Next day. Owner kept slots open; ask for a day.",
1045
+ "copyDirection": "Next day. Offer to find another time; ask for a day. Never claim slots were kept open.",
1046
1046
  "mergeTags": [
1047
1047
  "contact.first_name",
1048
1048
  "custom_values.owner_first_name"
@@ -64,7 +64,7 @@ Every hand-off is `add_contact_tag` + a `contact_tag` trigger. Both halves are l
64
64
 
65
65
 
66
66
  ## Copy notes
67
- Written for the fear that drives every med-spa lead: looking "done". The through-line is "refreshed, not overdone": treat less first, adjust at two weeks, written plan with prices before anything happens. Texts ask one-word questions (lines / volume / texture; mornings / afternoons; YES / later). Price is handled head-on on day 14, cost of waiting on day 20, and the decision sheet on day 27. No client results are claimed; the build stage adds real ones only if the brief supplies them.
67
+ Written for the fear that drives every med-spa lead: looking "done". The through-line is "refreshed, not overdone": treat less first, adjust at two weeks, options talked through before anything happens (no written plan or price list is promised). Texts ask one-word questions (lines / volume / texture; mornings / afternoons; YES / later). Price is handled head-on on day 14, cost of waiting on day 20, and the decision sheet on day 27. No client results are claimed; the build stage adds real ones only if the brief supplies them.
68
68
 
69
69
  ## v2.1.0 (2026-09-15)
70
70