Source connector
Salesforce connector
Salesforce integration for databases, warehouses and BI tools
Enterprise CRM and Customer 360 platform. Datrise captures Salesforce entities such as accounts, opportunities, contacts, tasks, and pipeline stage history, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Salesforce REST API v68.0 (Winter '27) + Bulk API 2.0 authenticates with OAuth 2.0, JWT, username / password, incremental runs key on SystemModstamp, and Salesforce caps calls at 100,000 REST/SOAP/Bulk/Connect API calls per rolling 24 hours per org on Enterprise Edition (higher on Unlimited/Performance Edition, scaling with purchased user licenses).
Of the 5 objects, 4 sync as upserts keyed on the primary key and 1 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `salesforce_accounts`) with a schema derived from the Salesforce API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the Salesforce pipeline page, and join the waitlist to get the Salesforce connector (CRM) with guided onboarding.
What Salesforce data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| accounts | salesforce_accounts | Upsert by primary key, incremental on updated-at |
| opportunities | salesforce_opportunities | Upsert by primary key, incremental on updated-at |
| contacts | salesforce_contacts | Upsert by primary key, incremental on updated-at |
| tasks | salesforce_tasks | Upsert by primary key, incremental on updated-at |
| pipeline stage history | salesforce_pipeline_stage_history | Append-only, incremental by timestamp |
Salesforce API: setup facts for the connector
Verified against the vendor documentation on 2026-09-02. Unknown values are left blank rather than guessed.
| API | Salesforce REST API v68.0 (Winter '27) + Bulk API 2.0 |
|---|---|
| Authentication | OAuth 2.0, JWT, username / password — Access is via a Connected App using OAuth 2.0; the JWT Bearer flow (RSA-SHA256 signed) is Salesforce's recommended server-to-server flow, while the Username-Password flow still works but is discouraged for security/MFA reasons. |
| Pagination | token — SOQL `query`/`queryAll` returns up to 2,000 records per page with `done`/`nextRecordsUrl`/`totalSize`; you page by GETing the returned `nextRecordsUrl` query-locator until `done: true`. |
| Rate limit | 100,000 REST/SOAP/Bulk/Connect API calls per rolling 24 hours per org on Enterprise Edition (higher on Unlimited/Performance Edition, scaling with purchased user licenses) |
| Incremental cursor | SystemModstamp — SystemModstamp also moves on formula/rollup recalculation, so LastModifiedDate is a narrower alternative when only direct user edits matter. |
| Webhooks | Yes — Change Data Capture / Platform Events (Streaming API) |
| Bulk export | Yes — Bulk API 2.0 |
| Deletes detectable | Yes — `queryAll ... WHERE IsDeleted = true ALL ROWS` surfaces Recycle Bin records for up to the 15-day retention window |
What bites when replicating Salesforce
- Record IDs come in a case-sensitive 15-character form (UI, raw report exports) and a case-insensitive 18-character form (API); normalise with `CASESAFEID()` before joining the two.
- `query`/`queryAll` caps synchronous REST pages at 2,000 records via `nextRecordsUrl`; Bulk API 2.0 jobs cap at 150 MB per file, and base64 overhead makes roughly 100 MB of real data the practical ceiling.
- Bulk API 2.0 ingest is capped at 150,000,000 records and 15,000 batches per rolling 24-hour period, a pool shared across every bulk job in the org.
- `queryAll` only surfaces deleted records while they sit in the 15-day Recycle Bin; a connector polling less often than that misses deletes and needs Change Data Capture as a backstop.
Popular destinations for Salesforce
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
Salesforce connector FAQ
- What Salesforce data does the connector extract?
- 5 objects: accounts, opportunities, contacts, tasks and pipeline stage history. Each lands in its own table with types preserved; history-style objects (1: pipeline stage history) load as append-only streams.
- Is the Salesforce integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load Salesforce data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Salesforce → destination pair has its own page with the object-to-table mapping.
Related CRM sources
Other sources in the same category, each with its own connector page.
Early access
Launch your Salesforce pipeline with guided onboarding
Join the waitlist to get priority access for Salesforce integrations with guided setup, schema-aware mapping, and production-grade incremental sync.