{"calls": [{"id": "meta-call", "label": "Meta: strategy call request", "heat": "hot", "when": "Within 5 minutes", "context": "They asked for a strategy call from the ad. Confirm it, qualify it, make sure they show.", "after": "Two to four discovery questions, then capacity, then where revenue is versus their goal, how important it is, and whether acting on it sounds doable. Then book the free strategy call on this call. Not a fit? Thank them and disqualify with the reason.", "family": "inbound", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "mc_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "mc_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "mc_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "mc_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. [Name] asked us for a strategy call through our ad.", "note": "If they ask whether [Name] knows you: \"Yes, [Name] asked us for a strategy call.\"", "options": [{"label": "Putting me through", "to": "mc_open"}, {"label": "Transferred to voicemail", "to": "mc_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "mc_book", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "What's the best email for you, one you check yourself? I'll send it there.", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "b_link_warm": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, so you can grab a time that works.", "options": [{"label": "Next", "to": "lk_cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "lk_cell": {"who": "Cell for the text", "say": "Is the number I called you on your cell? I'll text it there.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_interested"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "mc_open": {"who": "Opener", "say": "[Name], it's [Your name] with Elevated, a marketing company for [trade] contractors. You just asked for a strategy call through our ad, so I wanted to get it on the calendar and make sure it's worth your time. Do you have two minutes?", "options": [{"label": "Yes, go ahead", "to": "mc_why"}, {"label": "Bad time", "to": "later"}]}, "mc_why": {"who": "Discovery", "say": "What made you reach out? What's going on with your marketing right now?", "note": "Listen. Then ask one or two more discovery questions from the playbook.", "options": [{"label": "Next", "to": "mc_cap"}]}, "mc_cap": {"who": "Capacity", "say": "If calls went up next month, could your team handle it?", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "mc_maxed", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "mc_book": {"who": "Book it", "say": "So here's how the strategy call works. Jared, our founder, runs it. Before the call he looks at your Google profile, your Maps rankings across [City], your website and any ads you're running. In the 30 minutes he shows you what he found and what it would take to get you to [goal]. You keep all of it, whether you work with us or not. Does [day/time] or [day/time] work better?", "note": "No number given? Say \"what it would take to grow\".", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link_warm"}, {"label": "Not interested", "to": "d_bye"}]}, "mc_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with Elevated. You asked for a strategy call through our ad, and I'd like to get you on the calendar with Jared, our founder. Call me back at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}, "mc_maxed": {"who": "If they're maxed out", "say": "Got it. Are you adding trucks or techs this year?", "options": [{"label": "Yes, adding", "to": "d_bye_timing", "set": {"capacity": "Maxed, adding trucks or techs"}}, {"label": "No", "to": "d_bye_nocap"}]}}, "fields": [], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Sure. I'll check where [Company] comes up on Google Maps from points all across [City]: green where you're in the top three, red where people call someone else first. We call it a Google Maps scan. I'll send it with a link to book your strategy call, so it's all in one place.", "options": [{"label": "Take their email", "to": "sn_email"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "You asked for the strategy call, so I'm just getting it set up. Two minutes.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "mc_open", "$vm": "mc_vm", "$qualify": "g_rev", "$qualified": "mc_book", "$afterCell": "end_snapshot", "$offer": "sn_email", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_first", "b_handoff", "b_link", "bk_email_new", "d_bye_listing", "d_bye_no", "d_offer", "g_disclose", "md_offer"]}, {"id": "claim", "label": "Directory: verified or claimed", "heat": "hot", "when": "Within 5 minutes", "context": "They verified or claimed their listing. Always lead with that: it's why they'll recognize the call. Call within 5 minutes; if it's later, say when they did it ('yesterday afternoon'). Help with the listing first, offer Preferred, then one question: are you getting calls from ChatGPT. Elevated Audience comes up in one sentence right before the revenue question, as the sister company that built the directory.", "after": "Walk the profile with them first: name, address, phone, hours, services, service area, year founded, license. Log every correction for Jared to apply. If they only want listing help, help and end the call. A no to the offer is fine: Nurture, and a Maps scan in about 2 weeks.", "family": "directory", "afterSteps": [{"text": "Wants Preferred: schedule the 10-minute call with our team.", "ifCap": "preferred", "equals": "Wants Preferred vetting"}], "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "c_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "c_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "c_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "c_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] from 5 Star Home Service Pros. Just let [Name] know it's about the listing they verified [When verified].", "note": "If they ask whether [Name] knows you: \"They just verified their listing with us.\"", "options": [{"label": "Putting me through", "to": "c_open"}, {"label": "Transferred to voicemail", "to": "c_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "ai_what": {"who": "\"What does ChatGPT have to do with it?\"", "say": "More and more homeowners ask ChatGPT and Google's AI who the best [trade] company near them is, and it gives a short list. Most contractors have no idea whether they're on it. Are you getting any calls from it?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}]}, "ai_no": {"who": "If they say no", "say": "Yeah, I'm hearing that from a lot of [trade] owners. Most have no idea whether they come up in there, and it's not random who does.", "note": "Checked ChatGPT before the call and they weren't in it? Add: \"I asked ChatGPT for the best [trade] company in [City], and [Company] wasn't in the answer.\" They did show up? Say this instead: \"That's interesting, because when I asked ChatGPT, [Company] did come up. So it's working for one search. The question is the other services and towns you cover.\" Never quote a result you didn't check.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_yes": {"who": "If they say yes", "say": "That's awesome, glad to hear it. How are you tracking that? Are customers telling you they found you there, or do you have a system that shows you for sure?", "options": [{"label": "Customers mention it / not tracked", "to": "ai_notrack", "set": {"tracking": "Not tracked (customers mention it)"}}, {"label": "They have call tracking", "to": "ai_track", "set": {"tracking": "Tracked"}}]}, "ai_notrack": {"who": "If they're not really tracking it (most aren't)", "say": "That's the gap most owners have. If you can't see which calls come from ChatGPT versus Google versus referrals, you can't double down on what's working.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_track": {"who": "If they do track it", "say": "Nice, you're ahead of most. Roughly what share of your calls is that? ... Your tracking shows the AI calls you already get. It can't show the searches where you don't come up at all, like other services or other towns you cover.", "inputs": [{"key": "aiShare", "label": "Share of calls from AI (what they said)"}], "options": [{"label": "Next", "to": "ai_cap"}], "note": "They already have a call tracking report, so never call ours \"the report\" or \"the breakdown\" here. When you offer it, use its full name: the AI visibility snapshot."}, "ai_cap": {"who": "Capacity (either branch)", "say": "If ChatGPT started sending you more calls, could your team handle the extra work right now?", "options": [{"label": "Yes, we can take more", "to": "g_disclose", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "g_disclose": {"who": "Disclose Elevated (5 Star calls, before revenue)", "say": "Quick context so this makes sense: 5 Star was built by our sister company, Elevated Audience. They do marketing for home service companies. Your listing stays free either way.", "note": "One sentence, then straight into the revenue question. Already told them about Elevated Audience (the price or marketing-agency quick reply)? Skip this line.", "options": [{"label": "Next", "to": "g_rev"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "d_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "d_offer": {"who": "Offer: describe it, then name it", "say": "Here's what I'd suggest. You said you want to be at [goal] this year. A good first step is seeing where [Company] shows up when people ask ChatGPT and Google's AI for a [trade] company in [City], where you don't, and the top three to five things to fix. It's free, and a couple of minutes to read. We call it an AI visibility snapshot. Want me to put one together?", "note": "No number given? Open with: \"You said growth matters to you this year.\"", "options": [{"label": "Yes, put one together", "to": "b_handoff"}, {"label": "No thanks", "to": "d_bye"}]}, "b_handoff": {"who": "Hand off to Jared (only after the yes)", "say": "Great. I'll send it today so you see it first. Jared, who owns Elevated Audience, asked me to set up a free 30-minute call with you, so he can walk you through it and share the steps you can take first to get to [goal]. Does [day/time] or [day/time] work better?", "note": "Book it while they're on the line. A link is the fallback, not the plan. No number given? Say \"to where you want to be\". No to the call but still wants it? That's \"Just send it\". Never drop something you just promised to send. If they raised tracking, add after \"what he'd fix first\": \"He can also show you how to see which calls come from where.\"", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send it", "to": "sn_email"}, {"label": "Doesn't want the call or the snapshot", "to": "d_bye"}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your snapshot will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your snapshot doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. Should the invite go to the email you verified with, or is there one you check more?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "Is the email you verified with one you check yourself? I'll send it there.", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. Your listing stays free either way, and I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_listing": {"who": "Exit line: listing only", "say": "You're all set, [Name]. If anything on the listing looks off, call or text me at [number].", "exit": true, "options": [{"label": "Said it", "to": "end_listing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name]. Your listing stays free either way.", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "c_open": {"who": "Opener", "say": "It's [Your name] with 5 Star Home Service Pros, the contractor directory. You verified [Company]'s listing with us [When verified], so I wanted to make sure everything went through. Did your profile look right?", "options": [{"label": "Looks right", "to": "c_pref"}, {"label": "Something needs fixing", "to": "c_fix"}, {"label": "Only wanted the listing", "to": "d_bye_listing"}]}, "c_fix": {"who": "Fix the listing", "say": "Let's fix it now. Walk me through what's off.", "note": "Go through name, address, main phone, hours (including emergency service), services, service area, year founded and license number.", "inputs": [{"key": "listingChanges", "label": "Listing changes for Jared", "type": "textarea"}], "options": [{"label": "Next", "to": "c_pref"}]}, "c_pref": {"who": "Preferred", "say": "Since you've verified it, you're eligible for 5 Star Preferred. It's a free verified-and-vetted badge. It doesn't change your ranking, but it shows homeowners a real person checked you out. It's a 10-minute call with our team, plus a few checks on our side. Want me to set that up?", "options": [{"label": "Yes, set it up", "to": "c_pref_yes", "set": {"preferred": "Wants Preferred vetting"}}, {"label": "No thanks", "to": "c_bridge", "set": {"preferred": "Declined Preferred"}}]}, "c_bridge": {"who": "One question", "say": "That's your listing sorted. One more question while I have you: are you getting any calls from ChatGPT right now?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}, {"label": "\"What do you mean?\"", "to": "ai_what"}, {"label": "Not interested", "to": "d_bye_listing"}], "note": "Don't explain Elevated here. Ask, then listen. Already asked on the verification call? Say: \"Last time you mentioned [their answer]. Still the case?\""}, "c_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with 5 Star Home Service Pros. You verified [Company]'s listing with us [When verified], and I wanted to make sure everything went through. Call or text me at [number].", "note": "Text only if they ticked the text-consent box on the claim.", "options": [{"label": "Left it", "to": "end_vm"}]}, "c_pref_yes": {"who": "If they want Preferred", "say": "Great. I'll get the 10 minutes scheduled and send you the time.", "options": [{"label": "Next", "to": "c_bridge"}]}}, "fields": ["whenVerified"], "objections": [{"id": "price", "label": "How much?", "say": "Your listing is free, and it stays free. If you mean marketing help, that's our sister company, Elevated Audience. Their programs start at $2,495 a month plus ad spend, month to month. Which one fits depends on your market. That's what Jared, who owns Elevated Audience, maps out on a free 30-minute call. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. I'll email you the link to your listing. Quick question first so I send the right thing: are you getting any calls from ChatGPT right now?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}, {"label": "\"What do you mean?\"", "to": "ai_what"}, {"label": "Already past the ChatGPT question: tell them what you'd send", "to": "d_offer", "ifCap": "invest", "equals": "Yes"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. I'm calling about [Company]'s free listing, and it stays free either way. I do have one quick question about how customers find you. If it's not useful, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Fair question. 5 Star is a free directory, and it stays free. It's built and managed by our sister company, Elevated Audience, a marketing agency for home service companies. Nothing you buy changes your score. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who runs the directory.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Only wants the listing", "to": "d_bye_listing"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "5 Star calls: \"Hi [Name], it's [Your name] from 5 Star Home Service Pros. Our sister company, Elevated Audience, ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, who owns Elevated Audience, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "c_open", "$vm": "c_vm", "$qualify": "g_disclose", "$qualified": "d_offer", "$afterCell": "end_snapshot", "$bridge": "c_bridge", "$listing": "d_bye_listing", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_link_warm", "bk_email_new", "d_bye_no", "lk_cell", "md_offer"]}, {"id": "dir-inbound", "label": "Directory: inbound callback", "heat": "hot", "when": "Answer live", "context": "An owner calls about their 5 Star listing, usually returning your voicemail. The directory is the door, not the pitch: finish their errand, show the result, then ask about growth. Keep the 5 Star admin open on the change-request inbox. Built from the Sala Air Conditioning call (see 10 Trainings).", "after": "Log the opportunity in Prospecting > Interested and set yourself as contact owner. Text them the new score and page link when it updates. A no to the offer is fine: Nurture, and a Maps scan in about 2 weeks.", "family": "directory", "afterSteps": [{"text": "Send the verification link now, to the company email.", "ifCap": "companyEmail"}], "start": "di_open", "nodes": {"ai_what": {"who": "\"What does ChatGPT have to do with it?\"", "say": "More and more homeowners ask ChatGPT and Google's AI who the best [trade] company near them is, and it gives a short list. Most contractors have no idea whether they're on it. Are you getting any calls from it?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}]}, "ai_no": {"who": "If they say no", "say": "Yeah, I'm hearing that from a lot of [trade] owners. Most have no idea whether they come up in there, and it's not random who does.", "note": "Checked ChatGPT before the call and they weren't in it? Add: \"I asked ChatGPT for the best [trade] company in [City], and [Company] wasn't in the answer.\" They did show up? Say this instead: \"That's interesting, because when I asked ChatGPT, [Company] did come up. So it's working for one search. The question is the other services and towns you cover.\" Never quote a result you didn't check.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_yes": {"who": "If they say yes", "say": "That's awesome, glad to hear it. How are you tracking that? Are customers telling you they found you there, or do you have a system that shows you for sure?", "options": [{"label": "Customers mention it / not tracked", "to": "ai_notrack", "set": {"tracking": "Not tracked (customers mention it)"}}, {"label": "They have call tracking", "to": "ai_track", "set": {"tracking": "Tracked"}}]}, "ai_notrack": {"who": "If they're not really tracking it (most aren't)", "say": "That's the gap most owners have. If you can't see which calls come from ChatGPT versus Google versus referrals, you can't double down on what's working.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_track": {"who": "If they do track it", "say": "Nice, you're ahead of most. Roughly what share of your calls is that? ... Your tracking shows the AI calls you already get. It can't show the searches where you don't come up at all, like other services or other towns you cover.", "inputs": [{"key": "aiShare", "label": "Share of calls from AI (what they said)"}], "options": [{"label": "Next", "to": "ai_cap"}], "note": "They already have a call tracking report, so never call ours \"the report\" or \"the breakdown\" here. When you offer it, use its full name: the AI visibility snapshot."}, "ai_cap": {"who": "Capacity (either branch)", "say": "If ChatGPT started sending you more calls, could your team handle the extra work right now?", "options": [{"label": "Yes, we can take more", "to": "g_disclose", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "g_disclose": {"who": "Disclose Elevated (5 Star calls, before revenue)", "say": "Quick context so this makes sense: 5 Star was built by our sister company, Elevated Audience. They do marketing for home service companies. Your listing stays free either way.", "note": "One sentence, then straight into the revenue question. Already told them about Elevated Audience (the price or marketing-agency quick reply)? Skip this line.", "options": [{"label": "Next", "to": "g_rev"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Ask it on its own, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. If it flows after their answer, one at a time: \"How big is the team right now?\" \"Who does your marketing today?\"", "inputs": [{"key": "paceVsGoal", "label": "Against this year's goal (their words)"}, {"key": "revenueGoal", "label": "Their goal"}, {"key": "team", "label": "Team size (if it flows)"}, {"key": "currentMarketing", "label": "Who does their marketing today (if it flows)"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "d_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "d_offer": {"who": "Offer: describe it, then name it", "say": "Here's what I'd suggest. You said you want to be at [goal] this year. A good first step is seeing where [Company] shows up when people ask ChatGPT and Google's AI for a [trade] company in [City], where you don't, and the top three to five things to fix. It's free, and a couple of minutes to read. We call it an AI visibility snapshot. Want me to put one together?", "note": "No number given? Open with: \"You said growth matters to you this year.\"", "options": [{"label": "Yes, put one together", "to": "b_handoff"}, {"label": "No thanks", "to": "d_bye"}]}, "b_handoff": {"who": "Hand off to Jared (only after the yes)", "say": "Great. I'll send it today so you see it first. Jared, who owns Elevated Audience, asked me to set up a free 30-minute call with you, so he can walk you through it and share the steps you can take first to get to [goal]. Does [day/time] or [day/time] work better?", "note": "Book it while they're on the line. A link is the fallback, not the plan. No number given? Say \"to where you want to be\". No to the call but still wants it? That's \"Just send it\". Never drop something you just promised to send. If they raised tracking, add after \"what he'd fix first\": \"He can also show you how to see which calls come from where.\"", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send it", "to": "sn_email"}, {"label": "Doesn't want the call or the snapshot", "to": "d_bye"}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your snapshot will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your snapshot doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number you're calling from your cell? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "What's the best email for you, one you check yourself? I'll send it there.", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "Is the number you're calling from your cell? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. Your listing stays free either way, and I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_listing": {"who": "Exit line: listing only", "say": "You're all set, [Name]. If anything on the listing looks off, call or text me at [number].", "exit": true, "options": [{"label": "Said it", "to": "end_listing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name]. Your listing stays free either way.", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "di_open": {"who": "Answer: who and which business", "say": "Thanks for calling 5 Star Home Service Pros, this is [Your name]. Let me pull up your listing. What's the name of your business, and who am I speaking with?", "note": "Open their listing and say the business name the way it is on screen.", "options": [{"label": "Found the listing", "to": "di_errand"}, {"label": "Can't find the listing", "to": "di_nolisting"}, {"label": "Bad time", "to": "later"}]}, "di_errand": {"who": "Their errand first", "say": "Got it, [Company]. What can I help you with on the listing?", "inputs": [{"key": "listingRequest", "label": "What they asked for"}], "options": [{"label": "Sent a change request", "to": "di_approve"}, {"label": "Why a competitor looks different", "to": "di_tiers"}, {"label": "How the score works", "to": "di_teach"}, {"label": "Returning the listing or verification voicemail", "to": "di_rv_verify"}, {"label": "Returning the ChatGPT voicemail", "to": "di_rv_ai"}, {"label": "Only wanted the listing", "to": "d_bye_listing"}], "note": "Returning a voicemail and not sure which one? Check the contact's last call note."}, "di_approve": {"who": "Read it back, approve it", "say": "I see it in our inbox. [What they sent]. Is that right? ... Great, I'm approving it now.", "note": "Read back something specific, like the last digits of the license number. That proves you got it.", "options": [{"label": "New score shows on the page", "to": "di_win"}, {"label": "Score can't update yet", "to": "di_when"}, {"label": "Needs a correction", "to": "di_correct"}]}, "di_win": {"who": "Show the result live", "say": "Done. Refresh the page. You just went from [old score] to [new score].", "note": "Only when you can see the new score on the live page yourself.", "options": [{"label": "Next", "to": "di_teach"}]}, "di_when": {"who": "Say exactly when it moves", "say": "It's approved on our side. The score doesn't refresh the second I approve it. It updates [when it will update], and I'll text you the new score and your page link as soon as it does.", "note": "Today an approval does not recompute the score, and a license only counts after it's verified with the state board. Ask Jared when it will update before you give a day. Never quote points you can't show.", "options": [{"label": "Next", "to": "di_teach"}]}, "di_tiers": {"who": "\"Did they pay for a better page?\"", "say": "No paid levels. Score and layout come from reviews, years in business and a verified license. Their page just went through our enrichment first. That's what adds the services checklist and highlights. I'll ask for yours to be done next.", "note": "Then tell Jared, so he runs the enrichment for them.", "options": [{"label": "Also sent a change request", "to": "di_approve"}, {"label": "Next", "to": "di_ai"}]}, "di_teach": {"who": "Teach the score", "say": "Here's how the score works. Most of it is reviews: your rating, how many you have, and how recent they are. Years in business and a verified license add points too. Nobody can pay for any of it. If you want one thing to do, ask your next 20 customers for a Google review.", "options": [{"label": "Next", "to": "di_ai"}, {"label": "Only wanted the listing", "to": "d_bye_listing"}]}, "di_nolisting": {"who": "Can't find the listing", "say": "I'm not finding it on my end. I'll have our team look into it and call you back today.", "exit": true, "note": "Log the business name, city and phone for Jared.", "options": [{"label": "Said it", "to": "end_nolisting"}]}, "di_rv_verify": {"who": "Returning the verification voicemail", "say": "Thanks for calling back. We're asking owners to verify their listings so homeowners see accurate information. It's free and takes about two minutes. What's the best email for you? It needs to be on your company's domain so the verification goes through.", "inputs": [{"key": "companyEmail", "label": "Company email", "type": "email"}], "options": [{"label": "Got it", "to": "di_ai"}], "note": "After they give it, say: \"Perfect, I'll send it right after we hang up.\""}, "di_rv_ai": {"who": "Returning the ChatGPT voicemail", "say": "Thanks for calling back. I left you a message about ChatGPT. More and more homeowners ask ChatGPT and Google's AI who the best [trade] company near them is, and it gives a short list. Are you getting any calls from it right now?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}], "note": "For older voicemails that mentioned ChatGPT. If your voicemail said you noticed something, say what it was: \"When I asked ChatGPT for the best [trade] company in [City], [Company] wasn't in the answer.\" Only if you checked."}, "di_correct": {"who": "Needs a correction", "say": "Got it. What should it say instead?", "inputs": [{"key": "correction", "label": "Correction to make"}], "options": [{"label": "Next", "to": "di_when"}]}, "di_ai": {"who": "One question", "say": "That's your listing sorted. One more question while I have you: are you getting any calls from ChatGPT right now?", "note": "Don't explain Elevated here. Ask, then listen.", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}, {"label": "\"What do you mean?\"", "to": "ai_what"}, {"label": "Not interested", "to": "d_bye_listing"}]}}, "fields": [], "objections": [{"id": "price", "label": "How much?", "say": "Your listing is free, and it stays free. If you mean marketing help, that's our sister company, Elevated Audience. Their programs start at $2,495 a month plus ad spend, month to month. Which one fits depends on your market. That's what Jared, who owns Elevated Audience, maps out on a free 30-minute call. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. I'll email you the link to your listing. Quick question first so I send the right thing: are you getting any calls from ChatGPT right now?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}, {"label": "\"What do you mean?\"", "to": "ai_what"}, {"label": "Already past the ChatGPT question: tell them what you'd send", "to": "d_offer", "ifCap": "invest", "equals": "Yes"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Not at all. You called about your listing, so that comes first. If I ask about anything else, it's one quick question, and it's fine to say no.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Fair question. 5 Star is a free directory, and it stays free. It's built and managed by our sister company, Elevated Audience, a marketing agency for home service companies. Nothing you buy changes your score. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who runs the directory.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Only wants the listing", "to": "d_bye_listing"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "5 Star calls: \"Hi [Name], it's [Your name] from 5 Star Home Service Pros. Our sister company, Elevated Audience, ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, who owns Elevated Audience, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$qualify": "g_disclose", "$qualified": "d_offer", "$afterCell": "end_snapshot", "$bridge": "di_ai", "$listing": "d_bye_listing", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_link_warm", "bk_email_new", "d_bye_no", "di_bridge", "di_team", "lk_cell", "md_offer"]}, {"id": "website", "label": "Website: Maps scan", "heat": "hot", "when": "Within 5 minutes", "context": "They ran a Google Maps scan on our site. Open the scan they saw before you dial: Elevated Engine > Growth > Lead Gen > View Report, or the GBP scan link under Lead Info on the contact. Note the top-3 share, the average rank, one red area, and whether the pin at their shop is #1. Ask if they looked before you talk about the red.", "after": "Discovery, then capacity, then where revenue is versus their goal, then book the free strategy call. Any scan you send goes as a screenshot, never the link.", "family": "inbound", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "w_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "w_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "w_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "w_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. [Name] ran a Google Maps scan on our website, and I'm following up on it.", "note": "If they ask whether [Name] knows you: \"Yes, [Name] ran the scan on our site.\"", "options": [{"label": "Putting me through", "to": "w_open"}, {"label": "Transferred to voicemail", "to": "w_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "w_book", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "b_link_warm": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, so you can grab a time that works.", "options": [{"label": "Next", "to": "lk_cell"}]}, "lk_cell": {"who": "Cell for the text", "say": "Is the number I called you on your cell? I'll text it there.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_interested"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "w_open": {"who": "Opener", "say": "[Name], it's [Your name] with Elevated, a marketing company for [trade] contractors. You ran a Google Maps scan for [Company] on our site, and I have it pulled up. Did you get a chance to look at it?", "options": [{"label": "Looked at it", "to": "w_saw"}, {"label": "Haven't looked / confused", "to": "w_explain"}, {"label": "Bad time", "to": "later"}]}, "w_explain": {"who": "Explain the scan", "say": "No problem. I'll text you a screenshot right now so you can see it while we talk. The scan checks where [Company] shows up on Google Maps for '[search term]' from points all across your area. Green means you're in the top three there. Red means people searching there call someone else first.", "options": [{"label": "Next", "to": "w_red"}], "note": "Text a screenshot of the scan, never the link."}, "w_cap": {"who": "Capacity", "say": "If more calls started coming in from the red areas, could your crew take on the work?", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "w_book": {"who": "Book it", "say": "Here's the next step. Jared, our founder, does a free 30-minute strategy call. He'll go through your scan with you, show you who's beating you in the red areas and why, and what it would take to win the rest of [City]. You keep everything he shows you, whether you work with us or not. Does [day/time] or [day/time] work better?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link_warm"}, {"label": "Not interested", "to": "d_bye"}]}, "w_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with Elevated. You ran a Google Maps scan for [Company] on our site, and I'd like to walk you through what it shows. Call me back at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}, "w_red": {"who": "Lead with the red", "say": "On average you come up around number [average rank] across your area, and you're in the top three in only about [X]% of it. When you're sitting at your desk, you're number one. But what about a customer two miles away? That's where the red is: red means people searching there call someone else first. Are you getting many calls from places like [red area] today?", "note": "Say \"number one at your desk\" only if the pin at their shop is #1. If it isn't, say instead: \"Even right around your shop you're not number one, and it gets worse from there.\" Only quote numbers you see on the scan. Came from explaining the scan? Drop \"red means people searching there call someone else first\": you just said it.", "options": [{"label": "Next", "to": "w_cap"}]}, "w_saw": {"who": "What did they think", "say": "What did you think when you saw it?", "inputs": [{"key": "scanReaction", "label": "What they thought"}], "note": "Let them talk.", "options": [{"label": "Next", "to": "w_red"}]}}, "fields": ["searchTerm", "x", "avgRank", "redArea"], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Sure. I'll text you a screenshot of your Google Maps scan and a link to book a free 30-minute call with Jared, our founder, so it's all in one place.", "options": [{"label": "Text them both", "to": "lk_cell"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "You asked for the Google Maps scan, so I'm making sure it's useful. Two minutes.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "w_open", "$vm": "w_vm", "$qualify": "g_rev", "$qualified": "w_book", "$afterCell": "end_snapshot", "$offer": "lk_cell", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_first", "b_handoff", "b_link", "bk_email_new", "cell", "d_bye_listing", "d_bye_no", "d_offer", "g_disclose", "md_offer", "sn_email"]}, {"id": "heatmap-lm", "label": "Meta: heatmap lead magnet", "heat": "hot", "when": "Within 5 minutes", "context": "They asked for a Google Maps heat map through our ad, not a sales call. Open the heat map they got before you dial. Note the top-3 share, one red area, and whether the pin at their shop is #1. Lead with the heat map.", "after": "Didn't get it? Fix delivery first. No pitch until they have it.", "family": "inbound", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "h_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "h_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "h_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "h_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. [Name] asked us for a Google Maps heat map through our ad, and I'm making sure it reached them.", "note": "If they ask whether [Name] knows you: \"Yes, [Name] asked us for it.\"", "options": [{"label": "Putting me through", "to": "h_open"}, {"label": "Transferred to voicemail", "to": "h_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "h_book", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "b_link_warm": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, so you can grab a time that works.", "options": [{"label": "Next", "to": "lk_cell"}]}, "lk_cell": {"who": "Cell for the text", "say": "Is the number I called you on your cell? I'll text it there.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_interested"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "h_open": {"who": "Opener", "say": "[Name], it's [Your name] with Elevated, a marketing company for [trade] contractors. You just asked for the Google Maps heat map for [Company] through our ad. It shows where you come up on Google Maps across [City]. I wanted to make sure it came through. Did you get it?", "options": [{"label": "Got it, looked at it", "to": "h_got"}, {"label": "Got it, haven't opened it", "to": "h_quick"}, {"label": "Didn't get it", "to": "h_fix"}, {"label": "Bad time", "to": "later"}]}, "h_fix": {"who": "Fix delivery first", "say": "Let me fix that. I have it going to [email on file]. Can you check spam or promotions while I'm on? If it's not there, what's a better email?", "note": "No pitch until they have it.", "inputs": [{"key": "email", "label": "Email", "type": "email"}], "options": [{"label": "Resend after the call", "to": "end_resend_hm"}, {"label": "Found it while I'm on", "to": "h_red"}]}, "h_got": {"who": "If they looked at it", "say": "What made you want to see it?", "inputs": [{"key": "heatmapReason", "label": "Why they wanted it"}], "note": "Let them talk.", "options": [{"label": "Next", "to": "h_red"}]}, "h_cap": {"who": "Capacity", "say": "If more calls started coming in from the areas where you're not showing up, could your crew take on the work?", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "h_book": {"who": "Book it", "say": "Here's the next step. Jared, our founder, does a free 30-minute strategy call. He'll go through your heat map with you, show you who's showing up in the red spots instead of you and why, and what it would take to win more of [City]. You keep everything he shows you, whether you work with us or not. Does [day/time] or [day/time] work better?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link_warm"}, {"label": "Not interested", "to": "d_bye"}]}, "h_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with Elevated. You asked for the Google Maps heat map for [Company] through our ad, and I want to make sure it reached you. Call me back at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}, "h_red": {"who": "Lead with the red", "say": "There's a lot of red on yours. Red means people searching there call someone else first. When you're sitting at your desk, you're number one. But what about a customer two miles away? Are you getting many calls from places like [red area] today?", "note": "Say \"number one at your desk\" only if the pin at their shop is #1. If it isn't, say instead: \"Even right around your shop you're not number one, and it gets worse from there.\" Skip \"a lot of red\" if their map is mostly green.", "options": [{"label": "Next", "to": "h_cap"}]}, "h_quick": {"who": "Haven't opened it", "say": "No problem. Quick version: there's a lot of red on yours. Red means people searching there call someone else first. When you're sitting at your desk, you're number one. But what about a customer two miles away? Are you getting many calls from places like [red area] today?", "note": "Say \"number one at your desk\" only if the pin at their shop is #1. If it isn't, say instead: \"Even right around your shop you're not number one, and it gets worse from there.\" Skip \"a lot of red\" if their map is mostly green.", "options": [{"label": "Next", "to": "h_cap"}]}}, "fields": ["searchTerm", "x", "avgRank", "redArea"], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Sure. I'll text you a screenshot of your Google Maps heat map and a link to book a free 30-minute call with Jared, our founder, so it's all in one place.", "options": [{"label": "Text them both", "to": "lk_cell"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "You asked for the Google Maps heat map, so I'm making sure it's useful. Two minutes.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "h_open", "$vm": "h_vm", "$qualify": "g_rev", "$qualified": "h_book", "$afterCell": "end_snapshot", "$offer": "lk_cell", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_first", "b_handoff", "b_link", "bk_email_new", "cell", "d_bye_listing", "d_bye_no", "d_offer", "g_disclose", "md_offer", "sn_email"]}, {"id": "mailer", "label": "Heatmap mailer follow-up", "heat": "warm", "when": "Mailed + 5 days", "context": "We mailed them a big blue envelope with a handwritten note and a printed Google Maps report inside: a map covered in red and green dots. On the phone, describe the envelope and the map, not \"a report\": that's what people remember. Prep before dialing so you don't stumble: in Elevated Engine > Growth > Lead Gen, search the business name and open View Report. Note the search term (most are 'AC repair'), the top-3 share, and pick one mostly-red area by name off the map. [when mailed] is 'recently' for the current batch ('back in July' for the July 2026 batch). Most numbers are main work lines, so expect a CSR. Call in their time zone, East Coast first; Mondays run busy.", "after": "Only quote numbers from their report. Never promise rankings. Never send a scan link; it opens an internal system. Text a screenshot instead, and get their cell while you do it: a verified cell is how we follow up for the next six months.", "family": "inbound", "afterSteps": [{"text": "Didn't reach [Name]? Send an email from the contact's Conversations (your signature adds itself). Subject: \"[Name], your Google Maps report\". Body: \"Hi [Name], left a message for you with [gatekeeper name] about the big blue envelope I mailed you. [Company] only comes up in the top three on Google Maps in about [X]% of your service area. When's a good time to call you back?\"", "only": ["end_gatekeeper", "end_vm"]}], "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "m_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "m_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Someone else picked up (usually the CSR)", "say": "Hi, my name's [Your name], and I'm hoping you can help me out for a moment. ... I mailed [Name] a big blue envelope with an important report inside. It was a map covered in red and green dots. Do you remember seeing it?", "note": "Slow down, especially on the first line, and wait for \"Sure, how can I help?\" before you go on. Get their name now (\"Sorry, who am I speaking with?\"): the follow-up runs on it. They aren't someone to get past. Their job is deciding who's worth the owner's time, so treat them that way. Never ask if they're the decision maker.", "options": [{"label": "Remembers it", "to": "m_gk_desk"}, {"label": "Doesn't remember", "to": "m_gk_why"}, {"label": "Someone else opens the mail", "to": "m_gk_mail"}, {"label": "Putting me through", "to": "m_open"}, {"label": "Transferred to voicemail", "to": "m_vm"}], "inputs": [{"key": "gatekeeperName", "label": "Who you spoke with"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}, {"key": "gatekeeperName", "label": "Who you spoke with"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "m_givenup", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "m_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your scan will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your scan doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "What's the best email for you, one you check yourself? I'll send it there.", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "m_open": {"who": "Opener", "say": "It's [Your name] with Elevated. We work with home-service companies, and I mailed you a Google Maps report [when mailed] showing how [Company] is showing up when people search for '[search term]'. It came in a big blue envelope. Did it make it to your desk?", "options": [{"label": "Saw it", "to": "m_saw", "set": {"sawMailer": "Yes"}}, {"label": "Don't remember", "to": "m_forgot", "set": {"sawMailer": "No"}}, {"label": "Bad time", "to": "later"}], "note": "Slow down, especially on the first line."}, "m_saw": {"who": "If they saw it", "say": "What did you make of it? ... The part that stood out: you're in the top three on Google Maps in only about [X]% of your area. In the rest of it, like [red area], people searching are calling someone else first.", "options": [{"label": "Next", "to": "m_text"}]}, "m_forgot": {"who": "If they don't remember", "say": "No worries, that stuff ends up in a pile. When people search '[search term]', you're only in the top three on Google Maps in about [X]% of your service area. The weakest spot was [red area].", "options": [{"label": "Next", "to": "m_text"}]}, "m_cap": {"who": "Capacity", "say": "If more calls started coming in from [red area], could your crew take on the work?", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "m_offer": {"who": "Offer the strategy call (Jared asked personally)", "book": true, "say": "Here's what I'd suggest. Jared, our founder, asked me to reach out to you personally so he could share some steps you can take to quickly win more of [red area] and get to [goal] this year. Before a free 30-minute call, he'll run a fresh Google Maps scan as of today, then walk you through who's beating you there and what you can do about it. Does [day/time] or [day/time] work better?", "note": "Make it about the steps they can take, not what we do. Don't offer another report first: they already have one, and the fresh scan is a reason to take the call. Book it while they're on the line. No number given? Say \"get to where you want to be\".", "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send the fresh scan", "to": "sn_email"}, {"label": "Doesn't want the call or the scan", "to": "d_bye"}]}, "m_vm": {"who": "Voicemail", "say": "Hi [Name], [Your name] with Elevated. I mailed you a big blue envelope with a map of [City] inside, covered in red and green dots. It shows where [Company] comes up when people search '[search term]'. I wanted to walk you through the one part that stood out. I'm at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}, "m_send": {"who": "Send a fresh scan", "say": "I'll run a fresh Google Maps scan for [Company] so you see where you stand today, and send it over. What's the best email for you, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "It goes as a screenshot, never the scan link.", "options": [{"label": "Got the email", "to": "cell"}, {"label": "No thanks", "to": "d_bye"}]}, "m_gk_mail": {"who": "If someone else opens the mail", "say": "Got it. Does [Name] open their own mail, or does someone else open it for them? ... Could I talk to that person? I want to make sure they got what I sent. There's some important information in there for [Company].", "note": "Got the office manager instead of the owner? Same play: \"Could you put me through to [Name]?\" If not, offer to send it to them.", "inputs": [{"key": "gatekeeperName", "label": "Who you spoke with"}], "options": [{"label": "Putting me through", "to": "m_open"}, {"label": "Can't put me through", "to": "m_gk_send"}, {"label": "Transferred to voicemail", "to": "m_vm"}, {"label": "Not available", "to": "gk_when"}]}, "m_text": {"who": "Text them the map (and get their cell)", "say": "How about I text you the map right now, so you have it in front of you? What's your cell?", "note": "Calling their cell already? \"Great, I'll text it to this number now.\" While you talk: screenshot their map (Elevated Engine > Growth > Lead Gen > View Report), add the number to the contact as Mobile, paste the screenshot into a text from the contact and send it. Never the scan link.", "inputs": [{"key": "cell", "label": "Cell (mobile)"}], "options": [{"label": "Texted it", "to": "m_cap", "set": {"textedMap": "Yes"}}, {"label": "No thanks", "to": "m_cap", "set": {"textedMap": "No"}}]}, "m_gk_desk": {"who": "If they remember it", "say": "Great. Do you know if it made it to [Name]'s desk? I wanted to go over it with them.", "options": [{"label": "Putting me through", "to": "m_open"}, {"label": "Not sure / it didn't", "to": "m_gk_why"}, {"label": "Transferred to voicemail", "to": "m_vm"}]}, "m_gk_why": {"who": "What's inside, and is it a priority", "say": "Inside was an important report I put together for [Company]. It shows where your competitors are beating you on Google Maps around [City]: you only come up in the top three in about [X]% of your service area. Is getting more calls from Google a priority for [Company] this year? ... Could you put me through to [Name] so I can go over it with them?", "note": "Only quote numbers from their report.", "options": [{"label": "Putting me through", "to": "m_open"}, {"label": "Can't put me through", "to": "m_gk_send"}, {"label": "Transferred to voicemail", "to": "m_vm"}]}, "m_gk_send": {"who": "Can't put you through: send it to them", "say": "No problem. How about I send the report to you? What's the best email for you? I'll follow up with you next week, we'll go over a couple of things, and you can decide if it's worth [Name]'s time.", "note": "It goes as a screenshot of the map, never the scan link. Won't take it? Ask when's the best time to catch [Name].", "inputs": [{"key": "gatekeeperEmail", "label": "Their email"}], "options": [{"label": "Got her email", "to": "end_gk_sent"}, {"label": "Won't take it", "to": "gk_when"}]}, "m_givenup": {"who": "If growth isn't a priority", "say": "Fair enough. Can I ask, have you just given up on getting more calls from your Google Business Profile?", "note": "Ask it plainly and wait. Most owners say they haven't, and that's your opening for the next line.", "options": [{"label": "No, haven't given up", "to": "m_offer", "set": {"growth": "Hasn't given up"}}, {"label": "Yes / not a focus", "to": "d_bye"}]}}, "fields": ["whenMailed", "searchTerm", "x", "redArea"], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. Here's what I'd send you.", "options": [{"label": "Tell them what you'd send", "to": "m_send"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. I mailed you a big blue envelope with a Google Maps report inside, and I'm following up on it. If it's not useful in a minute, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "m_open", "$vm": "m_vm", "$qualify": "g_rev", "$qualified": "m_offer", "$afterCell": "end_snapshot", "$offer": "m_send", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_handoff", "b_link_warm", "bk_email_new", "d_bye_listing", "d_bye_no", "d_offer", "g_disclose", "gk2", "lk_cell", "md_offer"]}, {"id": "gk-callback", "label": "Gatekeeper call-back", "heat": "warm", "when": "Report sent to the gatekeeper + 7 days", "context": "Last week you sent the map to the CSR because they couldn't put you through. Now you call back and ask for them by name: nobody calls asking for the CSR, so they'll take it. The goal is five minutes of their time, not a transfer. Check the contact's task for their name and what you sent. Prep the report like a mailer call: search term, top-3 share, one red area.", "after": "Only quote numbers from their report. Never send the scan link; send a screenshot. It won't work every time, but every time it does is a decision maker who wants the owner to see it.", "family": "inbound", "start": "gc_pick", "nodes": {"g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "gc_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your scan will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your scan doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "What's the best email for you, one you check yourself? I'll send it there.", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "gc_pick": {"who": "Ask for the gatekeeper by name", "say": "Hi, this is [Your name]. Is [gatekeeper] in by any chance?", "note": "Slow down. Ask for them like you already talk.", "options": [{"label": "It's them", "to": "gc_open"}, {"label": "Someone else answered", "to": "gc_other"}, {"label": "The owner picked up", "to": "gc_owner"}, {"label": "Voicemail", "to": "gc_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gc_other": {"who": "Someone else answered", "say": "Hey, it's [Your name]. I called last week and spoke with [gatekeeper]. Are they in by any chance?", "options": [{"label": "Getting them", "to": "gc_open"}, {"label": "Not in", "to": "gc_when"}]}, "gc_when": {"who": "Not in", "say": "No problem. When's the best time to catch [gatekeeper]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_callback"}]}, "gc_open": {"who": "Recruit the gatekeeper", "say": "Hey [gatekeeper], it's [Your name]. You might remember, we talked last week about the big blue envelope I mailed [Name], the map with red and green dots, and I sent you a copy. Listen, I know you're probably the main decision maker anyway, since you're the one who decides who gets through. Could I get five minutes of your time to walk you through it, so you can see if it's something [Name] really should look at? Would that be fair?", "note": "Say it slowly. You want their five minutes, not a transfer.", "options": [{"label": "Yes, go ahead", "to": "gc_walk"}, {"label": "Didn't see it", "to": "gc_resend"}, {"label": "Putting me through to [Name]", "to": "gc_owner"}, {"label": "Bad time", "to": "gc_when"}, {"label": "Not interested", "to": "d_bye"}]}, "gc_resend": {"who": "If they didn't see it", "say": "Not a problem. I can email it to you again now, or set a time to call you back. It only takes five minutes. Which works better?", "note": "Resend the screenshot before you hang up, never the scan link.", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Found it, walk through it now", "to": "gc_walk"}, {"label": "Call back at a set time", "to": "end_callback"}]}, "gc_walk": {"who": "Walk them through it", "say": "So here's what it shows. When people around [City] search '[search term]', [Company] comes up in the top three on Google Maps in only about [X]% of your service area. Everywhere else, like [red area], those calls go to a competitor first. Does that match what you hear on the phones? ... Do you think it's something [Name] should see?", "note": "Let them talk: CSRs know where the calls come from. Write down what they say; it's your opener with the owner.", "inputs": [{"key": "scanReaction", "label": "What they said about it"}], "options": [{"label": "Putting me through", "to": "gc_owner"}, {"label": "They'll get me time with [Name]", "to": "gc_time"}, {"label": "Not something we need", "to": "d_bye"}]}, "gc_time": {"who": "They'll set it up", "say": "That would be great, thank you. When's a good time for me to call [Name]? And can I tell them you thought it was worth a look?", "inputs": [{"key": "callbackWhen", "label": "When to call [Name]"}], "options": [{"label": "Got a time", "to": "end_callback"}]}, "gc_owner": {"who": "The owner", "say": "Hi [Name], it's [Your name] with Elevated. I've been talking with [gatekeeper] about the big blue envelope I mailed you, the map with red and green dots. When people search '[search term]', [Company] only comes up in the top three on Google Maps in about [X]% of your service area. The weakest spot is [red area]. If more calls started coming in from there, could your crew take on the work?", "note": "Slow down on the first line. If the gatekeeper said something about the calls, use it here.", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}, {"label": "Bad time", "to": "later"}]}, "gc_offer": {"who": "Offer the strategy call (Jared asked personally)", "book": true, "say": "Here's what I'd suggest. Jared, our founder, asked me to reach out to you personally so he could share some steps you can take to quickly win more of [red area] and get to [goal] this year. Before a free 30-minute call, he'll run a fresh Google Maps scan as of today, then walk you through who's beating you there and what you can do about it. Does [day/time] or [day/time] work better?", "note": "Make it about the steps they can take, not what we do. Don't offer another report first: they already have one, and the fresh scan is a reason to take the call. Book it while they're on the line. No number given? Say \"get to where you want to be\".", "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send the fresh scan", "to": "sn_email"}, {"label": "Doesn't want the call or the scan", "to": "d_bye"}]}, "gc_vm": {"who": "Voicemail", "say": "Hi [gatekeeper], it's [Your name] with Elevated. We talked last week about the map I mailed [Name], and I sent you a copy. I'll try you again tomorrow, or you can reach me at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}}, "fields": ["gatekeeper", "searchTerm", "x", "redArea"], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Sure. I'll text you a screenshot of your Google Maps report and a link to book a free 30-minute call with Jared, our founder, so it's all in one place.", "options": [{"label": "Text them both", "to": "sn_email"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. I mailed [Name] a big blue envelope with a Google Maps report inside, and [gatekeeper] and I talked about it last week. If it's not useful in a minute, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "gc_owner", "$vm": "gc_vm", "$qualify": "g_rev", "$qualified": "gc_offer", "$afterCell": "end_snapshot", "$offer": "sn_email", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_handoff", "b_link_warm", "bk_email_new", "d_bye_listing", "d_bye_no", "d_offer", "g_disclose", "lk_cell", "md_offer"]}, {"id": "ai-cold", "label": "AI visibility call", "heat": "cold", "when": "Cadence", "context": "Your default cold opener for purchased lists (Coldlytics, Trusted Leads). Before dialing, ask ChatGPT for the best [trade] company in [City] and note whether they show up. Phone labeled Work? Use the Gatekeeper script to get through. Say what Elevated is right after the name: on the phone, \"Elevated\" alone gets heard as \"elevator\".", "after": "Capacity first for an early yes, then where revenue is versus their goal, how important it is, and whether acting on it sounds doable. Qualified: offer the AI visibility snapshot, then book the strategy call with Jared on this call. Only if they won't pick a time: Snapshot requested, and the Snapshot follow-up script runs. Below the bar: Too small. No room for more work: No capacity, recheck in 90 days (or Not now if they're hiring). A no is fine: Nurture, and a Maps scan in about 2 weeks.", "family": "cold", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "a_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "a_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "a_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "a_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. Just let [Name] know it's about how [Company] shows up when people ask ChatGPT for a [trade] company. It'll take two minutes.", "note": "If someone asks point-blank whether [Name] knows you, don't say yes: \"Not yet, that's why I'm calling.\"", "options": [{"label": "Putting me through", "to": "a_open"}, {"label": "Transferred to voicemail", "to": "a_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "ai_what": {"who": "\"What does ChatGPT have to do with it?\"", "say": "More and more homeowners ask ChatGPT and Google's AI who the best [trade] company near them is, and it gives a short list. Most contractors have no idea whether they're on it. Are you getting any calls from it?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}]}, "ai_no": {"who": "If they say no", "say": "Yeah, I'm hearing that from a lot of [trade] owners. Most have no idea whether they come up in there, and it's not random who does.", "note": "Checked ChatGPT before the call and they weren't in it? Add: \"I asked ChatGPT for the best [trade] company in [City], and [Company] wasn't in the answer.\" They did show up? Say this instead: \"That's interesting, because when I asked ChatGPT, [Company] did come up. So it's working for one search. The question is the other services and towns you cover.\" Never quote a result you didn't check.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_yes": {"who": "If they say yes", "say": "That's awesome, glad to hear it. How are you tracking that? Are customers telling you they found you there, or do you have a system that shows you for sure?", "options": [{"label": "Customers mention it / not tracked", "to": "ai_notrack", "set": {"tracking": "Not tracked (customers mention it)"}}, {"label": "They have call tracking", "to": "ai_track", "set": {"tracking": "Tracked"}}]}, "ai_notrack": {"who": "If they're not really tracking it (most aren't)", "say": "That's the gap most owners have. If you can't see which calls come from ChatGPT versus Google versus referrals, you can't double down on what's working.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_track": {"who": "If they do track it", "say": "Nice, you're ahead of most. Roughly what share of your calls is that? ... Your tracking shows the AI calls you already get. It can't show the searches where you don't come up at all, like other services or other towns you cover.", "inputs": [{"key": "aiShare", "label": "Share of calls from AI (what they said)"}], "options": [{"label": "Next", "to": "ai_cap"}], "note": "They already have a call tracking report, so never call ours \"the report\" or \"the breakdown\" here. When you offer it, use its full name: the AI visibility snapshot."}, "ai_cap": {"who": "Capacity (either branch)", "say": "If ChatGPT started sending you more calls, could your team handle the extra work right now?", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "d_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "d_offer": {"who": "Offer: describe it, then name it", "say": "Here's what I'd suggest. You said you want to be at [goal] this year. A good first step is seeing where [Company] shows up when people ask ChatGPT and Google's AI for a [trade] company in [City], where you don't, and the top three to five things to fix. It's free, and a couple of minutes to read. We call it an AI visibility snapshot. Want me to put one together?", "note": "No number given? Open with: \"You said growth matters to you this year.\"", "options": [{"label": "Yes, put one together", "to": "b_handoff"}, {"label": "No thanks", "to": "d_bye"}]}, "b_handoff": {"who": "Hand off to Jared (only after the yes)", "say": "Great. I'll send it today so you see it first. Jared, our founder, asked me to set up a free 30-minute call with you, so he can walk you through it and share the steps you can take first to get to [goal]. Does [day/time] or [day/time] work better?", "note": "Book it while they're on the line. A link is the fallback, not the plan. No number given? Say \"to where you want to be\". No to the call but still wants it? That's \"Just send it\". Never drop something you just promised to send. If they raised tracking, add after \"what he'd fix first\": \"He can also show you how to see which calls come from where.\"", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send it", "to": "sn_email"}, {"label": "Doesn't want the call or the snapshot", "to": "d_bye"}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your snapshot will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your snapshot doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "What's the best email for you, one you check yourself? I'll send it there.", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "a_open": {"who": "Opener", "say": "[Name], it's [Your name] with Elevated, a marketing company for [trade] contractors. I'm calling about one thing. Are you getting any calls from ChatGPT right now?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}, {"label": "\"What do you mean?\"", "to": "ai_what"}, {"label": "Bad time", "to": "later"}]}, "a_vm": {"who": "Voicemail", "say": "Hi [Name], [Your name] with Elevated, a marketing company for [trade] contractors. I asked ChatGPT for the best [trade] company in [City], and [Company] didn't come up. I can show you why, free. Call or text me at [number].", "options": [{"label": "Left it", "to": "end_vm"}], "note": "Only if you checked. If you didn't, say: \"I'm calling about how [Company] shows up when people ask ChatGPT for a [trade] company.\""}, "a_send": {"who": "Send me something: the snapshot", "say": "I'll check where [Company] shows up when people ask ChatGPT and Google's AI for a [trade] company in [City], where you don't, and the top three to five things to fix. It's free, and a couple of minutes to read. We call it an AI visibility snapshot. What's the best email for you, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Not qualified yet, so no booking here. The follow-up call qualifies them.", "options": [{"label": "Got the email", "to": "cell"}, {"label": "No thanks", "to": "d_bye"}]}}, "fields": [], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. Here's what I'd send you.", "options": [{"label": "Tell them what you'd send", "to": "a_send"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. Yes, I'm with a marketing company. I'm calling for one reason, and if it's not useful in a minute, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "a_open", "$vm": "a_vm", "$qualify": "g_rev", "$qualified": "d_offer", "$afterCell": "end_snapshot", "$offer": "a_send", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_link_warm", "bk_email_new", "d_bye_listing", "d_bye_no", "g_disclose", "lk_cell", "md_offer"]}, {"id": "ai-dir", "label": "AI visibility call: directory-listed", "heat": "cold", "when": "Cadence", "context": "For contractors listed on the 5 Star directory who have NOT claimed or verified their listing. Lead with 5 Star and their free listing: handle that first, then one question. Elevated Audience comes up in one sentence right before the revenue question, as the sister company that built the directory, not in the opener. Never mention their rank or tie the listing to buying anything. If they verified or claimed, use the claim script instead. Call in their time zone: no 7 am calls.", "after": "Listing link first, then the ChatGPT question, capacity, then where revenue is versus their goal, how important it is and whether acting on it sounds doable. Below the bar: Too small. A yes to both: offer the AI visibility snapshot and book Jared on the call. A no is fine: Nurture, and a Maps scan in about 2 weeks. If they'd rather fix something on their listing, send the verification link. Preferred comes after they verify. No room for more work: No capacity, recheck in 90 days (or Not now if they're hiring).", "family": "directory", "afterSteps": [{"text": "Send the listing (verification) link now, to the email they gave.", "ifCap": "email", "except": ["end_verify_sent"]}], "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "ad_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "ad_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "ad_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "ad_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with 5 Star Home Service Pros. Just let [Name] know it's about [Company]'s free listing on our directory.", "note": "If someone asks point-blank whether [Name] knows you, don't say yes: \"Not yet, that's why I'm calling.\"", "options": [{"label": "Putting me through", "to": "ad_open"}, {"label": "Transferred to voicemail", "to": "ad_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "ai_what": {"who": "\"What does ChatGPT have to do with it?\"", "say": "More and more homeowners ask ChatGPT and Google's AI who the best [trade] company near them is, and it gives a short list. Most contractors have no idea whether they're on it. Are you getting any calls from it?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}]}, "ai_no": {"who": "If they say no", "say": "Yeah, I'm hearing that from a lot of [trade] owners. Most have no idea whether they come up in there, and it's not random who does.", "note": "Checked ChatGPT before the call and they weren't in it? Add: \"I asked ChatGPT for the best [trade] company in [City], and [Company] wasn't in the answer.\" They did show up? Say this instead: \"That's interesting, because when I asked ChatGPT, [Company] did come up. So it's working for one search. The question is the other services and towns you cover.\" Never quote a result you didn't check.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_yes": {"who": "If they say yes", "say": "That's awesome, glad to hear it. How are you tracking that? Are customers telling you they found you there, or do you have a system that shows you for sure?", "options": [{"label": "Customers mention it / not tracked", "to": "ai_notrack", "set": {"tracking": "Not tracked (customers mention it)"}}, {"label": "They have call tracking", "to": "ai_track", "set": {"tracking": "Tracked"}}]}, "ai_notrack": {"who": "If they're not really tracking it (most aren't)", "say": "That's the gap most owners have. If you can't see which calls come from ChatGPT versus Google versus referrals, you can't double down on what's working.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_track": {"who": "If they do track it", "say": "Nice, you're ahead of most. Roughly what share of your calls is that? ... Your tracking shows the AI calls you already get. It can't show the searches where you don't come up at all, like other services or other towns you cover.", "inputs": [{"key": "aiShare", "label": "Share of calls from AI (what they said)"}], "options": [{"label": "Next", "to": "ai_cap"}], "note": "They already have a call tracking report, so never call ours \"the report\" or \"the breakdown\" here. When you offer it, use its full name: the AI visibility snapshot."}, "ai_cap": {"who": "Capacity (either branch)", "say": "If ChatGPT started sending you more calls, could your team handle the extra work right now?", "options": [{"label": "Yes, we can take more", "to": "g_disclose", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "g_disclose": {"who": "Disclose Elevated (5 Star calls, before revenue)", "say": "Quick context so this makes sense: 5 Star was built by our sister company, Elevated Audience. They do marketing for home service companies. Your listing stays free either way.", "note": "One sentence, then straight into the revenue question. Already told them about Elevated Audience (the price or marketing-agency quick reply)? Skip this line.", "options": [{"label": "Next", "to": "g_rev"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "d_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "d_offer": {"who": "Offer: describe it, then name it", "say": "Here's what I'd suggest. You said you want to be at [goal] this year. A good first step is seeing where [Company] shows up when people ask ChatGPT and Google's AI for a [trade] company in [City], where you don't, and the top three to five things to fix. It's free, and a couple of minutes to read. We call it an AI visibility snapshot. Want me to put one together?", "note": "No number given? Open with: \"You said growth matters to you this year.\"", "options": [{"label": "Yes, put one together", "to": "b_handoff"}, {"label": "No thanks", "to": "d_bye"}]}, "b_handoff": {"who": "Hand off to Jared (only after the yes)", "say": "Great. I'll send it today so you see it first. Jared, who owns Elevated Audience, asked me to set up a free 30-minute call with you, so he can walk you through it and share the steps you can take first to get to [goal]. Does [day/time] or [day/time] work better?", "note": "Book it while they're on the line. A link is the fallback, not the plan. No number given? Say \"to where you want to be\". No to the call but still wants it? That's \"Just send it\". Never drop something you just promised to send. If they raised tracking, add after \"what he'd fix first\": \"He can also show you how to see which calls come from where.\"", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send it", "to": "sn_email"}, {"label": "Doesn't want the call or the snapshot", "to": "d_bye"}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your snapshot will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your snapshot doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. Should the invite go to the same email as the listing link, or is there one you check more?", "inputs": [{"key": "otherEmail", "label": "Email for the invite", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "Should I send it to the same email as the listing link, or is there one you check more?", "inputs": [{"key": "otherEmail", "label": "Email they check (if different)", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "bk_email_new": {"who": "Email for the invite (no email yet)", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. Your listing stays free either way, and I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_no": {"who": "Exit line: not interested", "say": "Understood. Thanks for the time, [Name]. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_notinterested"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name]. Your listing stays free either way.", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "ad_open": {"who": "Opener: the listing first", "say": "It's [Your name] with 5 Star Home Service Pros, the contractor directory. [Company] has a free listing with us, and I'd like to email you a link so you can check your details are right. Can I send it over?", "options": [{"label": "Yes, send it", "to": "ad_email"}, {"label": "\"What is this?\"", "to": "ad_what"}, {"label": "Not interested", "to": "d_bye_no"}]}, "ad_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with 5 Star Home Service Pros, the contractor directory. [Company] has a free listing with us, and I'd like to email you a link so you can check your details are right. Call or text me at [number].", "note": "No marketing in the voicemail. When they call back, it runs as the Directory: inbound callback (\"Returning the listing or verification voicemail\").", "options": [{"label": "Left it", "to": "end_vm"}]}, "ad_what": {"who": "\"What is this?\"", "say": "Fair question. 5 Star Home Service Pros is a free directory of top-rated [trade] companies in [City], ranked by their Google reviews. Nobody pays to be on it. The link just lets you make sure your hours, phone and services are right. Can I send it over?", "note": "Never mention their rank on this call.", "options": [{"label": "Send it", "to": "ad_email"}, {"label": "Not interested", "to": "d_bye_no"}]}, "ad_email": {"who": "Get the email", "say": "What's the best email for you?", "inputs": [{"key": "email", "label": "Email", "type": "email"}], "options": [{"label": "Got it", "to": "ad_q"}, {"label": "Just wants the link", "to": "end_verify_sent"}]}, "ad_q": {"who": "Listing done, then one question", "say": "Perfect. I'll send the link right after we hang up, and that's your listing sorted. One more question while I have you: are you getting any calls from ChatGPT right now?", "note": "Don't explain Elevated here. Ask, then listen.", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}, {"label": "\"What do you mean?\"", "to": "ai_what"}, {"label": "Just wants the link", "to": "end_verify_sent"}]}}, "fields": [], "objections": [{"id": "price", "label": "How much?", "say": "Your listing is free, and it stays free. If you mean marketing help, that's our sister company, Elevated Audience. Their programs start at $2,495 a month plus ad spend, month to month. Which one fits depends on your market. That's what Jared, who owns Elevated Audience, maps out on a free 30-minute call. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email_new", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. I'll email you the link to your listing.", "options": [{"label": "Get the email", "to": "ad_email"}, {"label": "Already past the ChatGPT question: tell them what you'd send", "to": "d_offer", "ifCap": "invest", "equals": "Yes"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. I'm calling about [Company]'s free listing, and it stays free either way. I do have one quick question about how customers find you. If it's not useful, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Fair question. 5 Star is a free directory, and it stays free. It's built and managed by our sister company, Elevated Audience, a marketing agency for home service companies. Nothing you buy changes your score. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who runs the directory.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Only wants the listing", "to": "ad_email"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "5 Star calls: \"Hi [Name], it's [Your name] from 5 Star Home Service Pros. Our sister company, Elevated Audience, ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, who owns Elevated Audience, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "ad_open", "$vm": "ad_vm", "$qualify": "g_disclose", "$qualified": "d_offer", "$afterCell": "end_snapshot", "$bridge": "ad_email", "$listing": "d_bye_listing", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email_new"}, "pruned": ["b_link_warm", "d_bye_listing", "lk_cell", "md_offer"]}, {"id": "maps-dir", "label": "Maps visibility call (Meta and manual lists)", "heat": "cold", "when": "Cadence", "context": "For Meta and manual (outbound list) campaign lists. Elevated-branded: never mention 5 Star or a listing on this call. Before dialing: on their site or Google profile, find a town they serve 1 to 2 towns over from their shop. Search Google Maps for '[service] in [Town]' and note whether [Company] is in the top 3. Only quote what you just saw.", "after": "Finding first, then capacity, then where revenue is versus their goal, how important it is and whether acting on it sounds doable. Below the bar: Too small. Said yes: offer the Google Maps scan (sent as a screenshot, never the link) and book Jared on the call. If they can't pick a time: Snapshot requested (note it's a Maps scan and which service and town). A no is fine: Nurture, and a Maps scan in about 2 weeks. No room for more work: No capacity, recheck in 90 days (or Not now if they're hiring).", "family": "cold", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "md_pick"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "md_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "md_pick"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "md_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. Just let [Name] know it's about how [Company] shows up on Google Maps over in [Town]. It'll take two minutes.", "note": "If someone asks point-blank whether [Name] knows you, don't say yes: \"Not yet, that's why I'm calling.\"", "options": [{"label": "Putting me through", "to": "md_pick"}, {"label": "Transferred to voicemail", "to": "md_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "md_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "md_offer": {"who": "Offer: describe it, then name it", "say": "Here's what I'd suggest. You said you want to be at [goal] this year. A good first step is seeing where [Company] comes up on Google Maps for '[service]' from points all across your service area: where you're in the top three, where you're not, and who's beating you there. It's free. We call it a Google Maps scan. Want me to run it?", "note": "No number given? Open with: \"You said growth matters to you this year.\"", "options": [{"label": "Yes, run it", "to": "b_handoff"}, {"label": "No thanks", "to": "d_bye"}]}, "b_handoff": {"who": "Hand off to Jared (only after the yes)", "say": "Great. I'll send it today so you see it first. Jared, our founder, asked me to set up a free 30-minute call with you, so he can walk you through it and share the steps you can take first to get to [goal]. Does [day/time] or [day/time] work better?", "note": "Book it while they're on the line. A link is the fallback, not the plan. No number given? Say \"to where you want to be\". No to the call but still wants it? That's \"Just send it\". Never drop something you just promised to send. If they raised tracking, add after \"what he'd fix first\": \"He can also show you how to see which calls come from where.\"", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send it", "to": "sn_email"}, {"label": "Doesn't want the call or the snapshot", "to": "d_bye"}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your scan will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your scan doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "What's the best email for you, one you check yourself? I'll send it there.", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "md_pick": {"who": "Pick your opener", "say": "", "hint": "Pick the opener you prepared for.", "options": [{"label": "The town over", "to": "md_town"}, {"label": "5 miles out", "to": "md_5mi"}]}, "md_town": {"who": "Opener: the town over", "say": "[Name], it's [Your name] with Elevated, a marketing company for [trade] contractors. I was just looking at your site, and I see you service [Town], a couple of towns over from your shop. Do you know how many calls you're actually getting out of [Town] from your Google Business Profile?", "options": [{"label": "They don't know", "to": "md_dontknow"}, {"label": "Says they're doing fine", "to": "md_fine"}, {"label": "Bad time", "to": "later"}]}, "md_5mi": {"who": "Opener: 5 miles out", "say": "[Name], it's [Your name] with Elevated, a marketing company for [trade] contractors. I was looking at how [Company] shows up on Google. Quick question: do you know how you show up on Google Maps five miles out from your shop?", "options": [{"label": "They don't know", "to": "md_dontknow"}, {"label": "Says they're doing fine", "to": "md_fine"}, {"label": "Bad time", "to": "later"}]}, "md_dontknow": {"who": "If they don't know", "say": "Most owners don't, and that's usually where the calls are leaking. Maps rankings drop off fast the farther a customer is from your shop. When I searched '[service] in [Town]', one of the towns you cover, [Company] [wasn't in the top 3 / came up at #X]. If you started getting more calls out of [Town], could your crew take on the extra work?", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "md_fine": {"who": "If they say they're doing fine", "say": "Good to hear. When I searched '[service] in [Town]', one of the towns you cover, [Company] [wasn't in the top 3 / came up at #X]. Is [Town] somewhere you want more work, or is there another town you'd rather grow into?", "inputs": [{"key": "growTown", "label": "Town they'd rather grow into"}], "options": [{"label": "Wants more somewhere", "to": "md_cap"}, {"label": "Not interested", "to": "d_bye"}]}, "md_cap": {"who": "Capacity", "say": "If more calls started coming in from there, could your crew take on the work?", "options": [{"label": "Yes, we can take more", "to": "g_rev", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "md_vm": {"who": "Voicemail", "say": "Hi [Name], [Your name] with Elevated, a marketing company for [trade] contractors. I was looking at how [Company] shows up on Google Maps over in [Town] and noticed something you'd want to see. Call or text me at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}, "md_send": {"who": "Send me something: the Maps scan", "say": "I'll check where [Company] comes up on Google Maps for '[service]' from points all across your service area: where you're in the top three, where you're not, and who's beating you there. It's free. We call it a Google Maps scan. What's the best email for you, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Not qualified yet, so no booking here. The follow-up call qualifies them. It goes as a screenshot, never the scan link.", "options": [{"label": "Got the email", "to": "cell"}, {"label": "No thanks", "to": "d_bye"}]}}, "fields": ["town", "service"], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. Here's what I'd send you.", "options": [{"label": "Tell them what you'd send", "to": "md_send"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. Yes, I'm with a marketing company. I'm calling for one reason, and if it's not useful in a minute, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "md_pick", "$vm": "md_vm", "$qualify": "g_rev", "$qualified": "md_offer", "$afterCell": "end_snapshot", "$offer": "md_send", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_link_warm", "bk_email_new", "d_bye_listing", "d_bye_no", "d_offer", "g_disclose", "lk_cell"]}, {"id": "snapshot-fu", "label": "Snapshot or scan follow-up", "heat": "warm", "when": "Next business day, then days 3 and 7", "context": "They said yes to an AI visibility snapshot or a Google Maps scan on an earlier call, and the email and text went out when it was sent, so they know who you are. Before dialing, open their snapshot or scan and write the single biggest finding in one line. Call attempts: the next business day, day 3 and day 7. Then Nurture for 30 days.", "after": "Text only if they gave you their cell on the call and agreed to a text. No answer after the text: back on the normal cadence.", "family": "inbound", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "sf_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "sf_vm"}, {"label": "No answer", "to": "end_report_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "sf_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "sf_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. I sent [Name] the [what you sent] for [Company], and I'm following up on it.", "note": "If they ask whether [Name] knows you: \"Yes, [Name] asked us for it on an earlier call.\"", "options": [{"label": "Putting me through", "to": "sf_open"}, {"label": "Transferred to voicemail", "to": "sf_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Before we go further, let's talk about your goals so the next step is worth your time. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "sf_book", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "sf_open": {"who": "Opener", "say": "It's [Your name] with Elevated. I sent over your [what you sent] for [Company]. Did you get a chance to look at it?", "options": [{"label": "Looked at it", "to": "sf_dig", "set": {"lookedAtIt": "Yes"}}, {"label": "Haven't looked yet", "to": "sf_walk", "set": {"lookedAtIt": "Not yet"}}, {"label": "Didn't get it", "to": "sf_resend", "set": {"lookedAtIt": "Didn't get it"}}, {"label": "Bad time", "to": "later"}], "note": "First call was a 5 Star call? Say: \"It's [Your name] from 5 Star Home Service Pros. I sent over the AI visibility snapshot our sister company, Elevated Audience, put together for [Company]. Did you get a chance to look at it?\" and in the booking line say \"Jared, who owns Elevated Audience\"."}, "sf_dig": {"who": "They looked at it", "say": "What stood out to you?", "note": "Let them talk. If they're vague, point to the biggest finding: \"Most owners are surprised by this one: [top finding].\"", "inputs": [{"key": "reportReaction", "label": "What stood out to them"}], "options": [{"label": "Next", "to": "sf_q"}]}, "sf_walk": {"who": "Haven't looked yet", "say": "No worries, that's why I'm calling. The quick version: [top finding]. Want me to walk you through the rest real quick?", "options": [{"label": "Sure", "to": "sf_walkthrough"}, {"label": "\"I'll look at it myself\"", "to": "sf_later_look"}]}, "sf_walkthrough": {"who": "Walk through it", "say": "Okay. That first one is the big one. Here's the next.", "note": "Then take each of the other findings in one sentence: what it is, and what it costs them in calls. Five minutes, not a pitch. Pause after each one for a reaction.", "options": [{"label": "Done walking through", "to": "sf_matters"}]}, "sf_matters": {"who": "What matters most", "say": "Of those, which one matters most to you?", "inputs": [{"key": "topPriority", "label": "What matters most to them"}], "options": [{"label": "Next", "to": "sf_q"}]}, "sf_book": {"who": "Book it", "say": "That's exactly what Jared, our founder, digs into on a free 30-minute strategy call. He shows you what it would take to fix that for [Company] and what it's worth in calls. You keep everything either way. Does [day/time] or [day/time] work better?", "book": true, "options": [{"label": "Booked", "to": "sf_confirm", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "sf_link"}, {"label": "Not yet", "to": "sf_notyet"}, {"label": "Not interested", "to": "d_bye"}], "note": "First call was a 5 Star call? Say \"Jared, who owns Elevated Audience\" instead of \"Jared, our founder\"."}, "sf_later_look": {"who": "They'll look first", "say": "Totally fine. When's a good time to call you back once you've had a look?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, "sf_resend": {"who": "Didn't get it", "say": "Let me make sure you have it. It often lands in spam or promotions. Can you check while I'm on the line? It's from [Your name] at Elevated.", "options": [{"label": "Found it", "to": "sf_found"}, {"label": "Not there", "to": "sf_resend_email"}]}, "sf_resend_email": {"who": "Resend it", "say": "I have it going to [email on file]. Is that the right one, or is there a better one?", "inputs": [{"key": "email", "label": "Email (if different)", "type": "email"}], "options": [{"label": "Confirmed, resend after the call", "to": "end_resend_snap"}]}, "sf_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with Elevated, following up on the [what you sent] I sent over for [Company]. The biggest thing in it is [top finding]. Call or text me back at [number].", "note": "They agreed to a text on the first call, so one short text after the voicemail is fine on attempt 1. Don't text after every attempt.", "options": [{"label": "Left it", "to": "end_report_vm"}]}, "sf_found": {"who": "Found it in spam", "say": "Great, that's it. The quick version: [top finding]. Want me to walk you through the rest real quick?", "options": [{"label": "Sure", "to": "sf_walkthrough"}, {"label": "\"I'll look at it myself\"", "to": "sf_later_look"}]}, "sf_confirm": {"who": "Confirm the email for the invite", "say": "Perfect. I'll send the invite to [email on file]. Is that still the best one?", "inputs": [{"key": "email", "label": "Email (if different)", "type": "email"}], "options": [{"label": "Confirmed", "to": "end_booked"}]}, "sf_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, so you can grab a time that works.", "options": [{"label": "Next", "to": "end_report_open"}]}, "sf_q": {"who": "Qualified yet?", "say": "", "hint": "Revenue blank on the contact? They took the snapshot before qualifying.", "options": [{"label": "Already qualified", "to": "sf_book"}, {"label": "Not qualified yet", "to": "g_rev"}]}, "sf_notyet": {"who": "Not yet", "say": "No problem. Sit with it, and I'll check back in a few days. Anything in it raises a question, text me at [number].", "exit": true, "options": [{"label": "Said it", "to": "end_report_open"}]}}, "fields": ["whatSent", "topFinding", "firstCall"], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared, our founder, maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "sf_confirm", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Sure. I'll text you a link to book a free 30-minute call with Jared, our founder, so you can pick a time once you've gone through it.", "options": [{"label": "Text the link", "to": "end_report_open"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "You asked for the [what you sent], so I'm making sure it's useful. Two minutes.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_report_noanswer", "$open": "sf_open", "$vm": "sf_vm", "$offer": "end_report_open", "$book": "sf_confirm", "$no": "d_bye", "$agency": "d_bye_agency", "$qualify": "g_rev", "$qualified": "sf_book"}, "pruned": ["d_bye_listing", "d_bye_no", "d_bye_nocap", "d_bye_timing", "g_disclose"]}, {"id": "dir-verify", "label": "Directory verification call", "heat": "cold", "when": "Approved slices only", "context": "Goal: get the owner to verify (claim) their listing. Verify first, then one question. Open the live profile before dialing. Call in their time zone: no 7 am calls.", "after": "Send the verification link right after the call, whatever the outcome. When they verify, it's a claim: the claim call covers the profile and Preferred; skip anything you already asked. A no to the offer is fine: Nurture, and a Maps scan in about 2 weeks. No marketing in the voicemail.", "family": "directory", "afterSteps": [{"text": "Send the verification link now, to the company email.", "ifCap": "email", "except": ["end_verify_sent"]}], "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "dv_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "dv_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "dv_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "dv_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with 5 Star Home Service Pros. Just let [Name] know it's about [Company]'s free listing on our directory.", "note": "If someone asks point-blank whether [Name] knows you, don't say yes: \"Not yet, that's why I'm calling.\"", "options": [{"label": "Putting me through", "to": "dv_open"}, {"label": "Transferred to voicemail", "to": "dv_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "ai_what": {"who": "\"What does ChatGPT have to do with it?\"", "say": "More and more homeowners ask ChatGPT and Google's AI who the best [trade] company near them is, and it gives a short list. Most contractors have no idea whether they're on it. Are you getting any calls from it?", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}]}, "ai_no": {"who": "If they say no", "say": "Yeah, I'm hearing that from a lot of [trade] owners. Most have no idea whether they come up in there, and it's not random who does.", "note": "Checked ChatGPT before the call and they weren't in it? Add: \"I asked ChatGPT for the best [trade] company in [City], and [Company] wasn't in the answer.\" They did show up? Say this instead: \"That's interesting, because when I asked ChatGPT, [Company] did come up. So it's working for one search. The question is the other services and towns you cover.\" Never quote a result you didn't check.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_yes": {"who": "If they say yes", "say": "That's awesome, glad to hear it. How are you tracking that? Are customers telling you they found you there, or do you have a system that shows you for sure?", "options": [{"label": "Customers mention it / not tracked", "to": "ai_notrack", "set": {"tracking": "Not tracked (customers mention it)"}}, {"label": "They have call tracking", "to": "ai_track", "set": {"tracking": "Tracked"}}]}, "ai_notrack": {"who": "If they're not really tracking it (most aren't)", "say": "That's the gap most owners have. If you can't see which calls come from ChatGPT versus Google versus referrals, you can't double down on what's working.", "options": [{"label": "Next", "to": "ai_cap"}]}, "ai_track": {"who": "If they do track it", "say": "Nice, you're ahead of most. Roughly what share of your calls is that? ... Your tracking shows the AI calls you already get. It can't show the searches where you don't come up at all, like other services or other towns you cover.", "inputs": [{"key": "aiShare", "label": "Share of calls from AI (what they said)"}], "options": [{"label": "Next", "to": "ai_cap"}], "note": "They already have a call tracking report, so never call ours \"the report\" or \"the breakdown\" here. When you offer it, use its full name: the AI visibility snapshot."}, "ai_cap": {"who": "Capacity (either branch)", "say": "If ChatGPT started sending you more calls, could your team handle the extra work right now?", "options": [{"label": "Yes, we can take more", "to": "g_disclose", "set": {"capacity": "Yes"}}, {"label": "No, we're maxed out", "to": "d_bye_nocap", "set": {"capacity": "No"}}, {"label": "Hiring soon / later", "to": "d_bye_timing", "set": {"capacity": "Not yet (hiring)"}}]}, "g_disclose": {"who": "Disclose Elevated (5 Star calls, before revenue)", "say": "Quick context so this makes sense: 5 Star was built by our sister company, Elevated Audience. They do marketing for home service companies. Your listing stays free either way.", "note": "One sentence, then straight into the revenue question. Already told them about Elevated Audience (the price or marketing-agency quick reply)? Skip this line.", "options": [{"label": "Next", "to": "g_rev"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Let's talk about your goals for [Company]. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "d_offer", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "d_offer": {"who": "Offer: describe it, then name it", "say": "Here's what I'd suggest. You said you want to be at [goal] this year. A good first step is seeing where [Company] shows up when people ask ChatGPT and Google's AI for a [trade] company in [City], where you don't, and the top three to five things to fix. It's free, and a couple of minutes to read. We call it an AI visibility snapshot. Want me to put one together?", "note": "No number given? Open with: \"You said growth matters to you this year.\"", "options": [{"label": "Yes, put one together", "to": "b_handoff"}, {"label": "No thanks", "to": "d_bye"}]}, "b_handoff": {"who": "Hand off to Jared (only after the yes)", "say": "Great. I'll send it today so you see it first. Jared, who owns Elevated Audience, asked me to set up a free 30-minute call with you, so he can walk you through it and share the steps you can take first to get to [goal]. Does [day/time] or [day/time] work better?", "note": "Book it while they're on the line. A link is the fallback, not the plan. No number given? Say \"to where you want to be\". No to the call but still wants it? That's \"Just send it\". Never drop something you just promised to send. If they raised tracking, add after \"what he'd fix first\": \"He can also show you how to see which calls come from where.\"", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link"}, {"label": "Wants to see it first", "to": "b_first"}, {"label": "Just send it", "to": "sn_email"}, {"label": "Doesn't want the call or the snapshot", "to": "d_bye"}]}, "b_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, and your snapshot will get there first, so you can decide if it's worth 30 minutes.", "options": [{"label": "Next", "to": "sn_email"}]}, "b_first": {"who": "Wants to see it first", "say": "Totally fair. Let's hold a time anyway. If your snapshot doesn't make it worth 30 minutes, text me and I'll cancel it. No hard feelings. Does [day/time] work?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Still wants to wait", "to": "sn_email"}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. Should the invite go to the same email as the verification link, or is there one you check more?", "inputs": [{"key": "otherEmail", "label": "Email for the invite", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "sn_email": {"who": "Email for the snapshot or scan", "say": "Should I send it to the same email as the verification link, or is there one you check more?", "inputs": [{"key": "otherEmail", "label": "Email they check (if different)", "type": "email"}], "options": [{"label": "Got the email", "to": "cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "bk_email_new": {"who": "Email for the invite (no email yet)", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. Your listing stays free either way, and I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_nocap": {"who": "Exit line: no capacity", "say": "Sounds like business is good, and that's great to hear. I'll check back in a few months in case that changes. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_nocap"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_no": {"who": "Exit line: not interested", "say": "Understood. Thanks for the time, [Name]. Your listing stays free either way.", "exit": true, "options": [{"label": "Said it", "to": "end_notinterested"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name]. Your listing stays free either way.", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "dv_open": {"who": "Opener", "say": "It's [Your name] with 5 Star Home Service Pros. [Company] has a listing on our directory, and we're asking owners to verify their profiles so homeowners see accurate information. It's free and takes about two minutes. Can I email you the link?", "options": [{"label": "Yes, send the link", "to": "dv_email"}, {"label": "\"What is this?\"", "to": "dv_what"}, {"label": "Not interested", "to": "d_bye_no"}]}, "dv_what": {"who": "\"What is this?\"", "say": "Fair question. 5 Star Home Service Pros is a free directory that ranks [trade] companies in [City] by their Google reviews. Nobody pays to be on it. [Company] is #[rank] out of [total] right now. Verifying doesn't change your rank. It just makes sure your hours, phone and services are right. Can I email you the link?", "note": "Only quote a rank you just checked on the live page.", "options": [{"label": "Send the link", "to": "dv_email"}, {"label": "Not interested", "to": "d_bye_no"}]}, "dv_email": {"who": "Get the email", "say": "What's the best email for you? It needs to be on your company's domain so the verification goes through.", "inputs": [{"key": "email", "label": "Company email", "type": "email"}], "options": [{"label": "Got it", "to": "dv_bridge"}, {"label": "Just wants the link", "to": "end_verify_sent"}], "note": "Company email broken or bouncing? Take the email they do use. Jared can add them as owner from the admin, and they sign in with a magic link."}, "dv_vm": {"who": "Voicemail", "say": "Hi [Name], [Your name] with 5 Star Home Service Pros, calling about [Company]'s listing on our directory. We're asking owners to verify their profiles, it takes two minutes. You can reach me at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}, "dv_bridge": {"who": "Verify first, then one question", "say": "Perfect. I'll send the link right after we hang up. Verifying takes two minutes. One more question while I have you: are you getting any calls from ChatGPT right now?", "note": "Don't explain Elevated here; it's too much at once. Whatever happens next, send the link after the call.", "options": [{"label": "No", "to": "ai_no", "set": {"chatgpt": "No"}}, {"label": "Yes", "to": "ai_yes", "set": {"chatgpt": "Yes"}}, {"label": "\"What do you mean?\"", "to": "ai_what"}, {"label": "Just wants the link", "to": "end_verify_sent"}]}}, "fields": ["rank", "total"], "objections": [{"id": "price", "label": "How much?", "say": "Your listing is free, and it stays free. If you mean marketing help, that's our sister company, Elevated Audience. Their programs start at $2,495 a month plus ad spend, month to month. Which one fits depends on your market. That's what Jared, who owns Elevated Audience, maps out on a free 30-minute call. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email_new", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. I'll email you the link so you can verify it.", "options": [{"label": "Get the email", "to": "dv_email"}, {"label": "Already past the ChatGPT question: tell them what you'd send", "to": "d_offer", "ifCap": "invest", "equals": "Yes"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. I'm calling about [Company]'s free listing, and it stays free either way. I do have one quick question about how customers find you. If it's not useful, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "d_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Fair question. 5 Star is a free directory, and it stays free. It's built and managed by our sister company, Elevated Audience, a marketing agency for home service companies. Nothing you buy changes your score. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who runs the directory.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Only wants the listing", "to": "dv_email"}, {"label": "Not interested", "to": "d_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "5 Star calls: \"Hi [Name], it's [Your name] from 5 Star Home Service Pros. Our sister company, Elevated Audience, ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, who owns Elevated Audience, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "dv_open", "$vm": "dv_vm", "$qualify": "g_disclose", "$qualified": "d_offer", "$afterCell": "end_snapshot", "$bridge": "dv_email", "$listing": "d_bye_listing", "$no": "d_bye", "$agency": "d_bye_agency", "$book": "bk_email_new"}, "pruned": ["b_link_warm", "d_bye_listing", "lk_cell", "md_offer"]}, {"id": "reactivation", "label": "Reactivation", "heat": "warm", "when": "Quarterly campaign", "context": "A past strategy call that didn't close, or a former client who left on good terms. Read the Lost reason and the notes first.", "after": "Lost on timing? Lead with timing. Went with a competitor? Ask how it's going and set Nurture: Has an agency. Still a problem: requalify (revenue now versus their goal), then book.", "family": "cold", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "rx_open"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "rx_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "rx_open"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "rx_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. It's a follow-up from the conversation [Name] had with Jared back in [month].", "note": "If they ask whether [Name] knows you: \"[Name] talked with Jared, our founder, back in [month]. I'm on his team.\"", "options": [{"label": "Putting me through", "to": "rx_open"}, {"label": "Transferred to voicemail", "to": "rx_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "g_rev": {"who": "Qualify: revenue now versus their goal", "say": "Before I set it up, let's get Jared fresh numbers. Where's revenue right now, and what's your goal for this year?", "note": "Don't ask permission first; go straight in. Ask it, then wait. Write down their exact words: Jared's best closes use them. The bar is flexible right now. Today: about $300k+ and committed to growth. Jared sets it. Multi-location or 10+ staff: check for a client conflict first. Goal period is 'this year' for Q4. In January, switch the goalWhen var in calls.json to 'this time next year'.", "inputs": [{"key": "revenueNow", "label": "Revenue now", "type": "money"}, {"key": "revenueGoal", "label": "Their goal", "type": "money"}], "options": [{"label": "At or above the bar", "to": "g_priority", "set": {"revenue": "At or above the bar"}}, {"label": "Below the bar", "to": "d_bye_small", "set": {"revenue": "Below the bar"}}, {"label": "Won't say", "to": "g_priority", "set": {"revenue": "Didn't say"}}]}, "g_priority": {"who": "How important is it", "say": "How important is hitting that this year? Top priority, or more of a nice to have?", "note": "No number given? Ask: \"How important is growth for you this year? Top priority, or more of a nice to have?\"", "options": [{"label": "Top priority", "to": "g_invest", "set": {"growth": "Top priority"}}, {"label": "Important, not the top thing", "to": "g_invest", "set": {"growth": "Important, not the top thing"}}, {"label": "Nice to have / not now", "to": "d_bye", "set": {"growth": "Nice to have"}}]}, "g_invest": {"who": "Sounds doable", "say": "If there were a clear plan to get you to [goal], does acting on it this year sound doable for you?", "note": "No number given? Say \"to where you want to be\". A yes here plus a yes on priority is the reason to book. Never say budget or invest: it sends them to the checkbook. \"Doable\" gets them picturing themselves doing it.", "options": [{"label": "Yes", "to": "rx_book", "set": {"invest": "Yes, doable"}}, {"label": "Not right now", "to": "d_bye", "set": {"invest": "Not right now"}}]}, "bk_email": {"who": "Email for the invite", "say": "Perfect. What's the best email for the invite, one you check yourself?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "Already have their email? Read it back to confirm.", "options": [{"label": "Got the email", "to": "bk_cell"}]}, "bk_cell": {"who": "Cell for the reminder", "say": "And is the number I called you on your cell, or is there a better one? I'll text you a reminder before the call.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_booked"}]}, "b_link_warm": {"who": "Can't pick a time now", "say": "No problem. I'll text you a link to Jared's calendar right after we hang up, so you can grab a time that works.", "options": [{"label": "Next", "to": "lk_cell"}]}, "cell": {"who": "Get the cell", "say": "And is the number I called you on your cell, or is there a better one? I'll text you when it's sent, because these sometimes land in spam.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_snapshot"}]}, "lk_cell": {"who": "Cell for the text", "say": "Is the number I called you on your cell? I'll text it there.", "inputs": [{"key": "cell", "label": "Cell", "type": "tel"}], "options": [{"label": "Got the cell", "to": "end_interested"}]}, "d_bye": {"who": "Exit line (a no is fine)", "say": "No problem at all. Thanks for the time, [Name]. I'll check back in a few weeks.", "exit": true, "note": "Never argue.", "options": [{"label": "Said it", "to": "end_nurture_scan"}]}, "d_bye_small": {"who": "Exit line: below the bar", "say": "Appreciate you sharing that, [Name]. I think we're a little early for each other. I'll check back in a few months.", "exit": true, "options": [{"label": "Said it", "to": "end_small"}]}, "d_bye_timing": {"who": "Exit line: timing", "say": "Makes sense. When's a better time to pick this back up?", "exit": true, "inputs": [{"key": "followUpWhen", "label": "When to pick it back up"}], "options": [{"label": "Got a date", "to": "end_timing"}, {"label": "No date given", "to": "end_timing"}]}, "d_bye_agency": {"who": "Exit line: happy with their agency", "say": "Glad it's working. If anything changes, you've got my number. Thanks for the time, [Name].", "exit": true, "note": "Never knock the other agency.", "options": [{"label": "Said it", "to": "end_agency"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "rx_open": {"who": "Opener", "say": "It's [Your name] with Elevated. You talked with Jared back in [month] about [their goal]. I wanted to check in: how did that turn out?", "options": [{"label": "Still a problem", "to": "rx_still"}, {"label": "Went with someone else", "to": "rx_else"}, {"label": "Timing wasn't right", "to": "rx_timing"}, {"label": "Solved it / doing well", "to": "rx_good"}, {"label": "Bad time", "to": "later"}], "note": "Former client? Say: \"You worked with us back in [month]. I wanted to check in: how's [their goal] going now?\""}, "rx_still": {"who": "If it's still a problem", "say": "Got it. Maps rankings move a lot in a few months. Would it be worth a fresh look? Jared can check where you come up on Google Maps across your area today, so you see where you stand now compared to [month].", "options": [{"label": "Yes, take a fresh look", "to": "g_rev"}, {"label": "Not now", "to": "d_bye_timing"}]}, "rx_else": {"who": "Went with someone else", "say": "Makes sense. How's it going with them?", "options": [{"label": "Going well", "to": "d_bye_agency", "set": {"agency": "Went with someone, going well"}}, {"label": "Not great", "to": "rx_still", "set": {"agency": "Went with someone, not going well"}}]}, "rx_book": {"who": "Book it", "say": "Let's get you 30 minutes with Jared. Before the call he'll check where you come up on Google Maps today, and look at your website and any ads you're running. On the call he'll show you where you stand now, who's getting the calls you're missing, and what he'd do first to get you to [goal]. You keep everything he finds either way. Does [day/time] or [day/time] work better?", "book": true, "options": [{"label": "Booked", "to": "bk_email", "set": {"booked": "Yes"}}, {"label": "Can't pick a time now", "to": "b_link_warm"}, {"label": "No", "to": "rx_bye"}]}, "rx_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with Elevated. You talked with Jared back in [month] about [their goal], and I wanted to check in on how it's going. Call me back at [number].", "options": [{"label": "Left it", "to": "end_vm"}]}, "rx_timing": {"who": "If the timing wasn't right", "say": "Makes sense. Is the timing any better now, or is it still a few months out?", "options": [{"label": "Better now", "to": "rx_still"}, {"label": "Still a few months out", "to": "d_bye_timing"}]}, "rx_good": {"who": "If they solved it", "say": "That's great to hear. Mind if I check back in a few months?", "exit": true, "options": [{"label": "Said it", "to": "end_timing"}]}, "rx_send": {"who": "Send me something: a fresh look", "say": "I'll have Jared check where [Company] comes up on Google Maps today, from points all across your area, and send you a screenshot. What's the best email for you?", "inputs": [{"key": "email", "label": "Email they check", "type": "email"}], "note": "A screenshot of the Google Maps scan, never the scan link.", "options": [{"label": "Got the email", "to": "cell"}, {"label": "No thanks", "to": "rx_bye"}]}, "rx_bye": {"who": "Exit line", "say": "No problem, [Name]. Thanks for the time. Mind if I check back in a few months?", "exit": true, "options": [{"label": "Said it", "to": "end_timing"}]}}, "fields": ["month", "goal"], "objections": [{"id": "price", "label": "How much?", "say": "Great question. Programs start at $2,495 a month plus ad spend, month to month with no long-term contract. Which one fits depends on your market. That's what Jared maps out on a free 30-minute strategy call. He looks at your market and tells you which program fits, if any. Does [day/time] or [day/time] work better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Picked a time", "to": "bk_email", "set": {"booked": "Yes", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "d_bye_agency", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Happy to. Here's what I'd send you.", "options": [{"label": "Tell them what you'd send", "to": "rx_send"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "salescall", "label": "Is this a sales call?", "say": "Fair question. You talked with Jared back in [month], so I'm checking in on how that turned out. If it's not useful, we'll leave it there.", "options": [{"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "rx_bye"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}, {"id": "isagency", "label": "Is this a marketing agency?", "say": "Yes. We're Elevated, a marketing company that only works with home service contractors like [Company]. Fair to keep going for a minute?", "note": "Answer it straight, then ask permission. Never hide who we are.", "options": [{"label": "Back to the call", "to": "$back"}, {"label": "Not interested", "to": "rx_bye"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "rx_open", "$vm": "rx_vm", "$qualify": "g_rev", "$qualified": "rx_book", "$afterCell": "end_snapshot", "$offer": "rx_send", "$no": "rx_bye", "$agency": "d_bye_agency", "$book": "bk_email"}, "pruned": ["b_first", "b_handoff", "b_link", "bk_email_new", "d_bye_listing", "d_bye_no", "d_bye_nocap", "d_offer", "g_disclose", "md_offer", "sn_email"]}, {"id": "noshow", "label": "No-show rebook", "heat": "hot", "when": "Within 10 minutes", "context": "They missed the strategy call. Assume life happened.", "after": "Next step for this stage: rebook the same strategy call (the Sales opportunity stays at Strategy Call Booked) and send the new invite while you're on the phone. Remove the no-show tag once rebooked.", "phase": "sales", "family": "sales", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "ns_call"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "ns_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "ns_call"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "ns_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] with Elevated. It's about the strategy call [Name] had booked with Jared today.", "note": "If they ask whether [Name] knows you: \"[Name] booked a call with Jared, our founder. I'm on his team.\"", "options": [{"label": "Putting me through", "to": "ns_call"}, {"label": "Transferred to voicemail", "to": "ns_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "ns_call": {"who": "Call", "say": "It's [Your name] with Elevated. Looks like we missed you for your call with Jared at [time]. No worries, days get away from everyone. Jared already did the prep on [Company], so it's worth the 30 minutes. He has [day/time] or [day/time] open. Which works better?", "options": [{"label": "Rebooked", "to": "end_rebooked", "set": {"booked": "Rebooked"}}, {"label": "Can't pick a time now", "to": "ns_link"}, {"label": "Not interested anymore", "to": "ns_lost"}], "book": true}, "ns_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] with Elevated. We had you down for a strategy call with Jared at [time]. No problem at all. Call me back at [number] and we'll find a new time.", "options": [{"label": "Left it", "to": "end_vm"}]}, "ns_link": {"who": "Can't pick a time now", "say": "No problem. I'll text you Jared's calendar link right now, so you can grab a time that works.", "options": [{"label": "Sending it", "to": "end_ns_link"}]}, "ns_lost": {"who": "Not interested anymore", "say": "Understood. Mind if I ask what changed? It helps Jared.", "exit": true, "inputs": [{"key": "lostReason", "label": "What changed"}], "options": [{"label": "Got it", "to": "end_ns_lost"}]}}, "fields": ["missedTime"], "objections": [{"id": "price", "label": "How much?", "say": "Good question. Programs start at $2,495 a month plus ad spend, month to month. Which one fits depends on your market, and that's exactly what Jared covers on your call. He has [day/time] or [day/time] open. Which works better?", "note": "A price question is a buying signal. Go for the booking.", "book": true, "options": [{"label": "Rebooked", "to": "end_rebooked", "set": {"booked": "Rebooked", "priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "ns_lost", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Sure. I'll text you Jared's calendar link so you can pick a time that works.", "options": [{"label": "Text the link", "to": "end_ns_link"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. I'll text you Jared's calendar link right now, so you can grab a time that works.", "inputs": [], "options": [{"label": "Text the link", "to": "end_ns_link"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "ns_lost"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "ns_call", "$vm": "ns_vm", "$book": "end_rebooked", "$no": "ns_lost", "$agency": "ns_lost", "$offer": "end_ns_link"}, "pruned": []}, {"id": "proposal", "label": "Quiet proposal", "heat": "warm", "when": "Proposal Presented + 14 days", "context": "Jared presented a proposal and it's been quiet for 14 days. They already had the strategy call, so you're not booking one. You're finding out where the decision stands. Jared keeps the deal.", "after": "Next step for this stage: a decision date, the real blocker, or a short call with Jared, never a new strategy call. Log what they said for Jared. Went another way: Jared marks it Lost with the reason, and it goes into Reactivation later.", "phase": "sales", "family": "sales", "start": "pick", "nodes": {"pick": {"who": "Confirm it's them", "say": "Hey, is this [Name]?", "options": [{"label": "It's them", "to": "pr_call"}, {"label": "Someone else picked up", "to": "gk1"}, {"label": "Voicemail", "to": "pr_vm"}, {"label": "No answer", "to": "end_noanswer"}]}, "gk1": {"who": "Gatekeeper", "say": "Oh, I was trying to reach [Name]. Are they around for a sec?", "note": "Ask for the owner by first name, like you already talk. Keep it light.", "options": [{"label": "Putting me through", "to": "pr_call"}, {"label": "\"What's this about?\"", "to": "gk2"}, {"label": "Transferred to voicemail", "to": "pr_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk2": {"who": "\"What's this about?\"", "say": "It's [Your name] from Jared's team at Elevated. It's about the proposal Jared walked [Name] through.", "note": "If they ask whether [Name] knows you: \"[Name] has been talking with Jared, our founder. I'm on his team.\"", "options": [{"label": "Putting me through", "to": "pr_call"}, {"label": "Transferred to voicemail", "to": "pr_vm"}, {"label": "Not available", "to": "gk_when"}]}, "gk_when": {"who": "Not available", "say": "No problem. When's the best time to catch [Name]?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Got a time", "to": "end_gatekeeper"}, {"label": "No good time given", "to": "end_gatekeeper"}]}, "later": {"who": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}], "note": "Same as the \"Call me later\" quick reply."}, "pr_call": {"who": "Call", "say": "It's [Your name] from Jared's team at Elevated. I wanted to check in on the proposal Jared walked you through on [proposal date]. Where are you at with it?", "options": [{"label": "Still deciding", "to": "pr_deciding"}, {"label": "Vague / gone quiet", "to": "pr_givenup"}, {"label": "It's price or terms", "to": "pr_price"}, {"label": "Went another way", "to": "pr_lost"}, {"label": "Ready to move forward", "to": "pr_ready"}, {"label": "Bad time", "to": "later"}]}, "pr_deciding": {"who": "If they're still deciding", "say": "Totally fair. What would you need to see to make a decision? ... Is anyone else weighing in on it? ... And when do you think you'll decide?", "inputs": [{"key": "decisionDate", "label": "Their decision date"}, {"key": "whoElse", "label": "Who else weighs in"}], "options": [{"label": "Got it", "to": "end_pr_followup"}]}, "pr_price": {"who": "If it's price or terms", "say": "That's worth a quick talk with Jared. He can go through the price and terms with you directly. Let me get you 15 minutes with him. Does [day/time] or [day/time] work?", "options": [{"label": "Booked with Jared", "to": "end_pr_jared"}, {"label": "Not yet", "to": "pr_deciding"}], "book": true}, "pr_lost": {"who": "If they went another way", "say": "Appreciate you telling me. Mind if I ask what made the difference? It helps us get better.", "inputs": [{"key": "lostReason", "label": "What made the difference"}], "options": [{"label": "Got it", "to": "end_pr_lost"}], "exit": true}, "pr_vm": {"who": "Voicemail", "say": "Hi [Name], it's [Your name] from Jared's team at Elevated, checking in on the proposal Jared walked you through. Call me back at [number] with any questions.", "options": [{"label": "Left it", "to": "end_vm"}]}, "pr_ready": {"who": "Ready to move forward", "say": "Great. I'll let Jared know right now so he can send the agreement over.", "options": [{"label": "Said it", "to": "end_pr_ready"}]}, "pr_givenup": {"who": "If they're vague or have gone quiet", "say": "Can I ask you straight? Have you given up on getting a better return from your marketing this year?", "note": "Ask it plainly and wait. Most people say they haven't. Then find out what's in the way.", "options": [{"label": "No, haven't given up", "to": "pr_deciding"}, {"label": "It's price or terms", "to": "pr_price"}, {"label": "Went another way", "to": "pr_lost"}]}}, "fields": ["proposalDate"], "objections": [{"id": "price", "label": "How much?", "say": "Good question for Jared, since he built your proposal.", "note": "", "book": true, "options": [{"label": "Set up 15 minutes with Jared", "to": "pr_price", "set": {"priceAsked": "Yes"}}, {"label": "Back to the call", "to": "$back", "set": {"priceAsked": "Yes"}}]}, {"id": "agency", "label": "Already have an agency", "say": "Makes sense. How's it going? Anything you wish they did better?", "note": "Never knock the other agency.", "options": [{"label": "Open to a second look", "to": "$back", "set": {"agency": "Has one, open to a second look"}}, {"label": "Happy with them", "to": "pr_lost", "set": {"agency": "Has one, happy"}}]}, {"id": "sendinfo", "label": "Send me something", "say": "Sure. I'll have Jared resend the proposal today. Is the email he used still the best one?", "options": [{"label": "Confirmed", "to": "end_pr_followup"}, {"label": "Back to the call", "to": "$back"}]}, {"id": "later", "label": "Call me later", "say": "No problem. When's a better time to catch you?", "inputs": [{"key": "callbackWhen", "label": "When to call back"}], "options": [{"label": "Save the callback", "to": "end_callback"}]}, {"id": "notinterested", "label": "Not interested", "say": "", "hint": "Don't argue. Say the exit line on the next screen.", "options": [{"label": "End the call", "to": "pr_lost"}]}, {"id": "wrong", "label": "Wrong person / number", "say": "Sorry about that, I'll fix it on our end.", "inputs": [{"key": "wrongNote", "label": "What was wrong (optional)"}], "options": [{"label": "End the call", "to": "end_wrong"}]}, {"id": "dnc", "label": "Take me off your list", "say": "Understood. I'll make sure you don't hear from us again.", "options": [{"label": "End the call", "to": "end_dnc"}]}], "ends": {"end_booked": {"outcome": "Meeting Booked", "follow": "none", "title": "Strategy call booked", "steps": ["Book it in Strategy Call with Jared while they're on the phone, and ask them to accept the invite.", "Sales pipeline: Strategy Call Booked, Booked By = Cesar (SDR).", "Promised an AI visibility snapshot or Maps scan? Run it now so it lands before the call. A Maps scan goes as a screenshot, never the scan link."]}, "end_snapshot": {"outcome": "Snapshot Requested", "follow": 1, "title": "Snapshot or scan requested", "steps": ["Run it today: the AI visibility snapshot through Blast SDR in Discord, or the Google Maps scan in Elevated Engine (Growth > GBP Heat Maps > One-off scans).", "AI visibility snapshot: put its share link in the contact's Report Link field. That sends the email and text and schedules the follow-up calls.", "Google Maps scan: email and text a screenshot of the map and summary yourself. Never send the scan link: it opens an internal system. Set Next Follow-Up Date to the next business day.", "Promised Jared's calendar link? Text it with the snapshot or scan.", "Prospecting: Snapshot Sent."]}, "end_interested": {"outcome": "Interested", "follow": 2, "title": "Interested, no booking yet", "steps": ["Prospecting: Interested.", "Promised Jared's calendar link or a screenshot? Text it now. A scan goes as a screenshot, never the link.", "Follow up in 2 business days."]}, "end_nocap": {"outcome": "No Capacity", "follow": 90, "title": "No capacity", "steps": ["Thank them. Recheck in 90 days: capacity changes when they hire."]}, "end_timing": {"outcome": "Not Now", "follow": "ask", "defaultDays": 90, "title": "Not now (timing)", "steps": ["Set Next Follow-Up Date to the date they gave, or 90 days."]}, "end_small": {"outcome": "Too Small", "follow": 90, "title": "Too small for now", "steps": ["Thank them. Revisit in 90 days.", "Close to the bar and clearly pushing to grow? Flag it for Jared in the note."]}, "end_notinterested": {"outcome": "Not Now", "follow": 90, "title": "Not interested", "steps": ["Thank them. Never argue.", "Back on the list in 90 days."]}, "end_agency": {"outcome": "Using Competitor", "follow": 60, "title": "Has an agency", "steps": ["Check back in 60 days. When that agency drops the ball, you want to be the next call."]}, "end_gatekeeper": {"outcome": "Gatekeeper / Need Decision Maker", "follow": "ask", "defaultDays": 2, "title": "Didn't reach the owner", "steps": ["Set Next Follow-Up Date to the callback time they gave, or 2 business days."]}, "end_callback": {"outcome": "Callback Requested", "follow": "ask", "defaultDays": 2, "title": "Callback requested", "steps": ["Set Next Follow-Up Date to the time they asked for."]}, "end_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The disposition workflow adds 1 to Call Attempts and sets the next date from the cadence."]}, "end_wrong": {"outcome": "Wrong Number / Bad Data", "follow": "none", "title": "Wrong number", "steps": ["Off the list. Note what was wrong so the data gets fixed."]}, "end_dnc": {"outcome": "Do Not Call", "follow": "none", "title": "Do not call", "steps": ["Tag dnc and turn on Do Not Disturb for all channels. Permanent."]}, "end_listing": {"outcome": "Not Now", "follow": 90, "title": "Listing help only", "steps": ["Log any listing changes for Jared to apply.", "No marketing follow-up for 90 days."]}, "end_resend_hm": {"outcome": "Interested", "follow": 1, "title": "Heat map not received", "steps": ["Resend the Google Maps heat map right after the call as a screenshot of the map, by email and text. Never the scan link.", "Call back tomorrow to walk them through it."]}, "end_resend_snap": {"outcome": "Snapshot Requested", "follow": 1, "title": "Resend and check back", "steps": ["Resend the snapshot or scan right after the call. A Maps scan goes as a screenshot, never the link.", "Call back tomorrow."]}, "end_verify_sent": {"outcome": "Interested", "follow": 2, "title": "Verification link sent", "steps": ["Email them the claim link from their profile.", "When they verify, it's a claim: run the Directory verified or claimed call."]}, "end_rebooked": {"outcome": "Meeting Booked", "follow": "none", "title": "No-show rebooked", "steps": ["Rebook in Strategy Call with Jared and send the new invite while they're on the phone.", "Sales: move the opportunity back to Strategy Call Booked and clear the no-show."]}, "end_ns_lost": {"outcome": "Not Now", "follow": 90, "title": "No longer interested", "steps": ["Tell Jared. He marks the opportunity Lost with the reason."]}, "end_pr_ready": {"outcome": "Interested", "follow": "none", "title": "Ready to move forward", "steps": ["Tell Jared right away so he sends the agreement.", "Note anything they asked for."]}, "end_pr_followup": {"outcome": "Interested", "follow": "ask", "defaultDays": 5, "title": "Still deciding", "steps": ["Set Next Follow-Up Date to their decision date.", "Note who else needs to weigh in, for Jared.", "Promised a resend? Ask Jared to resend the proposal today, to the email they confirmed."]}, "end_pr_jared": {"outcome": "Meeting Booked", "follow": "none", "title": "15 minutes with Jared", "steps": ["Book 15 minutes on Jared's calendar and send the invite.", "Note the price or terms question for Jared."]}, "end_pr_lost": {"outcome": "Not Now", "follow": 90, "title": "Went another way", "steps": ["Tell Jared. He marks it Lost with the reason.", "It goes into the next Reactivation list."]}, "end_report_vm": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "Voicemail left", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_report_open": {"outcome": "Interested", "follow": 3, "title": "Interested, not booked yet", "steps": ["Next call in 3 business days, or the date they gave.", "Promised Jared's calendar link? Text it now.", "Note what stood out to them, so the next call starts there."]}, "end_report_noanswer": {"outcome": "No Answer / Voicemail", "follow": "cadence", "title": "No answer", "steps": ["The snapshot follow-up runs on its own: calls the next business day, day 3 and day 7.", "After the day 7 call, it goes to Nurture for 30 days."]}, "end_nurture_scan": {"outcome": "Not Now", "follow": 14, "title": "No for now: nurture, Maps scan in 2 weeks", "steps": ["Thank them. A no is fine. Never argue.", "Prospecting: Nurture.", "In about 2 weeks, run a Google Maps scan (Elevated Engine > Growth > GBP Heat Maps > One-off scans). Send a screenshot of the map, never the link, with this line:", "Elevated calls: \"Hi [Name], it's [Your name] with Elevated. I ran a free Google Maps scan for [Company]. It shows where you come up in the top three on Google Maps across your service area. You're in the top three in about [X]% of it. Want Jared, our founder, to walk you through it?\""]}, "end_ns_link": {"outcome": "Interested", "follow": 2, "title": "Calendar link sent", "steps": ["Text Jared's calendar link now.", "Keep the no-show tag until they rebook.", "No rebook in 2 business days? Call again."]}, "end_nolisting": {"outcome": "Callback Requested", "follow": 0, "title": "Couldn't find the listing", "steps": ["Find the listing with Jared today.", "Call them back today, as promised."]}, "end_gk_sent": {"outcome": "Gatekeeper / Need Decision Maker", "follow": 7, "title": "Report sent to the gatekeeper: call them back in 7 days", "steps": ["Email [gatekeeper name] a screenshot of the map today (Elevated Engine > Growth > Lead Gen > View Report), never the scan link. Subject: \"Your Google Maps report for [Company]\". Body: \"Hi [gatekeeper name], thanks for your help today. Here's the Google Maps report I mailed [Name] in the big blue envelope. It shows where [Company] comes up in the top three on Google Maps, and where competitors get those calls instead. I'll give you a call next week to go over it. [Your name]\"", "Add a task on the contact: \"Call [gatekeeper name] back, ask for them by name\", due in 7 days. Put their name and email in the task.", "Set Next Follow-Up Date 7 days out. On that call, use the Gatekeeper call-back script."]}}, "slots": {"$noanswer": "end_noanswer", "$open": "pr_call", "$vm": "pr_vm", "$price": "pr_price", "$no": "pr_lost", "$agency": "pr_lost", "$offer": "end_pr_followup"}, "pruned": []}]}