Demand Tools Salesforce CRM Demand Tools Overview • Demand Tools can be a valuable data management tool for use with Salesforce.com • DemandTools is a suite of modules to: – Control – Standardize – Verify – Deduplicate – Import and generally manipulate salesforce.com data • It also provides advanced data management capabilities with the use of scheduled bulk updates Unit Name CRM Demand Tools Capabilities • You can also update thousands of Salesforce records from – An Access Database – Excel spreadsheet – Or even a UDL file • Demand Tools administrative toolset allows your administrator to clean duplicate objects of any type directly from your Salesforce CRM system. Unit Name CRM Demand Tools Modules • There are 4 Modules associated with CRM Demand Tools – Maintenance Modules – Cleansing Modules – Verification Module – Discovery Module • The Maintenance & Cleansing Modules each contain several useful tools within each section • The Verification & Discovery Modules each perform one main task. Unit Name CRM Demand Tools Modules • Maintenance Modules – Import – Update – Data maintenance (ex zipfix) • Cleansing Modules – Single & Multi-table dedupe – Lead to Contact/ Lead to Account Dedupe – Mass Lead Convert . Unit Name CRM Demand Tools Modules • Verification Module – AddressVerify provides DemandTools customers with a direct link to a USPS and Canadian Certified online postal database. – Providing CASS and SERP certified data our web services partner, StrikeIron Inc. makes the data available for a per transaction (hit) basis. • Discovery Module – Compares data in external databases to salesforce – External data sources include XLS, MDB, CSV and UDL connections & can be compared to the data in ANY Salesforce.com table. – Once matches are made an external results file is created. – No actual information is modified. Unit Name Demand Tools Maintenance Module - Mass Effect Maintenance Module – Mass Effect Common Uses: • Update information from a csv, xls, xlsx, mdb or udl file into Salesforce • Update any Salesforce object including custom objects • Migrate data from legacy systems • Insert attachments from files that reside on your local PC (includes image files, xls, word documents etc.) • Insert new Tasks, Opportunities, and Events to any object in Salesforce Unit Name Maintenance Module – Mass Effect 5 Steps • • • • • Step 1: Choose a File Step 2: Select an Operation Step 3: Field Mappings Step 4: Save Scenario Step 5: Select the row(s) to use in the data and process the operation • Demand Tools provides restoring & log files for transactions Unit Name CRM Demand Tools – Mass Effect Unit Name Step 1. Choose a File 1. Select the file by clicking the "Select File" button 2. Browse to find the file and click "Open" 3. If an .xls or .mdb file has been chosen the user must select the worksheet/table name to process by clicking on it (will highlight in blue). Click the "Use" button on the right or double click to select (the fields from the spreadsheet/table will populate in the left column of the page). 4. The number of records loaded will be displayed in red Unit Name Step 2. Select an Operation • Update Existing Records: Updates Salesforce object records based on a matching key • The default key is the Salesforce ID but can be any field. • Note: The ID can be either a 15 digit ID (i.e. exported from a Salesforce Report) or a 18 digit ID (i.e. exported using DemandTools). • Important notes on changing the unique key • To designate a field as the Key field, right click the field and choose "Set as Key" Keys are case sensitive Unit Name Step 2. Select an Operation • Restore files cannot be created if the unique key is changed Special update options are not available (i.e. update only if empty, and merge multi-select, text-area or boolean field options) Updates will be done one record at a time vs. in batch mode (the default batch size in DemandTools is set to 100) • Depending on the number of records being updated, could run significantly slower, and could use a large number of Salesforce API calls • Multiple records in Salesforce could be updated from one record on the input file (no guarantee that the selected key is unique) Unit Name Step 2. Select an Operation • Insert: Inserts new records for one object per pass (i.e. cannot create new Account and Contacts in one pass; this would be two passes with MassEffect) • Delete: Deletes/Removes Salesforce records via the Salesforce ID. Deleted records are placed in the recycle bin. Process Blank: When a checkmark is placed in this checkbox it allows for a populated field in Salesforce to be overwritten with a 'null' or blank value from the incoming spreadsheet. If left unchecked, empty cells in your spreadsheet will be ignored and the values for those fields WILL NOT be updated. Unit Name Step 2. Select an Operation • Restore File: When the "Restore File" checkbox is selected an "undo" file will be created and saved in the Restore Folder created upon the installation of DemandTools. The Restore File, by default, is an xls file and can be used in MassEffect to revert changes made during an update. • The Restore File option IS ONLY AVAILABLE when using the Salesforce ID as the unique key. • To change the default restore file type to csv or mdb, access the Edit/Options menu. When processing more than 64,000 records be sure to change the restore file type to something other than .xls (.csv or .mdb or for those running DemandTools version 2.2 .xlsx is also an option). • Unit Name Step 2. Select an Operation • Export: Exports information from any standard or custom object in Salesforce • Export is the only operation in MassEffect that is accessed outside of the Operation section. To Export information via right click on the table and choose Export Table • For more details on Exporting records click here Unit Name Step 3. Field Mappings 1. Choose the object in the middle of the screen to modify by clicking on the + sign next to the object. This will reveal the fields that are able to be modified. 2. Map the fields from the data source by left clicking, dragging a dropping to the matching Salesforce object field. 3. To remove an incorrectly mapped field right click on the mapping and choose "Remove". Unit Name Step 3. Field Mappings • Important notes on mapping and data contained in the input file: • The tool will show all "Updateable" fields but some may not be updateable in conjunction with other fields. This information will be shown in the log files. • NOTE: Fields with a Data Type of "Auto Number" are NOT updateable (includes Salesforce auto number fields, i.e. Case Number and custom Auto Number fields). and CANNOT BE USED AS A UNIQUE KEY FOR AN UPDATE (cannot use the "Set as Key" functionality on these fields). Unit Name Step 3. Field Mappings • Boolean fields 0 = False, 1 = True; to mark a boolean field as true or false the input file field must have either a 0/1 or True/False as the input value to make the appropriate selection • Multiselect fields, multiple values must be separated by a ";" character. By default, new multi-select values will OVERWRITE existing values. To merge the new value with the existing value, right click on the blue mapped field and select "Merge input data with existing values in Salesforce". Unit Name Step 3. Field Mappings • For all lookup/ID fields in Salesforce, the Salesforce ID, not the name, will be needed. Some examples include: – Owner ID • Owner Alias can also be mapped to the Owner Alias field, but only one can be mapped (either the Owner ID or Owner Alias but not both). Owner Name is never accepted. – RecordTypeID – CampaignID Unit Name Step 3. Field Mappings • Reasons to Right Click: • AutoMap: – To automap the input data right click on the table name and choose "AutoMap". – The column name in the data source must match the Salesforce display name or the internal reference name for a field to auto map (to see the internal reference name, check the "Show MassEffect Field Name" checkbox in the Preference/Options menu). – If a field cannot be auto mapped, it will remain black on the left hand side of the screen. Once it is mapped manually, it will turn blue. Unit Name Step 3. Field Mappings • Reasons to Right Click: • Add Constant: – To have the exact same value appear on all the records being updated or inserted, right click on a field and select “Add Constant”. This replaces the need to create a column in the data source for a field(s) of data that is constant for all records. – Only acceptable values will be allowed by field type: • A numeric field with a limitation on the number of places to the left or right of the decimal point can not be exceeded • Picklist field: the constant must be a value that is valid in Salesforce Unit Name Reasons to Right Click: Unit Name Step 3. Field Mappings • Reasons to Right Click: • Remove: removes the field mapping • Update from input data only if the field is empty in Salesforce: Will only update a fields value in Salesforce if the field is Salesforce is blank. If the field in Salesforce has data in the field Unit Name Step 3. Field Mappings • Merge input data with existing values in Salesforce: Applicable only to these field types: Multi-select pick lists, text area and Boolean (T/F) • If the value being merged from the input data exists in the picklist it will become an additional value rather than a changed one. Example: a multi-select picklist includes the value of "apples" and the input data has a value of "oranges", the final value will be "apples; oranges". Boolean True/False fields will always retain the True value, "T always wins". If the input data contains a value of False, but the Salesforce field contains True, the resulting value will be True. Unit Name Step 4. Saving the Scenario • Save Scenario: • Saves all field mappings including, added constants Saved scenarios are scheduleable. To learn more about scheduling, click here. • Clear Scenario: • Clears all mappings • Load Scenario: • Allows for the selection of any saved MassEffect scenario and loads the mappings Unit Name Step 5. Select the rows to use in the operation & process the data! • MassEffect allows for the specification of rows to process from the data source Ex: to process the first 300 rows from a data source of 13,000 rows go to the control box and change the "End" number to 299 (applicable to .xls and .csv files). The end number is 299 because row 1 is actually the header row, so we need to add one to the end row when changing the endpoint. • The default values are 1 to the end of the data. Unit Name Step 5. Select the rows to use in the operation & process the data! • To perform the update, insert or delete, click the "Process" button. If the operation results in errors the results pop-up box will display the total count of errors with a direct link to the log file. To quickly locate the error in the log file search for "status code". To learn more about exception codes found in log files, click here. Unit Name Restore Files • When performing an Insert, a file will be created containing the Salesforce ID's for the newly created records as well as the original data in the data source. The file name will be the same as the input file with the added extension of "_IdSave0" (the zero will increment if the same input file is processed multiple times). A link to the ID file will be displayed along with a link to the log file when processing completes. To “undo” the insert, use the new .xls file as the input file and run a mass delete of the records (mapping on the Salesforce ID). Unit Name Restore Files When performing an Update, a restore file is created of the data (being modified) as it was in Salesforce prior to the processing of the updates. The restore file (by default) is an .xls file and is saved to the location specified in the File Paths tab in Options. The default file type can be changed in the Preference/Options menu. Be sure to use .csv .mdb or .xlsx when processing more than 64,000 rows of data. The restore file name will be similar to: MErestore_Account_Jan132009_00001 When performing updates with the restore file option turned on, the path to the restore file will be displayed upon completion of the update. To "undo" the updates, process the restore file in update mode •Unit Name Restore Files Unit Name Demand Tools Maintenance Module - Mass Change Maintenance Module – Mass Change • The MassChange tool allows you to specify a condition to find matching objects of most salesforce.com tables and set values for those tables to specific values that you choose. • It is designed to allow you to quickly change hundreds of records that require a common value in minutes. • When you initially start the MassChange tool it will display all of the available objects from salesforce.com in the "Select Object To Change" selection box. • Once you select an object (i.e. Account) the available fields for that object will be displayed in the "Fields To Show" checked list box. Unit Name Maintenance Module – Mass Change • You can select between 1 to 6 of these fields to display on the next screen. • These fields will help you on the next section of the application to determine what of the found objects you want to change. For example, if you were MassChanging contacts you may want to show FirstName, LastName and Email in the next confirmation screen. Unit Name Mass Change Unit Name Maintenance Module – Mass Change • The second step is to specify the criteria for the change. These are the conditions that must be met in order for the objects (i.e. Accounts, Contacts, etc) to be changed. • To do this you simply select the field from the top left of the screen. Once an object is selected the objects to the right of the field will update depending on the type of field selected. • For example, if you select "Owner Alias" as the field the comparison operator will change to one of (equals, not equals) and the available Alias's will appear in the checked list box to the right of the field. Unit Name Maintenance Module – Mass Change • You now must select one or more Alias's for your condition. The field condition selection will change depending on the field type (i.e. if you are using a date field in your condition the selection will become a date selector). Unit Name Mass Change Unit Name Demand Tools Maintenance Module - Mass Impact Maintenance Module – Mass Impact Common Uses: • The MassImpact module is what CRMfusion terms a multi-table data manipulator. • Similar to another DemandTools module called MassChange, MassImpact allows for the selection of a set of objects to be selected from the database and for each of them to go through a set of uniform changes. • Changes take place directly at the Salesforce data center without the need to import or export the records. • MassImpact is a more powerful module than MassChange due to its multi table capabilities, capabilities of running scheduled scenarios and its advanced operator changes that can modify field data in a variety of different fashions. Unit Name Mass Impact Unit Name Maintenance Module – Mass Impact • The development of MassImpact scenarios starts on Screen One with the user selecting the Salesforce object that they would like to effect (impact) changes upon. • Only fields in the selected table will become available for manipulation on Screen Two. • On the left hand side of the interface the user is asked to select the fields that will show on the final preview screen before they commit to making data changes. Therefore it is wise at this point for the user to select fields that they know they will be impacting as well as any other fields that would help to validate that the changes are valid. Unit Name Maintenance Module – Mass Impact • Notice that the fields from the object being modified are displayed by default but that the + sign allows for related tables also to be opened and their fields also selected for the preview screen (multi table capable). • After selecting fields in the left hand side of the interface they become listed on the right hand side. Here they can be reordered if required. Once all fields have been selected and are in the proper order, the user Selects the Step 2 -> Conditions and Settings button in the lower right hand corner to move to Screen Two Unit Name Mass Impact Unit Name Maintenance Module – Mass Impact • Screen Two begins with a traditional DemandTools "where" statement that the user uses to select which objects in the database they would like to effect change upon. Fields in the table being modified are open by default but related table information can also be queried in order to develop the sub set of objects in the database to be modified. • After selecting the field, the operator and Value, the user presses Add Condition to move the developed condition to the current condition list. • The Expert Mode check box allows for the development of "or" groups allowing for conditional statements such as "This, this and this OR this, this and this" Unit Name Mass Impact Unit Name Maintenance Module – Mass Impact Developing MassImpact Change Conditions • Once all the condition statements have been defined, MassImpact will be able to know what records the user wants to modify. • In the lower part of the Screen two interface it is now time to select which fields in the object being modified should be changed. Unit Name Maintenance Module – Mass Impact Developing MassImpact Change Conditions • The Field to Update pull down contains all the modifiable fields (including custom fields) from the object selected for modification at the top of Screen one. • Select the field to impact and then use one of the four tabs (Value, Field, Formula or Object Count) to decide on how the field will be uniformly changed within the record set Unit Name Maintenance Module – Mass Impact Tab Descriptions: Values Tab • The value tab allows the user to enter an appropriate uniform value for a field that will be placed on all records. • The module will show an appropriate dialog box depending upon the type of field being changed. • Text area boxes will show a text entry dialog, dates will show a calendar entry and multi-selects will show a list of allowed values etc. • The user enters the value that they would like placed in this field for all records in the selection set and presses Add to Set Conditions in order to move the developed routine to the Set Condition list below. Unit Name Maintenance Module – Mass Impact Tab Descriptions: Field Tab • The field tab allows the user to select that they would like to have the field selected in the Field to Update pull down uniformly set to that of a different field either in the table being modified or a related table. • This can be used to move information from for example one Contact field to another Contact field or it could be used to populate a Contact field with the value held in a related table field as well. • Select the field to be modified then the user uses the database tree to find the field they want to use as a substitute and then the user presses Add to Set Conditions to move the routine to the Current Set Condition list below. Unit Name Maintenance Module – Mass Impact Tab Descriptions: Formula Tab • The formula tab allows the end user to develop complicated and powerful impact formulas to change to data in the selected field. • Formulas can be executed on single fields or multiple fields at the same time and can even be developed to work in a multi table view. • A short description of the functions allowable in the MassImpact formula tab are as follows: Unit Name Maintenance Module – Mass Impact Tab Descriptions: Formula Tab -Date: Populate a field with a specified year, month, and day -if_DateReturn: Return a data value based upon a condition -if_NumberReturn: Returns a number value based on a condition -if_StringReturn: Returns a text value based on a condition -Int: Rounds a number DOWN to the nearest integer -LCase: takes a field and lower cases letters -len: Returns the number of characters in a text string -Mid_1: Returns all characters from the middle of a text sting after a given starting position -Mid_2: Returns the characters from the middle of a text string, given a starting position and length (number of characters to return) Unit Name Maintenance Module – Mass Impact -NaPhoneFix: takes phone number and formats it to match the format as entered in salesforce.com, will also standardize an abbreviation for extension to x -Normailzed_US_Address: Standardized a street address to match the USPS preferred format (CASS). -now: Updates a date and/or date/time field to the current day and/or current day and time -ProperCaseName: Proper case a "Name" field. -random: Assigns a random value -Round: Rounds a number to the nearest integer -StringReplace: Search a field, find a particular string, replace with desired string -StringReplaceCS: Same as String Replace with case sensitivity Unit Name Maintenance Module – Mass Impact -today: Update a date and/or date/time field to the current day. -UCase: takes a field and upper cases letters -WCase: Takes a field an upper cases just the first letter. -ZipCodeClean: Strips out non-numeric characters, checks to see if there are less and 5 digits. The user enters the formula that they would like applied on this field for all records in the selection set and presses Add to Set Conditions in order to move the developed routine to the Set Condition list below. Unit Name Maintenance Module – Mass Impact • A description of the capabilities of each tab is: -today: Update a date and/or date/time field to the current day. -UCase: takes a field and upper cases letters -WCase: Takes a field an upper cases just the first letter. -ZipCodeClean: Strips out non-numeric characters, checks to see if there are less and 5 digits. The user enters the formula that they would like applied on this field for all records in the selection set and presses Add to Set Conditions in order to move the developed routine to the Set Condition list below. Unit Name Maintenance Module – Mass Impact • Tab Descriptions: Object Count Tab • The object count tab allows the user to populate the field to be modified with the total sum of the number of sub objects of a particular type that are related. • For example this tool could easily populate an Account field called "Number of Contacts" or "Number of Opportunities" with the count of those sub objects. • Many customers use this tool as a work around outer join query capabilities because by putting a count of sub objects on a record they can then query with questions such as " Show me all the Accounts without Contacts" by searching for zero values. Unit Name Maintenance Module – Mass Impact • Once the user has completed the process of developing set conditions to determine how fields will be changed they can then select the Step 3 -> Review records and Update button to see a preview of the changes that will take place before they decide to commit them. Unit Name Mass Impact Unit Name Maintenance Module – Mass Impact • Screen Three will appear after the records to be changed have been downloaded from Salesforce and will show all the fields initially selected in Screen One plus the new values being populated into any fields. • Values with white backgrounds show the information how it is currently in Salesforce while values with yellow backgrounds preview the data change that will take place if this MassImpact scenario is executed. the user is given the ability to preview the results, remove individual records from the selection set if desired and finally if content with the operation they can select Update Records to make the changes take place. Unit Name Mass Impact • The lower left hand part of the interface allows the user to save this MassImpact routine as a Scenario. MassImpact scenarios can be saved for later use, scheduled to run automatically and are excellent ways for end users to develop data standardization routines that will clean and standardize their data on a regular basis. Unit Name Mass Impact • Also available is the ability to export grid data into a variety of different file formats and some advanced grid control options. Unit Name Demand Tools Cleansing Section– Mass Lead Convert Mass Lead Convert The MassLead Convert tool allows you to select unconverted leads and quickly convert them to contacts and accounts. With the MassLead Convert tool you can: • Select leads with varying levels of criteria • Create opportunities upon conversion if desired, utilize the company name for the opportunity name, or use a standard value • Assign non queue owned leads to an individual owner • Create tasks for the lead owner Send notifications to the contact owner Unit Name Mass Convert Unit Name Mass Convert Add Condition - The first step is to specify the criteria for DemandTools to select the leads that you want to convert. • These are the conditions that must be met in order for the Leads to be converted. • To do this you simply select the field from the top left of the screen. • For example, if you select "Owner Alias" as the field, the comparison operator will change to one of (equals, not equals) and the available Alias's will appear in the checked list box to the right of the field. • You now must select one or more Alias's for your condition. The field condition selection will change depending on the field type (i.e. if you are using a date field in your condition the selection will become a date selector). Unit Name Mass Convert • For example, if you select "Owner Alias" as the field, the comparison operator will change to one of (equals, not equals) and the available Alias's will appear in the checked list box to the right of the field. • You now must select one or more Alias's for your condition. The field condition selection will change depending on the field type (i.e. if you are using a date field in your condition the selection will become a date selector). Unit Name Mass Convert • Current Conditions • The current conditions that you have added are displayed in the "Current Conditions" text area. • By default, all of the conditions combine with an AND condition. • This means that the more conditions you add, the fewer objects will be found as they must match all condition. • If you choose to OR the conditions together you will find more objects with each condition. Unit Name Mass Convert Current Conditions • When you are selecting text fields (such as MailingState) you can separate the values with comma's and the tool will find objects where any of those values are found. • For example, if you are planning on changing account ownership based on state you can enter: WA,CA,AZ in the MailingState field and the tool will match any records that match one of those 3 MailingStates. Unit Name Mass Convert • Selection of Convert Settings consists of selecting the Lead Status Value and whether or not you want to create an opportunity with each converted lead. • If you choose to create an opportunity (by checking the Create Opportunity box), you then have two choices regarding Opportunity Naming. You can use the company name, or give all opportunities from this lead conversion the same name. Unit Name Mass Convert Contact/Account Ownership • With this option you select if you want the current lead owner to be the Contact/Account owner or assign ownership of all converted leads to a specific person. • If you choose Lead Owner, you will need to select a new owner for those leads that are being converted & owned by a lead queue. Unit Name Mass Convert Notification • Select if you want the new contact owner to be notified and if you want a task created. • When you select the Convert Leads button, a notification screen comes up telling you how many leads are going to be converted. – You do not get to review the leads before they are converted. – If there are two employees at the same company, two accounts will be created. Unit Name Mass Convert • When the conversion is completed results will be logged in your Log Files folder in the DemandTools directory. Unit Name