Bu rehberde: Salesforce kuruluşunuzu (org) bağlarsınız. CRM'e yaz kutusu adayları Salesforce'a Lead olarak aktarır; Salesforce kutusu Lead oluşturur, durum günceller, görev açar ve SOQL sorgusu çalıştırır.
⏱ 10 dakika (platformun Salesforce uygulaması kayıtlıysa)
Kimlik kartı
| Alan | Değer |
|---|---|
| Sağlayıcı anahtarı | SALESFORCE (kutu: Salesforce, app.salesforce) |
| Kategori | CRM |
| Kimlik doğrulama | Salesforce ile oturum açma (OAuth 2.0 web server flow + PKCE) |
| Kapsam | Organizasyon bazlı (bir bağlantı = bir Salesforce org) |
| Webhook | Hayır |
| Kullanan kutular | CRM'e yaz (leads.crmSync), Salesforce (app.salesforce) |
| İşlemler | Lead oluştur, Lead durumunu güncelle, Görev oluştur, SOQL sorgusu |
Ne işe yarar?
CRM'e yaz (aday senkronu)
- Hedef boş veya
Lead→ Lead nesnesi;Contact→ Contact nesnesi. - Eşleştirme e-posta ile yapılır: aynı e-postalı, dönüştürülmemiş en yeni Lead bulunursa güncellenir, yoksa yeni Lead oluşturulur. E-postası olmayan aday aktarılmaz.
- Salesforce'un zorunlu alanları yeni kayıtta boşsa doldurulur:
LastName(e-postanın @ öncesi),Company(kurumsal e-posta alan adı, yoksa[not provided]). Güncellemede bu varsayılanlar yazılmaz.
| OrqLabs alanı | Salesforce alanı |
|---|---|
email | Email |
firstName, lastName (veya name → bölünür) | FirstName, LastName |
company | Company |
phone, mobile | Phone, MobilePhone |
title / jobTitle | Title |
website, city, country, industry | Website, City, Country, Industry |
source / leadSource | LeadSource |
status | Status |
description / notes | Description |
Büyük harfle başlayan anahtarlar API adı olarak aynen gönderilir (Industry, Ozel_Alan__c). Field mapping ile kendi eşlemenizi yazabilirsiniz, ör. LastName = {{ $json.lastName }}, Rating = Hot.
Salesforce kutusu
| İşlem | Açıklama |
|---|---|
| Lead oluştur | Yeni Lead (e-posta, ad, soyad, şirket, telefon, unvan, web sitesi, kaynak, durum, açıklama + Ek alanlar JSON) |
| Lead durumunu güncelle | Lead ID ile ya da e-postaya göre bulunan Lead'in Status değerini değiştirir (Lead Status seçim listesindeki bir değer olmalı) |
| Görev oluştur | Lead/Contact üzerinde Task: konu, son tarih (YYYY-AA-GG), öncelik, açıklama; kişi ID verilmezse e-postayla önce Lead, sonra Contact aranır |
| SOQL sorgusu | Yalnızca SELECT … sorguları; sorguda LIMIT yoksa Limit değeri eklenir (en fazla 2.000 kayıt) |
Ön koşullar
- API erişimi olan bir Salesforce sürümü: Enterprise, Unlimited, Performance veya Developer (Professional yalnızca API eklentisiyle).
- Bağlanan kullanıcının profilinde API Enabled izni ve Lead / Task nesnelerinde oluşturma-düzenleme yetkisi.
- Üretim veya Developer Edition org'u (
login.salesforce.com). Sandbox (test.salesforce.com) bağlantısı desteklenmez. - Kuruluşunuz yüklenmemiş bağlı uygulamaları engelliyorsa Salesforce yöneticinizin uygulamayı yüklemesi/onaylaması (Setup → Connected Apps OAuth Usage → OrqLabs → Install) veya kullanıcıya Approve Uninstalled Connected Apps izni vermesi.
Adım adım kurulum
A) OrqLabs'ta bağlama
- Entegrasyonlar → Salesforce → Bağla.
- Salesforce'ta oturum açın (My Domain kullanıyorsanız Use Custom Domain) → Allow.
- Kart Salesforce – kullanici@sirket.com (sirket.my.salesforce.com) adıyla görünür.
- Bağlantıyı test et ile oturumun çalıştığını doğrulayın.
- İş akışında CRM'e yaz kutusunu ekleyin → Bağlı hesap: Salesforce → Target: boş (Lead) veya
Contact.
B) Platform yöneticisi: Connected App / External Client App
Bu adımlar OrqLabs'ı işleten taraf tarafından bir kez yapılır (kendi Salesforce org'unuzda).
- Setup → App Manager → New Connected App (yeni org'larda: Setup → External Client App Manager → New External Client App; Connected App oluşturma kapalıysa External Client App Settings → Allow creation of connected apps ile açılabilir).
- Ad:
OrqLabs, iletişim e-postası, logo (isteğe bağlı). - Enable OAuth Settings → Callback URL =
https://api.orqlabs.com/api/v1/integrations/oauth/salesforce/callback. - Selected OAuth Scopes: Manage user data via APIs (api) ve Perform requests at any time (refresh_token, offline_access).
- Güvenlik: Require Proof Key for Code Exchange (PKCE) açık kalabilir (OrqLabs PKCE gönderir); Require Secret for Web Server Flow ve Require Secret for Refresh Token Flow açık.
- Kaydedin → Manage Consumer Details → Consumer Key →
SALESFORCE_CLIENT_ID, Consumer Secret →SALESFORCE_CLIENT_SECRET. - Manage → Edit Policies: Permitted Users = All users may self-authorize; IP Relaxation = Relax IP restrictions; Refresh Token Policy = Refresh token is valid until revoked.
- External Client App kullanıyorsanız diğer müşterilerin org'larından bağlanabilmek için uygulamanın dağıtım durumunu Packaged yapıp paketleyin; Local durumdaki uygulama yalnızca kendi org'unuzda çalışır.
- API sunucusunu iki ortam değişkeniyle yeniden başlatın. Yeni uygulamaların Salesforce'ta etkinleşmesi 2–10 dakika sürebilir.
Oturum süresi
Salesforce erişim anahtarına süre yazmaz (org'un oturum zaman aşımı geçerlidir, varsayılan 2 saat). OrqLabs anahtarı yaklaşık 1 saatte bir yeniler ve bir istek INVALID_SESSION_ID ile dönerse bir kez daha yenileyip yeniden dener.
İzinler ve kapsamlar
| Kapsam | Neden gerekli |
|---|---|
api | REST API: Lead, Contact, Task kayıtları ve SOQL |
refresh_token | Oturum yeniden açılmadan çalışmaya devam etmek |
Sık karşılaşılan hatalar
| Hata | Olası neden | Çözüm |
|---|---|---|
FORBIDDEN – API_DISABLED_FOR_ORG | Sürümde API yok veya kullanıcıda API Enabled yok | Sürümü / profil iznini kontrol edin |
OAUTH_APP_BLOCKED / "app not installed" | Org yüklenmemiş bağlı uygulamalara izin vermiyor | Salesforce yöneticisi uygulamayı yüklemeli (Ön koşullar) |
AUTH – invalid_grant / INVALID_SESSION_ID | Yenileme anahtarı iptal edildi, kullanıcı pasif | Yeniden yetkilendir |
INVALID – REQUIRED_FIELD_MISSING | Org'a özel zorunlu alan dolu değil | Field mapping veya Ek alanlar ile alanı doldurun |
INVALID – INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST | Durum / kaynak değeri seçim listesinde yok | Salesforce'taki değeri birebir yazın |
INVALID – DUPLICATES_DETECTED | Org'un yinelenen kayıt kuralı engelledi | Kuralı gevşetin veya mevcut kaydı güncelleyin |
RATE_LIMIT – REQUEST_LIMIT_EXCEEDED | Günlük API çağrı sınırı doldu | Akış sıklığını azaltın; ertesi gün devam eder |