Back to Case Studies
GHLAI AgentsDeployed

Kronk AI: Revenue Operations Architecture — GHL + Close CRM + Airtable + n8n

Client: Kronk AIRegion: United StatesIndustry: SaaS / Roofing Tech
8Airtable tables
4Platforms unified
6Lifecycle states tracked
0Manual steps Won→Active Subscriber

Full greenfield RevOps infrastructure for a roofing SaaS company across 4 platforms — deterministic attribution locking, duplicate-safe lead ingestion, Close CRM outbound execution, and a post-sale payment and activation system handling setup fees, subscriptions, and dunning without human input.

The Problem

Kronk AI sells automation to roofing clients but their own internal operations were entirely manual. GHL, Close CRM, and Airtable were disconnected — no shared lead identity, no attribution tracking, no dedup logic. SDR and closer performance couldn't be measured separately. 'Won' deals triggered no automated next step: setup fees had to be manually invoiced, onboarding was ad-hoc, and subscription renewals were tracked in spreadsheets. There was no dunning system for failed payments. Retroactive commission disputes had no data to resolve them.

The Solution

Built across two phases. Phase 1 — Foundation & Data Flow: Airtable base with 8 linked tables (`Leads`, `Call_Activities`, `Bookings`, `Opportunities`, `Rep_Performance`, `Closer_Performance`, `Exception_Logs`, `Reactivation_Log`) all keyed on a `universal_lead_id`. GHL custom fields synced: `Sdr_owner`, `Closer_owner`, `Lead_source`, `First_contact_date`, `Booked_date`, `Sdr_attribution_locked` (boolean), `Exception_flag`. Architecture rule: n8n is the only component permitted to write across system boundaries — no direct GHL↔Close or GHL↔Airtable integrations. Lead ingestion with dedup validation before any record touches Close CRM. Phase 2 — Payment & Activation: 4 GHL workflows covering Setup Fee Paid (CA$999 one-time), Recurring Fee (CA$599/month), Recurring Fee Failed (multi-stage dunning with escalating branch-and-wait cycles), and Customer Nurture Sequence. 2 n8n workflows receiving GHL payment webhooks and writing activation state to Airtable — specifically chosen because GHL workflows don't retry on failure; n8n holds events until Airtable writes succeed. All 6 customer lifecycle states tracked: Closed Won → Setup Fee Sent → Setup Fee Paid → Active Subscriber → Past Due → Recovered/Churned.

Tech Stack

GHLClose CRMn8nAirtableFastPayDirect

Screenshots

Results

  • Attribution locking via boolean fields (`sdr_attribution_locked`, `closer_attribution_locked`) prevents retroactive commission disputes — data is locked at conversion, not inferred from pipeline position
  • Dedup validation layer in n8n prevents duplicate records from ever entering Close CRM — solved a daily manual cleanup problem
  • Post-sale automation: 5 previously manual steps (invoicing, onboarding, subscription, dunning, renewal reminders) fully automated from the 'Won' trigger
  • Dunning sequence kept inside GHL workflows so non-engineers can edit escalation copy without touching n8n
  • GHL→n8n webhook relay for Airtable writes gives retry semantics GHL workflows lack natively — zero payment events lost on Airtable write failure
  • All data flows observable in a single place: n8n handles every cross-system write, making debugging and auditing straightforward