GoHighLevel Lead Lifecycle → n8n API & Google Sheets Sync
Problem
A home-services team needed to capture repeat enquiries without overwriting previous jobs, follow up with silent leads, stop reminders after a reply, and send completed-job data to external systems without duplicates.
Solution / Workflow
I built a sandbox lead lifecycle in GoHighLevel: form intake → Contact and separate Opportunity → structured service and urgency mapping → qualification email and two follow-ups → stop on reply → human qualification → feedback sequence. A job_completed webhook then sends the event to n8n for normalization, validation, a test API call, and an idempotent Google Sheets upsert.
What I built
• Multi-opportunity form intake and field mapping
• Reply-aware follow-up workflow
• Human qualification and pipeline stages
• GHL webhook → n8n validation → API → Google Sheets
• Duplicate protection and explicit error branches
• QA matrix covering ten scenarios
Result
Reply and no-reply paths, repeat submissions, feedback delivery, valid and invalid payloads, duplicate events, and an external API 500 were all tested. Duplicate events update the same Sheets row, while invalid data and API errors stop before storage.
Sandbox portfolio demo. WhatsApp and native Google review requests were documented as production replacements, not claimed as live integrations.
Like this project
Posted Sep 7, 2026
Built and tested a sandbox lead lifecycle with reply-aware follow-ups, webhook validation, API error handling, and idempotent Sheets updates.