Taking out the Salesforce Garbage

I don’t know why the process to permanently delete objects from Salesforce was hard for me to find today (was looking for a link to send to someone on Trailhead) but I did not find any succinct answer before my AADD kicked in, so here are the steps:

  1. Switch to Classic mode
  2. Go to Setup, then Custom Objects (search for Objects or scroll to Build > Create > Objects)
  3. At the bottom of the list there will be Deleted Objects (#) if there are any.
  4. From there you can permanently delete them before they go away on their own after 15 days.

Hope this helps someone!

© Scott S. Nelson

How to re-assign Salesforce object ownership in bulk

Here is a question I see frequently in the Trailhead Community: How do you re-assign the ownership of objects in bulk? I’m sure there is an app to make it easier, and I suggest you look there if policy for your org is to use apps first. And I know there are other solutions, this is just one that I find quick and easy because I don’t have to give it too much thought.

Accounts before Owner Change

First: Always try it in a sandbox first and test the results before doing it in production.

Second first, locate the user id of the person who’s object owners ship you want to change from. From their user page (or just copying the link), grab the object ID from the URL.

Find Object Owner

Copy Object ID
Copy Object ID

Now open Salesforce Workbench in another tab, login and navigate to Queries > SOQL queries. If you are adept at SOQL, create a query to pull all of the object you want to re-assign based on the user id. If you are not comfortable writing your own SOQL or just feeling lazy, use Workbench to help create the query:

Select Query in Workbench

The key values you want are the object ID and the owner ID, though adding a Name field to check the values can be helpful. Be sure to select View as Bulk CSV then run the query. Save the resulting file. I recommend naming it something that is meaningful to you rather than accepting the long string produced by default. Open in your favorite CSV editor to see the object and owner ids.

Next, get the user ID of the new owner(s) the same way you did for the current owner. In the CSV file, change the OwnerId value as desired.

For safety reasons, delete all columns from the csv file except Id and OwnerId, then save it with a different name as a CSV file.

Object and Owner IDs only

Back in Workbench, go to Data > Update. Select the object type and click the Choose File button and select the file you just created with the new OwnerId(s), then click Next.

On the mapping screen the values should already be mapped. Check that only the ID and OwnerId are mapped and click the Map Fields button. If there are many records, check the “Process records asynchronously via Bulk API” option on the resulting page then Confirm Update. Note that if rules were changed since the records were created you may have errors that will require fixing the records before they can be updated.

Could happen if rules changed since created

And in list view:

After Owner Change

© Scott S. Nelson

What has more impact to Salesforce ROI than downtime, defects, or time to market?

It’s probably not what you were thinking (and kudos if it is):

The number one killer of Salesforce success is user adoption. The first part of planning must include a user adoption strategy, and the first App Exchange install should be the Salesforce Adoption Dashboards.

Recommended Trailheads:

© Scott S. Nelson

Most Common Question about Salesforce Flows

This is the most common question I see about Salesforce Flows, and was one of my first questions, too. To save me looking it up all the time, I’m storing it here on my blog…

Q: How to have a flow go somewhere other than the page it was called from at completion?

A: See Customize a Flow URL to Control Finish Behavior

© Scott S. Nelson

Naming Custom Lightning Pages

For large orgs, Lightning pages are like rabbits: they multiply quickly and most of them look the same unless you are really close. To keep the page population under control, use a unique Developer Name and provide a description of its properties when customizing record pages that will be assigned to anything other than Default.

Lightning Page Details Form
Use the Lightning Page Details Form to customize the Developer Name and Description
© Scott S. Nelson