Kronk AI: Revenue Operations Architecture — GHL + Close CRM + Airtable + n8n
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
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