Salesforce Actions are one of my favorite tools. If you’ve got a group of Users that are heavily using Salesforce1, then you can really be a rockstar for them by understanding how to use Actions correctly. But, Actions also work in Chatter Feeds, Quick Actions, and Lightning Experience! While Buttons are not extinct, Actions are the future and you should look at using them!
Where can these be used? These can be used on any Record Detail Pages & Home Pages… so anywhere an Action can be.
Can be used on Record Detail Pages for the specified Object. The biggest difference between a Global Action and an Action is an Action allows you to preform a Record Update.
Global Actions vs Actions
Global Actions allow you to build an Action that can be used across multiple objects! This means, if you have a specific Record Create, Visualforce Page, or Custom Canvas that you want displayed in multiple spots (or maybe just on the Home Page), then this is your best option. With the Global Action you are able to re-use your Action across multiple areas, which means it takes less effort to develop and is easier to maintain!
Quick Action (Classic) vs Salesforce1 & Lightning Experience
Ability to have different layout for Salesforce Classic compared to Salesforce1 & Lightning Experience. When Salesforce added Lighnting Experience they did not group it into the Quick Actions layout, but instead added it to the Salesforce1 Action layout. So, if you currently are using Lightning Experience, the layout (at this time) will have to be the same between desktop and mobile. Down the road Salesforce might split this up into a new layout so that we can once again have different actions for the Desktop than our mobile devices.
Action layouts for each object are predefined by Salesforce, but you are easily able to override and drag-and-drop Actions around in the layout (just as you would a Field). If you customize the Quick Actions (Classic) layout, but not the Salesforce1 & Lightning Experience layout, then the Salesforce1 layout will mirror the Quick Actions layout.
Each Action has its own Layout (Works with Record Create, Record Update, and Log a Call)
One nice thing about Actions is how easy it is to drag-and-drop the fields that you want to be displayed for your Action. Pretty powerful! Combine with Predefined Values and you’ve got the ability to really streamline the experience!
Predefined Values (Works with Record Create, Record Update, and Log a Call)
With Actions, one of the biggest selling points is the ability to use Predefined Field Values. This allows you to save your End Users time entering information (just as you would ‘pre-populate’ fields with a button URL hack). You’re able to reference the Object that you’re on (if applicable), and the System Fields like the Running User and Custom Settings. If you choose to display these values on the Action Layout, the End User can change the default value if needed. If you don’t need the End User’s input, then simply remove it from the layout and the Predefined Field Value will do the rest.
Action Design Considerations
Have you noticed that both Global Actions and Actions allow for you to select Log a Call as a type of Action? All this really is doing is setting some predefined fields/layout changes for you, but it is still a Record Create of a Task. The benefit, besides not having to set some of those predefined values, is that you get a beautiful Custom Icon! When you are creating your Actions, be it a Visualforce Action or a simple Record Update, make sure that you’re using the Lightning Design System to use an appropriate Icon. User Experience matters!
As of the Spring ’16 Release, we have the ability to now use Success Messages for our non-coded Actions (Record Create, Log a Call, and Record Update)! This is something small (just like picking a Custom Icon), but it really does enhance your the User Experience of your Action.
Sometimes the Chatter Feed can get annoying if every little thing done shows up. This issue was also resolved with the Spring ’16 Release, giving us the ability to choose whether or not we want to Create Feed Item with our Action for any Record Create (includes Log a Call).