Skip to main content
📢 Syncs times may take longer than usual during major retail events, such as Black Friday and Cyber Monday due to an increase in activity and larger data sets. For any other issues, please visit our Status Page or contact our Support Team.


Destination Improvement: Automatically Delete Rows Marked as _fivetran_deleted in Destination


Please sign in to leave a comment.



  • Official comment

    Hi everyone,

    Thanks for your posts in our feature request portal!

    We have heard from our customers a desire to have hard deletes issued on destinations when read from the source. This seems to be common in database use cases, where customers want a like-for-like table in their destination that exactly matches their source.

    While I don't have a timeline to share for when we will implement hard deletes for destinations (which we are calling Live mode), this is something that is top of mind and we are discussing this internally. Please stay tuned for more updates as we research a possible solution here.

    In the meantime, every comment and upvote does help build the case for this feature.


    As we're adding more tables, it is becoming inefficient to manually add a transformation to hard delete records for each table. Does Fivetran have a planned solution to this? 

    Fivetran uses Salesforce logs to determine whether a record is deleted. When the records/logs are hard deleted in Salesforce, it will erroneously assume that is_deleted = false, because there is no log to check against. Revenue for an opportunity is a sum of products. Since all old entries of products are often wrongly flagged as is_deleted = false (due to hard delete), the sum for all products can be 4x what is should be.  Tableau is showing the correct sum, because it only pulls what's currently in Salesforce and ignores old entries. Please use the same approach.


    Would be nice to see this for coupa

    We also need this, in almost all cases we want hard deletions to propagate through to the destination. 

    It is both easy to miss this as a filter, and causes performance issues by forcing another query term across all tables and joins.


    Being forced into this is the worst part of an otherwise wonderful product. In the POC we put our desired outcome as a simple "We want a 1:1 database sync". No one told us we would have to have an additional transformation on every table to make that happen. I definitely could have read the docs more thoroughly ahead of time :) but I strongly strongly strongly upvote this request. 

Didn’t find what you need?

Contact support