[Experimental]

Performs rule-based searches for duplicate records.

sf_find_duplicates(
  search_criteria,
  object_name,
  include_record_details = FALSE,
  guess_types = TRUE,
  verbose = FALSE
)

Arguments

search_criteria

list; a list of fields and their values that would constitute a match. For example, list(FirstName="Marc", Company="Salesforce")

object_name

character; the name of the Salesforce object that the function is operating against (e.g. "Account", "Contact", "CustomObject__c").

include_record_details

logical; get fields and values for records detected as duplicates by setting this property to TRUE. Get only record IDs for records detected as duplicates by setting this property to FALSE.

guess_types

logical; indicating whether or not to use col_guess() to try and cast the data returned in the recordset. If TRUE then col_guess() is used, if FALSE then all fields will be returned as character. This is helpful when col_guess() will mangle field values in Salesforce that you'd like to preserve during translation into a tbl_df, like numeric looking values that must be preserved as strings ("48.0").

verbose

logical; an indicator of whether to print additional detail for each API call, which is useful for debugging. More specifically, when set to TRUE the URL, header, and body will be printed for each request, along with additional diagnostic information where available.

Value

tbl_df of records found to be duplicates by the match rules

Note

You must have active duplicate rules for the supplied object before running this function. The object_name argument refers to using that object's duplicate rules on the search criteria to determine which records in other objects are duplicates.

Examples

if (FALSE) {
# use the duplicate rules associated with the Lead object on the search 
# criteria (email) in order to find duplicates
found_dupes <- sf_find_duplicates(search_criteria =
                                    list(Email="bond_john@grandhotels.com"),
                                  object_name = "Lead")
                                  
# now look for duplicates on email using the Contact object's rules
found_dupes <- sf_find_duplicates(search_criteria = 
                                    list(Email="bond_john@grandhotels.com"),
                                  object_name = "Contact")
}