F9 — Referral & Viral Loop Engine
Turn happy customers into referrers. AI scores your customers by referral readiness (engagement + tenure + advocate signals), generates a personalized "ask" message via Haiku, and sends it from YOUR mailbox (Gmail/Outlook with Resend fallback). Form submissions carrying ?ref=<code> auto-attribute as conversions. Wraps the existing 3-table Growth referral system (ReferralProgram + ReferralLink + ReferralConversion).
Steps
- Go to Tools > Lead Generation > Referrals (or /dashboard/leadgen/referrals).
- First-time setup: configure your referral program — name, reward type (credit/discount/cash/custom), reward amount + unit, what the referrer gets, what their friend gets. Save.
- AI Candidates panel shows your top 12 customers ranked by referral readiness (score includes lead score, stage, review history, chat engagement, tenure, prior referrals). Each row shows the score + reasons.
- Click "Preview ask" to see the Haiku-generated email before sending. Click "Ask now" to send — the email goes from YOUR connected mailbox (creator's OAuth Gmail/Outlook) with Resend fallback.
- Funnel strip shows asks-sent → clicks → sign-ups → qualified → rewarded. Top Referrers panel ranks by conversions × clicks. Recent Conversions shows everyone who came in via a ref code.
- Conversion lifecycle: pending (signed up) → qualified (you click Qualify after they hit the milestone you defined) → rewarded (you click Issue Reward to mark the incentive paid).
Good to know
- Public /ref/:code redirect lives in the Growth module (not duplicated in Lead Gen). Hits there increment the link's click counter and redirect to your signup page.
- Referee gets tagged with source=referral and customFields.referredBy + .referralCode automatically — surfaces on the contact record + flows into F10 dashboard channel attribution.
- AI candidates rescore on each load. The same person can be asked multiple times across months as their score moves around.
- No new schema — F9 reused the existing ReferralProgram/Link/Conversion tables (3-table system is richer than the spec's flat Referral model).
Example: A productivity SaaS with 340 customers activates the referral program: $50 credit to referrer, 30% off first 3 months for referee. AI ranks the top 12 advocates — top scorer is a power user who left a 5-star review last month + has 80+ leadScore + 18-month tenure. Founder hits "Preview" → sees a warm 5-line ask with the referral link → "Ask now". Email lands in the customer's inbox FROM the founder's real Gmail. 2 days later: 2 clicks, 1 signup, conversion fires automatically when they fill the trial form (the URL had ?ref=<code> from the email link). 60% of new trials over the next quarter come from referrals.
Troubleshooting
"Set up a referral program before sending asks" error
Program isn't created yet — or it exists but is paused (isActive=false).
Fix: Edit program > toggle Active ON > Save.
"Contact has no email address" on Ask now
Can't send an ask without an email. Some imported customers have phone-only.
Fix: Add an email to the contact, or pick a different referrer.
Conversion didn't auto-attribute when someone signed up
The signup URL didn't include ?ref=<code>, OR the referee's contact record was created OUTSIDE the form-submission pipeline (e.g. via API), OR the referrer was the same as the referee (self-referral blocked).
Fix: Make sure your referral link uses the format /signup?ref=<code> and that signups always go through a CRMown Form (not a direct API call). For API-created contacts, use POST /leadgen/referral/links manually.
Send failed — neither Gmail/Outlook nor Resend worked
No active mailbox AND Resend isn't configured for your org.
Fix: Settings > Communications > Connected Accounts > Connect a mailbox. Or contact support to enable Resend fallback for your org.
Related
- Growth suite Referrals (the underlying 3-table system; F9 wraps it for marketing-suite users)
- F3 Outbound Sequencer (same mailbox policy)
- AI Suite (Haiku for message generation)