OAuth scopes, just enough.OAuth kapsamları, tam yeterince.
AICall's Salesforce connector ships with three scope profiles. Most customers never need anything beyond standard. Pick the narrowest profile that does the job.AICall’ın Salesforce bağlayıcısı üç kapsam profiliyle gelir. Çoğu müşterinin standard dışında bir şeye ihtiyacı olmaz. İşi gören en dar profili seçin.
| Standard | api · refresh_token · offline_access — handles 95% of CRM writes |
| Extended | + web · full — needed only for record-page UI surfaces |
| Privileged | + chatter_api — only for Chatter posts on opportunities |
Map by intent, not by field.Niyete göre eşle, alana göre değil.
Most teams map field-to-field on day one and regret it on day thirty. Instead, map by intent: when the agent classifies a caller as "ready to demo", write to the canonical "demo_requested_at" field, regardless of which Salesforce edition the team is on.Çoğu ekip ilk gün alandan alana eşler ve otuzuncu gün pişman olur. Bunun yerine niyete göre eşleyin: asistan bir arayanı “demoya hazır” olarak sınıfladığında, ekip hangi Salesforce sürümünde olursa olsun, standart “demo_requested_at” alanına yazın.
// agent-side field map (intent-driven) { "demo_requested": "Opportunity.Demo_Requested_At__c", "qualified": "Lead.Status", "call_summary": "Task.Description" }
Two hundred custom fields, zero code.İki yüz özel alan, sıfır kod.
Our largest customers run with 200+ custom fields. The connector handles them natively — no code, no Apex, no Flow. The trick is to define field metadata once, in our connector UI, with type hints. We auto-map type-compatible fields; everything else fails at config time, not at runtime.
Round-trip under 200ms.Gidiş-dönüş 200ms altında.
Mid-call writes only work if Salesforce responds in time. Three tricks:
- Region pinning — pin our agent to the same Salesforce instance region. EU agents to EU2, US agents to NA130, etc.Bölge sabitleme — asistanımızı aynı Salesforce örnek bölgesine sabitleyin. AB asistanları EU2’ye, ABD asistanları NA130’a vb.
- Composite calls — write Account + Contact + Opportunity in one composite REST call, not three sequential ones.Bileşik çağrılar — Account + Contact + Opportunity’i üç ardışık değil, tek bir bileşik REST çağrısında yazın.
- Async non-blockers — non-critical writes (Task creation, Chatter posts) queue async and never block call completion.Eşzamansız engellemeyenler — kritik olmayan yazmalar (Task oluşturma, Chatter gönderileri) eşzamansız kuyruğa alınır ve arama tamamlanmasını asla engellemez.
When the write fails.Yazma başarısız olduğunda.
Salesforce has a 100% uptime SLA. Reality is 99.95%. When a write fails, the connector retries five times with exponential backoff, then queues the payload for human review with a complete audit log.
Rollback checklist
- Five-attempt retry with backoff 200ms → 1s → 5s → 30s → 5min
- Composite call atomicity preserved — partial writes rolled back
- Failed writes queue to
aicall-salesforce-deadletter - Slack alert to admin channel on dead-letter entry
- Manual replay endpoint available · audit log immutable
The 47-minute deploy.47 dakikalık kurulum.
Our fastest production Salesforce deployment ran in 47 minutes — 200+ custom fields, three custom objects, zero Apex. The customer's IT director kept his day. The two non-negotiable preconditions: API user provisioned ahead of time, and a sample call recording with the full happy-path script.
Outside those two, everything is configurable from our UI. We have not written Apex against a customer's org since 2024.