Release Notes
December 2024
We have added a new toggle, Sync formula fields directly, to the connector setup form, with a default value of OFF
. For an existing connector, you can click Edit connection in the Setup tab and enable or disable the toggle. Previously, this configuration (of syncing formula fields directly) was only possible via REST API.
This toggle allows you to sync formula fields directly. However, to maintain data integrity, we recommend using our transformation-based approach instead. Directly syncing formula fields can lead to data integrity issues, as outlined in the Sync limitations section.
November 2024
For roll-up summary fields that reference formula fields, we now round formula field values to their configured scale before calculating the roll-up summary result, aligning with Salesforce behavior. This improvement applies to BigQuery, Databricks, PostgreSQL, Redshift, and Snowflake destinations. For other destinations, we calculate the roll-up summary result without rounding.
We are gradually rolling out this change to all existing connectors.
October 2024
We no longer use the deleted endpoint for the ORGANIZATION
table. This is to avoid the issue where the endpoint returns the ID of active organizations, incorrectly marking them as deleted.
If this issue has impacted your data, you can either resync the table or wait for the next incremental sync to correct the records automatically.
We have upgraded our Salesforce connector from version 61.0 to 62.0 of the Salesforce REST API. For more information, see Salesforce's changelog.
We are gradually rolling out this change to all existing connectors.
We now support the translation of the following standard roll-up summary fields:
OBJECT | Standard Rollup Summary Fields |
---|---|
DUPLICATE_RECORD_SET | RecordCount |
IDEA | NumComments , LastCommentDate |
PROFILE_SKILL | UserCount |
PROFILE_SKILL_USER | EndorsementCount |
QUOTE | Subtotal , LineItemCount , TotalPrice |
WORK_ORDER | Subtotal , LineItemCount , TotalPrice |
Contact our support team to request support for any Standard Rollup Summary Field in your organization. We can verify whether we can generate the definition, as Salesforce does not provide an API to fetch metadata for standard roll-up summary fields.
We now translate formulas containing the CURRENCYRATE
function.
We now translate formulas containing the LEFT
and RIGHT
functions. This is applicable only for the following destinations:
- BigQuery
- Databricks
- PostgreSQL
- Redshift
- Snowflake
We now exclude the AccountUserTerritory2View
table from the Schema page of your Fivetran dashboard. We do not support this table due to sync performance issues. Previously, you could select it from the Schema page, but the table was not being synced.
September 2024
We now display a warning when a table encounters issues capturing deletes, recommending that you manually re-sync the affected tables instead of automatically re-syncing them. For more information, see our Salesforce documentation.
We are gradually rolling out this improvement to all connectors.
July 2024
We have upgraded our Salesforce connector from version 60.0 to 61.0 of the Salesforce REST API. Learn more about the changes in Salesforce's changelog. We are gradually rolling out this change to all existing connectors.
We now support AWS Private Link for Salesforce. This feature is in GA and is available only for Business Critical accounts.
June 2024
We now support AWS Private Link for Salesforce. This feature is in BETA and available only for Business Critical accounts.
May 2024
We now translate formulas containing the /
operator only for the following destinations:
- BigQuery
- Databricks
- PostgreSQL
- Redshift
- Snowflake
Previously, we supported this operator for all destinations.
April 2024
We have changed the primary key of the URI_EVENT
table. We now use the event_identifier
column as the new primary key. Previously, we used the id
column as the primary key.
We now sync the exact currency field values from your Salesforce account without rounding them off. Previously, we only synced the rounded-off values for the currency fields. We are gradually rolling out this change to all existing connectors.
We now support the following functions for formula fields:
For Date and Time functions
DAYOFYEAR
FORMATDURATION
FROMUNIXTIME
ISOWEEK
ISOYEAR
UNIXTIMESTAMP
For Math functions
ASIN
ACOS
ATAN
ATAN2
COS
PI
TRUNC
SIN
TAN
For Text functions
ASCII
CHR
INITCAP
PICKLISTCOUNT
REVERSE
March 2024
We can now translate the formula fields that reference queue fields. Previously, translations for such fields were unsuccessful with the LOOKUP_FIELD_NOT_SYNCED
failure as the reason. To enable the translation of these formula fields, you must select the GROUP
table as a dependent table.
February 2024
History mode for the Salesforce connector is now generally available.
We have upgraded our Salesforce connector from version 59.0 to 60.0 of the Salesforce REST API. Learn more about the changes in Salesforce's changelog. We are gradually rolling out this change to all existing connectors.
January 2024
We have added two new tables, EXTERNAL_STRING
and EXTERNAL_STRING_LOCALIZATION
. We are gradually rolling out this change to all existing connectors.
We have added support for fields that reference the following Global Variables:
- $Label
- $Permission
- $Profile
- $RecordType
- $Setup
- $User
- $UserRole
NOTE: These global variables rely on specific tables. You must select these tables on the Schema tab of your connector details page.
GLOBAL VARIABLE | DEPENDENT TABLES |
---|---|
$Label | EXTERNAL_STRING , EXTERNAL_STRING_LOCALIZATION |
$Permission | CUSTOM_PERMISSION , ORGANIZATION , PERMISSION_SET_ASSIGNMENT , SETUP_ENTITY_ACCESS |
$Profile | PROFILE , USER |
$RecordType | RECORD_TYPE |
$Setup | Referred Custom Setting Table, USER |
$User | USER |
$UserRole | USER , USER_ROLE |
NOTE:
$Label
,$Permission
,$Profile
,$Setup
,$User
, and$UserRole
are user-dependent global variables, and their translations are generated dynamically based on the connecting user's details.
We are gradually rolling out this feature to all existing connectors. For more information about formula translations, see our documentation.
We have changed our sync strategy for the ContentDocumentLink
object to improve connector performance. Previously, we synced the object using filters on the parentId
, resulting in longer sync times. We now sync the object directly without any filters if you have enabled the Query All Files permission to sync the ContentDocumentLink
object. For more information, see Salesforce's release notes.
November 2023
We have upgraded our Salesforce connector from version 58.0 to 59.0 of the Salesforce REST API. Learn more about the changes in Salesforce REST API's changelog. We are gradually rolling out this change to all existing connectors.
October 2023
We will no longer sync theFIVETRAN_FORMULA_HISTORY
table and formula field translations into the sql
, view_sql
, and reason_null
columns in the FIVETRAN_FORMULA
table effective November 1, 2023.
We will also drop the FIVETRAN_FORMULA_HISTORY
table, and the deprecated columns in the FIVETRAN_FORMULA
table, starting February 1, 2024,
Instead, you can find the formula field translations and error information in the FIVETRAN_FORMULA_MODEL
and FIVETRAN_FORMULA_FAILURE_REASON
tables.
We have added translation support for the following Global Variables:
- Api
- CustomMetadata
- Organization
- System.OriginDateTime
We now translate the formula fields containing these global variables. For more information about formula translations, see our documentation.
August 2023
We have changed the Salesfore connector's API response to the Retrieve Connector Details API request to return the connecting_user_email
, organization_id
, and username
fields in the config
section of the response instead of the source_sync_details
section.
We now filter and exclude deleted child records in our Roll-up Summary field calculations.
We no longer sync your formula field translations into the FIVETRAN_FORMULA
and FIVETRAN_FORMULA_HISTORY
tables. We will roll out this change to all existing connectors on October 1, 2023. However, we will continue syncing the formula field translations into the FIVETRAN_FORMULA_MODEL
table and you can utilize them by setting the value of full_statement_version
to true
. For more information about the Salesforce formula utils model, see its documentation available on dbt hub.
July 2023
We have added a new system table, FIVETRAN_FORMULA_FAILURE_REASON
, to store the formula translation failure reasons.
We have added the following new system tables to store the metadata about picklist columns:
FIVETRAN_PICKLIST_FIELD
FIVETRAN_PICKLIST_FIELD_VALUE
FIVETRAN_DEPENDENT_PICKLIST_RELATION
These tables count towards free Monthly Active Rows (MAR).
You can now opt to sync Salesforce formula fields using our REST API. For more information, see our API Configuration documentation.
May 2023
We have added formula fields translation support for Databricks and PostgreSQL destinations.
April 2023
We now re-import the AccountTeamMember
and OpportunityTeamMember
tables to capture updates. Previously, we incrementally synced these tables. We are gradually rolling out this feature to all existing connectors.
March 2023
We have added two new tables, ENTITY_DEFINITION
and PUBLISHER
.
January 2023
We have renamed Legacy mode to Soft Delete mode in our Salesforce connectors and have made the following schema changes and improvements:
- In the Soft Delete mode, the tables now contain an additional column,
_fivetran_deleted
. Use theis_deleted
or_fivetran_deleted
columns to track deletes. - Previously, we updated the
is_deleted
column toTRUE
when we detected updates. Now, we set theis_deleted
column toFALSE
to accurately represent the state of the record at a specific time between the_fivetran_start
and_fivetran_end
timestamps. - You can now switch the sync mode of a table from History to Soft Delete mode. Previously, you couldn't change the sync mode of a table once you activated history mode.
We are gradually rolling out these changes to all the existing connectors.
December 2022
We have upgraded our Salesforce connector from version 55.0 to 56.0 of the Salesforce REST API. We are gradually rolling out this new feature to all existing connectors.
August 2022
We have upgraded our Salesforce connector from version 54.0 to 55.0 of the Salesforce REST API. We are gradually rolling out this new feature to all existing connectors.
We have added a new system table, FIVETRAN_FORMULA_MODEL
. We now sync Salesforce's formula field translations to the FIVETRAN_FORMULA_MODEL
table. The new table doesn't impact the functionality of the FIVETRAN_FORMULA
and FIVETRAN_FORMULA_HISTORY
system tables.
March 2022
The Salesforce connector no longer supports Live mode. We have migrated the existing connectors on Live mode to Soft Delete mode. You can also use history mode to track the history of your data.
February 2022
We have upgraded our Salesforce connector to the Salesforce BULK API 2.0 version. The connector now uses both the Salesforce BULK API and REST API for incremental syncs. Previously, the connector used the REST API for incremental syncs. We are gradually rolling out the Bulk API feature to all our connectors. Your user experience may vary depending on the implementation status. Contact our support team to enable this feature on your connector.
December 2021
We now support the IsArchived
field. We are gradually rolling out this improvement to all existing connectors. If you'd like to sync the IsArchived
field, contact our support team.
November 2021
We now convert empty strings (""
) to null
objects. We are gradually rolling out this new feature to all existing connectors. If you'd like to enable this feature on your connector, contact our support team.
October 2021
We have upgraded our Salesforce connector from version 50.0 to 53.0 of the Salesforce REST API. We have added support for the AuthorizationFormTextFeed object. We have removed support for the AppleDomainVerification object. We are gradually rolling out this new feature to all existing connectors. If you'd like to enable this feature on your connector, contact our support team.
March 2021
We have fixed a bug where deleted records were missing from the OpportunitySplit object and were not being synced from Salesforce's Get Deleted endpoint. We will re-import the OpportunitySplit object based on our re-import logic. We are gradually rolling out this improvement to all existing connectors. The re-imported OpportunitySplit object will count towards your monthly active rows. If you observe that deleted records are not marked as deleted in the OpportunitySplit object, contact our support team.
February 2021
We now sync the following system tables by default and have removed them from the Schema tab on your connector details page:
FIVETRAN_API_CALL
FIVETRAN_QUERY
FIVETRAN_FORMULA
FIVETRAN_FORMULA_HISTORY
We now support custom metadata type objects. We are gradually rolling out this new feature to all existing connectors. If you'd like to enable this feature on your connector, contact our support team.
January 2021
We now support the following Salesforce objects:
- Announcement
- ContentDocumentLink
- ContentFolderItem
- ContentFolderMember
- IdeaComment
- Vote
If you'd like to enable the feature on your connector, contact our support team.
November 2020
We have upgraded our Salesforce connector from version 45.0 to 50.0 of the Salesforce REST API. We are gradually rolling out this new feature to all existing connectors. If you'd like to enable this feature on your connector, contact our support team.
October 2020
We have expanded the public API endpoints Create a Connector and Modify a Connector. Now you can authorize the following connectors by adding the auth
section to payloads:
September 2020
We now use Salesforce's Bulk API 2.0 for your connector's historical syncs. Previously, we used the REST API for the historical syncs. We are gradually rolling out this new feature to all existing connectors. If you'd like to enable this feature on your connector, contact our support team.
You can now select the FIVETRAN_FORMULA
and FIVETRAN_FORMULA_HISTORY
tables to sync from the Schema tab on your connector details page. We are gradually rolling out this new feature to all existing connectors. If you'd like to enable this feature on your connector, contact our support team.
August 2020
We have released Fivetran history mode for Salesforce. You can turn on history mode for any table and capture every version of each record in your destination. With history mode, you can analyze data from a particular point in time or analyze how data has changed over time. To learn more, read our history mode documentation.
We are gradually rolling out history mode to existing connectors. If you'd like to access history mode immediately, contact our support team.
We have released pre-built, dbt Core-compatible data models for Salesforce. Find the models in Fivetran's dbt hub or data models documentation. Learn more about our dbt Core integration in our Transformations for dbt Core documentation*.
* dbt Core is a trademark of dbt Labs, Inc. All rights therein are reserved to dbt Labs, Inc. Fivetran Transformations is not a product or service of or endorsed by dbt Labs, Inc.
We now capture deletes of history tables using the is_deleted
field from Salesforce. Read our History tables documentation for more information.
We have disabled history mode for Salesforce history tables because history tables track object history by default. The changes made to an object over time are recorded in the Salesforce history tables using field history tracking.
June 2020
We no longer capture deletes for tables with names ending with _HISTORY
, for example, OBJECT_NAME_HISTORY
. Deletes from these tables contributed an unacceptably high amount of monthly active rows.
You can now select the FIVETRAN_API_CALL
and FIVETRAN_QUERY
tables to sync from the Schema tab on your connector details page.
April 2020
We now add a _fivetran_synced
column while syncing empty tables and columns from the source.
March 2020
We can now re-import tables that can't be incrementally updated. We automatically detect tables with replicateable = false
and updateable = false
values and re-import them in full. We mark the re-imported tables as notRecommended
in the dashboard and exclude them from incremental syncs by default. However, you can choose to include them.
December 2019
We now force the creation of schemas, even if they contain no data. This is especially helpful for Looker users since Looker's pre-built SQL queries fail if all tables and columns in a schema are not present. Previously, we did not create schemas when they contained no data. Even if a column is not populated in the source, we create a column for it in the destination with null records.
NOTE: We will not create a column if you have not selected it in the column config.
We are rolling out this improvement in a phased manner to ensure connector reliability. It may not be available to every customer right away. Contact our support team if you'd like to be included in the early phase of the rollout.
July 2019
We have upgraded our Salesforce connector from Salesforce API version 41.0 to 45.0. The upgrade supports new objects available in Salesforce API 45.0. We will roll out the new version of our connector to all users gradually over 3 months starting on July 12th.
New objects:
- AccountContactRoleChangeEvent
- AppDefinition
- AppTabMember
- BatchApexErrorEvent
- Calendar
- ColorDefinition
- ContactPointTypeConsent
- ContactPointTypeConsentHistory
- ContactRequest
- ContactRequestShare
- ContentDocumentSubscription
- ContentNotification
- ContentTagSubscription
- ContentUserSubscription
- ContentVersionComment
- ContentVersionRating
- ContentWorkspaceSubscription
- CustomHelpMenuItem
- CustomHelpMenuSection
- CustomHttpHeader
- DataIntegrationRecordPurchasePermission
- DataUseLegalBasis
- DataUseLegalBasisHistory
- DataUseLegalBasisShare
- DataUsePurpose
- DataUsePurposeHistory
- DataUsePurposeShare
- EmailDomainFilter
- EmailRelay
- EmbeddedServiceLabel
- EventChangeEvent
- EventRelationChangeEvent
- FlowRecordRelation
- FlowStageRelation
- IconDefinition
- IframeWhiteListUrl
- Image
- ImageShare
- Individual
- IndividualHistory
- IndividualShare
- LightningExitByPageMetrics
- LightningExperienceTheme
- LightningToggleMetrics
- LightningUsageByAppTypeMetrics
- LightningUsageByBrowserMetrics
- LightningUsageByFlexiPageMetrics
- LightningUsageByPageMetrics
- ListEmailChangeEvent
- ListEmailIndividualRecipient
- MyDomainDiscoverableLogin
- OnboardingMetrics
- OpportunityContactRoleChangeEvent
- OrderStatus
- PermissionSetTabSetting
- PlatformStatusAlertEvent
- Recommendation
- RecordAction
- RecordActionHistory
- SiteIframeWhiteListUrl
- TabDefinition
- TaskChangeEvent
- TaskRelationChangeEvent
- TopicUserEvent
- UserChangeEvent
- UserEmailPreferredPerson
- UserEmailPreferredPersonShare
April 2019
You can now configure your Salesforce connector through the Fivetran REST API. This feature is in BETA and available only for Standard and Enterprise accounts.
March 2019
Fivetran will add a log message to customer logs when skipping an infrequently updated table.
November 2018
You can now trigger re-syncs of individual tables from your Fivetran dashboard:
The re-sync button appears when you hover your cursor over the row that contains the table name.
This feature is available for the following connectors:
- Amazon DynamoDB
- MongoDB
- MySQL
- NetSuite SuiteAnalytics
- Oracle
- PostgreSQL
- Salesforce
- SQL Server
- Zuora
September 2018
System columns, like IsDeleted
and SystemModstamp
, can no longer be excluded in column configuration.
April 2018
We have upgraded our Salesforce connector to Salesforce API version 41.