Zodiac Tech CRM Docs

Client delivery playbook

The 18-step Zodiac Tech Client Delivery Playbook — from confirmed payment to renewal, with the owner and panel for every step.

super-admin ad-specialist support Medium ⏱ 15 min Updated 2026-10-05

Client delivery playbook

This is the standard way Zodiac Tech delivers a new client on the platform. Follow it top to bottom: every step lists who does it, where it happens, and the output that proves the step is done. Do not skip ahead — later steps depend on earlier ones (launch, in particular, depends on QA).

Who this is for

Super Admins, account managers and Meta-ops staff delivering a client from "payment received" to "renewed". Keep this page open as your run sheet.

  • Difficulty: Medium
  • Time: 15 min (reading); the full delivery spans days
  • Prerequisites: A paid or approved client, and Super Admin (or agency) access.

The 18 steps

1. Confirm payment

Who: Super Admin. Where: /super-admin/billing/agreements + /super-admin/billing/commercial-payments. Output: The agreement is active — meaning the provider confirmed the payment via webhook, not just that the client returned from a redirect. Never start delivery on a redirect alone.

2. Create the business

Who: Super Admin. Where: /super-admin/tenants → New business. Output: Workspace created, client admin user created, onboarding marked pending. See Businesses (tenants).

3. Set up the commercial agreement

Who: Super Admin. Where: /super-admin/billing/agreements → Create (5-step wizard: terms → pricing → services → review → send). Output: The client has the agreement in their portal and can approve it. Details in Commercial agreements.

4. Start guided onboarding

Who: Super Admin (activation is already pending from step 2). Where: /super-admin/meta-ads/client-onboarding. Output: The client's guided setup (/admin/guided-setup) is live with the 12 client steps. See Client onboarding dashboard.

Who: Super Admin. Where: Business 360 detail → Onboarding link. Output: The client has a signed link (valid 72 hours) that lands them directly in their setup. Regenerating revokes the old link.

6. Monitor progress

Who: Super Admin / Account Manager. Where: /super-admin/meta-ads/client-onboarding. Output: Every stuck client is visible (⚠ 24h+) and nudged with Request Action. The daily sweep (08:15) flags stalled required steps automatically.

7. Configure the CRM

Who: Super Admin, with the client doing their part in /admin. Where: Business 360 internal checklist + the client's guided setup. Output: Internal steps CRM configuration, Sales process review and Lead routing review are Completed; the client has finished their sales-process, routing and follow-up steps.

8. Connect Meta

Who: Client (guided setup), verified by the Account Manager. Where: Client /admin (guided setup → Connect Meta), SA board for the health column. Output: A meta/instagram lead-source connection showing Connected on the onboarding board, with Page and Lead Forms selected. See Connect Meta and OAuth & permissions.

9. Connect WhatsApp

Who: Client (guided setup), verified by Super Admin. Where: Client /admin; check the read-only WhatsApp diagnostics section on the business edit form. Output: WABA and phone connected, webhook healthy, templates synced. See WhatsApp Business API.

10. Build the campaign

Who: Ads Specialist. Where: Meta-ops console (/agency panel). Output: Campaign prepared on the client's ad account, ready for review. The Ads Specialist can create, edit and pause — not launch. See Campaigns.

11. Prepare creative

Who: Creative Specialist. Where: Meta-ops console. Output: Ads and creatives attached to the campaign, ready for the QA pass. See Creatives.

12. Set up tracking

Who: Ads Specialist. Where: Meta-ops console + client CRM. Output: Internal step Tracking Completed — attribution and lead-source mapping verified end to end. See Tracking & attribution.

13. Run a test lead

Who: Client (with Account Manager watching). Where: Client guided setup → Test your setup. Output: A test lead lands in the CRM with the correct source, assignment and follow-up — then the step is marked complete. See Test your setup.

14. QA review

Who: QA Reviewer. Where: Meta-ops console / QA queue. Output: QA passed — the internal QA step is Completed and launch is unlocked. Only the QA Reviewer role can approve launch.

15. Launch

Who: QA Reviewer (the only role with meta.campaign.launch). Where: Meta-ops console. Output: Campaign live; internal step Launch Completed. This is the moment the client pipeline starts filling.

16. Turn on reporting

Who: Account Manager. Where: Client /admin reports + scheduled reports; Meta daily brief. Output: The client receives regular performance reporting (lead volume, source performance, attribution, funnel) and the internal Monitoring step is running. See Reports.

17. Support

Who: Support Agent. Where: Meta support desk + client Help Center (/admin/help). Output: A working support channel; health monitors keep watching (Meta health every 6 hours, ops scan every 30 minutes) while the client goes about their day.

18. Renewal

Who: System + Super Admin oversight. Where: /super-admin/billing/commercial-invoices and the agreement's Subscription tab. Output: The renewal invoice is generated (daily 06:30), paid via the client's authorization, and the service continues. See How billing & renewals work and Invoices & payments.

Expected result

A client goes from confirmed payment to live campaigns and a recurring renewal without a single step happening "somewhere offline". Every hand-off has a record: onboarding steps, internal checklists, agreements, invoices and audit entries.

Common mistakes

  • Starting delivery before the provider confirms payment. A redirect from the payment page is not confirmation — wait for the webhook.
  • Launching before QA passes. The platform blocks it for a reason; skipping QA ships untested tracking.
  • Treating step 6 as optional. The board is how you avoid a client silently stalling at week two.
  • Doing the client's guided steps for them. Configuration choices (stages, routing) must come from the client — that is what makes the CRM theirs.
  • Forgetting renewal oversight. Agreements renew independently, but someone still needs to watch failed payments — see Payment failures & restrictions.

Troubleshooting

Symptom What to check
Agreement still not active after client says "paid" Check provider confirmation in the payments list; failed/absent webhooks mean not confirmed
Onboarding board shows Meta "Needs attention" Re-run the client connect flow; check Meta won't connect
Launch button unavailable The logged-in agency user lacks the QA Reviewer role — see Users & agency team
Test lead never arrives Check the lead-form allowlist and webhook health — Leads not entering the CRM
Client never received the onboarding link Links expire after 72h; generate a fresh one

Technical details

  • Onboarding model: business_onboarding + business_onboarding_steps; steps in App\Support\OnboardingSteps (9 internal steps across Super Admin and Ads Specialist owners).
  • Launch gate: meta.campaign.launch, held only by qa_reviewer (database/seeders/AgencyRolesSeeder.php).
  • Billing: agreement activation is provider-verified (App\Services\CommercialBilling\BillingService::verifyAuthorization()); renewals via App\Jobs\Billing\CreateRenewalInvoice (daily 06:30).
  • Meta health: leadhub:meta-health every 6h; leadhub:meta-ops-scan every 30 min.

Was this page helpful?