OAuth scopes, just enough.
AICall's Salesforce connector ships with three scope profiles. Most customers never need anything beyond standard. Pick the narrowest profile that does the job.
| 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.
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.
// 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.
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.
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.
- Composite calls — write Account + Contact + Opportunity in one composite REST call, not three sequential ones.
- Async non-blockers — non-critical writes (Task creation, Chatter posts) queue async and never block call completion.
When the write fails.
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.
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.