Salesforce is a cloud computing Software as a Service (SaaS) company that allows you to use cloud technology to connect more effectively with customers, partners, and potential customers.
Hevo uses Salesforce’s Bulk API to replicate data from your Salesforce applications to the Destination database or data warehouse, switching to Salesforce REST API for unsupported objects. To enable this, you need to authorize Hevo to access data from the relevant Salesforce environment.
Salesforce Environments
Salesforce allows businesses to create accounts in multiple environments, such as:
-
Production: This environment holds live customer data and is used to actively run your business. A production organization is identified by URLs starting with https://login.salesforce.com.
-
Sandbox: This is a copy of your production organization. You can create multiple sandbox environments for different purposes, such as one for development and another for testing. Working in the sandbox eliminates risk of compromising your production data and applications. A sandbox is identified by URLs starting with https://test.salesforce.com.
Prerequisites
Configuring Salesforce Bulk API V2 as a Source in your Pipeline
Perform the following steps to configure your Salesforce Bulk API V2 Source:
-
Click PIPELINES in the Navigation Bar.
-
Click + CREATE PIPELINE in the Pipelines List View.
-
On the Select Source Type page, select Salesforce Bulk API V2.
-
On the Select Destination Type page, select the type of Destination you want to use.
-
On the Select Pipeline Type page, choose the type of Pipeline you want to create based on your requirements, and then click CONTINUE. This page appears only for Teams created before September 15, 2025 and if the selected Destination type is supported in Edge.

-
If you select Edge, skip to step 6 below.
-
If you select Standard, read Salesforce Bulk API V2 to configure your Standard Pipeline.
Note: For Teams created on or after September 15, 2025:
-
In the Configure Source screen, do the following:

-
Source Name: Specify a unique name for your Source, not exceeding 255 characters. For example, Salesforce Source.
-
Configure your Salesforce app: Select the environment from which Hevo must ingest the data. This can be Production or Sandbox.
-
Click AUTHENTICATE YOUR SALESFORCE ACCOUNT and perform the following steps to set up an account now:
-
Log in to your Salesforce account.
-
Click Allow to authorize Hevo to access the account.

You are redirected to the Salesforce screen.
-
In the Historical Sync Duration section, from the drop-down, select the duration for which you want to ingest the existing data from the Source. Default duration: 3 Months.
Note: If you select All Available Data, Hevo ingests all the data available in your Salesforce account since January 01, 1970.
-
Click TEST & CONTINUE to test the connection to your Salesforce Bulk API V2 Source. Once the test is successful, you can proceed to set up your Destination.
Data Replication
Hevo loads all the objects associated with your Salesforce account. By default, Hevo ingests all the columns available in an object. However, you can select the columns to load on the Object Configuration page.
-
Historical Data: The first run of the Pipeline ingests all available historical data for the selected objects and loads it to the Destination. Hevo utilizes Salesforce’s Bulk API for data replication and falls back to the REST API when the Bulk API is unsupported for an object.
-
Incremental Data: Once the historical load is complete, data is ingested according to the specified sync frequency. Hevo fetches only the data that has been modified since the last sync by checking for updates in the timestamp fields, in the following order: SystemModstamp, LastModifiedDate, CreatedDate, and LoginTime. These fields allow Hevo to identify the records that have been modified or created since the last sync. If the selected object does not contain any of these timestamp fields, Hevo fetches all records from the object during each incremental run.
If the number of requests made to the Salesforce Bulk API exceeds its rate limit, a rate limit exception occurs. To understand how Hevo handles these exceptions, read Handling Rate Limit Exceptions.
Note: Hevo creates a Destination table for an object after the first successful API call to fetch its data, even if that call returns no records. Once created, the table is updated with new data from subsequent API calls. However, if the initial API call fails due to issues such as missing permissions or schema incompatibility, the table is not created.
Naming Convention
Hevo uses a set of naming rules to ensure that schemas, tables, and columns are compatible and standardized in the Destination system. These rules are applied in the following order:
-
All accent marks, such as acute or grave accents, are removed from characters.
-
Any character that is not a letter (A-Z, a-z), a digit (0-9), or an underscore (_) is replaced with an underscore. Spaces are also replaced with underscores.
-
Strings containing a mix of letters and numbers are split at the point where letters change case or at the transition between letters and digits. Multiple words are joined using underscores. Consecutive uppercase letters are treated as part of the same word.
-
If there are multiple underscores in a row, they are reduced to a single underscore.
-
All uppercase letters are converted to lowercase.
-
If a name starts with a number, an underscore is prepended to avoid starting the name with a digit.
-
For table names, any underscore at the beginning of the name is removed if it is immediately followed by a letter.
Note: Schemas, tables, and columns are named according to these defined rules and then converted as needed based on the Destination’s specific naming conventions. For example, in Snowflake, a table name converted to lowercase will be changed to uppercase due to Snowflake’s default behavior.
The following table lists a few examples of how Hevo applies naming rules to your schema, table, and column names:
Original Name |
Converted Name |
Explanation |
Montréal report |
montreal_report |
Accent marks are removed. |
first name |
first_name |
Space is converted to underscore. |
total$amount |
total_amount |
Special character $ is replaced with an underscore. |
data@location |
data_location |
Special character @ is replaced with an underscore. |
userName |
user_name |
Mixed-case letters are split with an underscore at the transition from lowercase to uppercase. |
user123 |
user_123 |
Alphanumeric string is split with an underscore at the transition from letters to numbers. |
user__data |
user_data |
Multiple underscores are reduced to a single underscore. |
PRODUCT |
product |
Uppercase letters are converted to lowercase. |
123id |
_123id |
Name starting with a number is prepended with an underscore. |
_productTable |
productTable |
The leading underscore in table names is removed. |
Schema and Primary Keys
Hevo uses the following schema to upload the records in the Destination:
Data Model
Hevo supports ingesting data from more than 100 standard Salesforce objects, as well as custom objects that you may have created in your Salesforce account. Hevo also supports associated objects that relate to the standard objects.
The following table lists the most frequently used objects along with their descriptions:
Object |
Description |
Account |
Contains information about a specific company, organization, or entity that you do business with. |
Contact |
Contains information about a company or a person associated with an account that can become a potential customer. |
Opportunity |
Contains information about a potential revenue-generating event, such as a sale or deal. |
Lead |
Contains information about a prospect or potential customer that has shown interest in your products or services. |
Case |
Contains information about a customer inquiry, issue, or support request. |
Task |
Contains information about a business activity, such as a to-do item. |
Event |
Contains information about a scheduled event, such as a meeting, call, or appointment. |
User |
Contains information about a user in your organization. |
Campaign |
Contains information about campaigns and tracks their efficiency with cost, revenue, and converted leads analysis. |
Product2 |
Contains information about a product your company sells. |
Custom Objects |
Contains information about custom objects, entities that support custom objects, and their standard fields, named with the suffix __c . Custom objects allow businesses to extend Salesforce functionality to store unique business data. |
StandardObjectNameShare |
Contains information about the data model used to store record-sharing rules for a standard object. These rules determine which users or groups can access specific records. |
StandardObjectNameHistory |
Contains information about the data model that stores the history of changes made to records in a standard object, including field-level modifications over time. |
StandardObjectNameOwnerSharingRule |
Contains information about the data model that defines ownership-based sharing rules for a standard object. These rules specify how access is granted to users other than the record owner. |
StandardObjectNameFeed |
Contains information about the data model that tracks collaboration and activity updates for records in a standard object. |
Read the detailed Hevo documentation for the following related topics: