Bu rehberde: Müşteri adaylarını oluşturan, güncelleyen, arayan, bilgilerini tamamlayan ve CRM'e aktaran kutuları öğrenirsiniz. Tekilleştirme kuralları burada.
⏱ 10 dakika
Kısaca
Bu kutular müşteri adayı (lead) veritabanınızla çalışır. Yapay zekâ kullanmazlar; maliyetleri yoktur (yalnızca Zenginleştir Hunter/Apollo kredisi harcar). Lead ajanları aynı işleri araçlarla yapar; bu kutular kuralları sizin belirlediğiniz akışlar içindir.

Teknik ayrıntılar
Lead node'ları organizasyonunuzun lead veritabanıyla çalışır: oluşturma (tekilleştirmeli), güncelleme, sorgulama, zenginleştirme ve dış CRM'lere aktarma. Lead ajanları (Researcher, Qualifier, Outreach) aynı veriyi araçlarla kullanır; bu node'lar deterministik akışlar için uygundur.
| Node | Tip | Girdi | Çıktı handle'ları | Entegrasyon | Model |
|---|---|---|---|---|---|
| Create / upsert lead | leads.create | 1 | main | – | – |
| Update lead | leads.update | 1 | main | – | – |
| Find leads | leads.query | 1 | main | – | – |
| Enrich lead | leads.enrich | 1 | main | HUNTER, APOLLO | – |
| Sync to CRM / Sheet | leads.crmSync | 1 | main | HUBSPOT, GOOGLE_SHEETS, NOTION, WEBHOOK | – |
Lead durumları
NEW → RESEARCHING → QUALIFIED → CONTACTED → REPLIED → MEETING → CONVERTED, herhangi bir noktadan DISQUALIFIED. Skor 0-100, scoreReason metni. Ayrıntı: Lead pipeline.
Lead alanları: id, name, email, phone, company, website, title, status, score, scoreReason, tags[], source, notes, socials { linkedin, instagram, x }, industry, companySize, country, assignedToId, lastContactedAt, createdAt, updatedAt, özel alanlar custom.*.
Create / upsert lead (leads.create)
Lead oluşturur; email, phone veya website eşleşirse mevcut kaydı günceller (upsert). lead.created (yeni) veya lead.updated olayı yayınlanır.
| Anahtar | Etiket | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|---|
mapping | Field mapping | keyvalue | Hayır | { name: {{ $json.name }}, email: {{ $json.email }}, phone: {{ $json.phone }}, company: {{ $json.company }}, website: {{ $json.website }} } | Sol: lead alanı, sağ: ifade. Bilinmeyen anahtarlar custom.* altına yazılır |
source | Source | string | Hayır | workflow | website, webinar, referral gibi |
tags | Tags | list | Hayır | – | Eklenecek etiketler |
Çıktı: item + leadId, isNew, lead (tam kayıt). Boş email, phone ve website ile gelen item'lar tekilleştirilemediği için her zaman yeni lead oluşturur; formda en az birini zorunlu tutun.
Örnek – webhook'tan lead:
trigger.webhook → leads.create
mapping:
name: {{ $json.body.fullName }}
email: {{ $json.body.email }}
phone: {{ $json.body.phone }}
company: {{ $json.body.company }}
message: {{ $json.body.message }} ← custom.message
source: website
tags: [inbound, {{ $json.query.utm_campaign ?? "organic" }}]
Update lead (leads.update)
| Anahtar | Etiket | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|---|
leadId | Lead id | expression | Evet | {{ $json.leadId }} | |
status | Status | select | Hayır | – | NEW, RESEARCHING, QUALIFIED, CONTACTED, REPLIED, MEETING, CONVERTED, DISQUALIFIED |
score | Score | expression | Hayır | – | 0-100; sayıya çevrilir |
addTags | Add tags | list | Hayır | – | Mevcut etiketlere eklenir |
note | Append note | expression | Hayır | – | notes alanına zaman damgasıyla eklenir ve bir LeadActivity oluşur |
Durum QUALIFIED olursa lead.qualified, REPLIED olursa lead.replied olayı yayınlanır. Çıktı: güncel lead.
Örnek: ai.classify (input {{ $json.text }}, categories [interested, not_now, unsubscribe]) → interested → leads.update (status REPLIED, addTags [hot], note "Yanıt: {{ $json.text }}"); unsubscribe → leads.update (addTags [unsubscribed], note "Opt-out").
Find leads (leads.query)
Filtreye uyan lead'leri getirir; her lead ayrı item. Hiç sonuç yoksa downstream node'lar SKIPPED olur.
| Anahtar | Etiket | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|---|
status | Status | multiselect | Hayır | – | Boşsa hepsi |
minScore | Min score | number | Hayır | – | |
tags | Tags | list | Hayır | – | Hepsini içerenler |
notContactedDays | Not contacted for (days) | number | Hayır | – | lastContactedAt bu kadar gün önce veya hiç |
limit | Limit | number | Hayır | 50 | En yeni güncellenenden başlar |
Proje filtresi iş akışının projesidir. Çıktı item'ı lead kaydının kendisidir ({{ $json.email }}, {{ $json.score }}).
Örnek – 14 gün temas edilmemiş nitelikli lead'lere takip:
trigger.schedule (0 10 * * 2) → leads.query (status [QUALIFIED, CONTACTED], minScore 70, notContactedDays 14, limit 30)
→ logic.loop (batchSize 5)
loop → agent.outreach (channel email, offer {{ $vars.offer }}, sequenceSteps 1, requireApproval true)
done → utility.report (type OUTREACH_SUMMARY, title "Takip turu {{ $today }}")
Enrich lead (leads.enrich)
Hunter veya Apollo ile e-posta, şirket büyüklüğü, sektör ve sosyal profilleri bulur; hesap seçimi denetçi panelinden. Lead kaydı varsa (leadId) alanlar doldurulur.
| Anahtar | Etiket | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|---|
website | Website / domain | expression | Hayır | {{ $json.website }} | Domain'e indirgenir (https://www.x.com/a → x.com) |
fullName | Full name (optional) | expression | Hayır | {{ $json.name }} | Doluysa kişiye özel e-posta bulma (Email Finder) |
Çıktı: item + email, emailConfidence (0-100), emailVerified, companyName, companySize, industry, country, socials { linkedin, x, instagram }, enrichmentSource. Her çağrı sağlayıcı kredisi tüketir; logic.filter ({{ !$json.email }}) ile yalnızca e-postası olmayanları zenginleştirin.
Örnek: leads.query (status [NEW]) → logic.filter ({{ !$json.email && $json.website }}) → leads.enrich → leads.update (leadId {{ $json.id }}, status RESEARCHING, note "Zenginleştirildi: {{ $json.enrichmentSource }}").
Sync to CRM / Sheet (leads.crmSync)
Lead item'larını dış sisteme yazar (upsert; e-posta anahtar). Tek yönlüdür (OrqLabs → dış sistem).
| Anahtar | Etiket | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|---|
target | Target (sheet id / database id) | string | Hayır | – | Google Sheets: tablo id (isteğe bağlı !Sayfa1); Notion: database id; HubSpot ve Webhook'ta boş |
mapping | Field mapping | keyvalue | Hayır | – | Sol: hedef alan/sütun, sağ: ifade. Boşsa varsayılan eşleme |
Hedefe göre varsayılan eşleme:
| Hedef | Varsayılan |
|---|---|
| HUBSPOT | firstname/lastname (ad bölünür), email, phone, company, website, jobtitle, hs_lead_status (durumdan), agentflow_score (özel property oluşturmanız gerekir) |
| GOOGLE_SHEETS | Başlık satırı: name, email, phone, company, website, status, score, tags, source, createdAt |
| NOTION | Name (title), Email (email), Phone (phone_number), Company (rich_text), Website (url), Status (select), Score (number), Tags (multi_select) |
| WEBHOOK | Tüm lead nesnesi payload.lead içinde, olay lead.synced |
Çıktı: item + synced: true, externalId, externalUrl. Hatalar INVALID (eksik property) veya RATE_LIMIT.
Örnek – nitelenen lead'i HubSpot'a yaz:
trigger.event (lead.qualified, filter {{ $json.score >= 70 }})
→ leads.crmSync (hesap: HubSpot)
mapping:
firstname: {{ $json.name.split(" ")[0] }}
lastname: {{ $json.name.split(" ").slice(1).join(" ") }}
email: {{ $json.email }}
company: {{ $json.company }}
agentflow_score: {{ $json.score }}
hs_lead_status: OPEN
Ayrıntı: CRM senkronizasyonu ve dışa aktarma.
İpuçları ve sınırlar
- Tekilleştirme öncelik sırası:
email→phone→website. Aynı şirketten iki kişi aynıwebsiteile gelirse ikinci kişi ilkini günceller; kişi bazlı lead'lerde e-posta veya telefon zorunlu tutun. - Lead node'ları LLM kullanmaz, maliyeti yoktur; zenginleştirme sağlayıcı kredisi harcar.
leads.queryen fazla 500 item döndürür; büyük listelerdelogic.loopile parti parti işleyin.- İçe/dışa aktarma için CSV uç noktaları:
POST /orgs/:orgId/leads/import,GET /orgs/:orgId/leads/export. - KVKK/GDPR: kişisel veriyi yalnızca meşru menfaat veya açık rıza ile işleyin; silme talebinde
DELETE /orgs/:orgId/leads/:idve CRM tarafında ayrıca silme gerekir.
Sık sorulan sorular
Aynı kişi iki kez eklenir mi? Hayır. E-posta, telefon veya web sitesi eşleşirse mevcut kayıt güncellenir.
CRM'deki değişiklikler geri gelir mi? Hayır; CRM'e yaz tek yönlüdür. Ters yön için webhook tetikleyicisi kullanın.
Zenginleştirme ücretli mi? Hunter veya Apollo kredisi harcar. Önce Süz ile yalnızca eksik olanları seçin.