Luxury property leads don't wait around.
The client — a luxury villa and hotel operator — was losing leads every week to slow response times. Website visitors asking about availability, pricing, and villa types either got a generic auto-reply or nothing at all outside business hours.
On top of that, the sales team was manually copy-pasting contact details from emails into their CRM. Every inquiry was a copy-paste job. Half the time, follow-up tags were wrong or missing — meaning the pipeline was dirty from day one.
The ask was clear: build something that never sleeps, qualifies leads on contact, and keeps the CRM clean automatically.
An AI that handles the first conversation — and all the CRM work.
I built a branded AI chat assistant powered by OpenRouter (GPT-4o) that lives on the client's website. It knows the full property inventory, pricing tiers, and availability windows. Visitors get real answers instantly — not a contact form.
The moment a lead shares their details, an n8n webhook fires and the entire conversation is pushed to GoHighLevel as a new contact — pre-tagged by property interest, budget signals, and inquiry type. The lead drops straight into the right pipeline stage. The sales team opens GHL each morning to a clean, organised list of warm leads — already sorted, no manual work done.
End-to-end flow.
The n8n flow — 7 nodes, clean and readable.
// n8n workflow — GHL Real Estate AI (simplified) Webhook trigger ← visitor message arrives via POST ↓ Set node ← extract message, sessionId, visitorData ↓ HTTP Request ← POST to OpenRouter /v1/chat/completions model: "openai/gpt-4o" system: "You are the AI assistant for [client villas]..." ↓ IF node ← lead_captured == true? ↓ YES ↓ NO GHL Create Contact Respond to webhook tags: ["villa-inquiry","budget-high","hot"] ↓ GHL Add to Pipeline ← stage: "New Inquiries" ↓ Slack notification ← "🔥 New lead: [name] — villa inquiry"