Salesforce Winter 18 Features

Sales Leads: Speed Through Lead Conversions with Added Flexibility

At last! A new lead conversion process which matches leads with contacts and accounts already in Salesforce. At the same time, reps create an opportunity or select one already in the works.  This change applies to Lightning Experience only. Users can now:

  • Create an account, contact, and opportunity from the lead data with a single click
  • Update the values provided from the lead for each new record
  • Choose the record types
  • Relate the lead to existing account, contact, and opportunity records matched to the lead using your duplicate management rules
  • View details of the matched records
  • Search for more records to relate to the lead
  • Create a follow-up task
W18 Lead Conversion.png

Accounts: Easier Setup of Person Accounts

An automated process now checks whether your org meets the requirements for using Person Accounts.

The requirements are:

  • At least one record type for accounts.
  • Users that have read permission on accounts have read permission on contacts.
  • Organization-wide default sharing is set so that Contact is Controlled by Parent or Account and Contact is Private.

From Setup, enter Account Settings in the Quick Find box, and then select Allow Customer Support to enable Person Accounts.

After Salesforce confirm that your org is ready for Person Accounts, we’ll send an email with additional information about logging a Support case.

W18 Account Settings.png

Accounts: Merge Person Accounts in Lightning Experience

Sales reps can now view duplicates on person accounts in Lightning Experience just as they can on business accounts, contacts, and leads. Users with permission can merge person accounts, too.

Accounts: Share Business Contacts Manually in Orgs That Use Person Accounts (Generally Available)

The ability to modify the Organization-Wide Sharing Default for Contacts, allowing you to share business contacts, including the ability to define contact sharing rules and manually share business contacts.

Opportunities: Opportunity Teams, Opportunity Products (Lightning Only)

You can now add an entire opportunity team in fewer clicks. Prompting users to add products immediately when they create or clone an opportunity.

Add Opportunity Team Members Faster

Your sales reps can add multiple members of an opportunity team on one page. These changes apply to Lightning Experience only.

W18 Add Opp Team Members.png

Prompt Users to Add Products to Opportunities

Salesforce can now prompt sales reps to add products to new or cloned opportunities. This need to be activated by your Admin.

Activities: Archived and Past Activities, Activity Timeline Filters, and Task Reminders

Now you can view, filter all past and archived activities:

  • Use Task reminders to never forget a Task
  • Notification Tray and icons remind you that there are things to do
  • All Activity History page provides a full view of Activities for all time

List Views: Customizations, Mass Inline Editing, and Text Wrapping

Columns in list views, search results, related lists etc. are now sized based on the length of the data within them. When you resize your screen, the columns adjust accordingly. You can also wrap text in list view columns.

Salesforce Self Implementation Gotchas

We have a number of customers that implemented Salesforce themselves. To be transparent, my first encounter with Salesforce was to implement it myself, with no prior training. Now I know what I know, I think I did a pretty good job with no screw-ups. That said, I’ve worked with Enterprise systems all of my working life so I knew what to look for, even if I had to find out where it was.

When working with customers that self implement, there are a number of things I look for first that need to be corrected or haven’t been done, making Salesforce much more productive. Here’s my quick list.

Please note this only skims the surface of Salesforce setup and configuration

User Profiles (Setup | Users | Profiles)

User profiles are the first destination, every time. User profiles are part of the security system that controls what people can and can’t do and data they can and can’t access (there’s a little more to it but let’s start simple). The most common mistake is every user or too many users are System Administrators. The Sys Admin profile is the access all areas free pass to every part of your Salesforce instance. It includes such gems as mass deletion of records and the ability to send automated emails to all customers on a simple record change. A malicious employee with Sys Admin privileges can do an awful lot of damage to your organisation. Simple tip, no more than 2-3 Sys Admins and give everyone else the Standard profile. If the people with Standard profiles can’t do their jobs, clone it, assign the cloned profile and build from there. Start with limited access and slowly increase based on need. Don’t give staff the nuclear launch codes when all they need is to fire a rubber band across the office.

Standard documentation on profiles is here

Deleting Stuff (Setup | Users | Profiles)

Within Profiles you’ll see your list of objects (contact, account, opportunity, etc) with checkboxes and column headings – Read, Create, Edit, Delete. Delete means exactly that and if you don’t want your users to delete records you need to uncheck that box.

You’ll often see this referred to as CRED (Create, Read, Edit, Delete).

Users often incorrectly enter records so it’s annoying to not be able to delete the mistakes so just include a simple checkbox on the Contact, Account and Opportunity page layouts called “Flag for Deletion” then build a simple report that only selects records with that flag. You get to choose what get’s deleted rather than your staff.

Standard documentation on object permissions is here

Company Settings (Setup | Company Settings | Fiscal Year)

Company settings needs the basics, especially fiscal year for reporting.

To define you fiscal year

Sharing Settings (Setup | Security | Sharing Settings)

I always have a conversation with the client about sharing settings what they want their teams to see – everything or just their own records? The response is generally polarised – a definite yes or no either way. Remember you can share different objects in different ways. For example you may choose to share Accounts and Contacts but keep Opportunities private to the individual.

Sharing settings are generally;

  • Private – to the record owner so no-one else can see the record
  • Public read only – everyone can see the record but only the record owner can edit (or delete depending on CRED)
  • Public read/write – everyone can see and change everything depending on CRED
  • Public read/write/transfer – some objects (lead and case are examples) allow users to transfer ownership of the object
  • Controlled by parent – the parent object controls the child. Accounts and Contacts are a good example. Accounts are the parent, Contacts are the child. The sharing settings for the parent are inherited by the child. Therefore if you set your accounts to Public Read Only, the associated Contacts will be Public Read Only.

To setup sharing settings

Adding Fields

Adding fields is well documented and a relatively simple process, including managing page layouts. The main point here is to try and use structured data entry such as picklists and checkboxes where possible as they’re much better for data entry and reporting.

Video on creating custom fields

Data Import

Cleanliness is the watchword here. We always ask clients to clean their data and we nearly always have to clean a certain amount. Some common examples:

  • In a list of Contacts and Accounts, account names are spelt differently every time. E.g. ABC Co., ABC Company, ABC, ABC Ltd, etc. If they’re all “ABC Company” then make them identical otherwise Salesforce will create multiple Account records
  • Address details in the wrong fields. E.g. postcodes in the town field or all address details in a single field
  • Duplication of records.

Put your data into an Excel spreadsheet and use the cell highlight rules and duplication function to find duplicates then delete them. Work through the columns and check the values are in the correct fields. Yes, it’s tedious but much cheaper for you than to pay me.

Note to self – I can’t find a particularly good reference so I’ll write one.

Reporting and Dashboards

Once reporting and dashboards are correct, I see usage of Salesforce increase. There is a school of thought that you don’t get what you expect, you get what you inspect, on that basis reporting and dashboards are your best friend.

I’m not going to explain how to write reports as there’s plenty of information online. Please remember when creating dashboard components you need a summary report to provide the data for the component – tabular reports don’t work. You’ll also need to provide totals on the report columns for the dashboard. A few reports with enough data can provide enough data for multiple dashboard components – you don’t need a separate report for each dashboard, one report can support many components.

Material on creating dashboards

Highlights of the Dreamforce 2016 Product Announcements

Whilst the annual fun and excitement of Dreamforce was in full swing I was sat in the office trying to quickly assimilate as much information from the announcements. Of course I’d love to have enjoyed San Francisco in October but at least good old Blighty had dry, sunny days.

OK, I was bitter and jealous.

All software vendors love a regular shindig to show off the new stuff the techies have been burning midnight oil for. With a certain amount of self interest I’m pretty much focused on what that means for my customers and for us. With a slew of acquisitions Dreamforce 2016 promised a full agenda of new goodies and it certainly hasn’t disappointed. The star of the show was always going to be Einstein but there’s more besides which I’ll list below.

Salesforce Einstein

Through a combination of machine learning, machine intelligence and deep intelligence Salesforce Einstein will provide a technology layer to all clouds with specific functions that provides AI functionality. Functionally there are a lot of forward looking messages, no doubt caveated with plenty of safe harbour statements. For Sales Cloud Salesforce;

Sales Cloud Einstein will include Predictive Lead Scoring that enables sales reps to focus on closing the best leads, Opportunity Insights that alert reps when a deal is trending up or down, and Automated Activity Capture which seamlessly logs email and calendar activity with the right Salesforce record, and analyzes them to deliver predictions. For more information on Sales Cloud Einstein, visit

Likewise for Service Cloud the functional examples are;

Service Cloud Einstein will include Recommended Case Classification which automatically pre-populates key case fields enabling predictive routing of cases to the right agent and enabling agents to resolve customer issues faster. With Recommended Responses service agents will be pushed the best responses, and Predictive Close Times will predict the time needed to resolve an issue, helping improve agent productivity. For more information on Service Cloud Einstein, visit

Marketing and other cloud examples are here

I haven’t found details of price and availability (other then ask your Account Manager). With AI currently being a red hot technology topic Salesforce are making an interesting move that should offer plenty of benefit. Let’s also set expectations correctly. Don’t expect it to revolutionise the platform overnight, this feels like the start of a journey. Remember that Metamind was acquired a mere 6 months ago. AI is huge buzz right now with vendors laying out product visions. The key word is to remember with AI right now is “vision”.

But, in years to come, I have no doubt we’ll be wondering how we lived without it.


The August purchase of Quip is already showing signs of integration into the Salesforce platform. With Quip, Salesforce (to some extent…) takes on Microsoft and Slack with productivity and collaboration. Quip allows users to collaborate on documents with messaging built in. The integration allows users to sign into Quip with Salesforce credentials and features promised in 2017 will allow users to embed live CRM data into Quip documents. The Quip purchase has promise as Salesforce can hardly be credited with making the best document creation or editing facilities. Too often I find myself dipping between Evernote/OneNote/Word for meeting notes and copy/paste between.

LiveMessage (formerly HeyWire)

LiveMessage provides functionality for Call Centre agents to interact with customers on mobile devices via text and messaging services. Using existing call centre inbound numbers, your customers can send text messages and interact directly with agents. As most of us have become frustrated with complex dial tone menu’s and call waiting music, this provides a more efficient way for customers to interact as agents are no longer tied up with voice calls and able to manage multiple text chats at once.

Lightning Bolt

Lightning Bolt introduces a new framework for the rapid development of communities and portals. This extends the current capabilities of communities and portals with more off-the-shelf components to introduce business logic, workflows, etc into your communities and portals. A number of verticalised complete partner solutions were also launched as part of the announcement.

Commerce Cloud (formerly Demandware)

Demandware is (was…) a July 2016 acquisition by Salesforce. Commerce Cloud provides web store e-commerce functionality that’s now built into the Salesforce platform. The product enables users to quickly build branded web stores with rich and focused shopping experiences for customers build in.

My Salesforce1

Salesforce1 is the name for the Salesforce mobile application for iOS and Android. Until now, you had limited colour and no branding options. Now companies can extend their own brand design to Salesforce1.

Salesforce IoT Cloud

The Salesforce IoT (Internet of Things) Cloud allows Salesforce to connect to IoT devices to collect streams of data and act. This could be literally anything to sensing if a key customer component is about to fail and scheduling an engineer to managing flight delays. This Salesforce video has some good examples. Many of the “things” in our lives are fast becoming IoT enabled, therefore doing something useful with the enormous streams of data that get generated is seen as a huge customer service opportunity.

What we know about Salesforce Einstein

We now know the big product announcement at next month’s Dreamforce will be “Einstein”. This has been the culmination of internal development projects and a number of acquisitions over the past, well several, years. We know very little about Einstein other than a few teasers alluding to artificial intelligence we can make a few guesses. Let’s face it, there’s no fun if we just sit back and wait.

Reported in ZDNet, Marc Benioff made the following comment during the Q2 earnings call;

Companies will demand that your software is going to be intelligent, smart, that you’re going to have machine learning and deep learning and machine intelligence built-in. Machine intelligence is going to be declared as well as programmatic…I really believe we’re going to have the best artificial intelligence platform in the industry.

Based on this quote there are 3 underlying related technologies to Einstein, machine learning, machine intelligence and deep learning. What does this mean for the average Salesforce customer ?

  • Machine learning is the ability for a computer to learn without specific programming. We don’t program the computer how to solve a problem, we program it to learn how to solve problems. The foundation is pattern recognition and computational learning, understanding trends or patterns and learning from them over time. For the Salesforce customer this could mean predictions based on trends in your data. Instead of staring for hours at dashboards and reports trying to draw inferences from the data Einstein could provide those insightful gems of prediction for us about why our ice cream sales tank in the winter (OK, anyone can guess that one).
  • Machine intelligence provides the tools for a computer to perceive it’s environment and make rational decisions to increase it’s chances of success for a given task. The concept Machine Intelligence has been used in Terminator or Matrix doomsday scenarios but it’s more likely to be channelled into niche uses. We interact with this emerging technology daily through Siri, video games, purchase protection systems and websites that attempt to predict your needs to secure a purchase. Could Machine intelligence helping to decide the best sales strategy based on historical performance is an interesting idea.
  • Deep learning has previously been referred to as a neural network and provides a multi-layered approach to understanding a problem. It’s been used extensively in photo recognition which needs millions of examples to differentiate weather, night/day, cities, people, etc. With each photo the system learns a little more adding a more accurate decision making capability. For a Salesforce user this could mean the ability to scour social networks, sifting through good and bad feedback, dealing with issues as they arrive. While we already have this technology I’d argue it lacks the finesses to differentiate the nuances of human language and intention.

Does this mean we can sit back and let the machines take over? Probably not yet and definitely not for some time. But the ability to use AI to assist decision making is certainly a welcome addition to a great product.

From what I understand this probably isn’t a separate cloud but an underlying technology foundation that supports all clouds, probably starting with sales.

I’ll make sure that I update this post when the announcement is made.

Using Person Accounts in Salesforce


Person accounts in Salesforce are a business to consumer solution for customers who sell to large numbers of individuals. Standard Salesforce functionality has an object for “Account” which is a business entity or organisation then “Contact” as an individual linked to one or many Accounts. When creating a Contact Salesforce mandates that you must have an Account to relate it to as a parent / child relationship. This can be frustrating for organisations who sell to individuals as they need a dummy Account to enter against each individual. That probably falls into the category of first world problems but it can be annoying, with a negative user experience of Salesforce. There can be other issues with very large numbers of contacts all with the same account such as system response and speed. And, at the end of the day, it’s not the right solution for business to consumer customers.

In 2010 Person accounts were introduced. It’s important to note that a Person Account is technically an Account, not a contact in Salesforce terms. Therefore a Person Account does not have an Account as such, it is the Account. When using Person Accounts it’s important to differentiate with Business Accounts which is the company. Accounts now have two options.

Person Accounts don’t appear in the Salesforce setup menu and need to be enabled by Salesforce as a service request. Salesforce will ask you several times if you’re sure you want it enabled as it can’t be switched off from your production environment after the event. Recommendation is to test thoroughly in a development org first before you make a decision you may regret.

Before it’s enabled Salesforce will ask you to enter a record type against the Account object that will become the record type for Business Accounts. When Person Accounts are enabled a record type is created for that purpose. You’ll also need to check that all profiles have read permissions against the Account and Contact objects and the org-wide defaults for contacts are “Controlled by Parent”. This is because Salesforce also creates a Contact against each Person Account. You can’t see or use those Contacts but be aware for storage considerations against your instance. Once that’s complete the Salesforce service team will enable Person Accounts and you’ll see additional options within the Accounts configuration.

To differentiate between the new World of Business and Person Accounts you’ll need to use record types to either assign account creation to sets of users or give users the choice. If you only sell business to consumer then an easy solution is to only allow users to user the Person Accounts record type and change tabs to remove “Contacts” and possibly change the name of “Accounts” depending on your business requirements.

Organisations that have a mix of business and consumer accounts may be complicated as you can’t assign separate tabs to Business Accounts and Person Accounts. Here are a few suggestions;

  • Add the “Is Person Account” field to the default view for the Accounts tab. Person Accounts will be visually differentiated as they have the Person Account icon (which is, bizarrely enough, a person…)
  • Create views for Person Accounts and Business Accounts so users have a quick method of differentiation.
  • If you have groups of users that use one or the other use record types and page layouts to clearly differentiate. The default page layout for a Person Account is a mix of standard Account and Contact so you’ll need to make changes anyway.
  • Think about how to use “Partners” and change relationships accordingly. For example you may want to use terms like “Spouse” or “Child” in the dropdown. Another use case is “Employer” to link a Business Account to a Person Account.
  • Make sure any activity rules (workflow, assignment, etc) use “Is Person Account” otherwise they won’t trigger.
  • Customise reports and dashboards.


For customers that want to implement Person Accounts after go-live and production data there is no easy solution to simply convert Contacts into Person Accounts. You’ll need to extract the data, clean it up and import back into the post Person Accounts configuration. This is defiantly recommended in a developer org or sandbox (if you’re using a sandbox you’ve committed).

Data Cleaning in Salesforce

If you have a list of “bad things to avoid with my Salesforce investment” then dirty data should be in the top 3. It’s right up there with user adoption and executive commitment, in reality the 3 are interrelated. Maintaining high standards of data quality is tough and a continual process or battle in some cases. Once dirty data creeps in it becomes a huge trust issue as management and users alike don’t believe the data and usage spirals down. If you can’t trust the data, you can’t trust the system so why bother using it. It enters into your system with breathtaking ease and before you know it, using Salesforce is considered a waste of time. Because of dirty data.

Of course the right time to deal with dirty data is during the implementation then continually throughout usage. That’s really easy to say but few of us are blessed with the gift of hindsight so it probably needs to be dealt with post-implementation. I’ll break this post into 2 sections, dealing with the mess after the event and staying on top.

Dealing with the mess after the event

At some point you need to say “enough is enough” and deal with the mess. Make the assumptions that it’s not going to get better and data entry behaviours won’t change because Jedi mind tricks don’t actually work (sorry for that bombshell). Step 1 of dealing with the mess is understanding the problem.

  • Dirty data generally creeps into your system from the following areas;
  • It’s easier to create a new record instead of searching to see if it already exists. So we end up with duplicates.
  • Its often too much effort to enter the correct information into a given field because it’s not immediately to hand. Phone numbers are a common example – who’ll know it’s wrong?
  • Contact and account data imports from users often generate duplicates
  • Data from other systems may not be clean on entry. We’ve seen a SAP integration that had multiple codes for identical products. Therefore consolidated sales reporting needed an Excel spreadsheet as different salespeople used different codes for identical products
  • Missing data entries can also count as dirty if they’re required by a colleague or other department
  • Records that have not been updated and become invalid over time. Old opportunities are a common example – run a report of opportunities with a close date in the past.

It’s often the case that dirty data is a combination of some/all of the above.

To help you through Operation Clean-Up there are some great tools on the App Store, notably Duplicate Check for Salesforce (free), Cloudingo and RingLead. The available tools have a range of different functions for de-duplication, merge, convert and cleanse. There isn’t a universal choice of tool, it depends on your data cleansing needs.

Staying on top

All or some of the points below should help you stay on top.

  • Speak to users and understand why data got into a mess. The reasons may surprise you and give you a good indication of how users interact with Salesforce. In many cases you’ll find confusion rather than apathy so a training refresher may be required.
  • Understand where users gain benefit. Salesforce, implemented correctly, will see users gain benefit from their own data. Help your users understand how they can benefit from Salesforce and their own data so they’re motivated to ensure data is correctly entered.
  • Ensure data entry screens are logical and quick to navigate. Cut out anything that doesn’t add value to the user using page layouts or record types. Focus on fewer fields and clicks to complete forms, laid out on the most logical manner.
  • Use validation on critical fields for data quality. Be careful not to validate everything because you can, it’ll just make users resent it.
  • Use tools such as to maintain data quality. is on of many tools that will help maintain your data quality.
  • Consider disabling quick create which ignores data validation rules. It’s one of the quickest and easiest ways to introduce dirty data into Salesforce.
  • Use the carrot and stick principle of rewarding your star users and calling out the poor performers. Chatter is a great tool to make sure the company knows who to recognise and who not.
  • Create reports and dashboards focused on data quality. Use RAG graphics on forms to visually alert users to issues. Review reports frequently and correct behaviours if data quality is starting to decline.
  • Check field completeness with free apps such as Field Trip.

Above all, the battle for data quality is won on 3 fronts:

  1. A culture of clean data. Teams see a virtue in clean data, individuals link clean data will job performance.
  2. If it’s not visible in SFDC it doesn’t exist.
  3. Train users continually and make sure Salesforce benefits them

Salesforce Competitors Catching Up?

An interesting piece of research from the Synergy Research Group reports SaaS Enterprise spending growing with the market expected to triple in 5 years. Microsoft is competing for revenue leadership against Salesforce and other large vendors are also making revenue gains. That said there’s no comparison of product line which means that Salesforce marketing, sales and service is probably being compared to Office365 which is difficult to draw too many conclusions.

What is interesting, is how Microsoft and others are changing their business models to deal with the SaaS world. On-premise generally works with a lump sum for a perpetual license and a percentage of that sum paid annually for support. SaaS or cloud is generally $/user/month, frequently paid annually in advance. The diagram below is unoriginal but explains the concept well.



When you start your business based on lump sum and support it’s very difficult to quickly change to the cloud model without seeing a significant drop in revenue. The on-premise lump sum on day one could now be spread over five financial years. True, the cloud vendors receive the revenue in the longer term but when you report revenue quarterly you have to show continual growth otherwise the stock value is negatively effected. How does your revenue take that reduction when you switch to the cloud? As Salesforce and others had the “correct” model from inception they don’t have to concern themselves. Also interesting to note, according to Synergy Research, Microsoft’s SaaS revenue is 8% of total software revenues.

Time will tell how quickly the large software vendors can transform from on-premise sales to cloud sales. Many factors need to be considered from revenue recognition to sales bonuses, merely changing delivery method and commercial terms are pieces of a complicated jigsaw. What is clear is they’ll struggle to move too fast without risking a short term revenue decline.

Bots v Humans. The Battle for the Call Center.


  • Facebook launch the Messenger Platform opening the send/receive API.
  • launch Salesforce for Messenger allowing users to interact with their customers via Messenger using automated intelligence tools.
  • Bots predicted to become sophisticated communication and interaction tools replacing customer service agents in call centers.
  • Fewer humans in call centers will need more knowledge and better pay to deal with tasks outside the bots capabilities.


In early 2014 Facebook switched off messaging from it’s mobile clients, forcing users who wanted to continue instant messaging Facebook contacts to download a separate client. Lots of people were upset at how and why Facebook could possibly treat them this way.

In November 2014 Mark Zuckerberg explained that separation was about usability. News feed and messaging are two different experiences that are tough to combine. To be fair, I bought the story and it seems that the rest of us have shed our indignant stance, happily switching between apps as we seek more ways to avoid actual interaction with other humans.

Last week Facebook announced extensions to the Messenger Platform (it’s a platform now by the way), opening up the send/receive API and allowing bots to interact directly. Facebook have built functions that allow human control over the conversations to make sure we all enjoy a great experience. We all know what happens when some bots forget to take their medication and get over excited.

It seems that bots are the future, Microsoft weighed in recently with the Microsoft Bot Framework allowing developers to build “intelligent bots” that can connect to messaging services. There’s little doubt that when this is correctly implemented our lives will be easier. “Correctly implemented” were the important words here. We flatter ourselves we can differentiate bots from humans but we all know there’ll be some high profile and very messy examples of confusion.

To help us interact with our customers for sales and service, are launching Salesforce for Messenger. This’ll allow Salesforce users to interact with their customers via Facebook Messenger as a separate communication channel. Using specifically tailored messages based on the customer profile, Salesforce believe they can deliver an experience that is fast and engaging.

With the investments from the likes of Salesforce and Microsoft it’s certain this technology will improve dramatically over time and I’m fascinated to see how this plays out. There will certainly be a hype cycle as excitement and froth dies away and we spend some time in the trough of disillusionment. As I’ve written previously, customers increasingly want to use self service as a primary response mechanism. Automated systems can certainly handle large volumes of customers efficiently without annoying call waiting music and irritating messages about how many customers are in the queue before us.  My preference certainly goes to immediate response then maybe a knowledgeable human if I really can’t find the answer. Personal experience tells me that knowledgeable humans are an increasingly rare breed within the call center as salaries aren’t great and staff attrition is high. If the bots take over (not in the Skynet sense) then there will be less humans in our call centers. Therefore the average human in a call center will need to use applied knowledge to beat the bot. The current model of low pay and high turnover will need to change to higher pay and less turnover to deliver the specialized service the bots can’t deliver. That probably means less, more knowledgeable people but at least they’ll be better paid.