The founder built an audience of around 70,000 people across TikTok, Instagram, Facebook and YouTube by talking honestly about addiction and recovery. The audience was there. What was missing was a way to turn it into a business: speaking bookings, brand sponsorships, affiliate deals, service partnerships and a paid community, all handled without the founder chasing every email by hand.
About this build. This is an example build based on a real brief. The client is anonymised, nothing shown is client data, and there are no results numbers here on purpose. The point is to show how I would design the system, which decisions I would push back on, and why each piece exists.
The problem
The brief listed eight revenue streams and asked for six separate sales pipelines, plus memberships, outreach, AI research and a long list of integrations, all for an initial budget of AUD 2,500 to 3,000. Each request made sense on its own. Built literally, they would have produced a CRM with dozens of stages, overlapping workflows and a monthly software bill nobody had planned for.
The real problems underneath were simpler:
- Opportunities arrived from many places (DMs, website forms, email, events) and lived in the founder’s head and inbox.
- There was no consistent follow-up, so warm leads like event organisers and brands went quiet.
- There was no way to see which platform or campaign actually produced paid work.
- The founder wanted help finding new partners, but not a spam machine that could damage a brand built on trust.
So the job was not to build everything in the brief. It was to build the smallest system that captures every opportunity, follows up reliably, keeps a human in charge of anything sensitive, and can grow phase by phase.
How I built it
Step 01
Pick one hub, and let each tool do one job
WhyWith WordPress, GoHighLevel, Stripe, Skool, ManyChat, Zapier, Make and an e-signature tool all on the list, the biggest risk was paying for the same feature three times and losing track of where the truth lives.
HowGoHighLevel is the hub: contacts, pipelines, calendars, email and SMS, proposals and e-signature. WordPress stays the public website because it is fast, good for SEO and the founder owns it. Skool runs the community. Make (or Zapier) connects the few things GoHighLevel cannot do natively. I write down, before building, which system is the source of truth for each piece of data.
- WordPress: website, speaking, partnerships, podcast and media pages, blog
- GoHighLevel: CRM, pipelines, forms, calendars, email/SMS, proposals and contracts, invoices
- Skool: community, courses, member billing
- Make or Zapier: the Skool member sync and the AI research step, whichever supports the needed triggers at build time
- Not added: a separate e-signature tool, a separate proposal tool, ManyChat for Instagram and Facebook (GoHighLevel already covers comment and DM triggers there)
Everything flows into one CRM record, tagged with where it came from.
Step 02
Turn six pipelines into three, without losing any detail
WhyAffiliate deals, sponsorships, service-provider partnerships and community partnerships all follow the same path: find, talk, propose, agree, deliver, renew. Four near-identical pipelines mean four places to check and four sets of automations to keep in sync.
HowI group by how the work moves, not by what it is called. One Outreach pipeline handles prospecting before anyone has replied. Once a conversation is real, the opportunity moves into Speaking & Media or Partnerships. A Partnership type field (affiliate, sponsor, service provider, community or school) keeps the reports separate. Memberships are not a pipeline at all: they are a lifecycle handled with tags and Skool.
Orange stages wait on the founder. Green stages mean money or a signed agreement.
Two rules keep it clean. A stage only exists if it triggers something: a message, a task or a decision. And nuance like “warm” or “waiting on their board” goes in notes and tags, not in more stages.
Step 03
Give every deal the fields the founder actually needs
WhyThe brief asked to track fees, deposits, travel, commissions, discount codes, deliverables and renewal dates. Putting all of that on the contact record turns it into a wall of empty boxes.
HowFields live where they belong. People get contact details, source and consent. Organisations get a company record. Each opportunity gets only the fields for its type, grouped so the speaking fields never show on an affiliate deal.
| Record | Key fields |
|---|---|
| Contact | Role, organisation, first source, latest source, UTM campaign, interests, SMS and email consent, next action date |
| Speaking | Event date, location, audience type and size, agreed fee, travel needed, deposit due / paid, balance due, feedback received |
| Sponsorship | Package, value, deliverables, campaign start and end, content published, reporting deadline, renewal date |
| Affiliate | Commission terms, discount code, tracking link, payout schedule, last performance report, renewal date |
| Service provider | Referral terms, consent process confirmed, privacy terms confirmed, agreement reviewed, review date |
One naming convention, documented, so the founder can read the CRM without me.
Step 04
One enquiry form that routes itself
WhySeparate forms for every page multiply maintenance, and generic “contact us” forms dump everything into one inbox. The founder wanted enquiries to land in the right place without sorting them.
HowEvery page uses the same GoHighLevel form with one key question: What would you like to talk about? The answer decides the path. Hidden fields capture the page, UTM source and campaign, so attribution works from the first message. Before creating anything, the workflow checks for an existing contact and an open opportunity, so a repeat enquiry updates the deal instead of duplicating it.
Speaking and partnership enquiries split at the If / Else. Community and general questions follow a third path not shown.
Step 05
Automate the speaking booking from enquiry to rebooking
WhySpeaking is the clearest, highest-value stream, and the one where admin piles up: kits, calls, proposals, deposits, travel, reminders, invoices, thank-yous. It is also the stream with the most repeat potential, if someone remembers to follow up.
HowEach stage triggers the next useful step. The founder only steps in for the discovery call, the proposal and anything involving price.
- New enquiry: acknowledgement within a minute, speaker kit, three qualifying questions (date, audience, budget range)
- Discovery call booked: confirmation, reminder 24 hours and 1 hour before, reschedule link
- Proposal sent: GoHighLevel proposal with e-signature; if not opened in 3 days, a short check-in; if no decision in 7, a task for the founder, not another automated email
- Confirmed: deposit invoice, event details form (venue, AV, travel), calendar block
- Event completed: thank-you, feedback form, testimonial request two days later, balance invoice if due
- Rebook: a reminder to the founder about 10 months later to offer next year’s date
Automation does the first nudge. A person makes the second contact.
Step 06
Run partnerships with check-ins, reporting and renewals built in
WhyBrand and affiliate deals are usually lost after they are won: deliverables slip, reports are late and renewals pass without a conversation. For service-provider referrals, there is a second risk: referrals in a health-adjacent space need clear consent and privacy terms.
HowSigning the agreement triggers an onboarding checklist as tasks, a welcome email and the campaign dates on the calendar. During the campaign, the partner gets a check-in, and the founder gets a reminder before each reporting deadline. Thirty days before the end date, a renewal task appears with the deal’s history. Service-provider deals pass through a compliance stage that cannot be skipped: moving the deal forward without the consent and privacy fields confirmed sends it back and alerts the founder.
- Affiliate: discount code and tracking link stored on the deal, monthly performance note, renewal reminder
- Sponsorship: deliverables checklist, content-published dates, report due reminder, renewal 30 days out
- Service providers: consent process, privacy terms and agreement review confirmed before the referral goes live. I recommend a lawyer reviews the referral terms; I build the controls, not the legal advice
- No client health information is stored in the CRM. It holds business contacts and deal details only
Step 07
Connect the community without building a second billing system
WhyThe brief asked for Stripe, Skool and GoHighLevel to work together. The common mistake is to take payments in one tool and grant access in another, then spend months fixing members who paid but cannot get in, or cancelled but still have access.
HowBilling stays where access lives. Skool handles membership payments and access. GoHighLevel handles everything before the purchase: the free resource, the nurture sequence, and the invitation to join. A connector (Zapier or Make, depending on which supports Skool’s member events at build time) listens for new members and cancellations and updates tags in GoHighLevel, which ends the sales sequence and starts onboarding or a gentle win-back. Stripe is used inside GoHighLevel only for things Skool does not sell, like speaker deposits or a one-off digital product.
The membership sales emails stop the moment someone joins, and onboarding starts.
Step 08
Use AI to research and draft, and keep a person on the send button
WhyThe founder wanted help finding gyms, schools, brands and event organisers, and drafting outreach. The brief was clear that nothing should be sent, priced or promised without approval, and no scraping or bulk messaging should breach platform rules. In a recovery community, one careless message can cost more than a hundred good ones earn.
HowThe founder or a VA adds an organisation by name and website, or imports a list they are allowed to use. A Make scenario reads the public website, asks an AI model to summarise fit, suggest an angle and draft a first email, and writes all three back to the deal. The deal moves to Draft ready and the founder gets a notification. Nothing goes out until the founder edits and moves it to Approved, which sends it from their own address with a daily limit.
- Automated: organising a prospect, summarising a public website, drafting a first email and follow-ups, summarising call notes into a next step
- Needs an integration: the AI step and website reading run through Make; the founder controls the API key and the cost
- Stays manual, on purpose: choosing who to contact, approving every first message, pricing, agreements, anything sensitive
AI prepares the work. The founder decides what is sent.
Step 09
Know which platform actually pays
WhyWith 70,000 followers spread across four platforms, it is easy to over-invest where the likes are and miss where the bookings come from.
HowEvery link in a bio, post or email carries UTM tags. The website forms pass them into GoHighLevel as first source and latest source, and Instagram and Facebook conversations are tagged by channel automatically. The dashboard shows the numbers the founder checks on Monday mornings:
- New enquiries by source and by pipeline
- Open deal value per pipeline, and deals won this month
- Proposals waiting for a decision
- Follow-ups overdue and meetings this week
- New members, cancellations and the source of each new member
Step 10
Test like a customer, then hand over the keys
WhyMost automation problems show up as one embarrassing message: a nurture email to someone who already booked, or two workflows answering the same enquiry. The brief also asked, rightly, that nothing depends on the builder’s accounts.
HowBefore launch I run each journey end to end with test contacts, and I keep the results in a simple test log.
- Submit every form path, including the same person twice, to check duplicates
- Book, reschedule and cancel a discovery call
- Sign and ignore a proposal to test both branches
- Reply STOP and unsubscribe to confirm every sequence ends
- Join and cancel a test Skool membership to check the sync
- Everything built in the client’s own accounts, with a written workflow map and short Loom walkthroughs per pipeline
What the business gets
- Every opportunity, from a school enquiry to a brand deal, in one place with its source
- Speaking bookings that move from enquiry to deposit with very little admin
- Partnerships that get check-ins, reports and renewal reminders instead of going quiet
- A community funnel where payments and access never disagree
- AI that saves research and drafting time without ever sending on its own
- A clear view of which platform and campaign produce paid work
What fits in the first budget
The brief preferred a working, well-tested foundation over a long list of half-finished features. I agree, so I would split it like this:
| Phase | Delivered |
|---|---|
| 1 · Foundation initial budget | Architecture map, conversion-focused pages for speaking, partnerships and contact, the routing form, three pipelines with custom fields, calendars with reminders, acknowledgement and speaking workflows, attribution, basic dashboard, testing and handover |
| 2 · Automation | Partnership onboarding, check-ins and renewals, proposal templates, re-engagement sequences, AI research and drafting with approval |
| 3 · Growth | Skool sync and member onboarding, lead magnet funnel, advanced reporting, partner performance tracking |
Recurring costs are listed before anything is bought: GoHighLevel plan, SMS and email usage, Make, Skool and AI usage. Check current pricing for each.
My role: I design the system, build it in the client’s accounts, test it and hand it over with documentation. The founder keeps the voice, the relationships and every commercial decision.