Salesforce Toolkit - A Salesforce Professional's Swiss Army Knife

Salesforce Toolkit - A Salesforce Professional's Swiss Army Knife
Salesforce Toolkit - A Salesforce Professional's Swiss Army Knife

Every Salesforce Administrator and Consultant looks for tools to make tasks easier. While Salesforce is easy to learn, there are some actions which require a multitude of clicks. Field creation, for example, is easy but takes a long time when creating a whole host of new fields. Exporting org metadata can be complex and cumbersome, and turning multiple workflows and validation rules off and on can be a pain.

Just like Salesforce Workbench, Salesforce Toolkit is a tool that every Salesforce Professional should have in their toolbox. I found the site several months ago when searching for a way to export an orgs metadata. This tool not only pulled it off, but it was quick. The other tools provided have been a big help as well.

I've asked its creator, Ben Edwards, to provide some details about how Salesforce Toolkit came to be and provide a quick overview of each of the tools provided.

Behind Salesforce Toolkit

The Salesforce Toolkit is a collection of Heroku hosted applications that support various Salesforce processes and tasks. It provides tools for automating and simplifying common consulting, implementation and/or admin related functions.

The Toolkit itself came about after I started to build apps to ultimately make my job easier, as well as the consultants working around me. I happened to be starting to become more familiar with the Salesforce APIs at the time, as well as learning Django (a Python web framework) and Heroku. So it worked out to be a great opportunity to get some hands-on experience.

Once I had set up a few basic apps, each app following became a bit easier and faster to build, as I had got over the initial hump of learning new programming languages and APIs.

Once I had built a few pretty independent apps, I created the "Toolkit" page to bring everything into one place.

All the applications themselves are open-sourced on GitHub (http://github.com/benedwards44/), meaning the code can be fully downloaded and used internally or within other apps, if people wish. I also wanted to encourage people to contribute to the apps and potentially submit their own apps to the Toolkit.

Let me briefly run through each app and what it does, and how consultants and apps might use them.

The Tools

package-builder-3

Package Builder was actually the first app I built. This one is quite simple and was relatively easy to get up and running. It simply outputs a package.XML file of your entire Org, without using any wildcards for the metadata lists (*). It uses the Metadata API

This is useful for people who want to list all components and then chop and change the XML for use with source control or IDEs. This fits a gap with IDEs that tend to auto-wildcard selections when trying to extract all components from an Org.

schema-lister

Schema Lister was the second app I built. Again, quite a simple application. It lists all objects and fields within an Org, including their data types. It then provides the ability to export this to an Excel file.

This is useful for documentation purposes, or if needed to provide schema details to an external party.

field-creator

Field Creator provides a nice interface for creating many fields on a single page for a Salesforce Org. Very useful when starting new projects or implementations and having a list of fields you already know you need to create.

Creating fields directly in Salesforce can be a bit tedious if having to do many, as each field is 3 or so pages of clicks. This allows you to create a lot of fields quickly and then deploy to an Org.

switch

Switch was an idea given to me by a colleague. Switch provides a nice and simple interface for mass disabling and enabling Salesforce automations - Workflows, Validation Rules, Flows, and Triggers.

The main use case for this is data migrations - when it's useful to have these things easily turned off and then turned back on again.

org-compare_2

Org Compare is the most used app in the Toolkit, and I think the most powerful. It actually took me a while to get the logic all set up and working as desired.

It compares the metadata of two different Orgs and presents the differences. It's really useful for pre-deployment change-set and package setup, as well as post-deployment validation.

data-compare

Data Compare is an extension to the Org Compare tool. Rather than comparing metadata, it compares data.

This is useful for validating data migrations, or ensuring that data that was set up in a sandbox has been migrated correctly to the next environment.

org-doctor

Org Doctor wasn't actually built by me - but rather by an ex-colleague Sebastian Wagner. As such, I haven't actually open-sourced the code for this as it's not mine.

It is available for free use, however. The app analyses a Salesforce Org and presents a report based on best-practices and any trouble areas that may need addressing. Really useful for high-level health-checks and analysis of how to improve performance and general maintenance overheads for your Org.

Your Turn

Thank you so much to Ben for providing an overview of Salesforce Toolkit. I have found it provides great value to me as a Consultant, and I hope that you'll find it valuable as well!

Is there a tool that stuck out to you? What are you going to try first? Leave a comment below!

Read more