Skip to content

Salesforce

Salesforce is a cloud-based customer relationship management (CRM) platform that helps businesses manage sales, customer interactions, and business processes. It provides tools for sales automation, customer service, marketing, analytics, and application development.

Ingestr supports Salesforce as a source.

URI format

The URI format for Salesforce is as follows:

salesforce://?username=<username>&password=<password>&token=<token>

URI parameters:

  • username is your Salesforce account username.
  • password is your Salesforce account password.
  • token is your Salesforce security token.

You can obtain your security token by logging into your Salesforce account and navigating to the user settings under "Reset My Security Token."

Setting up a Salesforce Integration

You can obtain an OAuth access token by setting up a connected app in Salesforce and using OAuth 2.0 authentication. For more information, see Salesforce API Authentication.

Example

Let's say:

  • Your Salesforce username is user.
  • Your password is password123.
  • Your security token is fake_token.
  • You want to ingest account data from your salesforce account
  • You want to save this data in a duckdb database sf.db under the table public.account

You can run the following command to achieve this:

sh
ingestr ingest \
  --source-uri "salesforce://?username=user&password=password123&token=fake_token" \
  --source-table "account" \
  --dest-uri "duckdb:///sf.db" \
  --dest-table "public.account"

Tables

Salesforce source allows ingesting the following objects into separate tables:

TableModeDescription
userreplaceRefers to an individual who has access to a Salesforce org or instance.
user_rolereplaceA standard object that represents a role within the organization's hierarchy.
opportunitymergeRepresents a sales opportunity for a specific account or contact.
opportunity_line_itemmergeRepresents individual line items or products associated with an Opportunity.
opportunity_contact_rolemergeRepresents the association between an Opportunity and a Contact.
accountmergeIndividual or organization that interacts with your business.
contactreplaceAn individual person associated with an account or organization.
leadreplaceProspective customer/individual/org. that has shown interest in a company's products/services.
campaignreplaceMarketing initiative or project designed to achieve specific goals, such as generating leads.
campaign_membermergeAssociation between a Contact or Lead and a Campaign.
productreplaceFor managing and organizing your product-related data within the Salesforce ecosystem.
pricebookreplaceUsed to manage product pricing and create price books.
pricebook_entryreplaceRepresents a specific price for a product in a price book.
taskmergeUsed to track and manage various activities and tasks within the Salesforce platform.
eventmergeUsed to track and manage calendar-based events, such as meetings, appointments, or calls.

Use these as --source-table parameters in the ingestr ingest command.

WARNING

Salesforce API limits may affect the frequency and volume of data ingestion. Incremental loading is supported for objects with the SystemModstamp field, but some objects may require full-refresh loads. This is indicated by mode in the tables above. Tables with mode replace don't support incremental loads, while the ones with merge do.