It should come as no surprise to anyone that we here at Arkus are a big fan of Permission Sets. Not only did some of us have something to do with their birth at Salesforce but we built a free tool to manage their assignment in mass called The Permissioner. Now that I have that shameless plug out of the way, let’s get into some new Permission Sets in the Summer 13 release that are worth a second look.
While it was mentioned in the blog post by @JustEdelstein last week, it can do no harm to mention such a great feature again. New in the Summer 13 is the ability to use Permission Sets to control access to create Record Types. The use cases for this are almost limitless so go back and re-read the release notes section which deep dives into the how.
Allow Email Based Identity
On the security front Salesforce is rolling out SMS Identity Confirmation for all users with verified mobile phones. This replaces the email based identity confirmation for users who enable it. If your users are not connected by mobile phones or that isn’t a good option you might want to assign the “Allow email-based identity confirmation” Permission Set to your users to let them continue to stay on email. This might also be used as a way to allow you some time to figure out how to roll out the SMS based identity.
While Salesforce Touch went GA prior to the Summer 13 release this is a good time to remind everyone about the features and what it means for you Permission Set junkies. Salesforce Touch is a new mobile view of Salesforce based in HTML5 allowing for easier navigation and manipulation of data. While you still login to Salesforce it looks much different with features like swiping and overlays that work better on mobile devices. Aside from all the new features in Salesforce Touch it should be known that it uses the same security settings of profiles and Permission Sets. This means that any assigned Permission Sets around things like Record Types will be inherited by Touch. A little bit of “Can’t Touch This” just got easier.
One of the jaw dropping new features coming in Summer 13 are Salesforce Communities which could be easily described as Portals 2.0. They are based in the Chatter suite of features and will allow for external users to collaborate with internal users in a branded workspace. While we have not gone hands on with Communities yet, we do know that the release notes for them are littered with mentions of Permission Sets. Out of the box Communities give access based on profile, which is not very granular so Salesforce highly recommends using Permissions Sets to grant access to newly formed communities at the user level. I wonder how you could assign a whole bunch of users the same community Permission Set at the same time?
If you know and love Permission Sets hopefully these new ways to use them in Summer 13 will be helpful. If you have never heard of them before, dive into our blog archive here and read up on them.
It’s that time of the year once again where we Salesforce geeks get to dig in and read some release notes. This time around for Summer 13 we got delighted with 264 pages worth of Salesforce goodness. Here are a few of my favorite features as well as a few that are extremely impactful in the ecosystem that is Force.com.
I can’t think of a more impactful feature going GA since Chatter itself. Chatter Communities are taking over so get used to it. Gone are the Customer and Partner portals and in come Chatter Communities. They are front ended by Sites.com website technologies and are going to be the way that organizations connect with their customers and partners using Salesforce.com for the foreseeable future. I’m personally sad to see Partner Portal and Customer Portal go away (don’t worry for those who already use these portals, you can continue to use them) though the complexity of pricing and options for which portal to choose will hopefully get better this time around with Communities. It appears as though there will be two different types of Communities - one for Partners and one for Customers (sound familiar) with each being accessible by any “internal” Salesforce licensed user. Each will have their own set of permissions outlined in the table below.
Communities are really a culmination of all the work being done on Chatter and a great way of bringing outside users into the Chatter fold without the use of Customer Groups (which I am not a fan of). Aside from allowing external people access to collaborate within Chatter, they can also participate in business processes such as customer service and sales. This truly is the start of seeing the Customer Company vision become a reality.
When Marc Benioff makes a statement to the effect of Chatter being the new user interface for Salesforce he isn’t kidding. With publisher actions we are finally seeing what working directly in the Chatter Feed really means. The best example or use case for explaining this feature is using Accounts. From an Account feed a user would be able to create related records such as Contacts or Opportunities. Publisher actions also respect validation rules and required fields unlike the dreaded quick create menu. Administrators can modify and customize which Publisher Actions are available to users and can even embed Visualforce pages to do even more advanced creation of related records.
With Publisher actions also comes the ability to see Chatter from children records. Using the Account example again we would be able to see Chatter on any related Opportunities directly from the Account Chatter Feed. As a clarification point here, in order to see the Chatter on the related Opportunities you must be following the Opportunities; still a very nice time saver and a way to see a wholistic view from a single record.
As I recall I saw this on a stage about three years ago at an event in New York. This is the main reason for the ever famous Safe Harbor Statement, Salesforce is serious when they talk about something maybe not being delivered for a while. Though it’s been a while it’s a welcome feature for those sales organizations that need to split Opportunities amongst team members at a revenue or a quantity level. I’m excited to see core features such as this make it’s way onto the platform, particularly since it was worth demoing to a large audience three years ago.
Record Types in Permission Sets
Finally my idea has been marked as coming in the next release. I’ve been clamoring for the ability to assign record type selection at a Permission Set level for a while now so that I can assign users in different profiles the ability to create certain record types. Imagine a Call Center with reps, engineers, managers, and executives all needing their own profile simply because of the types of Cases they need to be able to create. This problem no longer exists - Permission Sets to the rescue - just assign the appropriate Permission Set to different users to indicate that they can create a certain record type of Case. I love when product managers deliver on ideas from the community. Shout out to Adam Torman! Also a shameless plug for The Permissioner which makes assigning and revoking your permissions sets in mass extremely easy and efficient.
Owner Fields in Custom Formulas
Raise your hand if you’ve had to write a trigger to copy the owner of a record into a User lookup field on the same object. Ok, put your hand down and keep reading. I know we’ve had to write this trigger many times for the simple reason of getting the owner’s first name, last name, or email address into a formula field on the object. This trigger can go by the wayside as we can now just use the owner field to bring over any information that exists on the User record. Button Click admins across the world just got a nice tasty treat with this feature.
Approval Process Deployment
Last but not least is the ability to use cloud deploy to migrate approval processes from sandbox to production. For far too long this feature has been missing and I’m glad to see it make it into this release. Every time we build approval processes we have to build them in a sandbox to test them and then have to go through the task of rebuilding them in production. This made no sense (and still doesn’t make sense to me) as workflow rules were able to be migrated from sandbox to production. This is another core feature that is being delivered and I couldn’t be more happy about it as someone who just had to build then rebuild eight approval processes with multiple steps in each one.
This release is jam packed to the brim with not only cool new features like Chatter Communities and Publisher Actions but also some very key core concepts and features like pushing approvals and Opportunity Splits. This is the way all Salesforce releases should be moving forward - address visionary concepts and forward thinking functionality while also continuing to strengthen the core of an already world class platform.
Last week I had the opportunity to attend Integration World 2013 which is Actian’s (formerly Pervasive Software) yearly conference for their clients, partners and prospects. They hosted it at the Hyatt Regency Austin which overlooks Lady Bird Lake which was a nice upgrade from the previous year. For the most part this was no different than any other technology conference. There was a typical keynote to start off each day which included a guest speaker to give their opinion on where the future of technology is headed followed by a full slate of learning and hands-on sessions. I’m not a developer but the feedback I got from people from those hands-on sessions was fantastic. For those of you who couldn’t attend the conference but would have liked to, here are a couple key highlights that I thought were worth mentioning.
Actian, get used to it
The biggest news out of the conference was that Actian merged with Pervasive Software and the transaction was only finalized about three days prior to the conference. Big kudos to the marketing team for making the conference go off without a hitch considering those circumstances. There are a couple things that are interesting about this. For one, this is another play in the Big Data space but the second which I think is more important for us Salesforce.com partners is that this could be an indication of a push to gain more marketshare in the Salesforce.com ecosystem. Don’t get me wrong, Pervasive Software does its share of Salesforce.com integrations, but it is not as common a name as say Informatica. The merger with Actian makes them a larger company (roughly 300) and Actian is no stranger to the Salesforce.com ecosystem either. As a matter of fact, they built an application as part of their Action Apps that is downloadable from the Apple App Store for Salesforce.com users to setup and receive alerts from things like Closed Won business or Lead Conversion. I had the opportunity to play with it and worked pretty well. Things considered, I would not be surprised if you started to see Actian more active in Salesforce.com deals near you.
The Future of Business
The biggest recurring theme out of Integration World was the importance of integration and integration tools for the future of technology. As more and more data continues to get collected (“The Rise of Big Data”) the dependence on integration will increase and the tools that reduce the most friction in making those integrations happen will win out. Manual coding just does not scale. This is all true but the underlying theme here is it is highly dependent on the people. It was quoted at the conference that more than 43% of the Fortune 500 companies as of 10 years ago no longer exist. The days of “Too Big To Fail” are gone. For a company to survive the people in charge need to understand that everyone is on the same playing field when it comes to technology and data. Everyone can have access to enterprise software and data. The key moving forward is understanding what the data is telling you and having the right people in place to keep ahead of the curve by implementing the right technologies to match your companies goals.
As mentioned above, this conference was pretty typical. I felt the keynotes were informative and were further validation of what we have been hearing being the next big thing. I am really curious to see what Actian does now in the Salesforce.com and Cloud spaces. The signs are there, only time will tell. If you would like to discuss further please tweet at me at www.twitter.com/Salvatoriello or comment below.
Ever search for an app on the AppExchange and see a blue flask icon returned in the search results? It’s a Salesforce Labs product, and there are hundreds to choose from. Each Salesforce Labs product is inspired and may be developed by Salesforce employees, each listing their application for free, enabling admins and users alike to achieve some greater functionality on the platform. While there are hundreds, here are my top 5 for admins to consider test driving and installing.
Salesforce CRM Dashboards
New to this CRM thing? Need some inspiration for wicked dashboards that you saw in a Dreamforce session or on a YouTube video? Salesforce CRM Dashboards is a great first step into the world of dashboarding. This package includes 7 dashboards and 60 reports to inspire an admin to create meaningful analytics for his or her sales reps, service team, and executives. Every dashboard component is used, so it can help to check out each if you need help with gauges or tables.
Want to spice up your records with 5-star icons instead of staring at boring picklists in list views? Have tons of tabs and don’t want to use those boring Salesforce styles? Graphics Pack has over 1,600 images contained in the package of two varieties: 16x16 and 32x32. You can create formula fields that display a number of stars, indicate that a high priority case has a red stoplight, or make tabs with icons that pop. The Android robot is my favorite (a huge Google fanatic at heart)!
Can you close out a task with less than 2 clicks? I dare you to try it without Mark Complete. Perhaps the simplest package in the world of Salesforce apps, this package only includes 1 component: a custom button for tasks. Toss this on your page layout and you’ll be getting your users from Not Started to Complete in 1 click. Brag to your Salesforce admin friends that you implemented a 67% time savings for users in a matter of minutes!
Ever want to upload a photo to a contact record? Before Social Contacts & Accounts, this was virtually impossible without using a rich-text field or writing your own elements to handle it. Picture Uploader lets users upload an image relatively quickly and display the image on a page for users to view. This app is super popular with our non-profit clients in the education industry, as they can put a face to a name for their students, teachers, and fellows.
Out of Office Notification for Chatter
Heading on vacation and worried that your Chatter cred will fall because you can’t reply to users posting on your profile? Out of Office Notification for Chatter has your back. This nifty app allows you to specify a message to post when you are on vacation and a user posts to your profile. Even though it’s highly rated, OOO for Chatter fails to grab @ mentions on records, a large gap for functionality. Nonetheless, this is a must have for orgs highly reliant upon Chatter.
I like to think of record types as “slices” of an object. You may have a standard or custom object with no record types which means each record within the object will be the same or you may have anywhere from one to hundreds of record types per object. While there aren’t any specific limits around how many record types you can have per object Salesforce.com recommends no more then 200 per object - now that’s some serious business process if you need 200 record types. Each record type represents a different process that you are managing within the overall object. Lets use a simple example as we go through this entire blog post of a Project object that is used to manage two distinct types of project - Internal and External projects.
Use Cases for Record Types
Here are some details around what makes up a record type at a high level. The most common use for record types is to create a different page layout for different records within the same object. Using our project example, for Internal projects you may want to track only a minimal number of fields and therefore would want a different page layout then you may want for an external project. By having different record types you are logically splitting the different records, or processes, into different slices of the database. With this you can then assign a different page layout to each record type for each profile of user to see. In addition you can have a picklist called Status on the project. For internal projects you only need bare bones information like Open or Closed but for an external project you may need different statuses altogether; record types allow you to handle this with ease. Each record type has their own values available for a picklist on the object, this is really where the different business process comes into play and is really useful.
A practical place where the above is used is via workflow field updates or approval process field updates. As a step in a workflow you can flip the record type of a record therefore making available different fields on a page layout and different picklist values in the same field that weren’t available before the workflow happened. This is some fancy stuff and the best part is that it’s all declarative, no coding necessary.
One of the major misconceptions around record types is how the security is handled on them. Record type selection is handled at the profile level (hopefully at the permission set level at some point), the key word in this sentence is “selection”. That is all that is really controlled at the profile level - the control over which record type a user can select when they are creating a new record. Each profile has a default record type for every object, if there are no record types defined then under the covers the record type assigned is called the “Master”, otherwise it’s explicitly defined on the profile level. Defaults are used in two places that matter (in my opinion). The first is the “jump page” when you create a new record on an object that has more than one record type, the default will be the first in the list and be selected by default (go figure). The second is more intricate and I feel more cumbersome on administrators and end users trying to understand record types and that is during Lead Conversion.
Lead Conversion is a major business process flow in the Sales Cloud. When a user converts a Lead no matter what record type of Account, Contact, and potentially Opportunity they actually “want” to create they are going to end up creating the record type of their default on their profile. Most times this is fine but I wish there was a way to on the conversion screen define which record type I want to create because sometimes you may have a Lead that you want to convert to a “Partner” account and other times you may want to convert them to a “Client” account or “Prospect” account. While the above is a problem, like most problems in Salesforce.com there is a workaround. You can put a picklist on the Lead record and map that to a picklist on any of the records that you are creating and use the value of the picklist to fire a workflow to flip the record type upon conversion.
The last of the misconceptions is around visibility to records and how that interplays with record types. Records with specific record types are not hidden based on what a user’s profile says they have access to - remember those permissions are really for just saying what record types a user can create. With that said record types are a logical place to start when you do want to share or hide records based on criteria. In this case you would want to go to the org-wide default sharing settings and write some sharing rules that use record types as the criteria. This is a commonly used technique but often times it is confusing. Consider the following use case:
In our fictitious org where we have internal and external projects there is a profile where a user can create both internal and external record types of projects. In this same org the org-wide default setting for privacy for the project object is set to private and this user with permission to create an external project is actually by design prevented from seeing any projects with the record type of external. What would happen if this user then created a project with a record type of external as their profile allows them to? Quite the puzzle eh? Turns out the user would be able to create the record but as soon as it’s saved they would get an insufficient privileges message telling them they can’t see the record that they just created. Isn’t that just some fun stuff?
Oh Those Tricky Record Types
There are so many times where record types have tripped me up when trying to do something inside of Salesforce. Here are the two big ones that for some reason I have a hard time remembering to do.
Mass Edits from a list view - in order to actually mass edit records in a list view for an object that has at least one record type you must include a record type filter in the list view so that every record within the list has the same record type.
The other is more of a lapse in concentration as often times I will push Visualforce pages from a sandbox that references fields, particularly picklists, and in the Visualforce page there will be no values in production. This is because I sloppily forgot to push the record type along with the code and fields and therefore there were no values actually assigned to the record type in production. A good reminder to always test everything as soon as you push it to production.
All in all I feel like record types are a key in the area of managing business process within Salesforce.com. What do you think? Are there any other misconceptions, gotchas, or tricky/cool things that record types do for you? Tell us in the comments below, on our Facebook page, or tweet me directly @JustEdelstein.
Looking back at our transition from Google Wave to Google Docs it is interesting to see how much has actually changed yet remains the same. We are a big Google Docs shop and besides Salesforce consider it one of our favorite tools. Back in 2010 I wrote about the ways we use Google Wave to do our project planning, scrums, and documentation. Here is the revised version for 2013 using Google Docs.
Back in the days of the Wave, we would start a wave each week as a replacement for a stand up scrum and enter our daily and weekly tasks. We had real time editing with presence and inline commenting. Not much changed when we moved over to Docs. We still use one document a week to outline all the daily and weekly tasks, still include a inspirational quote at the top, and still enjoy real time editing. The difference now is that Docs allows for better organization both in the document and in Folders with naming conventions that make for easier navigation. The actual editing of the scrum also has much better formatting like tables, page breaks and colors that make the scrums just pop.
Project Management & Documentation
If there is one key to project management, one secret I could give the world, it would be great documentation. From the earliest discovery notes to each and every conference call we document everything and this is where Google Docs has blown Wave out of the water. Not only do we get a much better integration between Salesforce and Google Docs, the much less indented nature of a document allows for hierarchical note taking with great features like Table of Contents to keep it all organized. We still enjoy the real time editing and notifications that Wave offered but now have better mobile and offline access in Docs. All big productivity wins.
The big upgrade from Google Wave to Docs is the offline syncing of non Google documents which not exist as part of Google Drive. Almost 60% of the documents we deal with are other file formats from PDFs to Excel, and zip files to JPGs. The easy storage of these in a simple syncing folder system available both on and offline is an amazing productivity boon. While it took some time to figure out how to organize a Google Drive for team sharing and management, what we have now is a well oiled machine of document and file management. The big plus that Drive has added over Wave is mobile and offline support on a lot of platforms. Ubiquitous review and capture is always a good thing.
Getting Things Done
We are a big GTD shop at Arkus so capturing projects, texts, next actions and providing a “trusted source” is important in any tool. WIth both Wave and now with Google Docs we document all of our projects, next actions and reference material in an organized and rather GTD-esque way. Folders are used for organizing areas of focus such as Prospects, Clients and Partners and inside all of those folders everything is alphabetical. Real reference material goes into Folders like Documentation and All Arkus while projects and next actions get recorded in the documents themselves. Google Docs has even made it into our weekly planning and review as an in-basket of sorts.
Overall the move from Wave to Docs/Drive has shown us different and better ways to organize, collaborate, and get things done. While there are a few views and features from Wave that I miss it would be hard to turn back now and with the growing investment Google is putting into the application suite, it can only get better.
Are you a Google Wave cast off, have tips on using Google Drive comment below or hit me up at @JasonMAtwood on Twitter.