REVIVE: STOP TEXTING OLD LEADS "JUST CHECKING IN" Everyone who asked about a job and never booked is already on your books. This is how to pull them into one list, clean it, and send three texts over seven days that give them a real reason to reply. None of the texts says "just checking in". Every name, job, date and number here is an example to adapt. Nothing here is a result; it is a checklist. BUILD THE LIST 1. PULL THE OLD ENQUIRIES From your CRM, your inbox or your form tool, export everyone who asked about a job in the last 12 months. Leave out anyone who booked, anyone who is already a customer, and anyone who asked you not to contact them. 2. KEEP ONLY PEOPLE WHO AGREED TO TEXTS Type Y in consent_on_form only for people who ticked the box agreeing to be texted on your form. If your form never asked, type N. The sheet won't mark them for a text. 3. PASTE THEM INTO THE SHEET (revive-template.csv) The sheet rules out any row with no phone, a repeated phone, a ZIP code you don't serve, an enquiry more than 12 months old, or no Y for consent. A row with no ZIP code isn't ruled out, so check where the job was before you text them. No phone, a repeated phone and a ZIP code you don't serve are the CLEAN rules, applied to your own enquiries: https://hbunn.io/free/clean THE THREE TEXTS (pick your trade) Swap each {{field}} for your own details. {{month}} is the month they asked. Send during your working hours, from the number your business texts from. TEXT ONE, DAY 1: A REASON TO REPLY, AND ONE QUESTION Roofing: Hi {{first_name}}, it's {{your_name}} at {{business}}. You asked us about {{service}} back in {{month}}. Is it still on your list, or did you get it sorted? Reply STOP to opt out. Cleaning: Hi {{first_name}}, it's {{your_name}} at {{business}}. You asked us about {{service}} back in {{month}}. Do you still need the clean, or did you get it sorted? Reply STOP to opt out. Heating and air (HVAC): Hi {{first_name}}, it's {{your_name}} at {{business}}. You asked us about {{service}} back in {{month}}. Is it still giving you trouble, or did you get it sorted? Reply STOP to opt out. TEXT TWO, DAY 3: TWO REAL TIMES (only if they haven't replied) Roofing: Hi {{first_name}}, if the roof is still on your list, {{staff_name}} can come and look at it {{time_1}} or {{time_2}}. Which suits you better? Reply 1 or 2. Reply STOP to opt out. Cleaning: Hi {{first_name}}, if you still want the clean, we can do {{time_1}} or {{time_2}}. Which suits you better? Reply 1 or 2. Reply STOP to opt out. Heating and air (HVAC): Hi {{first_name}}, if it still needs looking at, {{staff_name}} can come out {{time_1}} or {{time_2}}. Which suits you better? Reply 1 or 2. Reply STOP to opt out. TEXT THREE, DAY 7: CLOSE THE FILE (only if they still haven't replied) Roofing: Hi {{first_name}}, should I close your file on the {{service}}? If you still want it done, reply and we'll pick it up. Either answer is fine. Reply STOP to opt out. Cleaning: Hi {{first_name}}, should I close your file on the {{service}}? If you'd still like it done, reply and we'll pick it up. Either answer is fine. Reply STOP to opt out. Heating and air (HVAC): Hi {{first_name}}, should I close your file on the {{service}}? If it still needs looking at, reply and we'll pick it up. Either answer is fine. Reply STOP to opt out. After text three, send nothing more to anyone who hasn't replied. WHEN THEY REPLY Any reply ends the texts for that person. One named person on your team answers every reply. They reply 1 or 2: You're booked. {{staff_name}} will be with you {{chosen_time}}. If anything changes, just reply to this text. Type Y in replied and booked. They still want it, or ask a question (price included): Your named person answers and offers two real times. Type Y in replied. They got it sorted, or say no: No problem, thanks for letting us know. We won't text again. Type Y in replied and stopped. They reply STOP, or ask you to stop in any words: Send nothing else. Type Y in stopped. THE SHEET (revive-template.csv) The formulas are written for Google Sheets. They assume the columns in this order. A name Their name. B phone Their phone number, in any format. C zip The ZIP code of the job. D first_enquiry_date The day they first asked, as a date. E service_asked What they asked about. F consent_on_form Y if they ticked the box agreeing to be texted, N if not. G phone_digits Worked out for you: the last ten digits of the phone. =IF(B2="","",IFERROR(VALUE(RIGHT(REGEXREPLACE(TO_TEXT(B2),"\D",""),10)),"")) H days_since Worked out for you: days since they asked. =IF(ISNUMBER(D2),TODAY()-D2,"") I eligible Worked out for you. TRUE when the row passes every rule: consent Y, a ten-digit phone seen for the first time, asked 365 days ago or less, and a ZIP code in your list in column S (a row with no ZIP code passes this check). =IF(A2="","",AND(F2="Y",LEN(G2)=10,COUNTIF(G$2:G2,G2)=1,ISNUMBER(H2),H2<=365,OR(C2="",COUNTA(S$2:S)=0,COUNTIF(S$2:S,LEFT(C2,5))>0))) J next_step Worked out for you: Send text 1, Send text 2, Send text 3, Wait, Done: no more texts, Replied: a person answers, Booked, Stopped: send nothing, or Do not text. =IFERROR(IF(A2="","",IF(P2="Y","Stopped: send nothing",IF(O2="Y","Booked",IF(N2="Y","Replied: a person answers",IF(NOT(I2),"Do not text",IF(K2="","Send text 1",IF(M2<>"","Done: no more texts",IF(L2<>"",IF(TODAY()-L2>=4,"Send text 3","Wait"),IF(TODAY()-K2>=2,"Send text 2","Wait"))))))))),"Check the dates") K text1_sent The date you sent text one. L text2_sent The date you sent text two. It shows as due two days after text one: day 3. M text3_sent The date you sent text three. It shows as due four days after text two: day 7. N replied Y when they reply. O booked Y when they book. P stopped Y when they say STOP, or no. Q notes Anything else. R (empty) S your_service_zips The ZIP codes you serve, one per row. With column S empty, every ZIP code counts as yours. Type dates in the sent columns, not Y. If a sent column holds anything but a date, next_step reads "Check the dates". USE THE SHEET 1. In Google Sheets, choose File, Import, Upload, and pick revive-template.csv. Leave "Convert text to numbers, dates, and formulas" ticked. 2. Check it works (below). Then clear columns A to F on the example and the made-up rows. Keep the formulas in G to J. 3. Type the ZIP codes you serve down column S, over the test ones. 4. Paste your list into columns A to F, starting in row 2. 5. Select G2 to J2 and drag the corner down to your last row. 6. Each working day, filter column J, next_step, to Send text 1, Send text 2 or Send text 3. Send those texts, and type the date in the matching sent column. CHECK IT WORKS Type 80203 in S3, under the example's 80202. The example row should read Send text 1. If its date is more than 12 months ago by now, type a recent date over it first. Type these made-up rows under it and drag the formulas down: Test: Dana R. (303) 555-0187 80203 a recent date Y -> Send text 1 Test: Lee M. (303) 555-0142 80202 a recent date Y -> Do not text (same phone as the example) Test: Alex P. (no phone) 80202 a recent date Y -> Do not text Test: Chris B. (303) 555-0163 80401 a recent date Y -> Do not text (ZIP code not in your list) Type Y in replied on Dana's row: next_step reads "Replied: a person answers". BEFORE YOU TEXT ANYONE These notes are general guidance, not legal advice. No tick, no text. Text only people who agreed to be texted on your form. They agreed when they asked about the job. Whether that agreement covers a text months later is a question for your own adviser, and so is the exact wording of the box on your form. Say who you are in the first text, and keep "Reply STOP to opt out" on every text. If anyone replies STOP, send them nothing else.