Salesforce

Salesforce is the most popular cloud CRM with a focus on support, sales, and marketing. It gives access to customer data and interaction history and provides a complete customer picture including insights and engage-enhancement strategies.

Data integration: Skyvia supports importing data to and from Salesforce, exporting Salesforce data to CSV files, replicating Salesforce data to relational databases, and synchronizing Salesforce data with other cloud apps and relational databases.

Backup: Skyvia Backup supports Salesforce backup.

If you want to know how Skyvia uses Salesforce API calls, check Salesforce API and API Calls Usage.

Establishing Connection

While creating a connection, you have to choose the authentication method (User Name & Password or OAuth) and one of three environment types:

  • Production — to connect to your Salesforce organization.
  • Sandbox — to connect to your test environment.
  • Custom — to connect to your custom Salesforce domain.

Getting credentials

For the User Name & Password authentication, you need to choose Salesforce environment and enter your user name, password, and security token.

To generate the security token, do the following:

  1. Log in to your Salesforce account.
  2. Click the profile avatar and choose Settings.
  3. Go to My Personal InformationReset My Security Token.
  4. Check your email for the security token.

Creating Connection

Depending on the authentication type, the connection creation flow may slightly differ. You may find step-by-step instructions for the Username & Password and OAuth authentications below.

Username & Password Authentication

  1. Select Environment type. If you select Custom, enter your custom domain URL into the Login URL field.
  2. Select Username & Password as your authentication method.
  3. Enter a user name, password, and Salesforce security token.
  4. Click Create Connection.

OAuth Authentication

  1. Select Environment type. If you select Custom, enter your custom domain URL into the Login URL field.
  2. Select OAuth 2.0 as your authentication method.
  3. Click Sign in with Salesforce.
  4. Enter your login and password. OAuth token will be generated automatically.
  5. Click Create Connection.

Additional Connection Parameters

Metadata Cache

You can specify the period of time, after which Metadata cache is considered expired.

Use Bulk API

Use Bulk API specifies whether to use Salesforce Bulk API to load data to Salesforce. If you clear this checkbox, Skyvia will use SOAP API to load data to Salesforce instead of Bulk API. SOAP API is slower on large volumes of data.

By default, Bulk API is disabled for Salesforce Professional or Trial accounts, and a user cannot enable them manually. You must either clear the Use Bulk API checkbox if you connect to Salesforce Professional or Trial account or ask Salesforce support to enable Bulk API for your account.

Skyvia supports Salesforce Bulk API v1 and Salesforce Bulk API v2. It’s generally suggested to use Bulk API v2 unless you have specific reasons to stick to Bulk API v1. Here is the list of benefits of using the newer API version:

  1. Improved Performance: Bulk API v2 is designed to provide better performance and scalability. It supports larger batch sizes, allowing you to process more records in a single request, which can significantly reduce the overall processing time for large data sets.

  2. Data Serialization: Bulk API v2 introduces data serialization, which reduces the size of data payloads sent over the network. This optimization improves network bandwidth utilization and can result in faster data transfer and processing times.

  3. Enhanced Error Handling: Bulk API v2 provides a more detailed error response structure, making it easier to identify and resolve issues during data processing. The improved error handling capabilities help in troubleshooting and improving data quality.

Skyvia supports Salesforce Professional or Trial edition or higher. Please note that if you use Salesforce Professional or Trial edition, you need to clear the Use Bulk API checkbox in the connection settings.

Command Timeout

Specifies the wait time before terminating an attempt to execute a command and generating an error. Command Timeout doesn’t affect the wait time for data fetching. Change this value if command execution takes too long, and this causes timeout errors.

Include Deleted

Include Deleted determines whether to return deleted records from a recycled bin.

Use SystemModstamp for Data Changes Tracking

This parameter defines whether to use the SystemModstamp field to track changes in Salesforce.

By default, replication, synchronization, and import functionality in Skyvia use the LastModifiedDate field to track changed records. If a record is changed by a trigger or any other automated process, the LastModifiedDate field will not be updated. However, when you select Use SystemModstamp checkbox, any updates by triggers and automation processes will be taken into account.

Split batches for update

When you run the Update operation, Skyvia gets data from Source in batches and tries to update Salesforce records with this data. If there is more than 12 records with duplicate Ids in one batch, due to Salesforce limitations, operation will fail with an error. Split batches for update option will force Skyvia to check batches for duplicates and split data in more batches allowing no more than 12 records with duplicate Ids per batch.

Connector Specifics

External ID mapping

Skyvia supports External ID mapping for Salesforce foreign key fields. External ID in Salesforce is a field that has the External ID attribute, meaning that it contains unique record identifiers from a system outside of Salesforce. Skyvia allows you to map object references using the referenced object External ID field values. For more details see Mapping.

Not Equals Operator Behaviour

When the not equals operator is used in filters for Salesforce, records with an empty (null) value in the compared field are also returned. This behavior is different from the behavior of this operator for the database, but this is the normal Salesforce behavior.

Lookup Mapping by Salesforce Id

If you use Lookup mapping by a Salesforce Id field, you need to provide 18-character ID values for lookup, not 15-character ones. In other Skyvia features, for example, Query, or when inserting data, Skyvia supports both 18-character and 15-character ID values.

Supported Actions

Skyvia supports Upsert and Run Report for Salesforce in addition to all the common actions.

Troubleshooting

Below you may find the list of the most common issues Skyvia users may face with the Salesforce connection.

No Such Column Error

When you are trying to restore a table in Salesforce Error no such column: … message indicates that there are discrepancies in metadata between the backup and current Salesforce metadata.

Clear the metadata cache in your Salesforce connection to fix the problem.

TotalRequests Limit Exceeded

The TotalRequests Limit Exceeded error notifies that you have reached the Total API Request Limit on the Salesforce side. To fix the error, refer to this topic on a Salesforce forum or contact Salesforce Support directly.

Query Timeout

If you receive QUERY_TIMEOUT: Your query request was running for too long error, increase the Command Timeout value in Advanced Settings on your connection page.