Home > DemandTools - Tips & Tricks
DemandTools - Tips & Tricks
"Tips and Tricks" Thinking "Outside of the Box": Creative ways to use DemandTools
The Power of "Right Click"
There are many places within DemandTools where "right clicking" with your mouse will provide additional options:
- In Where Conditions, right click on a list of picklist values to "Add a Value": This can be used when you need to update a value that is not currently in the picklist and change it to a valid picklist value. The value is added just for the purpose of selection and will not add the value to the actual picklist in Salesforce.
- In Where Conditions, right click on a list of picklist values to "Filter List": Subset a long picklist based on a string to quickly find the value(s) you need.
- MassImpact Results: In the grid that displays the records to be updated, you can now group the results by a particular field. Once grouped, right click on a particular group name and check or uncheck the entire group to indicate if the group should be processed.
- MassEffect: Right click on a table name to "Export Data" or "Auto-Map Fields"
- MassEffect: Right click on a field name to "Add Constant" or "Set as Key" (change to the unique key)
- MassEffect: Right click on a "Blue" mapped field to access individual update options and/or remove mapping.
- Single Table Dedupe Found Matches: In the grid that displays the found matches, right click on a duplicate key to access "Custom Merge" capabilities, and other individual merging options (i.e. merge group, apply rules etc.).
- Single Table Dedupe Found Matches: In the grid that displays the found matches, right click on a particular field to "Update Fields" or "Update Group Rows". This option allows you to perform a real-time update to a particular field or groups of fields. Updates will be processed even if no records are merged.
Never a 250 record limit!
Do you need to mass delete LOTS of records? Update the campaign status for LOTS of records? Mass transfer the Account ownership of LOTS of records? This can be very tedious in Salesforce as these types of changes are limited to 250 records at a time. Use DemandTools instead for these MassChanges/Updates/Deletes as we do not have this limitation. Update all records that match your criteria in a single pass!
Removing just one item from mapping, where condition etc.
Want to remove just one item of mapping in our dedupe modules, one select criteria in a where clause, or one mapped field in MassEffect? There are two ways to remove ONE item:
- If there is a "box" to the left of the item, click on the box to highlight the row and select "delete" on your keyboard.
No box to the left, no worries! Just right click, and select remove.
Use MassEffect to process email opt out’s
For customers that use an external email vendor that is NOT integrated with Salesforce, you can quickly an easily process email optouts:
- Create a spreadsheet with all the email addresses that have opted out from a particular email blast.
- Use the spreadsheet as your input to MassEffect.
- Right click on the email field in the Contact/Lead table to set this as the unique key instead of the Salesforce ID field.
- Map the email address from the spreadsheet to the email address in the Contact/Lead table, and then right click on the Email Opt Out and use "Add Constant" to set the field equal to "True".
- This will update ALL records that have that particular email. So if there are multiple records with the same email they will ALL be updated.
Concatenating multiple lines of address data so that when inserted they will appear on multiple lines just as if they were entered directly via the Salesforce user interface
Do you have AddressLine1 and AddresLine2 in two columns on your input spreadsheet, and want to insert both into Salesforce? When inserting via the API (DT and/or PI) there is only one street address line to map to; whereas in Salesforce multiple lines of street address appear on separate lines. You can insert your data to match the Salesforce format by concatenating the fields in your spreadsheet separated by a carriage return.
- Create a new column in your spreadsheet for the full street address
- Type the following formula in the first cell in the new column =A1&char(10)&B1 (assumes AddressLine1 and AddressLine2 are in A1 and B1 respectively, adjust the formula based on your columns)
- Now cut and paste the formula down all the rows of data
- Lastly, do a copy and paste special (values) over the new column, so that the actual values are in the column vs. the formula
- Map this concatenated address into the appropriate street address of your table
Never lose a Zip Code leading zero again!
Since DemandTools allows you to use excel files as input in MassEffect, you never have to lose a leading zero for New England zip codes again. By formatting the zip code column in your spreadsheet as "Text" you will retain the leading zero. Now the field will be read as a straight text field and the data will be entered as is (vs. being interpreted as a number which will strip the leading zero). Already have records in Salesforce that are missing the leading zero? Use the new custom formula in MassImpact, ZipCodeClean to restore the leading zero!
Check out all the new custom formulas available in MassImpact!
In the MassImpact help documentation click on the "Formulas" link for details on the new custom formulas available in this module. Some highlighted functions include: Normalized_US_Address, NaPhoneFix, ZipCodeClean, Find and Replace and ProperCase functions. You also have the option to create your own formula.
Easy ways to get the ID associated with a particular field for Inserts/Updates or Where clauses
Record ID’s, not the associated names, for certain fields are needed when inserting or updating records to maintain foreign key relationships. ID's may also be needed when searching for certain objects. For example; when assigning an owner to records that are inserted or updated the ID of the owner, NOT the owner name or alias, is required to process the change, when adding campaign members to an existing campaign, or changing record types. There are many ways to get these:
- If only a few ID’s are needed just go to Salesforce select the object and grab the ID from the URL: https://na1.salesforce.com/0013000000Iemv1 (0013000000Iemv1 is the ID)
- If a cross-reference table of ID’s is required, use MassEffect to export a particular table and store it on your PC. This is commonly done for the user table.
If you have a spreadsheet with many records in which you need to obtain a Salesforce ID, use the exported spreadsheet (created in step 2) and the VLOOKUP function in excel to find the ID in the exported spreadsheet and add it to the spreadsheet without the ID's.
An easy way to identify Accounts with no Opportunities!
In Salesforce it’s easy to find Accounts that have Opportunities, but there is not a good way to find Accounts WITHOUT Opportunities. Using MassImpact and "Object Count" this is very easy to do:
- Create a custom field in Salesforce to track the number of Opportunities on an Account (i.e. Opp_count)
- Use the MassImpact "Object Count" feature in the Set Value step to add up the Opportunities in an Account and populate this value in the custom field on the Account record
- Use MassEffect export function to export the Accounts where the Opp_count equals "0"
NOTE: This process can be repeated for ANY sub-object on the Account table (or any other table for that matter)! Since this count is static (will not automatically increment the count whenever a new Opportunity is created), you can also add another custom (date) field Opp_count_lastupdated, and set this to the current date (using our custom formula "today()") to track the last time this value was updated. Save your scenario and then run on a regular basis to keep this field up-to-date.
Update Contact Addresses to match the Account Address with MassImpact
Do you have an Account that’s moved and need an easy way to update the addresses of the Contacts that are linked to that Account? Use MassImpact’s multi-table join capability to update the Contacts Mailing Address fields with the associated Account Billing Address fields using the Account ID (MassImpact allows you to set the value of a field equal to the value of another field – even fields in related tables). This can also be generically for all Contacts, or just where the Mailing Address fields are blank and the Billing Address fields are populated. Use "Address Verification" to verify just the Account addresses and then easily update the Contact addresses to match the verified Account addresses.
"Not just for insert anymore"! Triggering Lead Assignment Rules on an Update
Selecting the active Lead Assignment Rule in the DemandTools Options menu will now re-assign Lead Ownership when updating (not just inserting) Leads. If you don’t want to affect the ownership, just make sure the "Default Lead Assignment Rule" in options is set to "None" before performing the update.
Re-align all sub object ownership to match the Account Owner with one pass per user via MassChange
Is your business model such that ALL sub objects of a particular type (i.e. contacts), should match the Account Owner, but somewhere along the way it "broke"? Use MassChange to MassTransfer Accounts and re-align multiple sub-objects at one time:
- Select Account as the object to change
- Find all the records owned by "Joe User"
- Set Value: Owner Name (or alias) equals "Joe User"
- Since this is considered a transfer a special pop-up box will appear and allow sub objects to be chosen for ownership change as well (contacts, opportunities, activities, etc.).
Use Single Table Dedupe’s grouping / field update capabilities to identify Parent/Child relationships among Accounts
Single Table Dedupe is a very powerful grouping tool as well as a deduper!
- Set up a scenario to find Account dupes based on name alone
- Include the Account ID and Parent ID field in the list of "Fields to Show", along with any other fields that will help determine which record should be the parent (i.e. Type, Account Site etc.)
- In the grid of found matches it will display all Accounts that have the same name (or similar names if you used the "Cleaned Account Name" mapping type)
- Determine which record should be the Parent Account
- Right click on the Parent Account ID field for the first record in the group and select "Update Group Rows"
- Type the Account ID from the Parent Account record in this field, and click update value. Remember the ID’s are case sensitive.
- If there is a particular record(s) in a dupe group you don’t want to have the Parent ID, just right click on the Parent ID field for that record select "Update Record" and set the field back to blank.
- NOTE: The updates are processed in real-time, THERE IS NO NEED TO (nor would you want to) SELECT "MERGE CHECKED OBJECTS" TO POST THE CHANGES. Just exit out of Single Table DeDuper when done.
**The Parent Account is now reflected on all the records! The actual Parent Account will not have itself as its own parent as this particular update will fail in Salesforce.
Use Single Table Dedupe’s grouping / field update capabilities to identify & fix email addresses associated with the wrong Contact/Lead
When looking for duplicate Contacts or Leads you may want to run a scenario based on just email address (Ideally this would be a later pass after previously identifying dupes with fields in addition to email, i.e. first name, last name, phone etc.). This will of course identify additional dupes that may have not been found in previous passes, but in addition you may be surprised to find instances where the email address DOES NOT MATCH the name fields at all! This can happen when a user "clones" an existing Lead or Contact and updates the new data for this record, but leaves the old email address (probably doesn’t have the email for this new person). Now that you have identified these in the Single Table Deduper, just right click on the email address of the records that are incorrect, select "update value", and blank out the email field.
Use MassEffect to "flag" master records from an exported spreadsheet of Single Table Dedupe matches and create a custom rule to select master’s based on the "flag"
In many cases, DemandTool users need to have their Sales Reps or a Sales Manager review a list of dupes prior to merging records. Single Table Dedupe has the ability to export the grid data (found matches) to a spreadsheet, which can then be forwarded to users for review. The challenge is that you CANNOT re-import the spreadsheet along with the users selection of records to be merged and master record. Here is a work around to "Flag" Master selections made by your users:
- Run a Single Table Dedupe scenario and find matches (save your scenario).
- "Export Grid Data" to a spreadsheet (be sure your export includes the record ID).
- Add a column called "Master" to the spreadsheet in which the users can populate with "T" for the record they wish to keep as the Master. If they do not wish to merge a particular group just leave the "Master" column blank for all records in that duplicate group.
- Sort the spreadsheet by Master column so all the "Masters" float to the top. Place this information into a separate spreadsheet.
- Create a custom boolean (True/False) field in Salesforce on the object you are de-duping and name the field "Master".
- Use MassEffect in update mode and the spreadsheet that holds the denoted master records to place a "True" value in the custom "Master" field:
- Map the ID column in your spreadsheet to the ID field in the object table.
- Right click on the custom "Master" field and use "Add Constant" and set to "True".
- Re-run the saved Single Table Dedupe scenario to re-find the matches.
- Create a Custom Master Rule, to select the master where the "Master" flag equal True .
- Check the box for "use score delta" and set to 1 (this must be done for the merge to only affect records with the True value in the Master field).
- Apply the rule to all records.
- Only the groups where a "Master" was selected by the user will be given green and red pins (green=master; red=slaves) and a check mark indicating the group will be merged .
- All unchecked groups with grey pins are the records that did not have a denoted master in the spreadsheet and will NOT be merged when you select "Merge Checked Objects".
NOTE: If "score delta" in the custom rule is not used then groups that were not assigned a master record will result in a tie, and the first record in the group will be selected as the master, and ALL groups will be deduped and merged
12. Select "Merge Checked Objects" to complete the merge.
Advanced Mapping techniques to find additional duplicates
These techniques can be used in Single Table Dedupe, Lead to Contact Deduplication, Lead to Account Deduplication and FindId’s (anywhere matching is applied). They are all considered "Loose" matching techniques so there will be records that are "matched" that you may not wish to merge. Here are just a few ideas to get you "thinking out of the box"!
Company/Account Name matches - After you’ve exhausted all scenario’s that use "Cleaned Account Name", try the following:
- Leave the Account/Company Name out all together and match on just City, Street and Phone, this will find:
- Names where one is abbreviated and the other is not (i.e. "I.B.M." and "International Business Machines"
- Names with "uncommon" suffixes (i.e. "McDonald’s – Boston", "McDonalds")
- Names that contain an extra word (i.e. "University of Maine at Orono", "University of Maine, Orono)
Website matches – After you’ve exhausted all scenario’s that use "Domain" (which assumes a prefix of www), try the following:
- Use the "Cleaned Account Name" matching type on website instead of "Domain" and put the following in the "replace" tab under existing value and leave the new value blank (so these will just be ignored ): "http:", "https:", "www", "/ ". It is unlikely that this will cause any problems having these in there when matching on actual company names either.
- This will match the following: "https://www.crmfusion.com", "http://www.crmfusion.com", "www.crmfusion.com", "https://crmfusion.com", "http://crmfusion.com" etc. (always just looking for crmfusion.com)
First Name matches (the "middle initial" dilemma) – Helps with records containing a middle initial not being caught with First Name match, try the following:
- Matching on just the first letter (mapping type "First XX letters") and Last Name
Last Name matches:
- Use "Alpha-Clean" to match "Smith-Jones" to "Smith Jones"
City matches:
- Use "Alpha-Clean" to match "St Charles" with "St. Charles"
Salesforce.com ID matches:
- Use the mapping type "Salesforce.com ID Match" to match a 15 digit ID (those exported from a Salesforce report) to it’s 18 digit counterpart
Don’t re-create the Account Cleaning List every time you upgrade to a new version of DT
Before installation of a new version of DemandTools, copy the file (C:\Program Files\DemandTools\replacelist.xml) to a different location (i.e. desktop), install the new version, and then do a "save as" (keeping the name the same) back to the DemandTools folder.
Sharing the Account Cleaning List, custom Single Table Dedupe Scenarios, and custom Master Rules with other DemandTools users in your organization
Starting with DemandTools version 2.01.08, "File Paths" can now be specified in the DemandTools Options menu for storing specific files, such as Single Table Dedupe Scenarios, Master Rules, Account Cleaning List etc. With this change, these files can now be directed to network drives making it very easy for multiple DemandTools users to access common files.
More information on File Path Settings can be found here.
This is just the "Tip of the Iceberg". The possibilities are endless when you think "Outside of the Box"!
For more common Solutions check out our Public Knowledge Base accessible from the Support & Self-Help Link on our website (www.crmfusion.com) or the DemandTools Support link on the DemandTools Today Page.
Not sure if you can use DemandTools to accomplish a specific goal? Email support@crmfusion.com with your question. Who knows, your scenario may become a future "Tip & Trick"
See also