n8n ile İletişim Formundan Otomatik Lead Skorlama
Satış ekiplerinin yaşadığı klasik problem şu: iletişim formu dolup taşıyor, her mesaj aynı öncelikte görünüyor. Biri "fiyat nedir?" diye sorarken, başka biri "20 kişilik ekibimiz için bu ay entegrasyon lazım" diye yazıyor. İkisini aynı sırayla işlemek hem zaman kaybı hem de fırsat kaybı.
Bu yazıda, web sitenizdeki iletişim formundan gelen her mesajı bir n8n akışıyla otomatik olarak puanlamayı, yüksek değerlileri satışa anında iletmeyi ve düşük değerlileri besleme listesine eklemeyi adım adım kuruyoruz. Tek bir harici API anahtarına ihtiyaç yok.
Mantık: Ne Yapıyoruz?
Akışın iskeletini şöyle düşünün:
Form gönderildi
→ Webhook tetiklenir
→ AI düğümü mesajı analiz eder (niyet + aciliyet skoru 1-10)
→ IF dalı: skor ≥ 7 → CRM'e "Sıcak Lead" + Slack/e-posta bildirimi
skor < 7 → e-posta besleme listesine ekle + "Soğuk Lead" etiketi
Karmaşık bir altyapıya ihtiyaç yok. Her şey tek bir n8n iş akışında çözülüyor.
Adım 1 — Webhook Düğümü: Formu Dinlemek
n8n'de yeni bir iş akışı açın ve ilk düğüm olarak Webhook ekleyin.
- HTTP Method: POST
- Path:
lead-intake(örnek) - Response Mode: Immediately
Düğümü kaydettiğinizde n8n size herkese açık bir HTTPS URL'i üretir:
https://<sizin-id>.agentroost.app/webhook/lead-intake
Bu URL'i web sitenizdeki formun action alanına ya da Typeform / Tally / HubSpot Form gibi araçların "webhook" ayarına yapıştırın. Artık her form gönderimi bu akışı tetikler.
Dikkat: URL'i doğrudan form HTML'inize gömmek yerine sayfanızın arka ucundan POST isteği atmanız önerilir. Bu, bot doldurmalarını azaltır ve honeypot / Turnstile gibi ek korumalar eklemenizi kolaylaştırır.
Adım 2 — Set Düğümü: Gelen Veriyi Temizlemek
Webhook'tan gelen ham JSON her zaman düzenli olmaz. Set düğümüyle yalnızca ihtiyacınız olan alanları sabit adlarla ilerletin:
| Alan Adı | Değer (ifade) |
|---|---|
name |
{{ $json.body.name }} |
email |
{{ $json.body.email }} |
message |
{{ $json.body.message }} |
submitted_at |
{{ $now.toISO() }} |
Bu adım akışın geri kalanını formunuzun alan adlarından bağımsız kılar. İleride form şemasını değiştirirseniz yalnızca bu düğümü güncellemeniz yeterli.
Adım 3 — AI / LLM Düğümü: Mesajı Puanlamak
İşte akışın kalbi burası. Bir AI / LLM düğümü ekleyin (n8n 1.x'te "Basic LLM Chain" veya "AI Agent" olarak geçer).
System prompt:
Sen bir B2B satış niteleyicisin. Sana bir iletişim formu mesajı verilecek.
Mesajdaki satın alma niyetini ve aciliyeti 1-10 arası bir tam sayıyla değerlendir.
Yanıtını yalnızca şu JSON formatında ver, başka hiçbir şey yazma:
{"score": <1-10>, "reason": "<kısa gerekçe>"}
User prompt:
İsim: {{ $json.name }}
Mesaj: {{ $json.message }}
Puanlama rehberi (prompt'a eklenebilir):
- 8-10: Bütçe / zaman dilimi / takım büyüklüğü gibi satın alma sinyalleri açıkça var
- 5-7: İlgi var ama karar verici değil ya da zaman dilimi belirsiz
- 1-4: Genel bilgi sorusu, öğrenci projesi veya rakip araştırması olabilir
Model seçimi konusunda esneksiniz — 350'den fazla model mevcut, akışı durdurmadan istediğiniz zaman değiştirebilirsiniz.
Adım 4 — AI Çıktısını Ayrıştırmak
AI düğümü genellikle text alanında string döner. Bunu kullanmak için bir Code (JavaScript) düğümü ekleyin:
const raw = $input.item.json.text || $input.item.json.output || '';
let parsed;
try {
// Bazen model ``` json ``` bloğuyla sarar, onu temizle
const clean = raw.replace(/```json|```/g, '').trim();
parsed = JSON.parse(clean);
} catch (e) {
parsed = { score: 3, reason: 'Parse hatası — manuel kontrol gerekli' };
}
return [{
json: {
...$input.item.json,
score: parsed.score,
reason: parsed.reason
}
}];
Artık akışta her lead'in score ve reason alanı mevcut.
Adım 5 — IF Düğümü: Akışı İkiye Bölmek
IF düğümü ekleyin ve şu koşulu tanımlayın:
- Condition:
{{ $json.score }}Daha büyük veya eşit7
Bu dallanma akışı iki kola ayırır:
True kolu — Sıcak Lead (Skor ≥ 7)
- HTTP Request düğümüyle CRM'e (HubSpot, Pipedrive, Notion, Airtable…) POST atın:
{ "name": "{{ $json.name }}", "email": "{{ $json.email }}", "lead_score": "{{ $json.score }}", "note": "{{ $json.reason }}", "stage": "Sıcak Lead" } - Slack veya Send Email düğümüyle satış ekibine anında bildirim gönderin:
Yeni sıcak lead: {{ $json.name }} (Skor: {{ $json.score }}/10)
Mesaj: {{ $json.message }}
Gerekçe: {{ $json.reason }}
False kolu — Soğuk/Ilık Lead (Skor < 7)
- HTTP Request ile e-posta pazarlama aracınıza (Mailchimp, Brevo, ActiveCampaign) abonenin adını, e-postasını ve bir "lead-cold" etiketini ekleyin.
- İsteğe bağlı: Send Email düğümüyle lead'e otomatik teşekkür e-postası gönderin.
Kaçırılan Detaylar ve Tuzaklar
Yinelenen gönderimleri kontrol edin. Aynı e-posta adresi birkaç kez form doldurursa akış her seferinde yeni bir lead oluşturabilir. CRM'e göndermeden önce "e-posta zaten mevcut mu?" kontrolü için bir HTTP Request + IF kombinasyonu ekleyebilirsiniz.
AI yanıtı bazen bozuk gelir. Model yüksek trafikte kısa keser. Adım 4'teki try/catch bu durumu yakalar ve skoru varsayılan olarak 3'e çeker; böylece lead kaybolmaz, manuel kuyrukta bekler.
Webhook doğrulama. Formunuz HMAC-imzalı webhook gönderebiliyorsa, ilk düğümden sonra bir Code düğümüyle imzayı doğrulayın. Alanı boş bırakan formlar için en azından e-posta alanını IF ile kontrol edin, boş ise akışı sonlandırın.
AgentRoost'ta Bu Akışı Kurmak
Yukarıdaki adımlar standart n8n; sunucu kurulumu, SSL sertifikası, port yönetimi ve sürekli güncelleme ise genellikle asıl zamanı alan kısımdır. AgentRoost'ta bu kısmı atlıyorsunuz:
- AgentRoost'a üye olun — e-posta, Google, Microsoft veya Discord ile.
- n8n framework'ünü seçin, örneğinize bir isim verin.
- Yaklaşık 2 dakika içinde
https://<sizin-id>.agentroost.appadresinde sizin n8n editörünüz açılır — login bilgileri size ait, veriler sizin, başka kimseyle paylaşılmaz. - Yukarıdaki akışı kurun; AI / LLM düğümü zaten bağlı ve kredili gelir. Herhangi bir API anahtarı girmeniz gerekmiyor.
Webhook URL'iniz de aynı anda herkese açık ve HTTPS: form action alanına yapıştırın, bitti.
n8n Cloud, Zapier, Make, Elestio ve Sliplane gibi rakipler "kendi OpenAI/Anthropic API anahtarınızı getirin" der. AgentRoost'ta AI kredisi aboneliğin içinde; ayda $19,99'dan başlayan fiyatla sunucu, kredi ve kurulum tek pakette. 14 gün içinde memnun kalmazsanız iade garantisi var.
Planları karşılaştırın veya n8n sayfasına göz atın.
Sonuç
İletişim formu mesajlarını elle okuyup sıralamak ölçeklenmiyor. Bu akış her gönderimi saniyeler içinde puanlar, en değerli fırsatları satışa iletir ve geri kalanları otomatik olarak besler. n8n'nin açık yapısı sayesinde CRM, e-posta aracı veya bildirim kanalını dilediğiniz zaman değiştirebilirsiniz — akışın mantığına dokunmadan.
Sıkça sorulan sorular
OpenAI ya da başka bir AI servisi için API anahtarı girmem gerekiyor mu?
AgentRoost'ta hayır. AI/LLM düğümü aboneliğe dahil olan kredilerle çalışır. Kendi API anahtarınızı bağlamak isterseniz de n8n bunu destekler, ama zorunlu değil.
Bu akış hangi form araçlarıyla çalışır?
Webhook POST isteği gönderebilen her araçla: Typeform, Tally, HubSpot Forms, Gravity Forms (WordPress), özel HTML formu, Webflow Form ve benzerleri. Araç değişse bile n8n tarafında yalnızca Set düğümündeki alan adlarını güncellemeniz yeterlidir.
n8n örneğimin verilerine başka biri erişebilir mi?
Her AgentRoost aboneliği tek kiracılı (single-tenant) bir n8n örneğidir. Verileriniz, iş akışlarınız ve kimlik bilgileriniz paylaşılan bir ortamda değil, size ait izole bir ortamda çalışır.
Akışı daha sonra başka bir CRM'e bağlamak istersem ne yapmalıyım?
n8n'in True ve False kollarındaki HTTP Request düğümlerinin URL ve body kısmını yeni CRM'in API'sine göre güncelleyin. n8n'in yerleşik entegrasyonlarından (HubSpot, Pipedrive, Notion, Airtable vb.) birini kullanıyorsanız sadece o düğümü değiştirmek yeterli; akışın geri kalanı değişmez.
Aboneliği iptal edersem iş akışlarım kaybolur mu?
İptal etmeden önce n8n'in yerleşik dışa aktarma özelliğiyle tüm iş akışlarınızı JSON olarak indirin. Bu dosyayı başka bir n8n kurulumuna aktarabilirsiniz. Veriler sizin, istediğiniz zaman taşıyabilirsiniz.