Automate client onboarding and launch campaigns
Issued 2026-07-14 · Re-pointed 2026-07-18 (Collins removed — fired) · Executor: agent / Akash · Outcome owner: Akash · Six-week client-delivery playbook
Objective
Turn a signed-and-paid client into a tracked, lead-ready campaign with a working CRM in 48 business hours.
Why
Client delivery must scale without Akash rebuilding the same six-tool setup by hand.
Executor starts with
Read this once, open the linked systems, then run the Day 1 bootstrap. Build in test first.
Status
Re-pointed off Collins (2026-07-18). Build in test first. First real launch stays behind Akash's spend gate.
This page is the job packet. If an older EyeFly file, old onboarding skill, or old Slack rule disagrees, this page wins. stpierre.ai is the only business. Postgres/brain is the record; Slack is the operating surface.
Executor tags (Collins removed 2026-07-18). Every step below carries one executor: agent = automatable now, the agent does it end-to-end; agent+gate = the agent does the work but Akash approves before it goes live (spend, permissions, off-script client sends); Akash = human-only, Akash performs it. csm steps stay with the CSM pod (Akash). No step is owned by a departed operator.
Start here: the job in seven lines do now
- A sale becomes delivery only when the agreement is signed and payment is captured: Won — Cash.
- The handoff creates one client record, one onboarding run, one owner, and one Slack thread.
- agent: the agent builds the client's CRM, bot, calendar, tracking, and first Meta campaign.
- agent+gate: the campaign is complete but Paused. Akash alone approves spend and presses launch.
- Every automated step reads its work back and records proof. “Should work” is not done.
- Tests that can message a person go only to Akash's test phone ending 5477.
- agent: after launch, the agent runs the six-week delivery loop below: verify, improve lead quality, scale winners, and hand back a stable account.
★ First move: shadow one real/manual onboarding, capture the true inputs and clicks, then reproduce it in a test location before touching a client.
Definition of done contract
- One command/run: intake creates the client workspace, applies the correct snapshot, fills client facts, configures the bot, and opens a progress thread.
- Lead path works: form → CRM contact → scripted reply → booked call → opportunity stage, tested on 5477.
- Tracking works: pixel/CAPI identifiers are stored, one test event is accepted, and the event is visible in the proof pack.
- Campaign is launch-ready: correct page, market, offer, creative, copy, tracking, naming, and exclusions; everything remains Paused.
- Launch is gated: Akash sees a one-screen launch brief and explicitly enables spend.
- First six weeks are operated: weekly client report, issue log, creative decisions, CRM hygiene, and next-week plan exist without relying on memory.
- Rollback exists: every outside change has before/after, verification, and an exact undo step.
0 · Sales-to-delivery handoff contract source of truth
| Gate | Required fact | System action | Owner |
|---|---|---|---|
| Agreement | Signed timestamp + final offer name/terms | Deal stays at Proposal until recorded. | Akash |
| Payment | Captured status + amount + payment reference | Deal becomes Won — Cash only when agreement and payment are both true. | System |
| Client record | Business, owner, niche, service area, phone, email | Create/update one client identity; never create a duplicate from each tool. | System |
| Delivery handoff | Won — Cash event | Auto-instantiate the onboarding checklist (sp_onboarding_checklists + items), client-ops stage, and #client-onboarding thread. | agent |
| Kickoff | Client availability + intake complete | Draft the welcome and kickoff; Akash sends/invites unless a pre-approved client automation owns it. | agent+gate |
Never mark a deal won from a verbal yes, proposal sent, test payment, or saved card. Won means signed agreement + captured cash. No exceptions.
1 · Onboarding automation: inputs, stages, and proof build scope
| # | Stage | Automation output | Proof before next stage | Gate |
|---|---|---|---|---|
| 1 | Validate intake | One clean manifest: business, niche, markets, offer, hours, calendar owner, contact channels, access state. | Required fields complete; duplicate search clear; missing items posted in the Slack thread. | Auto |
| 2 | Create GHL location | Client sub-account with approved St. Pierre snapshot. | Location ID read back; expected workflows, pipeline, fields, and calendar exist. | Auto |
| 3 | Store client token | Per-client token saved in the encrypted vault and registry. | Read-only API call succeeds; secret never appears in docs or Slack. | Human creates token |
| 4 | Fill client facts | Business, service areas, offer, hours, booking rules, FAQs, and bot fields populated. | Read-back diff shows no blanks, placeholder text, or broken merge fields. | Auto |
| 5 | Configure lead response | Approved deterministic SMS, STOP/DND/quiet-hours guards, off-script manual action, owner routing. | 5477 test: one message, correct copy, correct stage, no duplicate. | Auto for scripted; human for off-script |
| 6 | Calendar + phone | Calendar owner, availability, number, reminders, no-show path. | Test booking appears once, reminder times are correct, cancellation suppresses later messages. | Mixed |
| 7 | Meta tracking | Page/ad-account/dataset IDs filed; CAPI and browser events joined to the same lead. | Test Lead + Schedule accepted with matching event IDs and no duplicate count. | Human grants assets |
| 8 | Client launch room | Slack thread, owner, due dates, proof links, client folder, and six-week scorecard. | Every link opens; the agent and Akash can see the same status in under 30 seconds. | agent |
Build order
- Manifest + validation.
- Client facts + read-back.
- Bot/calendar + 5477 proof.
- Account/snapshot creation.
- Tracking proof.
- Single runner with safe pauses.
2 · First campaign: build, review, launch Akash launch gate
Inputs the agent must have
- Client's market and service lines.
- Approved offer and qualification rules.
- Facebook Page, ad account, dataset/pixel, billing readiness, and access state.
- Landing/form destination and CRM routing.
- Approved creative pack and copy; only licensed or owned assets ship.
Build standard
- Structure: campaign = offer; ad set = hook/audience test; ad = creative × caption. Use the current naming standard from the Meta creative SOP.
- State: create everything Paused. The agent does not set live spend — launch is agent+gate (Akash approves).
- Tracking: correct page, pixel/dataset, URL tags, form/webhook, CAPI, and CRM stage mapping.
- QA: mobile preview, copy, geography, service, exclusions, lead destination, consent, and 5477 flow.
- Launch brief: screenshots, campaign link, proposed budget, audience, offer, creative list, tracking proof, rollback.
Launch and first 72 hours
- Akash: approves the brief and enables spend (human-only gate).
- agent: the agent verifies delivery, spend, lead receipt, reply speed, booked-call routing, and CAPI within the first day.
- If a wrong recipient, broken destination, material tracking gap, or uncontrolled spend appears: pause the affected campaign/workflow, preserve evidence, and post the exact issue + rollback in Slack.
- Do not optimize from one click or one lead. Collect enough signal, then recommend changes with evidence; Akash owns budget changes.
3 · The client's first six weeks agent runs · agent+gate on spend
| Week | Outcome | Executor does (agent unless the row says Akash gates) | Friday proof |
|---|---|---|---|
| 1 — Launch cleanly | CRM, tracking, scripted lead response, booking, and first campaign are live and stable. | Daily lead-path checks; fix routing; label every lead; capture baseline spend, leads, qualified leads, booked calls. | Launch proof pack + baseline scorecard + open-risk list. |
| 2 — Prove lead quality | We know which hooks bring actual contractor opportunities, not just cheap forms. | Review lead outcomes and conversations; separate wrong area/service, spam, low intent, qualified, booked. | Qualified-rate report by hook/creative + next creative batch. |
| 3 — Improve conversion | Faster response, fewer missed bookings, better show rate. | Audit first response, follow-ups, confirmations, no-shows, bot exceptions, calendar friction. | Funnel leak map: what dropped, why, exact fix, proof after. |
| 4 — Scale winners safely | Winner themes repeat; losers stop consuming attention. | Refresh creative from winning hooks; recommend budget moves; keep spend changes Akash-gated. | Winner/loser board + proposed allocation + new paused ads. |
| 5 — Stabilize economics | Qualified cost and booked-call cost trend in the right direction. | Join ad, CRM, conversation, booking, and cash outcomes; investigate gaps; improve exclusions/qualification. | Niche-specific economics + one bottleneck recommendation. |
| 6 — Hand back a system | The account runs from checklists and automations, not any one operator's memory. | Clean CRM, close false alerts, document rollbacks, confirm owners, plan next six-week cycle. | Client health brief + stable runbook + next-cycle plan. |
★ Weekly priority order: lead delivery works → response works → bookings work → tracking is trustworthy → creative improves. Kill work that does not move one of those five.
4 · Daily and weekly operating rhythm repeat
Every business day
- Check launch-room blockers and overnight failures.
- Confirm new leads reached the CRM and have one owner + one next action.
- Review off-script replies, STOP/DND, wrong numbers, and missed bookings.
- Check spend/delivery only for anomalies; do not make budget changes without Akash.
- Post a 4 PM report in #daily-reports: shipped, numbers, broken, next.
Every Monday / Friday
- Monday: pick the week's one client bottleneck and the creative tests that attack it.
- Friday: post the client scorecard, proof links, changes/rollbacks, and next week's plan.
5 · Scorecard and escalation rules measure
| Measure | Why it exists | Escalate when |
|---|---|---|
| Time: Won — Cash → campaign launch | Measures onboarding speed. | Likely to exceed 48 business hours. |
| Lead delivery coverage | Proves every platform lead reached CRM. | Any missing or duplicated production lead. |
| Speed to first scripted reply | Protects booking intent. | Guarded automation fails or a lead has no next action. |
| Qualified lead rate | Separates volume from useful demand. | Meaningful decline by niche/market or unexplained missing labels. |
| Booked and show rates | Measures whether the funnel becomes sales conversations. | Confirmation/no-show path breaks. |
| Cost per qualified lead / booked call | Connects ad decisions to revenue. | Trend worsens with enough data to act. |
| Manual touches per onboarding | Measures automation value. | Same manual step repeats twice—candidate for automation. |
Stop immediately: wrong recipient; live spend without Akash; missing STOP/DND guard; credential in a document; unlicensed creative; client data crossed between accounts; tracking that inflates conversions.
6 · Build rules, access, and handback non-negotiable
- Own repo: one branch per stage, small commits, pull request with proof. Do not build in Akash's workspace repo.
- Test first: test/read access until each stage passes. Production scope expands only as needed.
- Secrets: refer to vault labels only. Never paste, echo, screenshot, or save token values.
- Outside changes: log why, before, after, verification, rollback.
- Idempotent: running a step twice must not create duplicate clients, contacts, campaigns, messages, or tasks.
- Human gates: token creation, account permissions, client-facing off-script messages, billing, and campaign launch.
- Handback: setup guide, runbook, failure modes, rollback, test fixtures, screenshots/read-backs, owner map, unresolved risks.
7 · Executor bootstrap checklist do now
- agent: open the Sales CRM, Builder board, Client Ops pipeline, and Client Success pipeline.
- agent: confirm access to #client-onboarding, #call-ins, #daily-reports, #notes, and #documents (posts via the Slack MCP connector, ledgered).
- agent: read the Operating brief and install start plan.
- agent+gate: confirm test/read access — GHL test location, Meta read access, Slack, GitHub repo, read-only brain. Akash grants any access the agent lacks (token creation, account permissions).
- agent: post one status line in #client-onboarding: “Started · access green/red · first blocker · first deliverable and ETA.”
- agent: create the current-state onboarding map and rank automation stages by minutes saved × risk.
8 · Related systems and references links
- Sales CRM — lead, deal, cash, and worklist.
- This SOW (live).
- Install first-six-weeks start plan.
- Client Ops SOP · Client Success SOP · Meta creative SOP.
- Existing build machinery:
ghl-api,ghl-cv-sync,ghl-bot-prompt-sync,ghl-agent-audit,capi-test-fire,new-client-onboarding(reference only; remove EyeFly assumptions). - Slack:
#client-onboarding C0BH331S126·#call-ins C0BH50EFYDP·#daily-reports C0BH6Q61UBE·#notes C0BGZPMC421·#documents C0BHXCQ2Q80.
Permanent source:
01-Projects/St_Pierre_Digital/SOWs/sp-client-onboarding-automation-sow-2026-07-14.html · Project: Automate client onboarding and campaign launch · Executor: agent / Akash (Collins removed 2026-07-18) · Akash owns spend, irreversible permissions, and off-script client sends.