This chapter starts with an overview of the Salesforce Lightning Experience and its benefits, which takes the discussion forward to the various business use cases where it can boost the sales representatives' productivity. We will also discuss different Sales Cloud and Service Cloud editions offered by Salesforce. At the end of this chapter, you will learn the different types of objects and fields available in Salesforce.
In the next few chapters, you will be briefed about user and organization administration, territory management, and the key concepts of Sales Cloud and Service Cloud. We will also go through the various ways of streamlining the sales and service processes using Lightning Process Builder and Visual Workflow. In the last few chapters, we will go through data migration concepts, reports and dashboards in Salesforce, Chatter configuration, mobile administration, and various ways of deploying your metadata. The following topics will be covered in this chapter:
Getting started with Lightning Experience
Salesforce Lightning Editions
Types of objects and fields in Salesforce
Types of relationships in Salesforce
Lightning Experience is a new generation productive user interface designed to help your sales team to close more deals and sell quicker and smarter. Whereas support team can close a case faster using various tools and Lightning Components. The upswing in mobile usages is influencing the way people work. Sales representatives are now using mobile to research potential customers, get the details of nearby customer offices, socially connect with their customers, and even more. That's why Salesforce synced the desktop Lightning Experience with mobile Salesforce1.
With its Summer'16 release, Salesforce announced the Lightning Editions of Sales Cloud and Service Cloud. The Lightning Editions are a completely reimagined packaging of Sales Cloud and Service Cloud, which offer additional functionality to their customers and increased productivity with a relatively small increase in cost.
Sales Cloud is a product designed to automate your sales process. By implementing this, an organization can boost its sales process. It includes Campaign, Lead, Account, Contact, Opportunity, Report, Dashboard, and many other features as well, which we will discuss in Chapter 5, Getting More Value from Sales Cloud. Salesforce offers various Sales Cloud editions, and as per business needs, an organization can buy any of these different editions, which are shown in the following image:
Let's take a closer look at the three Sales Cloud Lightning Editions:
Lightning Professional: This edition is for small and medium enterprises (SMEs). It is designed for business needs where a full-featured CRM functionality is required. It provides the CRM functionality for marketing, sales, and service automation. Professional Edition is a perfect fit for small- to mid-sized businesses. After the Summer'16 release, in this edition, you can create a limited number of processes, record types, roles, profiles, and permission sets. For each Lightning Professional Edition license, organizations have to pay USD 75 per month.
Lightning Enterprise: This edition is for businesses with large and complex business requirements. It includes all the features available in the Professional Edition, plus it provides advanced customization capabilities to automate business processes and web service API access for integration with other systems. Enterprise Editions also include processes, workflow, approval process, visual workflow, profile, page layout, and custom app development. In addition, organizations also get the Salesforce Identity feature with this edition. For each Lightning Enterprise Edition license, organizations have to pay USD 150 per month.
Lightning Unlimited: This edition includes all Salesforce.com features for an entire enterprise. It provides all the features of Enterprise Edition and a new level of Platform flexibility for managing and sharing all of their information on demand. The key features of Salesforce.com Unlimited Edition (in addition to Enterprise features) are premier support, full mobile access, and increased storage limits. It also includes Work.com, Service Cloud, knowledge base, live agent chat, multiple sandboxes and unlimited custom app development. For each Lightning Unlimited Edition license, organizations have to pay USD 300 per month.
While purchasing Salesforce.com licenses, organizations have to negotiate with Salesforce to get the maximum number of sandboxes. Salesforce edition prices are subjective to change. Latest information would always available on salesforce official site. To know more about these license types, please visit the Salesforce website at https://www.salesforce.com/sales-cloud/pricing/ .
Service Cloud helps your organization to streamline the customer service process. Users can access it anytime, anywhere, and from any device. It will help your organization to close a case faster. Service agents can connect with customers through the agent console, meaning agents can interact with customers through multiple channels. Customer can also implement Omni-channel to route a customer case to qualified and available support agent. Service Cloud includes case management, computer telephony integration (CTI), Service Cloud console, knowledge base, Salesforce communities, Salesforce Private AppExchange, premier+ success plan, report, and dashboards, with many other analytics features. We will discuss more about Service Cloud in Chapter 6 , Increasing Service Agent Productivity by Using Service Cloud.
The various Service Cloud Lightning Editions are shown in the following image:
Let's take a closer look at the three Service Cloud Lightning Editions:
Lightning Professional: This edition is for SMEs. It provides CRM functionality for customer support through various channels. It is a perfect fit for small- to mid-sized businesses. It includes features, such as case management, CTI integration, mobile access, solution management, content library, reports, and analytics, along with sales features such as opportunity management and forecasting. After the Summer'16 release, in this edition, you can create a limited number of processes, record types, roles, profiles, and permission sets. For each Lightning Professional Edition license, organizations have to pay USD 75 per month.
Lightning Enterprise: This edition is for businesses with large and complex business requirements. It includes all the features available in the Professional edition, plus it provides advanced customization capabilities to automate business processes and web service API access for integration with other systems. It also includes Service console, Service contract and entitlement management, workflow, visual workflow, approval process, web chat, offline access, and knowledge base. Organizations get Salesforce Identity feature with this edition. For each Lightning Enterprise Edition license, organizations have to pay USD 150 per month.
Lightning Unlimited: This edition includes all Salesforce.com features for an entire enterprise. It provides all the features of Enterprise Edition and a new level of platform flexibility for managing and sharing all of their information on demand. The key features of Salesforce.com Unlimited edition (in addition to the Enterprise features) are premier support, full mobile access, unlimited custom apps, and increased storage limits. It also includes Work.com, Service Cloud, knowledge base, live agent chat, multiple sandboxes, and unlimited custom app development. For each Lightning Unlimited Edition license, organizations have to pay USD 300 per month.
While purchasing the licenses, organizations have to negotiate with Salesforce to get the maximum number of sandboxes. Salesforce edition prices are subjective to change. Latest information would always available on Salesforce official site. To know more about these license types, please visit the Salesforce website at https://www.salesforce.com/service-cloud/pricing/ .
To get started with the given topics in this book, it is recommended to use a Salesforce developer account. Using Salesforce production instance is not essential for practicing. You can use the Salesforce sandbox or developer account to practice on the examples covered in this book.
If you currently do not have your developer account, you can create a new Salesforce developer account. The Salesforce developer account is completely free and can be used to practice newly learned concepts, but you cannot use this for commercial purposes. To create a Salesforce developer account follow these steps:
Visit the website http://developer.force.com/ .
Click on the Sign Up button.
It will open a sign up page; fill it out to create one for you. The signup page will look like the following screenshot:
Once you register for the developer account, Salesforce.com will send you login details on the e-mail ID you have provided during the registration.
By following the instructions in the e-mail, you are ready to get started with Salesforce.
Once you are ready to roll out the Lightning Experience for your users, navigate to the Lightning Setup page, which is available in Setup, by clicking Lightning Experience. The slider button at the bottom of the Lightning Setup page, shown in the following screenshot, enables Lightning Experience for your organization:
Flip that switch, and Lightning Experience will be enabled for your Salesforce organization. The Lightning Experience is now enabled for all standard profiles by default.
Depending on the number of users for a rollout, you have to decide how to enable the Lightning Experience for them. If you are planning to do a mass rollout, it is better to update Profiles.
A business scenario: Helina Jolly is working as a system administrator at Universal Containers. She has received a requirement to enable Lightning Experience for a custom profile,
First of all, create a custom profile for the license type, Salesforce, and give it the name,
Training User. To enable the Lightning Experience for a custom profile, follow these instructions:
In the Lightning Experience user interface, click on Gear icon | Setup | ADMINISTRATION | Users | Profiles, and then select the
Training Userprofile, as shown in the following screenshot:
Then, navigate to the System Permission section, and select the Lightning Experience User checkbox.
If you want to enable the Lightning Experience for a small group of users, or if you are not sure whether you will keep the Lightning Experience on for a group of users, consider using permission sets. Permission sets are mainly a collection of settings and permissions that give the users access to numerous tools and functions within Salesforce. By creating a permission set, you can grant the Lightning Experience user permission to the users in your organization.
If you have enabled Lightning Experience for your users, they can use the switcher to switch back and forth between Lightning Experience and Salesforce Classic.
The switcher is very smart. Every time a user switches, it remembers that user experience as their new default preference. So, if a user switches to Lightning Experience, it is now their default user experience until they switch back to Salesforce Classic. If you want to restrict your users to switch back to Salesforce Classic, you have to develop an Apex trigger or process with Flow. When the
UserPreferencesLightningExperiencePreferred field on the user object is true, then it redirects the user to the Lightning Experience interface.
The Lightning Experience is an entirely new user interface to provide users with new experience in order to help them sell more efficiently. The Lightning Experience takes all the things that users love about Salesforce1 app and combines them with an all-new reimagined responsive desktop experience.
In Salesforce Classic, users see their tabs on the top of the screen. In the Lightning Experience, these tabs are also available on top of the screen. Turning the Lightning Experience on will provide users with a set of standard objects predefined by Salesforce. The Lightning Experience screen is represented in the following screenshot:
The names that appear in the navigation menu are associated with the objects or the app's tab. Salesforce also allows us to customize the navigation menu to include both standard and custom objects.
In Salesforce Classic, we can switch between apps in one of the two ways, that is, through App Launcher or through Force.com App Menu. On the other hand, in the Lightning Experience, there is no Force.com App Menu. We can find apps by searching for the app name or by using the App Launcher, which is shown in the following screenshot:
All our custom apps, connected apps, and custom object tabs are available through App Launcher. We can personalize the order of the apps on this page by dragging the tiles as per our needs.
The Home page displays key components for each user's day. From the Home page, your users can manage their day, including viewing their Top deals, quarterly performance summary, and the most relevant tasks. Customize the Home page for your users to display the opportunity details so that they can get the most out of the Home page. It is presented in the next screenshot:
In Salesforce Classic, the Home page has a Chatter feed, whereas the Lightning Experience Home page doesn't have a Chatter feed. To access the Chatter (the Feed) on the Lightning Experience, use navigation menu; it's available under the Feed icon. When you want to access Chatter on a record, go to the Collaborate tab.
Global search proficiently finds what you are looking for by breaking your search terms. You can find the global search box at the top of every page in Lightning Experience. When you click on the global search box, you see a drop-down of all your recent items, as shown in the following screenshot:
If you click on the global search from an object-specific view, such as from a Leads page, the global search looks for Leads based on your search string.
Objects are a crucial element in Salesforce as they provide a structure for storing data and are incorporated into the interface, allowing users to interact with the data. It is similar to a database table. Object fields are similar in concept to a database column while records are similar in concept to a database row.
Standard objects are provided by Salesforce as a basic CRM structure. These include account, contact, opportunity, lead, campaign and so on. These are the tables that contain the records in any standard tabs, such as Accounts, Contacts, Opportunities, Leads, Campaigns, and so on.
In addition to standard objects, Salesforce allows you to create custom objects to store data specific to your organization, which is not doable through standard objects. For example, creating a custom object to store employee checking, saving account details to process biweekly salary, and keeping employee account details private so that only the system administrator and employee (who created the record) can access it. You can create reports and dashboards based on the record data in your custom object. Custom objects are usually identified by a
Let's have a look at the differences between the standard and custom objects in the following table:
Can't change the Grant Access Using Hierarchies sharing access
Can change the Grant Access Using Hierarchies sharing access
We can't Truncate standard objects
It is possible to Truncate custom objects
It is possible to create custom fields on standard objects
Custom objects contain some standard field, for example, Name, Created by, Last modified by and so on
External objects are similar to custom objects. They allow us to map the data that's stored outside your Salesforce organization. The following screenshot represents how you can connect external system with Salesforce using the Salesforce Connect.
Each external object trusts on an external data source definition such as Salesforce Connect or OData to connect with the external system's data. Each external object maps to a data table on the external system. Each of the external object's fields maps to a table column on the external system. External objects are usually identified by a
Standard fields are predefined fields that are included as standard within the Salesforce application. Standard fields cannot be deleted, but non-required standard fields can be removed from page layouts whenever needed. Both standard and custom objects contain a few common standard fields, for example,
Custom fields are unique to your business needs and not only can they be added and amended, but also deleted. Creating custom fields allows you to store the information that is necessary for your organization. Both standard and custom fields can be customized to include custom help text, which helps users understand how to use the fields. Custom fields are usually identified by a
You can establish relationships between objects in Salesforce. You can associate one object with another. For example, you have an object named
Meetup (to store information about a meeting), and you want to associate it with another object,
Participant (to store information about participants for a particular meeting) so that you can associate the
Participant records with the respective
Meetup record. These relationship types also determine how they handle record sharing, data deletion capability, and required fields in page layouts. Salesforce provides the following types of relationships that can be established among objects:
External lookup relationship
Indirect lookup relationship
Many-to-many relationship (junction object)
It is a strongly coupled relationship among Salesforce objects, which means if a master record gets deleted, then the child records associated with it are also deleted. In this type of relationship, the parent record controls the behavior of the child record regarding visibility and sharing. It means the security setting of a parent object applies to the child object.
For example, if we create a master-detail relationship between the
Participant objects, where
Meetup will act as the parent object and
Participant will serve as the child object, then if someone deletes a
Meetup record, all the associated
Participant records will also get deleted. The following image gives a visual representation of the master-detail relationship between
When there is a master-detail relationship between two objects, you can create a unique type of field over the master object, called Roll-up summary. A roll-up summary field allows us to calculate values from child records, such as the number of child records linked to a parent record.
It is a loosely coupled relationship among Salesforce objects, which means even if a parent record gets deleted, the child records remain in the system. Here, both the parent and child have their own sharing settings and security controls. The following image gives a visual representation of the lookup relationship between
Participant objects and what happen when parent (
Meetup) record gets deleted:
For example, if we create a lookup relationship between the
Participant objects, where
Meetup will act as the parent object and
Participant will serve as the child object, then if someone deletes a
Meetup record, all the associated
Participant records will still exist in the system.
Let's have a look at the differences between the lookup and master-detail relationships in the following table:
Roll-up summary field cannot be created.
Roll-up summary field can be created.
Parent record is not required while creating a child record.
Parent record is always required in order to create a child record.
Lookup fields are not required on the page layout of the detail record.
Master-detail field is always required on the page layout of the detail record.
Standard object record can be on the detail side of a custom object in a lookup relationship.
Standard object record cannot be a child.
By default record ownership of child records is not controlled by the parent.
Parent controls the record ownership of child records. The owner field is not available on the detail record in master-detail relationship queues, sharing rules and manual sharing is not possible for detail records as it requires the owner field.
You can have a child record without a parent.
You cannot have a child record without a parent.
You can have a maximum of 40 lookups on an object.
You can have a maximum of two master details on an object.
No cascade delete.
Self-relationship is another example of a lookup relationship. In Salesforce, we can use lookup relationships to create self-relationship among objects; we can have a maximum of 40 self-lookups. For example, a campaign record can have a Parent Campaign record, as shown in the following screenshot:
We can create two special lookups on an external object apart from the standard lookup relationship. They are external lookup relationship and indirect lookup relationship.
External lookup relationship allows us to link an external object to a parent external object whose data is stored in an external data source. In other words, it allows us to link two external objects.
An indirect lookup relationship allows us to link an external object to a standard or custom object. We can only create an indirect lookup to an object with a unique external ID field on the parent object that is used to match the records in this relationship. While creating an indirect lookup relationship field on an external object, we have to specify the child object field and the parent object field to match and associate records in the relationship. For example, we can display a related list of payments from the ERP external record with matching external IDs on the account object.
The many-to-many relationship in Salesforce allows us to link a child record to multiple parents. For example, a campaign is attached to many leads, and one lead may have more than one campaign. A visual representation of the many-to-many relationship is shown in the following image:
If you have two objects, called Case and Article, and you want to relate these two objects in such a manner that one case can have multiple articles and one article is linked to many cases, then we have to use the many-to-many relationship. The many-to-many relationship is made with the help of a junction object. In this case, we can create the third object, let's say, Solution with two master-detail relationships with Solution - Case and Solution - Article.
In Salesforce, only a user object has this type of relationship where we can create a hierarchy of users in the organization. For example, a user can have his manager, and his manager may have senior manager, and so on till the CEO or CIO level. The best example is the manager field on a user object as shown in the following image:
Use permission sets to enable Lightning Experience for a set of users.
After Summer'16 release, we can have 5 active processes on the Lightning Professional edition.
It is not possible to change standard objects' and fields' API name.
We can add custom fields to standard and custom objects in Salesforce.
We can have a maximum of 40 lookup relationships on an object.
We can have a maximum of two master-detail relationships on an object.
Each Salesforce organization can have up to 100 external objects.
When we delete a custom object, it appears in the Deleted Objects list for 15 days, from where the system administrator can restore it.
Salesforce doesn't allow us to delete a custom field that is used in a roll-up summary field on another object or reference in Apex and Visualforce pages.
If a custom object contains more than 100,000 records and you want to delete it, then first delete an appropriate number of records and then delete the object.
By default, Lightning Experience is now enabled for all standard profiles.
Q1. What types of paid Salesforce editions are available?
Lightning Enterprise Edition
Lightning Unlimited Edition
Lightning Trial Edition
Q2. What are the two ways to get the record ID?
Q3. After how many days is a deleted record permanently removed from the recycle bin?
Q4. What is the total number of custom fields we can create in a Lightning Enterprise Edition custom object?
Q5. It is possible for a Salesforce object to exist independently of an application.
Q6. What is the maximum number of master-detail relationships that can be created on a custom object?
Q7. An organization wants to leverage a custom object to track sales orders. The organization wants the ability to relate orders to parent orders in a parent-child relationship. What type of relationship should be used?
In this chapter, we covered the overview of Salesforce Lightning Experience, as well as its comparison with Salesforce Classic. We also covered various Salesforce editions available in the market. We also went through standard, custom and external objects. In the end, we explored the types of relationships in Salesforce, including external lookup relationships and indirect lookup relationships. In the next chapter, we will go through the user management and security setting key concepts. In the meantime, don't forget to enable Lightning Experience in your developer organization.