The Unblock List

Friday, July 31 · about 45 minutes of hands-on work, in order of impact.

How to use this page. Every task on this list needs a real person — the AI assistants running in the background are already doing everything else. Each card says why it matters in one line. Click “Show me exactly what to do” on any card for step-by-step clicks and ready-to-paste text (with copy buttons). Any dotted underlined word can be tapped to open a plain-English explanation in a side card. Checkboxes save automatically, so you can close this page and come back.
New here? Read this first — who’s who and what’s what (2 min)

The business in one paragraph: stpierre.ai (Akash’s company) runs Facebook ads that get homeowners to ask for concrete-repair estimates. An automated chat assistant collects each homeowner’s details and phone number. Those ready-to-call homeowners (“leads”) are handed to Dan, a concrete-leveling contractor in Dallas — the paying customer. More good leads flowing to Dan = more revenue. Everything on this page either gets money moving, keeps leads flowing, or fixes something in that pipeline.

The cast:

  • Dan — the Dallas contractor who receives our leads. Priority #1 is keeping him supplied.
  • Jordan — the chat assistant (a bot) that talks to homeowners on Facebook.
  • Jean — the text-message assistant (a bot) that talks to contractors who apply to work with stpierre.ai.
  • GoHighLevel — the software that holds contacts, text messages, and automations. Some of its screens can only be operated by a human, which is why several tasks below exist.
  • Meta — Facebook’s company. Ads Manager is where ads run and get paid for; Business settings is where pages and permissions live.
  • The agents — AI assistants (Claude) working tasks in the background. If a task could be done by them, it’s not on this page.

Part 1 · Money on the table (~13 min)

Reply to 3 homeowners waiting in Facebook Messenger 10 min

Why: three real people asked for concrete-repair estimates this week, but the chat assistant asked for their ZIP code before their phone number, so none of them left a number. Messenger is the only way to reach them now. Each one becomes a sellable lead for Dan the moment we get a phone number. (The bot’s question order is already being fixed by the agents — this task is just recovering these three people.)

Show me exactly what to do
  1. Open facebook.com in a browser where Akash’s Facebook account is logged in.
  2. Switch into the business page — it’s the Dallas concrete page (brand name “Level King”). Top-right profile picture → see all profiles → select the page.
  3. Open the page’s Messenger inbox (paper-plane / Messages icon).
  4. Find these three conversations: Mei Flower (Plano — concrete step), Subhash Bhatia, and Terry Williams.
  5. Paste the message below into each thread (swap in their first name) and send.
Hey [name]! Happy to get you an estimate on that — what's the best number to text you at? Photos help too if you want to send them here.
What happens after you send
If any of them reply with a phone number, just type into the Claude chat window: “[name] replied with number [number]” — the agents will take it from there (log the lead and pass it to Dan). Nothing else needed from you.

Send Dan one text message (already written — copy, paste, send) 3 min

Why: Dan’s booking link is the last missing piece before qualified leads can book straight onto his calendar automatically. The same message also asks him to check and delete some test cards, and nudges him about one lead we never heard back on. It’s one text; it’s fully written below.

Show me exactly what to do

Text this to Dan’s phone (his number is in Akash’s phone / the CRM under Dan):

Hey Dan — good news, the direct lead feed into your board is working. No Zapier needed, so no $30/mo. Two quick things. Open one of the "DeleteMe" test cards and tell me if the notes and job details look right, then delete those test cards — I can't remove them from my side. Also send me your booking form link when you get a sec — it's under Settings > Booking Form in DripJobs. That's the last piece so leads book straight onto your calendar. One more — any word on Joseph, the Southlake pool deck guy from Friday? He's the only one I don't have an outcome on. Photos are here if you need them: https://sp-lead-media.stpierre.workers.dev/joseph-anwah
Background — what the three asks in the message mean
  • “DeleteMe” test cards: to prove our system can push leads directly into DripJobs (Dan’s job-tracking software), the agents sent about 5 fake test leads named “DeleteMe” onto his live board. He needs to confirm they look right, then delete them — we can’t delete them from our side.
  • Booking form link: once Dan sends his DripJobs booking link, leads can book appointments straight onto his calendar with no manual back-and-forth.
  • Joseph: Joseph Anwah is a homeowner (pool deck in Southlake) handed to Dan last Friday. Dan said “on it” and we’ve heard nothing since — he’s the only lead with no outcome recorded.

Part 2 · Two payments (~7 min) — AI is not allowed to touch money

Pay the $40.01 balance on the Facebook ad account 2 min

Why: a charge failed on the Mastercard ending 3716. Facebook stops showing ads when a balance goes unpaid — and this is the account the Dallas ads run on. $40.01 is all it takes.

Show me exactly what to do
  1. Go to business.facebook.com (logged in as Akash).
  2. Open Ads Manager, then the menu (☰) → Billing & payments.
  3. You’ll see the outstanding $40.01 balance → click Pay now.
  4. If the Mastercard fails again, pay with any other card on file — the point is clearing the balance today.

Buy a new domain name for cold email 5 min · ~$12

Why: the company wants to send introduction emails to prospective contractor clients (“cold email”), but you should never do that from your main domain — if emails get marked as spam it damages the main website’s reputation. So we need a separate, cheap domain. New email domains also need 2–3 weeks of “warm-up” before real sending, so every day this isn’t bought pushes the first emails further past mid-August. The moment it’s bought, the agents set up everything else automatically within about 10 minutes.

Show me exactly what to do
  1. Go to the domain registrar — Cloudflare is preferred (dash.cloudflare.com, same account that hosts the website) → Domain Registration → Register domains.
  2. Search for and buy something close to the company name, e.g. stpierregrowth.com or trystpierre.com. Any available variant is fine — it just needs to look legitimate.
  3. Pay (~$10–12/year).
  4. Then type into the Claude chat window: “domain bought: [the name]”. That’s the handoff — agents wire up the email records and start the warm-up automatically.

Part 3 · Screens only a human can click (~25 min)

Two apps — GoHighLevel and Facebook’s business settings — block automation on certain screens. Everything below has exact click paths and pre-written text. Zero decisions to make; it’s all been approved already.

GoHighLevel: five small jobs in one sitting 15–35 min

Why: these five jobs finish setting up Jean (the contractor-side text assistant) and fix a check that’s inflating our lead numbers. If you only have 5 minutes, do Job B — it switches off a set of 12 unapproved automatic emails that will otherwise fire at the next person who books a call.

Job A — Build Jean’s 5-message follow-up sequence (~15 min)

What this is: when a contractor applies to work with stpierre.ai, Jean should text them a short series of follow-ups until they reply. The five texts are written and approved below — this job is building the automation that sends them.

The five messages (use exactly as written — the lowercase style is intentional):

Text 1 · sends 5 minutes after they apply:

hey {{contact.first_name}}, this is jean with stpierre.ai — got your application for {{contact.sp_niche}} jobs. quick one: you the owner?

Text 2 · 1 hour after they apply:

still there?

Text 3 · 5 hours after they apply:

lmk if you have any questions! or i can send the link for the launch call

Text 4 · 24 hours after they apply:

just checking in — did you still want help adding {{contact.sp_niche}} jobs? one quick call maps your 90 days

Text 5 · 3 days after they apply:

should i close this out, or did you still want the jobs?

Text 1 fallback — use this instead of Text 1 only if the preview shows the “niche” field coming out blank:

hey {{contact.first_name}}, this is jean with stpierre.ai — got your application. quick one: what kind of work do you run?
About the double curly braces: {{contact.first_name}} is a fill-in-the-blank the software replaces with the person’s actual name. Paste them exactly as written — don’t edit inside the braces. If a preview ever shows literal braces instead of a name, use the fallback version and drop the niche word from Text 4 (“did you still want help adding more jobs?”).
No “text STOP to opt out” line — that’s deliberate, already decided. They opted in by applying; the STOP keyword still works automatically at the account level.

The wait times to type in — GoHighLevel counts each wait from the previous step, not from the application, so the numbers you enter are gaps:

StepMessage should land atWait to actually type in
Wait before Text 15 min after applying5 minutes
Wait before Text 21 hour after applying55 minutes
Wait before Text 35 hours after applying4 hours
Wait before Text 424 hours after applying19 hours
Wait before Text 53 days after applying2 days
Known trap: the wait-number box sometimes resets while you type. Set the unit dropdown first (minutes / hours / days), then type the number — and re-check each wait before leaving the step.

Click path:

  1. Log in to GoHighLevel → open the stpierre.ai sub-account.
  2. Left sidebar → AutomationCreate WorkflowStart from Scratch.
  3. Name it: SP - B2B Application Cadence (Jean)
  4. Add trigger → Contact Tag → tag: applied (this tag is stamped automatically on every applicant).
  5. On the same trigger, add a filter → Contact Tagdoes not havetest-lead (keeps our own test submissions out).
  6. Add Wait → 5 minutes → then Send SMS → paste Text 1.
  7. Repeat wait + SMS for Texts 2–5, using the wait column in the table above.
  8. Top right → Settings → turn Stop on Response ON. (This hands the conversation to Jean the second they reply — the whole point.)
  9. Add a goal/exit: Contact Taglaunch-call-bookedRemove from workflow. (Another automation stamps that tag when they book, so booked people stop getting texts.)
  10. Click Publish, top right. Saving is not publishing — this has bitten us before. Confirm the status says Published.
Job B — Switch OFF the armed 12-email sequence (~2 min · do this even if you skip everything else)

What this is: a workflow containing 12 automatic emails is currently live, and it fires at anyone who books a call. Problem: nobody has ever read or approved those 12 emails, and they mention a Zoom screen-share while the new call process is a plain phone call. It must be switched to Draft (off) before the next person books.

  1. In the same stpierre.ai sub-account → left sidebar → Automation.
  2. Find the workflow named SP — Pre-Call Nurture (12) — 2026-07-22 and open it.
  3. Top right: the toggle currently reads Publish — flip it to Draft.
  4. Confirm the little status chip next to the workflow name now says Draft.

Nothing gets deleted — the emails stay saved for review later. Turning it back on is the same toggle.

Job C — Switch ON the escalation receiver (1 click)

What this is: the opposite problem. The workflow that receives conversations Jean escalates to a human (complaints, tricky questions) is sitting in Draft — so right now an escalation goes nowhere. One click turns it on.

  1. Automation → open the workflow named SP Shim - Bot Handoff Forwarder.
  2. Top right → flip Draft to Publish.
  3. Confirm the chip reads Published.
Job D — Fix the booking calendar: phone call, not Google Meet (~5 min)

What this is: when a contractor books a “launch call,” the calendar currently generates a Google Meet video link — but the texts they just received say Akash will call them. Two quick edits on one screen:

  1. GoHighLevel, stpierre.ai sub-account → Calendars → open stpierre.ai launch call → edit.
  2. Team member AkashMeeting Location → change Google Meet to Phone → Save.
  3. While there, check availability: it’s currently 11:00–17:00 all seven days. If weekend calls aren’t wanted, uncheck Saturday and Sunday.
  4. Quick proof it works: open the calendar’s public booking page and confirm time slots show up. (If slots are empty, the usual culprit is the connected Google Calendar, not these settings.)

Already done automatically: Jean’s booking link is wired to this calendar and verified — no action needed on that part.

Job E — Paste the strict “is this a real lead?” check (~2 min)

What this is: when a homeowner messages the Facebook page, a small AI check decides whether they’re a genuine prospect or spam/an accidental click. The check currently in place is too loose — it calls ~90% of conversations “qualified” when the real rate is ~69%, which inflates every number on the scoreboard. The strict version is below, recovered word-for-word from the approved original. Paste it exactly — do not reword anything.

You asked, "What kind of {{custom_values.niche}} project can we help you with?" The customer replied: {{message.body}} Determine intent: Respond POSITIVE only if the message indicates potential interest in a {{custom_values.niche}} project. Services we offer: {{custom_values.ab_services}} Respond NEGATIVE if: - They are offering services, advertising, or soliciting our business - They need a service we do NOT offer: {{custom_values.kb_exclusions}} - They say they don't need anything, are just browsing, or clicked by accident - They are spam, automated messages, or crypto/advertising solicitations - They are offering to network, partner, or refer without a specific project of their own. Return only POSITIVE or NEGATIVE.

Where to paste it — note this one lives in the Dallas sub-account (“Level King”), not stpierre.ai:

  1. GoHighLevel → switch to the Level King sub-account.
  2. Left sidebar → Automation.
  3. Open the workflow *1. Qualified Convo Tracking.
  4. Click the step “2. Review First Message to Filter Out Accidental Clicks, etc.” (the GPT step).
  5. Select everything in the Prompt box and replace it with the copied text.
  6. Click Save action, then Publish (top right).

Already done automatically: the “services we do NOT offer” list this prompt refers to was missing and has been created (new concrete, foundation structural repair, asphalt, resurfacing, mobile homes, renters) — nothing will come out blank. The four wrongly-qualified leads since Jul 25 were also already un-tagged.

Facebook business settings: claim 2 pages, connect Instagram, add 2 tracking sources 10 min

Why: two new Facebook pages (for expanding into Austin, Houston, San Antonio) can’t run ads until Akash’s logged-in profile formally claims them — Facebook has no way to automate this. Same visit: connecting Instagram lets the chat assistant answer Instagram DMs (right now those people bounce and get lost), and two 1-minute “tracking source” setups teach Facebook’s ad system which conversations turn into leads on the new pages.

Part 1 — Claim the two Texas pages (~3 min)
  1. Go to business.facebook.comBusiness settings (logged in as Akash, main business account).
  2. Left menu: Accounts → PagesAddClaim an existing Facebook Page.
  3. Claim “TX Concrete Leveling & Repair”. It approves instantly (Akash admins both sides).
  4. Repeat for “ATX Concrete Leveling & Repair”.
  5. Still in Pages: select each of the four pages TX, ATX, HTX, SATXAdd people → add the user named “spai msngr su” → give it Full control. (HTX and SATX have been stuck waiting on exactly this step.) This is the system account the automation uses to post and answer messages.
  6. Then type into the Claude chat window: “pages claimed”. The agents then add profile pictures, covers, and a first post to all four pages and send screenshots for approval before anything goes public.
Part 2 — Connect Instagram to the Dallas account (~5 min)
Before starting: the Instagram account must be a Professional (Business) account AND linked to the Dallas Facebook page. If it isn’t linked yet: Instagram app → Settings → Business tools and controls → Connect a Facebook Page.
  1. In GoHighLevel, open the Dallas sub-account (Level King).
  2. Settings → Integrations → Instagram.
  3. Click Connect and sign in as an admin of the Dallas Facebook page.
  4. When Instagram asks about permissions, make sure “Allow access to messages” is switched ON — this is the toggle everyone misses, and without it no DMs come through.
  5. Pick the Dallas page + its linked Instagram account, finish the wizard.
  6. Proof: send the page one Instagram DM from any personal account and confirm it appears in GoHighLevel under Conversations. Then type “IG connected” into the Claude chat window — the agents flip the chat assistant on for Instagram, test it end-to-end, and log everything.
Part 3 — Two 1-minute tracking sources (Texas + Austin pages)

What this is: Facebook learns who to show ads to from signals like “this conversation became a lead.” Only the Dallas page sends that signal today. Each new page needs a “messaging dataset” created once — about a minute each.

  1. Go to business.facebook.com/events_manager2 (check the stpierre business portfolio is selected, top left).
  2. Left sidebar → Data sources → green Connect data button.
  3. Choose Messaging → Next → pick the new Texas page → Confirm/Create.
  4. Repeat: Connect dataMessaging → pick the new Austin page → Confirm/Create.
  5. Done — tell the Claude chat: “datasets created”. Agents wire them into tracking; nothing else needed.
If “Messaging” doesn’t appear as an option, the page claim from Part 1 may still be propagating — retry in an hour before assuming something’s broken.

Part 4 · Quick admin (~5 min)

Create a fresh GoHighLevel API key 3 min

Why: the stored access key has stopped working (“unauthorized”), which leaves the agents blind to automation logs — that blindness is exactly how a broken automation once went unnoticed all weekend. Creating credentials is a humans-only rule.

Show me exactly what to do
  1. GoHighLevel → SettingsAPI keys (sometimes under “Business Profile” or “Company”).
  2. Click Create / Generate new key and copy it.
  3. Paste the key into the Claude chat window. It goes straight into the secure credential vault and is never displayed back.

Check the phone: did 7 test alert texts actually arrive? 1 min

Why: the system sent 7 test alerts to Akash’s phone from (626) 325-0175 and the software says “delivered.” If they’re not physically on the phone, the phone carrier is silently dropping our messages while the system reports success — we need to know that before trusting real lead alerts.

Show me exactly what to do
  1. On Akash’s phone, open Messages and search for 626-325.
  2. Count what arrived, then type into the Claude chat window either “texts arrived” or “no texts” (or “only N arrived”).

Part 5 · Optional today — three phone call-backs (skip any already done)

Call back: Danny, Sam, and Spencer 10 min

Why: Danny asked to be called. Sam and Spencer are homeowner leads whose details were delivered to a retired alert channel last week — meaning they may never have been contacted at all.

Show me exactly what to do
  • Danny LaPorta469-261-3962 — call after noon; he’s in Richardson and asked for the call.
  • Sam Etoum and Spencer Johnson — numbers are on their lead records in GoHighLevel (Contacts — search the name). Opening line that works: “Hey, you reached out about your concrete — sorry for the delay getting back, are you still looking to get that estimate?”
  • After calling, note outcomes in the Claude chat (e.g. “Danny: booked” / “Sam: no answer”).

What’s deliberately NOT on this list — already decided and being executed by the AI agents in the background: the Dallas ad-budget change, a duplicate ad-set cleanup, tracking fixes, the chat assistant asking for phone number first, Jean’s configuration changes, all lead-pipeline bug fixes, dashboard corrections, and the outbound sales kit. Longer-dated housekeeping (subscription renewals due mid/late August) lives in the day’s master plan: Execution plan — July 31. The companion page Today’s Map explains every document created today.