Salesforce
Business software
Salesforce data, published as Salesforce publishes it. Ingest delivers this data to a data warehouse you own as 17 tables, and updates it on the schedule you choose. There is no code to write and nothing to install.
What you get
| Table | Each row is |
|---|---|
accountaccount | All Account rows, including soft-deleted ones (IsDeleted true). Incremental sync follows SystemModstamp, so edits and deletions are re-read; rows merge on Id. |
campaigncampaign | All Campaign rows, including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
campaign_membercampaign_member | Campaign members (the lead or contact linked to each campaign), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
case_case_ | All Case rows, including soft-deleted ones. Incremental sync follows SystemModstamp, so edits, status changes and deletions are re-read; rows merge on Id. |
contactcontact | All Contact rows, including soft-deleted ones. Compound Mailing/Other addresses repeat their separate columns. Incremental sync follows SystemModstamp; rows merge on Id. |
eventevent | All Event rows (calendar activities), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
leadlead | All Lead rows, including soft-deleted ones and converted leads. Incremental sync follows SystemModstamp, so edits and deletions are re-read; rows merge on Id. |
opportunityopportunity | All Opportunity rows, including soft-deleted ones. Incremental sync follows SystemModstamp, so edits and deletions are re-read; rows merge on Id. |
opportunity_contact_roleopportunity_contact_role | Opportunity contact roles (which contact plays which role on each opportunity), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
opportunity_historyopportunity_history | Opportunity stage history (one row per stage change). This is historical data; incremental sync follows SystemModstamp, which for history rows tracks CreatedDate. Rows merge on Id. |
opportunity_line_itemopportunity_line_item | Opportunity line items (products on each opportunity), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
pricebook_entrypricebook_entry | All PricebookEntry rows (a product's price in each price book), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
pricebook2pricebook2 | All Pricebook2 rows (standard and custom price books), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
product2product2 | All Product2 rows (the product catalog), including soft-deleted and inactive ones. Incremental sync follows SystemModstamp; rows merge on Id. |
tasktask | All Task rows (activities), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
user_user_ | All User rows visible to the execution user, including inactive and soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
user_roleuser_role | All UserRole rows (the role hierarchy), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. |
Beyond these tables, Salesforce lists the other objects your own account holds when you connect it, your custom objects among them, and you choose which of them to sync. Each lands as a table of its own.
How it works
- Choose Salesforce. Connect your Salesforce account once, from Ingest.
- Pick where it goes. BigQuery, Snowflake, Databricks, Redshift and 10 more, in an account you own.
- Pick a schedule. Daily is the default, and weekly and monthly are there too.
- Ingest runs it from then on. If a run fails, your dashboard shows which table and why.
Questions
- Do I need an account with Salesforce?
- Yes. You connect your own Salesforce account once, from Ingest, and the data comes from what that account can see.
- Which warehouses can Salesforce data go to?
- Amazon S3, Google Cloud Storage, Azure Blob Storage, Apache Iceberg, Ingest Managed Lakehouse, MotherDuck, Postgres, Amazon Athena, Databricks, Redshift, BigQuery, ClickHouse, MySQL / generic SQL and Snowflake, in an account you own.
- How fresh is the data?
- As fresh as your schedule: daily by default, or weekly or monthly. Schedules as often as every 15 minutes are on the Enterprise plan.
- Will running it again create duplicate rows?
- No. Each row is stored once, by its key: when a run reads a row that is already there, it replaces that copy instead of adding a second one.
- Do I need to write code?
- No. Ingest builds, runs and maintains the connector. Someone with access to your warehouse connects it once, following a short guide.
For your data team: technical reference
Connector salesforce, version 0.1.0, a REST source, status beta, authentication oauth2.
Vendor documentation: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm
Configuration
| Key | Label | Type | Required |
|---|---|---|---|
my_domain | My Domain (the part before .my.salesforce.com) | string | yes |
Resources
| Resource | Status | Plan | Write | Primary key | Overrides |
|---|---|---|---|---|---|
accountAll Account rows, including soft-deleted ones (IsDeleted true). Incremental sync follows SystemModstamp, so edits and deletions are re-read; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
campaignAll Campaign rows, including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
campaign_memberCampaign members (the lead or contact linked to each campaign), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
case_All Case rows, including soft-deleted ones. Incremental sync follows SystemModstamp, so edits, status changes and deletions are re-read; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
contactAll Contact rows, including soft-deleted ones. Compound Mailing/Other addresses repeat their separate columns. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
eventAll Event rows (calendar activities), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
leadAll Lead rows, including soft-deleted ones and converted leads. Incremental sync follows SystemModstamp, so edits and deletions are re-read; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
opportunityAll Opportunity rows, including soft-deleted ones. Incremental sync follows SystemModstamp, so edits and deletions are re-read; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
opportunity_contact_roleOpportunity contact roles (which contact plays which role on each opportunity), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
opportunity_historyOpportunity stage history (one row per stage change). This is historical data; incremental sync follows SystemModstamp, which for history rows tracks CreatedDate. Rows merge on Id. | beta | watermark | merge | Id | backfill_days |
opportunity_line_itemOpportunity line items (products on each opportunity), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
pricebook_entryAll PricebookEntry rows (a product's price in each price book), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
pricebook2All Pricebook2 rows (standard and custom price books), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
product2All Product2 rows (the product catalog), including soft-deleted and inactive ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
taskAll Task rows (activities), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
user_All User rows visible to the execution user, including inactive and soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
user_roleAll UserRole rows (the role hierarchy), including soft-deleted ones. Incremental sync follows SystemModstamp; rows merge on Id. | beta | watermark | merge | Id | backfill_days |
Where this lands, and what else connects
Setting up the destination is its own short guide, one per warehouse or lake: Amazon S3, Google Cloud Storage, Azure Blob Storage, Apache Iceberg, Ingest Managed Lakehouse, MotherDuck, Postgres, Amazon Athena, Databricks, Redshift, BigQuery, ClickHouse, MySQL / generic SQL, Snowflake.
Other sources Ingest connects for SaaS teams: Asana, Clockify, Jira, Airtable, Facebook Ads, Frankfurter.
- How Ingest reads a REST source
- Ingest for SaaS teams
- The tables Ingest creates
- Every source Ingest connects
Get Salesforce data into your warehouse
Last updated .