Every play below is data-backed, prioritized by speed-to-revenue, and broken into click-by-click microsteps. Nothing is theoretical. Everything deploys.
4,000 customers in ServiceTitan who already hired BSP. A PDF lead magnet gives them a reason to engage, HubSpot captures the download, and a 3-email drip sequence converts them into booked jobs and membership enrollments. Approved at Mar 16 standup.
8-10 page PDF, branded, print-ready. Not a sales brochure, a genuine resource that positions BSP as the authority.
Page 1: Cover, BSP branding, "Free Guide for KC Homeowners"
Page 2: Spring Checklist, the 7-point inspection (condensed from the blog)
Page 3: KC Pipe Types, clay tile, cast iron, Orangeburg, PVC. What your home probably has based on build year.
Page 4: Sewer Warning Signs, the 7 red flags + what they cost if ignored
Page 5: Water Quality in KC, WaterOne hardness data, what it does to your pipes, softener/filter guide
Page 6: Water Heater Lifespan Calculator, age check, sediment signs, when to flush vs replace
Page 7: Emergency Plumbing Kit, what to have in your home, how to shut off water, when to call vs DIY
Page 8: BSP Maintenance Plans, 4 tiers, "never worry about your plumbing again"
Back Cover: Phone number, QR code to book, 4.9 stars, 394+ reviews, service areas
Preview: 8 pages of KC-specific plumbing intel. Free PDF download.
"Hi [First Name], we just published our Kansas City Plumbing Survival Guide, everything a Johnson County homeowner needs to know about their pipes, sewer, water heater, and water quality. It is free, and it is specific to Kansas City (not generic national advice)."
CTA Button: "Download the Free Guide" (links to blog with HubSpot form)
P.S.: "Already know you need a plumber? Call (913) 963-1029 or reply to this email. Past customers get priority scheduling this month."
Preview: This is the one most homeowners skip. It is also the most expensive if ignored.
"Hi [First Name], in our Survival Guide, item #5 is the sewer camera inspection. Most homeowners skip it because they cannot see underground. But roots, cracks, and bellies get worse every season. A $150 camera inspection catches what becomes a $5,000-$19,000 emergency."
CTA: "See What Sewer Replacement Actually Costs in KC" (links to sewer cost blog)
Preview: Annual inspection, priority scheduling, 10-25% off every repair. Starting at $19/mo.
"Hi [First Name], everything in the Survival Guide, the water heater flush, the pressure test, the water quality check, the sewer camera, we do all of it in one 2-hour visit as part of our maintenance plans. Members also save 10-25% on every repair and get priority scheduling."
CTA: "Learn About Our Plans" or "Call (913) 963-1029"
8-10 pages, BSP branded, using the content outline above. Print-ready + digital. Robert provides all copy and data.
Export from ST (Customers > Export > Active with email). Import CSV to HubSpot (Contacts > Import). Create list "Past Customers" for targeting.
HubSpot > Marketing > Landing Pages > Create. Embed the Spring blog content + PDF download form. Form fields: name + email (already have from ST, but captures fresh consent). Form triggers PDF delivery email automatically.
HubSpot > Automation > Workflows > Create. Trigger: form submission (PDF download). Day 0: send guide. Day 3: sewer follow-up. Day 7: membership pitch. All automated, fires without manual work.
HubSpot > Marketing > Email > Create. Use Email 1 draft. Target: "Past Customers" list (4K). Send test to Robert + Stephanie + Kalen. Schedule for 9 AM CT.
HubSpot auto-tracks: email opens, clicks, form submissions, workflow enrollments. Tag inbound calls as "Lead Magnet Campaign" in ST. Measure: downloads, drip completion rate, calls, jobs booked, memberships enrolled, revenue.
Experiment: Lead Magnet + 3-Email Drip Funnel
Interactive 7-item checklist blog with clickable progress tracking, membership teaser, FAQ with Google schema markup, and mobile sticky CTA. This is where the email sends people.
Needs to be published on callbrightside.com via WordPress. Robert will create the post in WP and paste the content.
Spring-themed header image for the blog. Outdoor hose bib, green lawn, BSP truck in background. Clean, bright, seasonal feel.
"If you had been on our maintenance plan, we could have prevented this emergency.", The tech pitch after every repair.
Settings > Memberships > Create 4 tiers (Essential/Protection/Premium/Elite). Set recurring billing, auto-discount rules.
4 tiers side by side with pricing, benefits, and "Preventative & Safety" branding. Print-ready for trucks.
Pull list from ST by lifetime spend. Bulk-enroll in Premium/Elite. Send thank-you text: "You've earned membership status."
15-minute huddle. One script: "If you had been on our plan, we could have caught this early." No pressure. Plant the seed.
Separate from the Spring Checkup email. "As a thank you, we're inviting you to our maintenance program." Special rate for existing customers.
Print-ready brochure for truck stock. All 4 tiers side by side. BSP branding. Clean, professional, not salesy. "Preventative & Safety" messaging.
Small graphic for invoices, emails, website. Shows "BSP Member" status. Makes customer feel part of something.
Header image for new member welcome email. Warm, trustworthy, 5th-generation family brand.
| Campaign | Spend | Clicks | Conversions | Status |
|---|---|---|---|---|
| Emergency 24/7 | $93 | 164 | 72 | 🟢 Working |
| LSA | $146 | 26 | 2 | 🟡 Slow |
| Water Heater | $56 | 24 | 0 | 🔴 Starved |
| Sewer Replacement | $48 | 9 | 0 | 🔴 Starved |
| Drain Cleaning | $46 | 18 | 0 | 🔴 Starved |
| Gas Line | $31 | 3 | 0 | 🔴 Starved |
| Sewer | $29 | 4 | 0 | 🔴 Starved |
| Brand | $29 | 4 | 1 | 🟡 Low |
| TOTAL | $479 | 252 | 75 | $68/day avg |
Interactive cost estimator, FAQ with schema, comparison tables, all pricing from 55 actual BSP sewer jobs. Kalen has the review doc with blank lines for his notes.
drafts/kalen_sewer_blog_review.txtAPI key was missing from CEO API .env. Added + restarted. 20 boards now pulling.
Now separates invoiced vs pending jobs. Shows "32 jobs pending invoicing" instead of misleading low totals.
Was showing "Unknown" for all techs. Now resolves Dan Chritton, Anthony Erickson, Scott Gibson via ST technicians endpoint.
Was empty. Now has 12 revenue drivers with monthly impact numbers and notes from actual data.
Trimmed from 8,500 to 3,626 chars. Bearer token auth configured. Stephanie connected and pulling data.
KC Police Department safety magnet, 8.5"x11", distributed to homes. 100 Year Plumbing gets the exclusive plumbing business card spot. $500-$800 one-time cost. Lives on fridges for years.
100 Year Plumbing and Sewer branding (NOT BSP). Logo, phone number, "24/7 Emergency Plumbing" tagline. Professional, sits next to police branding. QR code if room allows.
HubSpot is the email engine for this entire playbook. Once the API key is configured, Nexus automates the manual steps and connects HubSpot to our ServiceTitan data.
HubSpot > Settings (gear icon, top right) > Integrations > Private Apps
Click "Create a private app" > Name: "Nexus AI" > Scopes tab: check crm.objects.contacts.read, crm.objects.contacts.write, crm.lists.read, crm.lists.write, content > Create app > Copy the access token
Robert provides the token. Nexus adds it to VM config: HUBSPOT_API_KEY=pat-na1-xxxxx in /opt/nexus/nexus/config/.env. CEO API restarts. Done.
Nexus exports customer list from ServiceTitan API (name, email, phone, service history) and bulk-imports to HubSpot via API. Creates "Past Customers" list automatically. Runs once, then syncs weekly.
Nexus creates the 3 drip emails in HubSpot programmatically, subject lines, body HTML, CTAs, tracking. No UI clicking needed.
Nexus sets up the HubSpot Workflow: trigger on form submission > send email 1 > wait 3 days > send email 2 > wait 4 days > send email 3. Fully automated nurture.
Nexus matches HubSpot contacts to ST customers by email/phone. Writes lifetime spend, last service date, and membership status as HubSpot custom properties. Enables smart segmentation.
Nexus creates HubSpot lists automatically: "$5K+ Customers" (auto-tier membership), "Sewer Customers" (sewer blog target), "Repeat Customers" (loyalty invite), "Recent Jobs" (review ask). No manual list building.
Nexus pulls HubSpot email stats (opens, clicks, bounces, unsubscribes) and pushes to Monday board + CEO Terminal. Stephanie sees email performance alongside revenue, ads, and experiments.
Without automation, every email campaign is 2+ hours of manual work: export contacts, import to HubSpot, build email, build workflow, check results. With Nexus + HubSpot API, it is one command: "send spring checkup email to past customers." The system does the rest.
This also enables seasonal campaign replication: summer water heater campaign, fall winterization campaign, winter emergency prep campaign, all built from the same funnel template with different content. Build once, reuse forever.
| # | Deliverable | Play | Priority | Specs |
|---|---|---|---|---|
| 1 | KC Plumbing Survival Guide PDF | 📨 Play 1 | URGENT | 8-10 pages, BSP branded, print-ready + digital | Lead magnet for email funnel | Content provided by Robert |
| 2 | Spring Blog Hero Image | 📝 Play 2 | URGENT | 1200x630 social + 1920x600 header | Spring theme, outdoor, BSP truck |
| 3 | Email Header Graphic | 📨 Play 1 | URGENT | 600x200px | "Spring Plumbing Checkup" | Clean, seasonal, BSP branded |
| 4 | Membership Brochure | 🛡 Play 3 | THIS WEEK | 8.5x11 print PDF + digital | 4 tiers | "Preventative & Safety" |
| 5 | Membership Badge/Icon | 🛡 Play 3 | THIS WEEK | 200x200 icon + 600x200 banner | "BSP Member" | Navy/yellow |
| 6 | Welcome Email Header | 🛡 Play 3 | NEXT WEEK | 600x200px | New member welcome | Warm, trustworthy |
| 7 | Police Magnet Ad | 🚓 Play 8 | THIS WEEK | 3.5x2" business card | 100 Year Plumbing branding | QR code |