Salesforce.com Mass Update Anything

A commonly needed functionality by Salesforce.com users is the means to do a mass update on a given database object, like accounts. Salesforce does provide some mass functions, like mass delete (from the setup menu in Data Management), but this isn't available to the standard user.

Mass Update via List Views

It is a fairly simple development project to provide "mass" capabilities of any sort. These are normally provided by placing a button on a list view.

Maybe you've noticed that when you look at a view, there are checkboxes to the left of the listed records. The user can check as many of these as desired, or check/uncheck all of them using the topmost checkbox. Once the desired records are selected, they can be passed to a function via a button on the list view.

See this screenshot of the "All Accounts" view in my Salesforce.com instance:



We can place buttons above the list of records (to the right of the "New Account", "Follow", and refresh icon). Those buttons can invoke functions that do any desired operation against the list of selected records. 

Commonly needed functions are those like Mass Delete, Mass Update, Mass Change Owner, Mass Change Status. This can work against any object in Salesforce that has a tab, both standard objects like Accounts, Contact, Opportunities, Cases, etc, as well as custom objects that you create. 

Lets say that you have a custom field that you regularly need to change en mass - like the opportunity stage. Maybe a sales rep needs to be able to quickly review a large number of old opportunities and set the stage to closed/lost. A "Set to Closed/Lost" button could be placed on the opportunity list view page layout and users could create whatever views they needed, select records, and pass those to the closed/lost function. 

Incorporating a Visualforce Page

A Salesforce.com Visualforce page could also be included in the process whereby the user selects their desired records, invokes the visualforce page through the button and on that page they could select values or enter data that they want to pass into the selected records. 

Take a look at this example. Here a company wanted to incorporate some campaign management functionality right from the Contact List View:


Here the user would select the contacts that they wanted to incorporate into a campaign, then select the "Manage Campaign Membership". That would open this next visualforce page:

On this page the user could confirm the contacts against which they were about to make a change, then select the campaign and an option for handling the contacts. 

This is entirely custom functionality, designed by a Snapptraffic consultant on behalf of one of our clients while discussing the business problem at hand. 

Since we're talking about custom development, we can literally do any function that might be needed by an organization. 

Related List Mass Update

A mass update can also be deployed against a related list. Related Lists are the sections of information below the detail portion of a record. For example, you'll find an Open Activity "related list" on your contact page layout. When adding a custom button to a list view, a setting can be selected by the administrator that turns on checkboxes to the left of each record on the related list. These checkboxes can be used to pass records from the related list to the developed custom function. Here is an example: 


In the example above, the user can select activities that are open and pass them to a custom function, possibly a "Send Mass Reminder" for your upcoming events. 

Is it expensive?

One of our developers could typically produce a simple mass update function and deploy it to your system in about 5 hours of effort. A more complex process involving a visualforce page might require 10-12 hours of effort. So at the Snapptraffic Consulting hourly rates, a project like this would probably cost $500-$1500 depending on the complexity. Normally a project like this can be built and deployed in just a few days. 

Once the project is complete, you own the code. No ongoing subscriptions.

Is Custom Development for You?

If you think a mass update function like this, or any other development effort you're considering might improve the business practices for your salesforce.com users, feel free to reach out to us via our website: www.snapptraffic.com. We'd be happy to speak with you about your idea, discuss it's feasibility and likely cost. We can also let you know how quickly the project could be completed and deployed. 

A Salesforce.com Custom Portal Case Study


The Need for a Customer Portal 

In November 2012 we received a call from Huong Nguyen of Shiloh Event Creations asking if Snapptraffic Consulting could help her configure the standard customer portal that is available through Salesforce.com. Huong has an event planning business and wanted to move the management of her event planning business into Salesforce.com, but she also wanted to distinguish her company from the competition by providing her customers a portal in which they follow along real time with the planning of their event.

Huong had already considered several project management solutions available on the app exchange and was close to buying one of those. Before doing so, however, she wanted to be sure that certain details of a project could be made visible through the Salesforce.com customer portal. She was asking for our help to determine if it was possible to show to her customers some important aspects of the project (from a third-party application), but to keep other items concealed.

Building an Application rather than Buying Off-the-shelf

We discussed these goals with Huong and suggested that instead of buying a project management system, we build inside of Salesforce.com, using the standard tools provided, the various databases that would be necessary to track her event milestones, assignments, the budget, various charges, invoices, and payments. This approach would have the advantage of a system built according to her existing processes - and further, once the development was complete, the system would belong to Shiloh Event Creations and there would be no further subscriptions for a third-party project management application.

Standard vs. Custom Portal

We also discussed options for the portal itself. While the standard portal provided by Salesforce.com is easy to setup and modify, it didn’t provide the look and feel that Huong was hoping for.

After talking through all the options, she decided that a custom portal with a design based on her existing website would be the best approach. A custom portal doesn’t use the portal system provided by Salesforce.com at all, but is built on Salesforce.com Sites and uses the authentication of a customer portal license. This approach would also permit us to take full advantage of the project management system that we would build in lieu of the App Exchange offering.

Looking for Savings - Platform Licenses

Another important decision in our planning process was to build as much of the system using custom objects (databases) rather than standard objects like Opportunities and Products. Using custom objects means that many of the future internal users of her system would be able to login using Platform licenses.  Platform licenses are significantly less expensive than full Salesforce.com Enterprise licenses.

The Business Process Review

With those choices made we kicked off the project by conducting a business process review in which we noted how Shiloh Event Creations currently planned for and executed the events that they were managing. We discussed how work was scheduled, assigned, and completed. We also talked extensively about the financial side of event planning.

After these conversations we had this sketch from which to work to create the data model in Salesforce.com.
The Shiloh Event Creation Data Model Sketch
We immediately began creating the custom objects (databases) in Salesforce.com, adding the fields, and configuring the page layouts. In just a couple of days, Shiloh Event Creations had a fully functioning Project Management System in Salesforce.com built to their exact work requirements. Even if the portal was never built, this was an impressive advance in the management of Shiloh Event Creations business processes.


The next step was to design the custom portal. For inspiration, we looked at their existing company website, noted the design, the styles, the colors, etc and began sketching a portal with these concepts in mind.



Here is one of our actual sketches from the design process:


This was the longest part of the project, but during these planning sessions we sketched out all the various pages of the Shiloh Event Creations portal. Once that was complete, the development began. The Snapptraffic Consulting development team went to work analyzing the data model, the application already built in salesforce.com, the sketches, the existing website style, and the project requirements – all in the context of the end goal. After that we started writing code!

Over the next few weeks we would meet with Huong every few days to review our progress, take her inputs for changes, and continue development of the requested pages. Here are some screenshots of the final result:

The Portal Login Page

A Detail Page from the Portal of a Shiloh project
A Typical Page from the Portal

Hopefully this case study gives you a feel for how the development of a custom portal built on the Salesforce.com platform can proceed. Thinking about a custom portal for your company? Call us at 800-422-6490 or visit us at www.snapptraffic.com to speak to us about your project.