Gelen kancalar
Formlardan, telefon santralinden, ödeme sisteminden, veri ambarından ve randevu araçlarından CRM'e gizli bir adres üzerinden veri gönderin.
Gelen kanca, dış bir sistemin CRM'e kimlik bilgisi olmadan veri göndermesini sağlayan gizli bir adrestir. Her bağlantının kendi adresi vardır; adresteki rastgele anahtar hem kimliği hem de yetkiyi taşır. Adresi Ayarlar → Uygulamalar'da ilgili kartı bağlayınca alırsınız.
https://ornek.solk.app/in/<uygulama>/<gizli anahtar> (Aircall, Stripe, Segment, veri eşitleme…)
https://ornek.solk.app/in/form/<gizli anahtar> (site formu, Typeform, Tally)Gizli anahtarı içeren adres bir parola gibidir. Yalnız gönderen sisteme girin; sızdıysa bağlantı kartından Adresi yenile ile yenisini alın — eski adres anında çalışmaz.
Ortak kurallar
- Yöntem
POST, gövde JSON (form gönderimlerindeapplication/x-www-form-urlencodedde olur). Aynı adreseGETisteği bağlantının çalıştığını doğrulayan kısa bir JSON döndürür. - Kayıtlar bağlantının sorumlusu adına açılır (bağlantıyı kuran kullanıcı ya da kartta seçilen kişi); olayın kendi kullanıcısı (ör. aramayı yapan temsilcinin e-postası) eşleşirse o kullanıcı kullanılır.
- Aynı olay iki kez gelirse (dış kimlik aynıysa) ikinci kez işlenmez:
{"ok": true, "skipped": "zaten işlendi"}. - Hız sınırı saat başına bağlantı başınadır: Segment 3000, veri eşitleme / Aircall / RingCentral / Stripe 600, diğerleri 120 istek. Aşılırsa
429. - Kapatılmış ya da silinmiş bağlantının adresi
404döner.
Site formu
Kendi web sitenizdeki iletişim / teklif formunu doğrudan CRM'e bağlayın. Her başvuru:
- Firma adına göre mevcut firmayı bulur, yoksa aday firma açar (kaynak: Web formu),
- Kişiyi (e-posta yoksa ekleyerek) firmaya bağlar,
- Bağlantı sorumlusuna bugün terminli, yüksek öncelikli bir görev açar ve bildirim gönderir,
form_submittedolayını uygulamalara iletir.
Alanlar adlarından tanınır; Türkçe ya da İngilizce olabilir:
| CRM alanı | Tanınan alan adları |
|---|---|
| Firma | firma, şirket, company, kurum, organization |
| Ad soyad | ad soyad, adınız, isim, name, full name, yetkili |
| E-posta | e-posta, eposta, email, mail (değer @ içermeli) |
| Telefon | telefon, phone, tel, gsm, cep |
| Şehir | şehir, il, city |
| Unvan | unvan, görev, title, pozisyon |
| Mesaj | mesaj, message, not, açıklama, talep, konu |
Tanınmayan alanlar da kaybolmaz: tüm alanlar görevin ayrıntısına "etiket: değer" satırları olarak yazılır.
<form action="https://ornek.solk.app/in/form/GIZLI_ANAHTAR" method="post">
<input name="firma" placeholder="Firma" required>
<input name="ad soyad" placeholder="Adınız">
<input name="e-posta" type="email" placeholder="E-posta" required>
<input name="telefon" placeholder="Telefon">
<textarea name="mesaj" placeholder="Mesajınız"></textarea>
<!-- gönderimden sonra yönlendirilecek sayfa (isteğe bağlı) -->
<input type="hidden" name="_next" value="https://firmaniz.com/tesekkurler">
<button>Gönder</button>
</form>curl https://ornek.solk.app/in/form/GIZLI_ANAHTAR \
-H "Content-Type: application/json" \
-d '{"company": "Anadolu Gıda", "name": "Murat Er", "email": "murat@anadolugida.com.tr", "message": "Aylık 5 ton streç film"}'Yanıt {"ok": true, "customer_id": 42, "task_id": 118}. HTML formunda _next verilmişse kullanıcı o sayfaya yönlendirilir.
Typeform ve Tally aynı adres yapısını kullanır; formun webhook ayarına adresi yapıştırın. Kartta imza gizli anahtarı girerseniz Typeform-Signature / Tally-Signature başlıkları doğrulanır ve imzasız istekler 401 alır.
Veri eşitleme
Veri ambarınızdaki, ERP'nizdeki ya da başka bir CRM'deki firma ve kişileri toplu olarak gönderip açın ya da güncelleyin. Census, Hightouch, Airbyte, kendi betiğiniz ya da Zapier ile kullanılabilir.
curl "https://ornek.solk.app/in/sync/GIZLI_ANAHTAR?obj=customer" \
-H "Content-Type: application/json" \
-d '{"rows": [
{"external_id": "ERP-1042", "name": "Kuzey Plastik Sanayi", "website": "kuzeyplastik.com.tr", "city": "Bursa", "industry": "Plastik", "status": "AC"},
{"external_id": "ERP-1043", "name": "Anadolu Gıda Ambalaj", "phone": "+90 332 555 10 20"}
]}'{ "ok": true, "created": 1, "updated": 1, "errors": [] }- Nesne
?obj=customer/?obj=contactya da gövdede"object"ile seçilir; verilmezse satırdaemailolan veindustryolmayanlar kişi sayılır. - Gövde bir dizi,
rows/records/batch/dataalanı ya da tek bir nesne olabilir. Tek istekte en çok 500 satır. - Eşleşme sırası — firma:
external_id(daha önce gönderildiyse) → ad → web sitesinin alan adı. Kişi:external_id→ e-posta. - Firma alanları:
name/company,website/domain,phone,city,industry/sector,address,status(AC/Prospect). Kişi alanları:name(ya dafirst_name+last_name),email,phone/mobile,title/job_title,department, firma içincompanyya dacompany_external_id. - Boş değerler mevcut veriyi silmez; yalnız dolu alanlar yazılır.
Segment
Segment'te Webhooks (Actions) hedefi ekleyip adresi girin.
identify→ kişi (vetraits.companyvarsa firma) açılır ya da güncellenir;userIddış kimlik olarak saklanır.group→ firma açılır ya da güncellenir (groupId,traits.name,website,industry).track→ kartta seçtiğiniz olay adları (ör.Demo Requested, Trial Started) kişinin firmasına not olarak düşer.
Toplu gönderimde (batch) istek başına en çok 100 olay işlenir.
Telefon: Aircall ve RingCentral
Aircall webhook'unda call.ended ve call.voicemail_left olaylarını seçin. RingCentral ve diğer santraller için Zapier / Make üzerinden şu düz gövdeyi gönderin:
{
"id": "rc-88231",
"direction": "outbound",
"number": "+90 224 555 01 02",
"result": "answered",
"duration": 312,
"started_at": "2026-10-02T10:41:00+03:00",
"user_email": "deniz@ornekkimya.com.tr",
"recording_url": "https://…",
"notes": "Fiyat görüşüldü"
}- Numara bir kişi ya da firmayla eşleşirse telefon görüşmesi kaydı açılır (süre, yön, kayıt bağlantısı, not).
- Cevapsız gelen aramada sorumluya "Geri ara" görevi açılır (yüksek öncelik, sesli mesaj bağlantısıyla).
- Numara bilinmiyorsa "kaydı firmaya bağlayın" görevi açılır.
Stripe
Stripe panelinde webhook uç noktası olarak adresi ekleyin ve invoice.paid, invoice.payment_failed, customer.subscription.deleted, checkout.session.completed olaylarını seçin. Kartta imza gizli anahtarını (whsec_…) girerseniz Stripe-Signature doğrulanır. Ödemeler firmaya not düşer; başarısız ödeme ve sona eren abonelik için sorumluya görev açılır. Firma, daha önce bağlanmış Stripe müşteri kimliğinden ya da müşterinin e-postasından bulunur; checkout.session.completed olayında firma yoksa aday olarak açılır.
Randevu: Calendly ve Cal.com
Randevu alındığında takvime toplantı, firmaya kişi ve not düşer; randevu iptal edilince toplantı da iptal olur. Calendly'de invitee.created / invitee.canceled, Cal.com'da BOOKING_CREATED, BOOKING_RESCHEDULED, BOOKING_CANCELLED olaylarını seçin.
Toplantı notları
Yapay zekâ toplantı notu araçlarından (Fireflies, Fathom, tl;dv, Otter… doğrudan ya da Zapier ile) gelen özet, katılımcıların firmasına not olarak; eylem maddeleri iki gün terminli görev olarak düşer.
{
"id": "mtg_5521",
"title": "Kuzey Plastik · haftalık",
"summary": "Numune sonuçları olumlu, fiyat revizyonu istendi.",
"attendees": [{ "email": "emre.yildiz@kuzeyplastik.com.tr", "name": "Emre Yıldız" }],
"action_items": ["Revize fiyatı gönder", "Hat denemesi tarihini netleştir"],
"url": "https://…"
}lemlist
Kampanya olayları (emailsReplied, linkedinReplied, emailsInterested, meetingBooked, emailsNotInterested, emailsBounced, emailsUnsubscribed, emailsClicked) kişinin firmasına not düşer; yanıt, ilgi ve toplantı olaylarında sorumluya "dönüş yapın" görevi açılır.
Slack komutu
Slack uygulamanızda bir Slash Command (ör. /crm) tanımlayıp istek adresi olarak bağlantının adresini, kartta da Slack'in Signing Secret'ını girin. /crm kuzey yazan kullanıcı eşleşen firma, kişi ve fırsatları yalnız kendisinin göreceği bir yanıtla alır.