A new framework for thinking about actions.
Actionable analytics has been a hallmark feature of Tableau CRM since launch. I thought it might be nice to talk about a big shift in our thinking about actions. First off, I’ll talk about our initial design philosophy. Second the transition to our new priorities, and last, I’ll cover some new Spring ’21 features that demonstrate our new values.
Our starting values
- Configure once, use everywhere
- Scalable
- Extensible
- Unobtrusive
- Grain independent
- Easy to configure with clicks
Configure once, use everywhere — We put configuration of action in the dataset’s metadata, so setting up actions could be the first thing users do after creating their data. We wanted the Dataset builder to be able to easily turn on all relevant actions, so that content authors would get all actions, for free, simply by grouping by this field or adding this field to a table. The intention was to decrease the overall work to add this feature to maximize adoption and impact.
Scalable — We used the pattern of a drop down menu on each field value, so builders could add as many (or as few) actions as needed. The menu looks just as good with 1 action as it does with 20. This made our solution versatile for any situation. Also, the fact that unused fields wouldn’t clutter up the UI with irrelevant actions, meant there was no draw back to configuring as many actions as possible.
Extensible — This approach allowed us to seamlessly shift to Lightning based actions, and add support for Visual Force actions, Custom Lightning Actions, and even Flow based actions! Builders could add more actions by simple adding them to the page layout.
Unobtrusive — The pull down caret is hidden and out of the way until it is hovered over, and the visual force bulk action is quietly added to the table’s drop down menu. This meant there was no risk to adding additional actions, and the actions would never sacrifice aesthetics. This was key because the data builder and the content author could often be two different people. The data builder was hoping to plan ahead to enable any flow the content author would think of, while reducing the likelihood of follow up requests.
Grain Independent — We knew from the start users would be joining on multiple relationship objects, so actions would not always be about that row of data. For example, an Opportunity dataset often has actions about the associated Account, Owning User, and Product. This flexibility can drastically reduce clicks and lookups to take the correct action.
Easy to configure with click — The actions UI, available from the edit dataset page, makes it super easy to see all available actions and enable the one you want, as well as configuring an Open acton to open the record in this org, cross org, or even a custom URL template. The easier is was to enable, the more adoption it would have.
Why change, and why now?
By no means am I saying the above values were wrong. These values allowed us to achieve hyper growth, and go from zero to hundreds of thousand of actions in a few years. I think it’s time we say “well done”, give a round of [virtual] high five’s to all the engineers, designers, and PMs that made this possible, and start thinking about the next phase in our evolution. The main feedback we are hearing is the author is hamstrung by the data builder. The dataset builder is the gatekeeper for all action usability (and doesn’t want to be). This additional hurdle is hampering the content author’s creativity. Furthermore, we have gone from a dataset centric product to a data anywhere product. TCRM dashboards could be using static data, direct Salesforce objects, or Snowflake data with more sources coming. It’s time to empower authors to build powerful, data-driven workflows. So let’s jump to it!
Our new values
- Less clicks for end users
- More discoverable
- Opinionated
- Everywhere
- Natively use Salesforce’s code, low-code, and no-code frameworks
Less Clicks for end users — The hover, click, and click again got us here. You’ll remember that recently we launched 1 click Table Actions, so authors could pick a single, primary action that can be invoked with a single click on the cell. Look for more here in the future! And speaking of which, wouldn’t it be great if you could take an action once, but have it act on …say… up to 100 records?
More discoverable — Having a hyperlink right on the page provides an affordance that something will happen if you click this. Furthermore, you can use the images in tables feature from way back to make a button style for an action column. The key is that more natural, intuitive, and visible interfaces mean less training and onboarding. And less time training means more time acting! and more actors!
Opinionated — The notion of a primary action give the author more power to build content specific to the action. It gives them the power to build an insight-action virtuous cycle directly into the content. For example, if the content is around coaching, perhaps starting a chat thread should be the primary action. If the dashboard is about finding the optimal set of leads for your campaign, then an “Add to Campaign” button should never be more than a single click away. The authors can dream up any workflow they like, our job as a framework is to get out of their way so they can clearly articulate an ideal workflow to their users.
Everywhere — The addition of Direct means you need actions on live Salesforce data, and live Snowflake data, or anything else we dream up. You shouldn’t have to build a recipe or dataflow to infuse actionability!
Natively use Salesforce’s code, low-code, and no-code frameworks — Whether you like to use out of the box actions, Lightning code, Apex and Visual Force, or Flow Builder, you should be able to build actions and add them with a few clicks.
New Spring ’21 Action Features
So we’ve mentioned a few steps that we have already taken in this direction, but I know what you’re all thinking, “how much of this is coming in Spring?” Well, I have two big announcements to share with you:
Mass Action Buttons
Now you can add a button to any dashboard page, and specify a Mass Action that will be invoked every time that button is clicked. You can specify any dashboard step containing a lookup column. When the user clicks on that button, the user will invoke the specified Mass Action on up to 100 records at once!
Would you prefer to style this link as an image? Check out tip 10 here.
Actions Anywhere
While you’re exploring, just choose the new configure actions from the pill on the left hand menu. This will setup actions right while you’re building content.
No need to update dataset metadata, in fact you don’t need a dataset at all. You can set this up on any Direct or Snowflake query. (FYI, these are persisted in the Dashboard or Lens’s Asset XMD resource.) No need to ask for help. No need to open a new tab. Just the simple, easy ability to add actions… everywhere.