Import serves as the ultimate data loading tool allowing you to insert, update, and upsert records from a file into any object or objects while simultaneously standardizing key fields.
Common use cases
- Import and Match a list of Leads from a trade show
- Import new target accounts
- Migrate data from legacy systems
- Insert records into newly created custom objects
- Insert Products and Pricebooks
- Add or reassign account teams
- Update records using email address (or other external ids) as the key
- Populate newly created custom fields
- Schedule regular imports, updates, or upserts
- Transform data on insert or update using standardization formulas
Starting an Import Scenario
To begin a new scenario, select Import from the module list on your Dashboard.
To start from an existing scenario, select an Import scenario from My Scenarios on your Dashboard. Your object and record selection criteria will already be set for you. You can keep all settings or change them as you go.
Note: If you use DemandTools with more than one organization, such as two Salesforce orgs or a Salesforce org and a Microsoft Dynamics org, open the dropdown beside your username at the top right of the app to make sure the org selected is the one you want to import data into.
- DemandTools does not support importing data into a Dynamics org, only from one. You may select a Salesforce org here and a Dynamics org for Source.
In the image below, the user is signed into a Validity Salesforce org and another Salesforce org. The Validity org, designated Currently Viewing, is the org selected for import.
Step 1: Data Mapping
There are three source types you can select: an import file, a second organization, or a database. Each type is discussed below.
Row 1: Source
Choose your source file, database, or organization under Select Source.
- If you only use DemandTools with one organization, you will see Import File and your org listed. You can choose either to import a file to your org or to import from one object to another within your org.
Import from a file
- Make sure Import File is checked in the source dropdown menu.
-
Choose the Select Import File button and select your source file.
- Accepted file types include .csv, .xls, and .xlsx. (Make sure you are using the latest versions of .xls and .xlsx file types.)
- If your file has multiple tabs, select the tab to import from. The leftmost tab will be selected by default.
- The Select a subset dropdown allows you to optionally select a subset of records to work with.
- Records to Import lets you check that the number of records detected for import is the expected number, so you know you have imported the correct file.
Import from one organization to another
- In the source dropdown menu, select a different org from the org you are currently viewing. In the example, you would select the Salesforce org not named Validity.
- Select the object to import from, such as Account, from the object dropdown menu.
- The Select Subset option allows you to optionally select a subset of records to work with. Select Filter Records to select your subset using record selection criteria (discussed under Step 2 in this document).
- Records to Import lets you check that the number of records detected for import is the expected number, so you know you have imported the correct file or object.
Import from one object to another within the same organization
- In the source dropdown menu, select the same org you are currently viewing. In the example, you would select the Salesforce org named Validity.
- Select the object to import from, such as Account, from the object dropdown menu.
- The Select Subset menu allows you to optionally select a subset of records to work with. Select Filter Records to select your subset using record selection criteria (discussed under Step 2 in this document).
- Records to Import lets you check that the number of records detected for import is the expected number, so you know you have imported the correct file or object.
Import from a database
- If you need to connect a Microsoft SQL or MySQL database, open the Settings (gear icon) dropdown and select Manage Database Connections, then + Add New.
- Enter the connection name, type, URL, username, and password, then select Save and Close, and finally Close.
- In the source dropdown menu, select the database to import from.
- Select the table to import from the table dropdown menu.
- Records to Import lets you check that the number of records detected for import is the expected number, so you know you have imported the correct file or object.
Note: If you are importing a time zone field, it must be standardized before upload. Use the values in parentheses from this list of Salesforce time zones to standardize your source file before beginning the import process.
Row 2: Operation
Choose whether you want to Insert, Update, or Upsert records into your target object.
- Insert is used to insert new records into any CRM object that supports the insert function. Using the insert option, a record can be inserted into one object at a time (per pass) using the standard SOAP API or Bulk API.
- Update looks for records in your import file that match existing records in your CRM. Only those records will be updated.
- Upsert combines these operations to act on all records in your import file, it allows you to compare a list of records against multiple objects in your CRM. If a contact exists in your CRM, it will be updated; if not, it will be inserted.
If you choose the Update or Upsert import type, the Method menu appears with radio buttons for Key Field and Match Conditions.
- Key Field: Designate a field, like Account ID, as a unique matching key between your import file and your target database.
- Match Conditions: Use conditions to determine which records get imported without using a key field.
Use the Salesforce Object dropdown menu to choose one object if you selected Import Records, or to choose multiple objects if you selected Update or Upsert as the import type and Match Conditions as the method. The selected objects will be where the records are added or updated.
- If you are importing from one org to another org, you may want to choose the same object for both Source and Operation. For example, you may want to import from the Account object in the source to the Account object in the target.
- If you are importing from one object to another in the same org, choose different objects for Source and Operation.
Important note: When the Match Conditions radio button is checked and multiple objects are selected, the matching will be evaluated in the order the objects are selected, so, if you want to match against Leads before matching against Contacts, Leads must appear before (to the left of) Contacts. Once a record is successfully matched against an existing record in the CRM, it will not be evaluated for further matches.
For large jobs, check the box beside Bulk API. This option groups your records into larger batches, so it uses fewer API calls. Learn more about the Bulk API option.
At this point, the Map Fields table appears for each of the selected objects. Choose a target database field from your CRM to map to each import file field, or use the Auto Map feature to save time. Repeat the process for each of the selected objects (here Lead, Contact, and Account).
- Some fields may not get mapped automatically, such as Name. In this case, you can search in the dropdown under the Target Database Field column and it will show you the options. Select an option to set the mapping for that field.
Your org may have dozens or even hundreds of fields, and you may not want to map all the available fields. Use Filter Mappings to search for the fields you care about and map only those.
For example, you can search for email and just map the Email field.
If you choose the Update or Upsert import type, you have the option to Allow Blank Override. This box is checked by default.
-
If checked, this feature will always update even when the source is blank.
- If your source has a blank value for First Name, and your CRM has James for first name, the final record after import will have a blank value for first name.
-
If unchecked, this feature will always update unless the source is blank.
- If your source has a blank value for First Name, and your CRM has James for first name, the final record after import will have James for first name.
For some import sources, you may want to use the Add Constant feature.
- For example, if your import source consists entirely of leads from a trade show or conference, you can choose Lead Source as your target database field and specify Trade Show as the constant value.
Use the menu with three vertical dots at the right of each row to clear mappings for that row only or transform the data.
If you set a constant for a Date/Time field, you can choose Time of execution rather than specifying a date and time for the constant value. This sets the field value when you arrive on the preview grid or, for scheduled jobs, when DemandTools runs the job.
Transform
- The Transform feature can apply formula logic for specific rows to standardize field values, such as phone number or state, as you import them. Learn more about Transform options.
- You can choose to override certain defaults by managing your cleanse rules. Learn more about managing cleanse rules.
If you use the Update Records or Upsert Records import type, choose how you want to update existing records.
- Update if Empty: If the CRM field for this row is empty, add the import source value.
- Always Update: Add the import source value even if it overwrites the CRM value.
- Do Not Update: Never add the import source value for this row, whether there is a CRM value or not.
- Combine Field: Merge the value in your import source with the existing value in your CRM.
If you use the Key Field method, select a key icon on the row you want to set as a key field.
- Certain values, such as Email, will prompt a warning that you’re setting a non-ID field as a key field. This means that your target CRM doesn’t use that field as a unique identifier by default, and the value may in fact not be unique to a single record.
Move to the next step.
- If you are performing Import Records or using the Key Field Method, choose Preview > to go directly to the final step. Moving to this step does not commit changes. Go to Step 4 of this guide.
- Choose Select Criteria > if you are using the Match Conditions Method. Continue to Step 2 of this guide.
Step 2: Select Records
In this optional step you set your Record Selection Criteria and the Fields to Show on Preview for each of the objects you selected in the previous step.
Use Record Selection Criteria to filter your records using logical conditions. Create powerful "AND/OR" filtering by selecting multiple fields, operators and values. Using the filter could result in performance improvements, as you are only getting a subset of records rather than all records.
In the Fields to Show on Preview, check the boxes for the fields you want to have displayed in the final preview window. If you leave them unchecked, only the mapped fields will be displayed on the final preview (Step 4).
Select Match Records > to go to the next step.
Step 3: Match Records
In this step, you define what you consider to be matched records. Under the Matching Field dropdown, select the field you want to match on to find matches.
Select your Comparison Type next, whether exact or more relaxed. Learn more about comparison types. Complete this step for each of the objects you have selected.
Four checkboxes let you adjust the logic for your search.
- Blank Values: Look for positive matches even when field values are blank for a given field. Please note that at least one field must have a non-blank match for a positive match to occur.
- Fuzzy Matching: Analyze words based on their phonetic value, removing vowels and analyzing the remaining consonants.
- Transposed Values: Analyze field values by reordering multiple words within each field value.
- Alpha Clean: Analyze field values by using only characters that are one of the 26 characters of the English alphabet, numbers 0-9, space, and ampersand.
You can continue to narrow down and refine your matches by adding more fields or adding match steps. To add more fields, select + Add another condition field. To add a match step, select Add Match Step.
-
Matching on multiple fields acts as an AND operation.
- For example, if you define three field names, a record must match on all three fields to be considered a match.
-
Adding a match step acts as an OR operation.
- For example, you can match on more exact criteria in earlier steps and move to looser criteria in later steps. This feature helps you catch more potential matches.
You can also copy match steps, making it easy to create a series of steps with small differences. Under the Match Steps column on the left, find the step you want to copy and select the three vertical dots on the right side of the label, then select Copy. A duplicate step will be created named "COPY created on [date-time stamp]." Rename your step appropriately.
To reorder your match steps, drag and drop the labels into the desired order.
If you have selected Account as one of your objects, the Account tab will show a Create child object checkbox with a dropdown menu. This option allows you to correlate an imported child object to a parent object based on match conditions.
- For example, if you're importing new contacts and they match to an existing Account Name in your CRM, check this box and select Contact from the dropdown menu to add those records as new contacts on the existing account.
Winner Rules: If you are performing Update Records or Upsert Records using the Matching Conditions method, the Account, Contact, and Lead objects allow you to optionally use winner rules for multiple matches.
- You can select a winner rule on each match step for these objects.
- To create your own winner rules, select Manage. Learn how to create winner rules.
Campaign Settings: The Contact and Lead objects allow you to set campaign settings for individual match steps by toggling on this option.
- Retrieve From: You can choose whether to pull campaign information from your operations source or your operations target when determining campaign assignment.
- Assign to a Campaign: Assign the identified records on a Contact or Lead object to a campaign using a column or field name from your source containing a campaign ID, or choosing an existing campaign within your CRM.
Task Settings: You can choose to create a task in your CRM.
- If you choose Create Task, you can select whether to link to an account or an opportunity, notify either the contact owner or a custom owner for the task, and set the subject, due date, status, priority, and description of the task.
If you are performing Upsert Records using the Matching Conditions method, DemandTools shows an extra tab with Final Matching Conditions. This tab is used to determine what conditions will be performed on records that do not match to any existing records.
- Create New: The Create New option defaults to the objects selected during the previous step. When you select this first radio button, DemandTools will take all the records that did not match against existing Leads, Contacts, and Accounts on the match conditions configured for each object and create new records in the selected object. Create New Lead creates new leads, Create New Contact creates new contacts in an existing account. In order for the contacts to be created in an existing account, the Account ID must be mapped to AccountId field on the Contact object. Create New Account is not a common use case, but creates a new account based on the Account information provided.
- Create a New Contact/Account: Selecting this radio button creates a new Account and adds the new Contacts to the new Account.
- Do Nothing: Selecting this radio button instructs DemandTools to take no action if a match is not found.
The Use Assignment Rule checkbox will change the ownership of Accounts, Leads or Cases, based on custom assignment rules.
- Enable Assignment Rules on the preview grid (Step 4: Preview below) tells DemandTools to use the default (active) assignment rule for whatever objects apply. Choosing a specific assignment rule will override the default assignment rule.
The Limit New Duplicates by Field checkbox allows you to map fields to determine a duplicate. If a duplicate is found, only the first record is used and others are ignored. When Limit New Duplicates by Field is applied, all records are displayed in the next step, even though the Duplicates that have been matched will not be imported.
The Match Account Ownership checkbox will instruct DemandTools to match the Contact to the Account owner.
- If the owner of the matching Account is inactive, then the Contact will be owned by the current user as a new Contact cannot be inserted as an inactive owner.
The Global Task Campaign Settings button only appears when you have selected Leads and/or Contacts objects.
If you select a campaign, you must also select a status in order to advance to the Preview step.
Tasks can be created for any object. If Global Tasks/Campaigns Settings are configured in addition to Step Level settings, Step Level settings will be used.
To move to step 4, select Preview >.
Important note: Moving to Step 4 (Preview) does not commit changes.
Step 4: Preview
Here, you can preview all results before making changes to your target CRM.
- Preview notes whether an insert or update action will be performed and whether a field has been transformed.
- If you have specified multiple match steps, the step used for the match is listed.
Under the Match Criteria section, the Step and Object column labels feature small menu icons to the right of each label. These menus allow you to filter your results preview by step or by object.
- Filtering does not affect which records are processed. However, you can use filtering to help you make decisions about which records to import. For example, you can filter by a match step based on looser criteria and decide whether the results should be included. If not, you can uncheck some or all, and those records will not be included in the final import.
-
The step filter gives you more information about each match step.
- Say, for example, that you have four match steps: two Lead steps, a Contact step, and an Account step.
- Under the Step column, you will see 1, 2, 3, 4, or Final Match.
-
When you open the filter menu, you will see Lead - Step 1; Lead - Step 2; Contact - Step 1; and Account - Step 1 for the numbered steps. The additional detail helps you choose the step you want to use for filtering.
Step number Step filter 1 Lead - Step 1 2 Lead - Step 2 3 Contact - Step 1 4 Account - Step 1
- The object filter lists the CRM objects selected for matching, in the order selected.
If records to be Imported have matched with existing records in your CRM, you are able to move this record to Final Match. This source record will follow Final Match Conditions set on step 3, Create New or Do Nothing. This can be achieved by double-clicking on the Numerical Match Step and move the record to Final Match.
If you want to review the processed records before importing, you can choose Export Grid Data to download a file of those records.
Saving your scenario (see below) will allow you to leave DemandTools while you review and then return to complete the import process.
To finish, select Import [x] Records. This action will commit changes to your target CRM.
If you want to re-run or schedule this scenario again in the future, open the Scenarios bar slider and select Save As, then name your scenario and select Save.