You are on page 1of 69

Table of Contents

Cloud computing ................................................................................................................................................................... 5


Cloud Computing: ................................................................................................................... 5
Benefits of cloud computing: ................................................................................................... 5
Types or Models of Cloud ................................................................................................................................................. 6
Public Cloud: .......................................................................................................................... 6
Private Cloud: ......................................................................................................................... 6
Hybrid Cloud:.......................................................................................................................... 6
Community Cloud: .................................................................................................................. 6
Layers or Services of Cloud ............................................................................................................................................. 7
Software as a Service(SaaS): ................................................................................................. 7
Platform as a Service(PaaS): ................................................................................................. 7
Infrastructure as a Service(IaaS): ........................................................................................... 7
Enterprise Resource Planning (ERP) ......................................................................................................................... 8
Customer Relationship Management System (CRM) ........................................................................................ 8
Salesforce Introduction ..................................................................................................................................................... 9
Editions: ................................................................................................................................. 9
User Licenses:.......................................................................................................................10
Sandbox: ...............................................................................................................................10
Production: ............................................................................................................................11
Salesforce Releases:.............................................................................................................11
Salesforce Products: .............................................................................................................12
Sales Cloud (Overview): ........................................................................................................13
Key business Goals: ..................................................................................................................................................... 13
Key Features .................................................................................................................................................................. 14
Service Cloud (OverView): ....................................................................................................15
Business Goals ............................................................................................................................................................... 15
Key Features: ................................................................................................................................................................. 16
Salesforce Apps: ...................................................................................................................17
Objects ..................................................................................................................................17
SObjects:...............................................................................................................................19
Big Objects: ...........................................................................................................................20
Schema Builder .....................................................................................................................20

1
Records: ................................................................................................................................21
15- & 18-Digit ID: ...................................................................................................................21
WhoId and WhatId .................................................................................................................22
Fields:....................................................................................................................................22
Field Dependency:.................................................................................................................23
Track Field History:................................................................................................................23
Formula Field: .......................................................................................................................24
Roll-Up-Summary Fields:.......................................................................................................25
Default Indexed Fields: ..........................................................................................................25
Causes of Data Loss .............................................................................................................25
Relationships .........................................................................................................................26
Junction Object:.....................................................................................................................28
Lookup FIlters:.......................................................................................................................28
Tabs ......................................................................................................................................29
Activities ................................................................................................................................30
Page Layout ..........................................................................................................................31
Search Layout .......................................................................................................................32
Record Type ..........................................................................................................................32
List View ................................................................................................................................33
Validation Rule ......................................................................................................................33
Workflow Rule .......................................................................................................................35
Recursive Workflow: ..............................................................................................................36
Visual Workflow: ....................................................................................................................36
Options in Flow:.....................................................................................................................37
Approval Process: .................................................................................................................37
Email Templates: ...................................................................................................................38
Assignment Rule ...................................................................................................................39
Auto-Response Rule .............................................................................................................40
Escalation Rule .....................................................................................................................40
Web-to-Lead..........................................................................................................................41
Web-To-Case ........................................................................................................................41
Email-to-Case:.......................................................................................................................42
Lead Process ........................................................................................................................42

2
Sales Process .......................................................................................................................43
Support Process ....................................................................................................................43
Solution Process ...................................................................................................................44
Lead conversion ....................................................................................................................44
Meta Data..............................................................................................................................45
Skinny Table..........................................................................................................................45
Audit Trail ..............................................................................................................................46
Portals ...................................................................................................................................46
Translation Workbench: .........................................................................................................47
MVC Framework ...................................................................................................................47
Order of execution in Salesforce:...........................................................................................48
Governor Limits: ....................................................................................................................49
Security and Permissions ............................................................................................................................................... 50
Users: ....................................................................................................................................50
Grant Account Login Access: ................................................................................................51
Queues..................................................................................................................................52
Public Group..........................................................................................................................52
Personal Groups ...................................................................................................................53
Profiles ..................................................................................................................................53
Transfer Record in profile: .....................................................................................................54
View All Data & Modify All Data / View All & Modify All: ........................................................55
Permission Sets: ...................................................................................................................55
Organization-Wide Defaults(OWD): .......................................................................................56
Grant Access using Hierarchy: ..............................................................................................56
Sharing Rules: .......................................................................................................................57
Manual Sharing: ....................................................................................................................58
Role: ......................................................................................................................................58
Role Hierarchy:......................................................................................................................58
Record Ownership: ................................................................................................................59
Apex Managed Sharing: ........................................................................................................59
Data Migration...................................................................................................................................................................... 60
6 Ways to Import Data Into Salesforce ..................................................................................60
Import Wizard: .......................................................................................................................60

3
DataLoader: ..........................................................................................................................61
Dataloder.io ...........................................................................................................................62
External ID: ...........................................................................................................................62
Reports and Dashboards ................................................................................................................................................ 63
Reports:.................................................................................................................................63
Dashboards: ..........................................................................................................................64
Dynamic Dashboards: ...........................................................................................................65
Analytic Snapshot: .................................................................................................................66
Key points ............................................................................................................................................................................... 66

4
Cloud computing

Cloud Computing:
-------------------------------------
Process of getting IT services like software, platform, infrastructure as a service through internet
by paying each use of IT services.
It means storing and accessing data and programs over the Internet instead of your computer's
hard drive

Benefits of cloud computing:


------------------------------------------------------
Flexibility
Automatic software updates
Capital-expenditure Free
Increased collaboration
Work from anywhere
Security
Environmentally friendly
It has less operational issues
Saves you money
Requires less capital
Easy to control your documents
Easy to implement
24/7 Support

5
Types or Models of Cloud
-------------------------------------------------

Public Cloud:
Public cloud services are run over the Internet and are potentially accessible to the general
public.
Examples of large public cloud services include Amazon EC2, Gmail, Office 365 and Dropbox.

Private Cloud:
Private clouds deliver IT resources from within the corporate firewall, under the control of the IT
department.
Private clouds limit the number of users who have access to applications or data.

Hybrid Cloud:
The combination of public and private cloud.
A hybrid cloud includes a variety of public and private options with multiple providers.

Community Cloud:
Community clouds are a recent variation on the private cloud model that provide a complete
cloud solution for specific business communities
Community clouds are an attractive option for companies in the health, financial or legal
spheres that are subject to strict regulatory compliance.

6
Layers or Services of Cloud
---------------------------------------------------

Software as a Service (SaaS):


Getting software as a service
They are all online applications.
No need to install anything and you do not have to update anything.
Simply sign up and start using it.
Examples: NETSUITE, Salesforce.com

Platform as a Service (PaaS):


Getting platform as a service.
It is a platform in which you can develop or run a custom software.
Examples: Windows Azure Platform, Force.com

Infrastructure as a Service (IaaS):


It is a virtual data centre; businesses can rent one of these from a provider rather than setting
one up for themselves.
It allows the IaaS customers to create and discard virtual machines and networks as per their
business requirements.
They pay for the services they consumed.
Examples: Amazon Web Services.

7
Enterprise Resource Planning (ERP)
---------------------------------------------------------------
ERP is used to manage the business.
ERP is a system for improving the efficiency of business processes.
Example: SAP

Modules:
Human Resource
Inventory
Sales & Marketing
Purchase
Finance & Accounting
Customer Relationship Management(CRM)
Engineering/ Production
Supply Chain Management (SCM)

Customer Relationship Management System


(CRM)
------------------------------------------------------------------------------------------
CRM manages the customers.
CRM software is used to organise, automate and synchronise sales, marketing and customer
service.
CRM has developed to include all areas of the customer experience, keeping the customer
happy and in turn keeping them loyal and more valuable to your business.
It is the process of identifying potential leads/prospects, nurturing them and guiding them
through the sales process to close the business.
CRM is a part of ERP.
Examples: Salesforce, Oracle, NETSUITE, Sage CRM

8
Salesforce Introduction
-----------------------------------------------
Salesforce is a cloud computing company which offers a variety of services (SaaS) and products
(PaaS).
Salesforce started as Software as a Service (SAAS) CRM company
Salesforce was founded in 1999 and was one of the world’s first cloud computing company.

Editions:
----------------------
A set of Salesforce features wrapped together is what we call Editions.
A Salesforce edition is the "type" (for want of a better work) of your Salesforce instance.
So, the salesforce edition decides the various components and features that will be available to
you on purchase.
The edition determines:
What functionality is available - e.g., contact manager edition does not have opportunities
The limits - of which there are many - the maximum number of custom objects, the maximum
number of tabs, the maximum number of custom fields.
Types of Editions:
Personal Edition
Contact Manager
Group Edition
Professional Edition
Enterprise Edition
Unlimited Edition
Developer Edition

9
User Licenses:
----------------------------
Licenses are associated with individual users and make functionality available.
-For example, a Salesforce license has access to the sales cloud functionality (Leads,
Opportunities) that a platform license does not.
A user license entitles a user to different functionality within Salesforce and determines which
profiles and permission sets are available to the user.
License’s cost will depends on the edition.
-For example, a unlimited edition salesforce Licence might be costly than the salesforce
License of the Group edition.

Types of User Licenses:


Salesforce: Full access to salesforce CRM and AppExchange
Salesforce Platform: Access only to Custom apps but not standard CRM
Force.com One App: Designed to access only one custom app with unlimited number of tabs
Force.com Knowledge Subscription: Grant user access to Force.com Light app or Force.com
enterprise app but no CRM functionality
Knowledge Only User: Designed for users who only need access to the Salesforce Knowledge
app
Chatter Free: User has access to chatter which includes feeds, profiles, files and groups
Chatter External: Designed to allow customers in Chatter groups. Customers are users outside
of a company’s email domain.
Chatter Only: User has access to Groups, feeds, people, profiles and files along with access to
view accounts and contacts, modify custom objects and use CRM contents, Ideas.

Sandbox:
-------------------------
A sandbox is a copy of your production organization.
Sandboxes contain the same metadata as production organization.
Sandbox is your testing environment and does not contain the real time data.
Depending on the type of sandbox you spin up, you have different features, capabilities, and
pricing.

10
A sandbox lets you develop and test your processes in the safety of a controlled environment
that is not going to impact your actual day to day operations.
To make any changes for the exiting application we should copy all contents of the production
into sandbox and make all changes after that test thoroughly and move those changes into
production.
To create the sandbox, in production we can find one link called sandboxes. by clicking on that
link we can create the sandbox by choosing type of the sandbox.
once you refresh your sandbox all the installed apps and customizations are lost if they are not
in production.
We can access a Sandbox from '' test.salesforce.com" URL

Types of Sandbox:
Developer
Developer Pro
Partial copy
Full copy

Production:
------------------------------
Production environments store the live data that is actively used to run your business.
We should not make coding changes in production.
We can access a Production from '' test.salesforce.com" URL

Salesforce Releases:
-----------------------------------------
There are 3 Salesforce releases per year
The new release will immediately impact your SF organization as the entire instance is upgraded.
Some features are turned on by default while others require an administrator to activate (and
sometimes a new license add-on).
The release notes give full detail of all new features and how they are activated.

11
Types of Releases:
Spring (March - May)
Summer (June - November)
Winter (December - February)

Salesforce Products:
--------------------------------------------
We have different types of cloud products

Sales Cloud:
Sales cloud includes SFA, PRM, marketing, Chatter, Jigsaw, content library and mobile.

Service Cloud:
Comprehensive call centre case management solution with suite of online tools.

Force.com:
Platform-as-a-Service (PaaS) application development framework to develop or customize.

Site.com:
Community Builder is a Web content management system (CMS) that makes it easy to build
dynamic, data-driven Web pages quickly, edit content in real time, and manage your websites.

Database.com:
Purpose-built cloud database to support online apps, social apps and mobility.

Heroku:
Heroku (pronounced her-OH-koo) is a platform as a service (PaaS) application development
platform based on Rack—a modular and flexible interface for developing web applications in
Ruby.

Chatter:
Chatter provides collaboration features and capabilities to applications built on the Force.com
platform.

12
This article provides an overview of Chatter, best practice strategies for simulating multiple
Chatter participants within a Developer Edition (DE) environment, and a discussion of the
underlying data model.
It will help you understand how to leverage the Chatter platform for both custom applications
built on Force.com, as well as with the salesforce.com applications such as Sales and Marketing.

AppExchange:
Salesforce AppExchange is a cloud computing marketplace, developed and hosted by
salesforce.com and it is launched in 2005 by salesforce.com.
Salesforce AppExchange is world’s largest, topmost and first cloud computing application.
Salesforce AppExchange is custom developed applications where u can build, customize and
develop salesforce applications.
Using salesforce AppExchange, you can share applications to millions of other users all over the
world.

Etc…

Sales Cloud (Overview):


-------------------------------------------
Sales Cloud part of the Salesforce.com platform which is focused on enhancing the effectiveness
of the sales team of an organization and hence increases the amount of sales. It stands unique
when compared to other sales methods as it provides both the account information of the
customer as well as the information gathered from the social platforms about the product and
customer.
This helps in judging the potential of a sales lead and closing the sales faster.

Key business Goals:


Close more deals
The availability of all the account information as well as product information for customer’s
needs makes it easier to drive more number of leads to closure.

13
Close deals faster
Mobile apps and visual design of the workflows for business process approvals makes it faster to
close the deals.

Get more deals


Continuous optimization of campaigns depending on the market response and closure
interaction with channel partners gets more deals.

Quicker decisions
The availability of reports and dashboards gives a very detailed picture of the business scenario
and increases accuracy of sales forecasting. So the business decisions are taken quickly.

Key Features
Contact Management
Gives complete information on customers including previous communications, discussions, key
contact numbers and emails.

Opportunity Management
It helps create and change quotes in response to sales interaction and deal scenario.

Salesforce Engage
Gives alerts on active leads and create personalized campaigns.

Lead Management
Helps assign leads to right people and track the campaigns.

Reports and Dashboards


Helps create dashboards which can be drilled down for further information. This leads to faster
decisions.

Sales Forecasting
Gives accurate view of sales forecasting which can be adjusted based on real-time data.

Workflow and Approvals


Helps simplify the approval process and automate any business process using visual drag and
drop interface.

14
Territory Management
Helps create different territory models and apply rules to them.

Files Sync and Share


Search, share and find files faster. This leads to a greater collaboration.

Sales Performance Management


Helps create a link between sales data and sales goals. It also helps in creating performance
summaries.

Partner Management
Easily connect with partners and give them a view of sales performance. It also helps in easy
onboarding, training and supporting sales partners.

Service Cloud (Overview):


-----------------------------------------------------
This part of Salesforce platform is focused on providing support and help to the customers. This
helps in retaining the customers, increasing their satisfaction and loyalty. Its uniqueness lies in
providing faster service compared to traditional methods, giving individual attention to each
customer needs and taking a proactive approach to customer issues.
That ultimately enhances the customer’s experience hence loyalty which in turn creates a good
impact on sales.

Business Goals
Personalized Service − Give each customer a good service experience based on their unique
problems and history of purchases and complaints.

Always-on Service − Make the service available 24/7

15
Multi-channel support − Meet the customers on their preferred channels like mobile, phone,
chat etc.

Faster support − Managing various service needs from a single console helps in delivering
support services faster.

Key Features:
Console for Service
It is a unified platform for managing all cases assigned to an agent so that it can help in
prioritizing the tasks at hand. This also helps give personalized experience to the customer of
each case.

Knowledge base
Customer interactions and resolutions are captured and organized into a knowledge base. This
helps in faster issue resolution.

Social Customer Service


As more and more customers connect with the organization through social media, this feature
helps deliver service on the social media platform itself without asking the customer to visit
separate web pages for interaction.

Live Agent
This feature provides real-time online help with its unique chat service.

Mobile Platform
Salesforce1 platform is the mobile platform to manage customer service from any device and
any place.

Service Cloud Communities


It allows customers to help themselves by helping each other. Many tools are available for self-
service on various troubleshooting requirements.

16
Salesforce Apps:
------------------------------------
An application is a logical container for all the object, tabs, processes and services associated
with a given business function.
An application is a group of tabs that work as a unit to provide functionality.
Users can switch b/w the apps using the force.com app drop-down menu at the top-right corner
of every page.

Types of Apps:
Standard Apps: - (Provided by Salesforce)
Examples:
Sales
Call Centre
Marketing
Community etc...
Custom Apps: - (User creates custom apps)
Custom App
Console App

Navigation:
Setup > Apps > new > Custom App / Console App

Objects
----------------------
Objects are database tables that allow users to store data specific to organization in salesforce.
A collection of fields is called an object (Table in database term).
Types of Objects:

17
Standard Objects:
The objects already created for you by the Salesforce platform.
Examples:
Accounts
Contacts,
Opportunities
Leads
Products
Campaigns
Cases
Users
Contracts
Reports
Dashboards etc…

Custom Object:
These are the objects created by you based on your business processes.
Custom objects store information that is unique and important to your organization.
Custom objects are the heart of any application.
Custom objects have properties such as
– Custom fields
– Relationship to other object
– Page Layouts
– A custom user interface tab

External Objects:
The objects which you create map to the data stored outside your organization.

Important Points:
optional feature while creating objects:
Allow reports: If we verify this check box then only these objects are available to make
reports.
Allow Activities: If we verify this check box then we can make activities on this object.
Track Field History: When we verify this check box then merely, we are to track fields. We
can track up to 20 fields for single object.

Now we have following deployment Status:

18
In development: If we verify this check box, then this object is still in development mode.
This is not present for deployments.
Deployed: After selecting this check box then only it will be available for deployment.

The following options are available only when creating custom object first time.
Add notes and attachments related list.
Launch new custom tab wizard after saving this custom object.

If we does not select “Launch new custom tab wizard” from object creation page, then the
object would save without tab appearance.
According to this case firstly we have to make tab for this object. If we select this check box the
object would save and tab would be created and appeared.

Navigation:-
Setup > Build > Create > Objects > New custom object

Important Points:
If the Account is deleted then Contact, Opportunity will also be deleted from Salesforce
which are related to that Account.

SObjects:
---------------------
An sObject is any object that can be stored in the Force.com platform database.
Apex allows the use of generic sObject abstract type to represent any object.
For example, Vehicle is a generic type and Car, Motor Bike all are concrete types of Vehicle.
In SFDC, sObject is generic and Account, Opportunity, CustomObject__c is its concrete type.

19
Big Objects:
------------------------------
Big Objects are custom objects for storing very large customer data.
Big objects let you store and manage massive amounts of data on the Salesforce platform.
Big objects capture data for use within Force.com and are accessible via a standard set of APIs to
clients and external systems.
Big objects is that they have been built to provide consistent performance whether there is 1
million records, 100 million, or even 1 billion records.
This includes data such as historical event data, web log files, and archival data.
Once you create a Big Object, you can correlate it with your core customer data using tools such
as SOQL and Async SOQL.
With Big Object we can store complete customer interaction.
Available in Enterprise, Performance, Unlimited, and Developer Editions.

Types of Big Objects:


Standard (Field History Archive)
Custom

Custom Big Object Use Cases:


360° view of the customer
Auditing and tracking
Historical archive

Schema Builder
----------------------------------
Schema Builder is a tool within Salesforce.com that is used to view and manage objects, fields,
and relations between objects in a graphical interface.
We can also design, modify and implement new data models using schema builder.
Schema builder has a drag and drop interface which is used to perform all the activities.
It shows all the relevant details like - field values, data types, relationship with directions etc.
It is available in all Salesforce.com editions.

Options(Tabs) in Schema Builder:

20
Elements:
It displays all objects, fields, relationships on sidebar as a dropdown.
Auto-Layout:
It's used to sort the layout of the objects.
View Option:
In view option we have three filters like Display Element Names, Hide Relationships, Hide
Legend.

Records:
-----------------------
Record is nothing but collection of fields.
Records are the rows(entries) in object which are uniquely identified by there ids.

15- & 18-Digit ID:


------------------------------------
15 Digit Id:
After creating the record, in the URL user can see the id of the record which is of 15 digits
length.
Through user interface user always see 15-digit id which is Cases-Sensitive
Based on the first 3 digits user can identify the object of the record.
Example: a0F7F000004Ebj6

18 Digit Id:
If the user queries the existing records from the database through API (Either from Query Tool
or from a program), it will always return 18 digit id which is Case-Insensitive.
Last 3 digits of the 18 digit represents checksum of the capitalization of 15-digit id.

21
Example: a0F7F000004Ebj6USC

WhoId and WhatId


------------------------------------------
WhoID:
WhoID refers to people things.
So that would be typically a Lead ID or a Contact ID
WhatID:
WhatID refers to object type things.
That would typically be an Account ID or an Opportunity ID

Fields:
--------------------
Actually, in Salesforce, object's Field is same as Column in SQL Table.
A field is placeholder for storing some business-related information.
Deleted Fields will be stored in recycle bin for 15 days.
when you undelete a field, some properties on the field will be lost or changed.
Types of Fields:
Standard Fields: (Provided by Salesforce)
Account Name
Billing Address
Created By
Last Modified By etc...
Custom Fields: (Provided by User)

Data Types:
Text
Number

22
Phone
email
Currency
Pick list
Relationship Fields
Formula Fields
Rollup Summary Fields etc...

Navigation:-
Option1: Setup > Fields > Custom Fields and Relationship > new
Option2: Object details or record detail page > Quick Access Menu > New Field > Custom
Fields and Relationship > new

Field Dependency:
-----------------------------------------
In some scenarios, we should be able to control one of the field(Dependent field) from another
field(Controlling field).
For example If we select Country(Controlling field) as US then City(Dependent Field) should
display only US cities.
We can use checkbox data type fields also while creating dependent picklist (Note: Checkbox
should be always controlling field)
We can use multi-select data type fields also while creating dependent picklist (Note: multi-
select data type field should be always dependent field)

Track Field History:


------------------------------------------
While creating the object, we can enable 'Track Field History'.

23
If, we enable 'Track Field History' user can see 'Set History Tracking' button under 'Custom Fields
& Relationships' section which is available on the object detail page.
By clicking on 'Set History Tracking' button, we can enable tracking for the fields which ever we
want.
To see the object history, go to object's record layout and add Object Name History related list
to the layout.
Whenever, user changes field value from one value to another value, it will show the history of
the field in 'Object History' related list.

Formula Field:
-----------------------------------
It is a read only field, the value of formula field evaluate from expression defined by us.
If we update any value in the expression, it automatically updates formula field value.
We can create formula fields in both standard and custom object.
Supported Data Types:
Checkbox: Calculate a boolean value
Currency: Calculate a dollar or other currency amount and automatically format the field
as a currency amount.
Date: Calculate a date, for example, by adding or subtracting days to other dates.
Date/Time: Calculate a date/time, for example, by adding a number of hours or days to
another date/time.
Number: Calculate a numeric value.
Percent: Calculate a percent and automatically add the percent sign to the number.
Text: Create a text string, for example, by concatenating other text fields.

24
Roll-Up-Summary Fields:
-----------------------------------------------
A Rollup Summary field is used to calculate the sum/Min/Max/Count of a fields in the child
object record.
It is compulsory to be in a Master-Detail relationship to use the rollup summary.
A rollup summary field is always created on Master record.(Parent to Child).
Only 10 roll-up summary fields are allowed per object on Master-Detail relationship.
Native roll-up summary fields are not available on a LOOKUP relationship.

Default Indexed Fields:


-----------------------------------------------
primary keys (Id, Name and Owner fields),
foreign keys (lookup or master-detail relationship fields),
audit dates (such as LastModifiedDate),
Custom fields marked as External ID or Unique.

Causes of Data Loss


-------------------------------------------
Changing the data type of an existing custom field can cause data loss in the following
situations:
Changing to or from type Date or Date/Time
Changing to Number from any other type
Changing to Percent from any other type
Changing to Currency from any other type
Changing from Checkbox to any other type
Changing from Picklist (Multi-Select) to any other type

25
Changing to Picklist (Multi-Select) from any other type. Currently defined picklist values are
retained when you change a picklist to a multi-select picklist.
-If records contain values that are not in the picklist definition, those values are deleted from
those records when the data type changes.
Changing from Auto Number to any other type
Changing to Auto Number from any type except Text
Changing from Text to Picklist
Changing from Text Area (Long) to any type except Email, Phone, Text, Text Area, or URL.

Relationships
------------------------------
A relationship is a bidirectional association between two objects.
Relationships allows us to create links between one object and another.
To avoid Data Redundancy and To achieve Integrity we should go for Relationships.

Types:
Master-Detail Relationship
LookUp Relationship
Self-Relationship
Hierarchical Relationship
Many-to-Many ( By using junction object we can create )

Hierarchical Relationship:
Hierarchical relationship is only available for User object, to represent Employee-
Manager association.
It lets you use a lookup field to associate one user with another who’s not automatically
linked to the first user.
For example, create a custom hierarchical relationship field to store each user’s direct
manager.
In hierarchical a record should not reference itself directly or indirectly.

Self-Relationship:
When an object has a lookup with itself, it is a self-relationship.
A self relationship creates a tree diagram of the objects.

26
For example, the account has a lookup on himself, called Parent Account.
On the user object a special self-relationship called the hierarchical relationship helps
create superior roles such as supervisor, manager on user object.
The hierarchical relationship is a self-relationship of the user object.
A record in an object is linked to another record in the same object.
In Self relationship, a record may reference itself indirectly.

Master-Detail Relationship:
A parent-child relationship in which the master object controls certain behaviors of the
detail object.
When a record of the master object is deleted, its related detail records are also deleted.
Custom objects on the detail side of a master-detail relationship cannot have sharing
rules, manual sharing, or queues
The detail record inherits the sharing and security settings of its master record.
The master-detail relationship field is required on the page layout of the detail record.
You can define master-detail relationships between custom objects or between a custom
object and a standard object
We cannot create a master-detail relationship in which the User or Lead objects are the
master.
We can have maximum 2 master details on an object.
Master is required field on the child object.

LookUp Relationship:
It's used to link two objects together, but has no effect on deletion or security.
Child row not automatically deleted when a parent row is deleted
No inherited sharing.
25 lookup relation relationships allowed per object.
Parent is not required in the child record.

Many-to-Many Relationship:
n salesforce Junction Object are the part of the objects which joins one object to another.
You can use master-detail relationships to model many-to-many relationships between any two
objects.
We can achieve this using two One-to-Many relationships.
A many-to-many relationship allows each record of one object to be linked to multiple records
from another object.
To create a many-to-many relationship, simply create a custom junction object with two master-
detail relationship fields, each linking to the objects you want to relate.

27
Navigation (For custom fields):
In Record Detail page > Select Quick Access Menu > View Fields > Custom Fields > New

Important Points:
Parent Object we cannot delete because it will be referred in the child object.
If the parent objects don’t have Roll up Summary fields for the child object then we can delete
child object.
If the parent object doesn’t have Roll up Summary fields for the child object then we can convert
Master – Detail Relationship to Look Up Relationship
To delete a child object it should not be referred in Apex Classes and Apex Triggers.
If we delete only Master – Detail Relationship field from the child object and undelete it from
the Recycle Bin then it will be converted to look up relationship.
If we undelete the deleted Junction Object then the Master – Detail Relationship data types will
be converted to look up relationship data types.
We cannot see the child object records in the Recycle bin.
However, the standard object cannot be on the detail side of a relationship with a custom
object.

Junction Object:
---------------------------------
A child object which is having master detail relationships with two different parent object is
called junction object.

Lookup FIlters:
-----------------------------------
Salesforce lookup filters provide for filtered data, relationship fields define object to object
relationships in Salesforce.
Types:-
Required:
For fields with required lookup filters, only values that match the lookup filter criteria
appear in the lookup dialog.

28
Also, users can't save invalid values manually typed in the field when editing the record.
Optional:
For fields with optional lookup filters, only values that match the lookup filter criteria
appear in the lookup dialog initially.
However, users can click the Show all results link in the lookup dialog to remove the filter
and view all search result values for the lookup field

Tabs
-------------------
Tab is like a User interface to build records for object and to view the records in objects.
Tabs can help you in making the views which help user to see the information at a glance.

Types of Tabs:
Custom Object Tab:
For your custom object data. Custom Object Tabs display the data of your custom object
in a user interface tab.
Custom object tabs look and function just like standard tabs.
Web Tabs:
For other web content Custom Web Tabs display any external Web-based application or
Web page in a Salesforce tab.
We can design Web tabs to include the sidebar or span across the entire page without
the sidebar.
Visualforce Tabs:
For Visualforce pages Visualforce Tabs display data from a Visualforce page.
Visualforce tabs look and function just like standard tabs.
Flexible Page Tabs:
For Flexible Pages, to include them in the Salesforce1 navigation menu.
Flexible Page Tabs let you add Flexible Pages to the Salesforce1 navigation menu.
Lightning Page tabs:
Let you add Lightning Pages to the Salesforce1 navigation menu.
Lightning Component tabs:
Create Tabs for lightning components.

29
Navigation:
Go to Setup – Build – Create – Tab – then

Activities
-------------------------
To create the Activities, while creating the object, we should check for 'Allow Activities' checkbox
then user can add open Activities and Activity History related lists on the Object layout.
Types of Activities:
Task: [Something you need to do]
Task is nothing but work assigned to a particular person, it doesn't have certain time limit.
A task is an activity not scheduled for an exact day and time.
You can specify a due date for a task or there may not be a particular time or date that the tasks
or activities need to be completed by.
Tasks are items TO-DO that have a target end date.
Tasks do not have a start date / time.
Examples of tasks are:
A list of phone calls you need to make.
An email that needs to be sent.
Send Proposal.
Payment Follow up with Contact.

Event: [Someone somewhere i need to go and meet)]


It has certain time limit in that time only all persons should assemble after the time limit over,
event will get complete.
Events are calendar items that have a Start Date / Time and End Date / Time and usually involve
other persons.
Examples of events are:
Meetings
Scheduled Conference Calls.
Meeting with XYZ Client at their Office between 3-4 PM
Telecom between 10-11 am with John
- Once event or task status changed to 'Completed' then we can see those records under
Activity History Related List.
Events and tasks are both activities in salesforce.com, but they provide different functionality.

30
Page Layout
------------------------------
Page layouts control the layout and organization of buttons, fields, s-controls, Visualforce,
custom links, and related lists on object record pages.
They also help determine which fields are visible, read only, and required.
Use page layouts to customize the content of record pages for your users
The organization of fields, custom links, and related lists on an object detail or edit page.
Used to organize UI pages for your users:
-Which fields, related lists, and Custom links a user’s sees.
-Field properties – visible, read-only and required.
-Page section customizations.

Navigation:
Set Up > Customize > Case > Page Layout > New

MiniPage Layout:
Mini Page Layout is a nice feature of Salesforce,it can be maintained for every parent object in
master-detail or lookup relationship in order to display additional record information without
jumping to its detail page.
Navigate to Customize > User Interface and check “Enable Hover Details” which can enable Mini
Page Layout mode in your Salesforce.
Mini Page Layout also can be used in Visualforce Pages.
If you want to customize them,just navigate to “Page Layouts” and find the Mini Page Layout
link.
Sections:
Visible fields:
Select the most important fields to display in the mini-page layout.
Related lists:
Choose the related lists and some of their associated fields that agents and other need
to see at a glance.

31
Search Layout
-----------------------------------------
Whenever we click on a tab or we click on a lookup icon or search for a record we see only one
standard field by default.
So, To enable remaining fields we use search layout
To show multiple fields for the records which display under a tab, on object detail page > under
Search layouts edit tab and add required fields.
To show multiple fields for the records which display when we click on lookup of a field, on
object detail page > under Search layouts edit Lookup Dialogs and add required fields.
To show multiple fields for the records which display when we search for the records, on object
detail page > under Search layouts edit Search Results and add required fields.

Record Type
--------------------------------
For an object based on the Record Type, we can show different fields and different picklist
values by assigning different page layouts for the record types and profiles.
After creating the record type, on the record type detail page user can see all the picklist data
type fields, user can edit the picklist and decide which values should display for this particular
record type.
Record types let you offer different business processes, picklist values, and page layouts to
different users.
You might create record types to differentiate your regular sales deals from your professional
services engagements, offering different picklist values for each

Navigation:
Setup > Customize > Object ( Case ) > Record Type

32
List View
---------------------------
After clicking on the tab on the top of the page we can see views, by default we can see the
value called ‘all’.
If we click on ‘Go’ beside that all we can see all the records of that object.
If we want we can create new views.
While creating the view we can give the filter conditions so that based on the filter condition
only we can see the records.

Enhanced List View:


-------------------------------------------
Enhanced lists give you the ability to quickly view, customize, and edit list data to speed up your
daily productivity.
For lookup fields on record detail page we see a link, whenever we put cursor on that link we
see a popup window which displays few fields.
To control the fields visibility, on that look up field parent object page layout we see a mini page
layout in that we can control.

Validation Rule
---------------------------------
It helps you to improve data quality by preventing users from entering incorrect data.
We can write one or more validation rules that consists of an error and corresponding error
message.
While creating or modifying the record based on the certain conditions we can display error
messages on top of the page or below to the field.

33
Salesforce executes validationrules you defined and if data is valid then record will save.
If entered invalid data, it will display the associated error message without saving the record.
Regex function:
By using this function we can build validation rule to enforces proper data format.

Navigation:-
Goto SetUp > Customize > Any Object (Like Account, Contact etc).
From left sidebar click validation rule.
Click New.

Methods:-
ISBLANK
ISNULL
ISNEW
ISCHANGED
VLOOKUP
REGEX

Vlookup:-
It searches an object for a record where specified field matches the specified lookup value.
If a match is found, returns another specified value.
VLOOKUP only available on Custom Objects.
VLOOKUP can only be done on the Name fields.
Syntax:
" VLOOKUP(field_to_return, field_on_lookup_object, lookup_value) "
The field_to_return must be an auto number, roll-up summary, lookup relationship, master-
detail relationship, checkbox, date, date/time, email, number, percent, phone, picklist, text, text
area, or URL field type.
The field_on_lookup_object must be the Record Name field on a custom object.
The field_on_lookup_object and lookup_value must be the same data type.

ISBLANK and ISNULL:-


ISNULL() works only for number data type fields, if we don't populate with value for number
fields it will return true.
ISNULL() won't support TEXT data type fields because text fields never become null.

34
ISBLANK() supports both number as well as text data types.

Workflow Rule
--------------------------------
Workflow Rules are automated process to send emails alerts, assign tasks, update fields on
trigger criteria based requirements.
Workflow is business logic that evaluates records as they are created and updated and
determines if an automated action needs to occur.

Evaluation Criterias (Events):


Created
Created and every time edited to meet the criteria
Created and edited to subsequently meet the criteria

Rule Criteria:
Criteria meet
Formula evaluated

Types of Workflow Actions:


Immediate workflow action :
The action which will be performed immediately after the record criteria meets.
Dependent workflow action:
The action which will be performed in future based on the any of the date field.
To create time dependent workflow action we should create one time trigger.
In time trigger we can give either days or hours with the maximum of 999 value and we can
select either before or after.

Actions:
Tasks – Assign a new task to a user, role, or record owner.
Email Alerts – Send an email to one or more recipients you specify.
Field Updates – Update the value of a field on a record.
Outbound Messages – Send a secure configurable API message (in XML format) to a designated
listener.

Navigation:

35
Setup > Create > Workflow & Approvals > Workflow Rules > Click on New Rule

Step 1: Select the object to which the workflow rule applies.


Step 2: Enter a rule name.
Set the evaluation criteria
Set the rule criteria
Step 3: Add Actions

Recursive Workflow:
----------------------------------------------
Recursive Workflow Rule is re-evaluating all workflow rules on the object if the field update
results in a change to the value of the field,If Re-evaluate Workflow Rules After Field Change is
enabled for a field update action
If the field update changes the field’s value, all workflow rules on the associated object are re-
evaluated.
Any workflow rules whose criteria are met as a result of the field update will be triggered.
Only workflow rules that didn’t fire before will be Retriggered.

Visual Workflow:
-------------------------------------
Visual Workflow enables you to create flows, which are triggered by users rather than events.
Unlike Workflow, which always executes rules and actions behind the scenes, Visual Workflow
offers screens for displaying and collecting information from the user running the flow.
Visual Workflow lets you easily build and manage flows, which guide users through screens that
collect and display information, create and update Salesforce records, and execute logic based
on user input.

36
Options in Flow:
Palette :
Draft Tools, User Interface, Logic, Data, Flows, Quick Actions, Email Alerts, Static Actions,
Resources :
Variable, Collection Variable etc...
New Resources appear in the explorer
Explorer:
It has Assets

Navigation:
Setup > Flows > Click on New

Approval Process:
------------------------------------------
Salesforce approval process is an automated process and your organization can use to approve
records in Salesforce.
An approval process is combination of steps for a record to be approved and person has to
approve it each step.A step can apply to all the records to that object or just record that meets
the certain criteria.
An approval process also specifies the actions to take when a record is approved, rejected,
recalled, or first submitted for approval.

Types of Wizards:
Jump Start wizard :
Jump start will have automatic default settings and it is quick way to create simple approval
processes.
Standard Setup Wizard :
By using standard setup Wizard we can create complex approval processes which have multiple
steps.

Steps to Create Approval Processes:


Selecting Approval wizard
Enter name, Unique name and description.
Select Criteria for Entering Process.

37
Specify Approver Field and Record Editability.
Select Email Notification Template.
Configure Approval Request Page Selecting Approval wizard.layout.
Specify Initial submitters.
Activate the approval process.

Stages:
Initial Submission Actions
Final Approval Actions
Final Rejection Actions
Recall Actions

Actions:
Task
Field Update
Email Alert
Outbound Message

Navigation:
Setup > Approval Process > Click on New

Email Templates:
--------------------------------------
Email templates allow you to send email to contacts, leads, and others using predefined
templates.
In Salesforce Classic, you can create four different types of email templates: text, HTML with
letterhead, custom, and Visualforce.
You can use email templates when you send an email from the Activity History or HTML Email
Status related list of a record.
Text and HTML templates can also be used when you send mass email.
We can use Email Templates in Workflows, Process Builder, Assignment Rules, Auto-Response
Rules etc...

38
Types of Email Templates:
Text :
All users can create or change text email templates.
HTML with letterhead:
Administrators and users with the “Edit HTML Templates”• permission can create HTML email
templates based on a letterhead.
HTML without letterhead:
Administrators and users with the “Edit HTML Templates”• permission can create custom HTML
email templates without using a letterhead.
Visualforce:
Administrators and developers can create templates using Visualforce.
Visualforce email templates allow for advanced merging with a recipient’s data, where the
content of a template can contain information from multiple records, see Creating Visualforce
Email Templates.

Navigation:
Setup > Email Templates > Click on New

Assignment Rule
------------------------------------------
An assignment rule dictates to whom a lead or case is assigned based on criteria that is
specified within Salesforce.
On lead and case objects we can create the Assignment rules.
Whenever any record is submitted for lead/case if specified condition in the Assignment rule
satisfied based on that we can decide the owner of the case/lead.
You can create multiple rules with different conditions, but only one rule can be active at a time.
Note:
While submitting case/lead we should check for 'Assign using active assignment rule' checkbox
which will display under Optional section.

39
Auto-Response Rule
----------------------------------------------
An auto-response rule is a set of conditions for sending automatic email responses to lead or
case submissions based on the attributes of the submitted record.
Applicable leads include those captured through a Web-to-Lead form.
On lead and case objects we can create the Auto-Response Rules.
Whenever any record is submitted for lead/case if specified condition in the Auto-Response
Rules satisfied based on that we can decide the email format which should send as auto
response.
Applicable cases:
Self-Service portal
Customer Portal
Web-to-Case form
Email-to-Case message
On-Demand Email-to-Case message

Escalation Rule
----------------------------------
On case object we can create Escalation rule.
Based on the priority we can send escalation mails.
It's used to escalate cases to another user or queue when a set period of time has passed
without defined actions occurring.

40
Web-to-Lead
-------------------------------
Salesforce web to lead is to directly collect capture the leads form your website and loaded into
Salesforce.
This is built in functionality in Salesforce.
On lead object we can generate the HTML code by selecting lead fields and by mentioning
return URL from web-to-lead option.
The generated HTML code can be hosted in any of the website.
Upon entering the information in those fields and clicking on submit button that information
will be saved into lead object of the Salesforce.

Navigation:
Setup > Web-to-Lead

Web-To-Case
-----------------------------------
In simple word, Capture Cases from your Website in service cloud.
Gather customer support requests directly from your company’s website and automatically
generate up to 5,000 new cases a day with Web-to-Case.
This can help your organisation respond to customers faster, improving your support team’s
productivity.
Use a simple web form or a self-service customer community to make it easy for customers to
submit cases directly to your customer support group.

Considerations:-
Whenever possible, Web-generated cases are automatically linked to the relevant contact and
account based on the customer’s email address.
Salesforce runs field validation rules before creating records submitted via Web-to-Case and
only creates records that have valid values.
All universally required fields must have a value before a record can be created via Web-to-Case.
Salesforce doesn’t support rich text area (RTA) fields on Web-to-Case forms.

41
If you exceeded the daily limit and you want to increase that limit then go to Help & Training
and raise a case with salesforce.

Navigation:-
Setup > Web-to-Case

Email-to-Case:
--------------------------------
The process of converting customer emails into cases automatically in service cloud.
When a constituent sends an email to an address you designate, Email-to-Case creates the case
in Salesforce and auto-populates case fields from the content of the message.
There is a size limit for attachments to cases. The limit is 10MB.

Lead Process
---------------------------------
A ‘Lead Process’ is the process of generating sales leads.
These may come in varying types and are usually generated using advertising, in one form or
another.
To control the picklist values of the status field on the lead object we should create lead process.
Without selecting the lead process we can't create the record type for lead object
Steps:
Visitor to Lead
Lead to Marketing Qualified Lead (MQL)
Marketing Qualified Lead (MQL) to Sales Qualified Lead (SQL)
Sales Qualified Lead (SQL) to Sales Accepted Lead (SAL)
Sales Accepted Lead (SAL) to Opportunity
Opportunity to Client

42
Sales Process
-------------------------------------
A ‘Sales process’ is the process of selling the leads that have been generated by the ‘leads
‘process.
Sales Process is a systematic, repeatable series of steps that map out and track interaction with
prospects from their first point of engagement with your business through to a close.
Create different sales processes that include some or all of the picklist values available for the
opportunity Stage field.
To control the picklist values of the stage field on the opportunity object we should create sales
process.
Without selecting the sales process we can't create the record type for opportunity object
Steps:
Lead Generation
Qualify Leads
Demonstrate Value
Guide Prospect Understanding
Deliver and Support

Support Process
------------------------------------
Support Process is only for the “Status” picklist, as you might know.
The picklist values available in the status of a case record type determine a support process.
It is only a business relevant feature as the status field is the most process-specific field on a
case.
The status field cannot be customized on a record type, it can only be customized in a support
process.
Create different support processes that include some or all of the picklist values available for the
case Status field.

43
To control the picklist values of the status field on the case object we should create support
process.
Without selecting the support process we can't create the record type for case object

Solution Process
--------------------------------------
Create different solution processes that include some or all of the picklist values available for the
Status field.

Lead conversion
-------------------------------------
Lead can be converted in salesforce.com and the converted information is mapped to the
appropriate business objects – Account, Contact or Opportunity
The system automatically maps standard lead fields to standard account, contact, and
opportunity fields
For custom lead fields, your administrator can specify how they map to custom account, contact,
and opportunity fields
The system assigns the default picklist values for the account, contact, and opportunity when
mapping any standard lead picklist fields that are blank.
If your organization uses record types, blank values are replaced with the default picklist values
of the new record owner.
If the lead has a record type, the default record type of the new owner is assigned to records
created during lead conversion

44
Meta Data
-----------------------------
Metadata is basically "data that describes other data".
metadata = configuration data
Salesforce also provides metadata tables that describe code and configuration.
Metadata in normal database concept is the data about your tables, databases etc.
Use Metadata API to retrieve, deploy, create, update or delete customization information, such
as custom object definitions and page layouts, for your organization.
Metadata is an XML file that contains the specifications to the compiler and VF runtime of what
API version should be used to render the page.
So, Metadata in Salesforce gives us the information about your organization like : Total number
and name of Workflows, Email Templates, sObjects, Page Layouts etc.

Skinny Table
--------------------------------
Salesforce creates skinny tables to contain frequently used fields and to avoid joins.
Skinny tables can contain a maximum of 100 columns.
Skinny tables cannot contain fields from other objects.
Skinny tables are not copied to sandbox organizations.
To have production skinny tables activated in a sandbox organization.
We can use in reports, listview and SOQL.
It has frequently used fields.
To enable skinny tables, contact Salesforce Customer Support.
For each object table, Salesforce maintains other, separate tables at the database level for
standard and custom fields.
This separation ordinarily necessitates a join when a query contains both kinds of fields.
A skinny table contains both kinds of fields and does not include soft-deleted records.

45
Audit Trail
------------------------
The Audit Trail function in Salesforce is useful for gaining information or for tracking all the
recent setup changes that the administration has done in the organization.
The audit trail can preserve data for up to six months.

Portals
----------------------
There are 3 types of Salesforce.com Portals.
Customer Portal
Partner Portal
Self Service Portal

Customer Portal:
Customer Portal is for the support of your customers (includes Cases etc but not Opportunities).
Customer Portal on the other hand is more focused on the Service and Support of one
Customers.

Partner Portal:
Partner Portal is for your Partners so that you can effectively manage your channels sales
(contains Opportunities and only top Partner licence has Cases).
Partner Portal exposes the Leads and Opportunity objects whereas the Customer Portal does
not.
Traditionally Partner Portal is part of companies Partner Channel Sales efforts.

Self Service Portal:


This was the very first portal. It's main draw is it's FREE.
User management is funky (not stored in the User table), and customization is extremely limited.
Stages:
Enable login to self service portal
Page Sections
Pages

46
Translation Workbench:
--------------------------------------------------
The Translation Workbench lets you specify languages you want to translate, assign
translators to languages, create translations for customizations you’ve made to your
Salesforce organization, and override labels and translations from managed packages.
Everything from custom picklist values to custom fields can be translated so your global
users can use all of Salesforce in their language.
Navigation: Setup > Translation Workbench > Translation Settings

MVC Framework
-----------------------------------------
Model view controller (MVC) is a software architecture pattern which separates the
representation of information from the user’s interaction with it.
SFDC MVC pattern contains below three modules: Model, View, Controller
Model:
What schema and data does salesforce uses to represent the system completely.
In salesforce, we can say that sObjects are the model as every entity in salesforce is mapped to
some sObject.
Exp: Metadata, Salesforce Object, Apex Objects.

View:
How the schema and data is represented.
Visualforce is used to present the data to users.
Exp: Visualforce Pages, Standard UI Buttons, Forms, Tabs etc

Controller:
How the interface actions.
Controllers are used to perform the actions whenever users interact with visual force.
Exp: Workflows, Apex Triggers, Apex Controllers

47
Types of MVC:
Declarative
Programmatic

Order of execution in Salesforce:


-----------------------------------------------------------
Prepare the record for insert/update operation.
It will replace all the old field values with new field values.
If the request is coming form UI all the system validations will execute -
DataType
Length
Required
Unique
page Layout level validations
Before triggers
Custom Validations and again system validation rules will fire (page Layout level validations
won't fire at this point of time).
record will be saved into the database but doesn't not commit.
After triggers.
assignment rules.
auto-responsive rules.
Workflow Rules
Incase of Workflow Rule Field updates again before triggers and after triggers fire one more
time. System validation rules for duplicate check.
Escalation Rules.
Rollup-Summary fields will be calculated.
Grant parent Rollup-Summary fields will be calculated.
Criteria based sharing evaluation.
Record will be committed into the database.
Post Commit logic (Sending emails).

48
Governor Limits:
----------------------------------------
Since Salesforce runs on multi-tenancy environment and in order to have same performance to
the database,it has imposed some run time limits called governor limits.
Governor limits are Salesforce’s way of forcing you to write efficient, scalable code.
A single resource is shared by all the customers and organizations.
So, it is necessary to make sure that no one monopolizes the resources and hence
Salesforce.com has created the set of limits which governs and limits the code execution.
Whenever any of the governor limits are crossed, it will throw error and will halt the execution of
program.

Types of Governor Limits:


Per-Transaction Apex Limits
Force.com Platform Apex Limits
Static Apex Limits
Size-Specific Apex Limits
Miscellaneous Apex Limits
Email Limits
Push Notification Limits

For Sandbox:
1.You can refresh a Full sandbox 29 days after you created or last refreshed it. If you delete a Full
sandbox within those 29 days, you
need to wait until after the 29 day period, from the date of last refresh or creation, to replace it.
2.You can refresh a Partial Copy sandbox 5 days after you created or last refreshed it. If you
delete a Partial Copy sandbox within those
5 days, you need to wait until after the 5 day period, from the date of last refresh or creation, to
replace it.
3.You can refresh a Developer or Developer Pro sandbox once per day.
4.Enterprise Edition includes licenses for 25 Developer sandboxes and 1 Partial Copy sandbox.
5.Performance Edition includes licenses for 1 Full sandbox, 5 Developer Pro sandboxes, 100
Developer sandboxes, and 1 Partial Copy
sandbox.

49
/*

\111]*
]\6.Unlimited Edition includes licenses for 1 Full sandbox, 5 Developer Pro sandboxes, and 100
Developer sandboxes and 1 Partial Copy
sandbox.
7.Professional Edition includes licenses for 10 Developer sandboxes. (Change sets aren’t
available.)
8.If you need licenses for more sandboxes, contact Salesforce to order sandboxes for your
organization.

Link for Governor limits:


https://resources.docs.salesforce.com/202/latest/en-
us/sfdc/pdf/salesforce_app_limits_cheatsheet.pdf

Security and Permissions

Users:
---------------------
Add a Single User:
Depending on the size of your organization or your new hire onboarding process, you may
choose to add users one at a time.
The maximum number of users you can add is determined by your Salesforce edition.
Available in: Contact Manager, Essentials, Group, Professional, Enterprise, Performance,
Unlimited, Developer, and Database.com Editions

Add Multiple Users:

50
You can quickly add up to 10 users at a time to your organization.
Your Salesforce edition determines the maximum number of users that you can add.
Available in: Professional, Enterprise, Performance, Unlimited, Developer, and Database.com
Editions

Your username must be unique across all Salesforce orgs.


The username must be in the format of an email address, for example, vamsi@salesforce.com.
The email used for your username doesn’t have to function.
You can have the same email address associated with your account across multiple orgs.
The username in the form of an email address must remain unique.

Navigation:
Setup > Users > New

Grant Account Login Access:


-------------------------------------------------------
If we enable 'Grant Account Login Access' for a user then we can see 'Log in' button on the
detail page of that user.
By clicking on that 'Log in' button without giving that user's username and password we can log
in.

Navigation:
Log in as a user to whom you want to enable Log in access.
At top right corner click on name (Which should be left to Setup) > My Settings
User should be able to see user's personal setup page.
Left side, click on Personal Information > Grant Account Login Access
User should be able to see Grant Account Login Access page
In Access Duration column select '1 Year' for all the records and click on 'Save' button.
Log out and Log in as any other user in the organization then click on Manage Users > Users.
User should be able to see list of records and verify the user to whom we enabled the Grant
Account Login Access
User should be able to see the Login link beside Edit link.
Click on Login then user should be able to login as that user mode

51
Observe at top right corner, user should be able to see Logged in as 'Name of the user' which
should be highlighted in black color.
Click on Logout
User should be come back to original user's mode, Observe at top right corner, user should not
be able to see Logged in as 'Name of the user'

Queues
-------------------------
In Salesforce, Queues allow for management and organization of records in Leads, Cases, and
custom objects.
Queues are groups of users who can own records. All records in Salesforce must have an owner.
An owner is a single entity, queues allow for certain objects to have groups of users own the
record.
A queue is a location where records can be routed to await processing by a group member also
we can add group or individual users.

Types of Queues:
Lead queues
Case queues
Knowledge article version queues
Service contract queues
Custom object queues
Navigation:
Setup > Queues

Public Group
------------------------------

52
Public Group is the group of some selected users,then we can share information or we assign
some work to group.
They are not the owner of the records (like queue) but can share the records (in terms of access).
Administrators and delegated administrators can create public groups.
Everyone in the organization can use public groups.
For example, an administrator can create a group for an employee carpool program.
All employees can then use this group to share records about the program.

Navigation:
Setup > Public Groups

Personal Groups
-----------------------------------------
Each user can create groups for their personal use.
For example, users might need to ensure that certain records are always shared within a
specified workgroup.

Profiles
------------------------
A profile is a group/collection of settings and permissions that define what a user can do in
salesforce.
A profile controls “Object permissions, Field permissions, User permissions, Tab settings, App
settings, Apex class access, Visualforce page access, Page layouts, Record Types, Login hours &
Login IP ranges.
Profile deals with CRED (Create, Read, Edit and Delete) permissions over Apps, Tabs, sObjects,
Fields, Record Types, etc..
A profile can be assigned to many users, but user can be assigned single profile at a time.
You cannot have a user without a profile.

53
Types of Profiles:
Standard Profile:
By default salesforce provide below standard profiles. We cannot deleted standard ones.
Each of these standard one includes a default set of permissions for all of the standard objects
available on the platform.
Types of Standard Profiles:
Read Only
Standard User
Marketing User
Contract Manager
Solution Manager
System Administrator etc

Custom Profiles:
Custom ones defined by us.
They can be deleted if there are no users assigned with that particular one.

Navigation:
Navigation: setup > Administer > Manage users > Profiles

Transfer Record in profile:


-----------------------------------------------------
If user have only Read access on particular record but he wants to change the owner name of
that record, then in profile level Transfer Record enables he can able to change the owner.

54
View All Data & Modify All Data / View All & Modify All:
------------------------------------------------------------------------------------------------
View All & Modify All:
Give Read, Add, Delete permission to selected Object, Create permission is not included in
Modify All permission.
Delegation of object permissions.

View All Data & Modify All Data :


Create, edit, and delete all organization data, regardless of sharing settings.
Managing all data in an organization.
For example, data cleansing, deduplication, mass deletion, mass transferring, and managing
record approvals.
Users with View All Data (or Modify All Data) permission can view (or modify) all apps and data,
even if the apps and data are not shared with them.

“View All” and “Modify All” can be better alternatives to the “View All Data” and “Modify All
Data” permissions.
Available in All Editions

Permission Sets:
------------------------------------
Permission set is also very similar to profile.
What ever you can manage at profiles (Like Object permissions, Field Permissions, User
permissions, Tab settings, App settings, Apex class permission, visualforce permission) the same
you can manage here also.
But the main difference between these two is that user can have only one profile and can have
multiple permission sets at time.
Through permission sets we can extend user's functional access without changing their profiles.
So we can define profiles to grant minimum permissions and settings that every type of user
needs, then we can use permission set to grant additional access.

Navigation:

55
Setup > Administer > Manage users > Permission sets

Organization-Wide Defaults(OWD):
----------------------------------------------------------------
This setting is applicable for whole org not for single group or single person.
Data will share to others based on the “Default Sharing Settings”.

Types of OWD setting:


Private:
Whenever the OWD setting is Private, no one can see other data, means Opportunity is set to
private and I created one opportunity in the org, no body have access on that record.
Public Read Only:
If the OWD is set to Public Read Only, then all users can view records for the object but not edit
them.
Public Read/Write:
Whenever the OWD setting is Public Read/Write, everyone get access on every record with read
and write record.
Public Full Access:
Whenever the OWD setting is Public Full Access, everyone get access on every record with full
access.
Public Read/Write/Transfer:
Everyone get the access on every record with read, write and transfer access on that record.
Controlled by Parent:
This setting is enabled only for child records (master details), everything is controlled by its
master (parent) record.

Grant Access using Hierarchy:


--------------------------------------------------------------

56
It enables users that don't have the 'View All' permission to see other users' records as long as
those users are below them in the role hierarchy.
Role "Manager" is higher in hierarchy, Role "Team Lead" is in middle and Role "Developer" is
lower in hierarchy
Manager
Team Lead
Developer
If the Role "Manager" user through Manual Sharing or Sharing Rules, shares the record to Role
"Developer" user who is in lower hierarchy.
Then the Role "Team Lead" user who is above in hierarchy to Role "Developer" user can see the
records, if we enable Grant Access Using Hierarchies at sharing settings else Role "Team Lead"
user cannot see the record.

Sharing Rules:
----------------------------------
Sharing Rules are used when there is the need for records to be edited by multiple users within
an organization, but the users are not connected by a vertical hierarchy.
It's used to extend sharing access to users in public groups, roles, or territories.
Sharing rules can never be stricter than your organization-wide default settings.
They simply allow greater access for particular users.
Sharing rules give you additional record access beyond the original OWD.

Types of Sharing Rules:


Account sharing rules
Campaign sharing rules
Custom object sharing rules
Case sharing rules
Contact sharing rules etc...

57
Manual Sharing:
----------------------------------
User Managed Sharing, also known as Manual Sharing.
Users can manually grant other users access to certain kinds of records, including accounts,
contacts, and leads.
In some cases, granting access to one record includes access to all its associated records.
This method of granting access is also known as a manual share.

Role:
----------------
Role deals with authorization to access data.
In salesforce, roles are defined so as to increase the data visibility a particular user has.
Role controls the level of record access user has
Helps extend the OWD settings for different objects
Sharing rules can be written to share records with particular role and subordinates
Defining role for user is not mandatory.
Roles are used to control which Salesforce records are available to Users assigned to the Role.
Unlike Profiles, there is no configuration in a Role.
Instead, Roles are arranged in a hierarchy.
Top level Roles can contain lower level Roles.
Record access is determined by the Role of the Record Owner.

Navigation:
Setup > Manage Users > Roles

Role Hierarchy:
----------------------------------
A role hierarchies controls level of visibility that users have to an organization data.
By defining role hierarchies we can share access to records.

58
Users assigned to roles near the top of hierarchies like (CEO, executives and other higher level
roles) get to access the data of all users who fall directly below them i hierarchy.
Role Hierarchy settings make the managers and subordinates to edit, and view the records.
After organization wide defaults settings have been established we have to create Role
Hierarchy settings in salesforce.
The users in the Hierarchy can be able to view, edit and report all the data shared.

Record Ownership:
---------------------------------------------
Each record is owned by a user or optionally a queue for custom objects, cases and leads.
The record owner is automatically granted Full Access, allowing them to view, edit, transfer,
share, and delete the record.

Apex Managed Sharing:


-------------------------------------------------
Apex managed sharing provides developers with the ability to support an application’s
particular sharing requirements programmatically through Apex or the SOAP API.
This type of sharing is similar to Force.com managed sharing.
Only users with “Modify All Data” permission can add or change Apex managed sharing on a
record.
Apex managed sharing is maintained across record owner changes.
Apex sharing is used when we need to share records which are not inter-linked or Lookup
relations or user's are in down hierarchy.
So we create apex class that will create sharing records for such users.

59
Data Migration

6 Ways to Import Data Into Salesforce


Salesforce Import Wizard
Apex Data Loader
Force.com Excel Connector
Jitterbit Data Loader for Salesforce
Dataloader io
Informatica Cloud Data Loader for Salesforce

Import Wizard:
-------------------------------------
Import wizard is a web based tool to process bulk records.
With import wizard we can process maximum of 50,000 records.
Import Wizard allows only Accounts, Contacts, Leads, Solutions, Campaign Members And All
Custom objects.
It doesn’t require installation.
In import wizard we can't see few objects (ex: if there is master detail relationship between two
objects then we can't see child object ).
It supports schedule export.
Delete operation is not available.
While importing, duplicates can be ignored.

Navigation:
Set Up > Data Management > Data Import Wizard > Launch Wizard

Operations:
Insert (Add new records)
Update ( Update existing records )
Upsert ( Add new and existing records )

60
DataLoader:
-------------------------------
Data loader is an easy to use tool that allows you to import, export and delete data in
Salesforce.
Data Loader is a stand-alone tool to process bulk records.
With Dataloader we can process maximum of 5 million records.
Most of the time we use only Data Loader.
Default batch size of the Dataloader is 200.
Data loader supports CSV (Comma Separated Values) file format
Field mapping file format of the data loader is SDL.
In data loader settings we should enable 'insert null values' checkbox otherwise we can't insert
null values.
Default batch size is 2,000 records if we enable bulk API.
Maximum batch size of data loader : 10,000 records
Minimum batch size of data loader: 1 record.
Support for all objects, including custom objects except User.
It doesn’t support schedule export.
While importing, duplicates cannot be ignored.

Cons:
Can be annoying to install on a Mac; Auto mappings can be a bit quirky, sometimes leading to
wrong mappings or missing fields in the UI altogether; Can only import CSV files.

Operations in Data Loader:


Insert:
Inserting brand new records, no need of ID
Update:
Updating the existing records based on the record ID
Upsert:
To Upsert we should have one external ID field on the object, based on the external id field if
the value already exists it will update, if doesn't exist then it will insert
Delete:
Delete the records based on the id provided, to delete we need only id, deleted records can be
found in recycle bin
Hard delete:

61
Delete the records based on the id provided, to delete we need only id, deleted records can't be
found in recycle bin.
Note: If we enable bulk API in data loader settings then only we can perform Hard delete.
Export:
From any object we can export records based on the SOQL query.
Note: We can't export deleted records which are there in the recycle bin
Export all:
From any object we can export records based on the SOQL query.
Note: Using Export all we can export deleted records which are there in the recycle bin also)

We can use Data Loader in two ways:


User Interface
Command Line

Navigation:
setup > Data management > data loader

Dataloder.io
---------------------------------
with dataloader.io we can process 50 million records.
its a tool in appexchange
No download, All the basics, No signup or security tokens, Easy data mapping, Task history.
We can do import, export, delete operations

External ID:
----------------------------
When importing custom objects, solutions, or person accounts, you can use external IDs to
prevent duplicate records from being created as a result of the import operation.
An external ID is a custom field that has the “External ID” attribute, meaning that it contains
unique record identifiers from a system outside of Salesforce.

62
If we create External Id field, it will be indexed by default by Salesforce.

The fields with below data types can only be external Id:
Auto Number
Number
Text
Email

During upsert operation,


If External Ids are matched, it will update the record.
If External Ids are not matched, it will create a new record.
If External Ids are matched more than once, it will throw an error.

Reports and Dashboards

Reports:
---------------------------
To summarize the information of an object we use reports.
In any business reports are very important. Reports will provide clear picture to the
management.
Management uses the reports to track progress towards its various goals, control expenditure
and increase revenue.
Reports help to predict trends and this is advantage of increasing profits.

Types of Reports:
Tabular:
Displays records just like a table.
Summary:
We can summarize the information based on certain fields.

63
Matrix:
We can summarize the information in two dimensional manner, both rows and columns.
Join:
We can summarize information in different blocks on the same object and the related
objects.

Related Topics:
We can create 5 blocks for join reports.
We can do 3 grouping for summary, matrix and join reports.
Bucket field in Reports is used to group values to the name we specify.
We can display up to 2000 records on a page.
If more records are there to display we cannot see those through user interface.
If you export the records to a excel sheet then you can export up to to 50000 records.

Dashboards:
-----------------------------
Dashboard is the graphical representation of the data generated by a report or multiple reports
at certain point in time.
So, it's a snapshot of data, to obtain the latest data you need to refresh them either manually or
in a scheduled manner.
Dashboards are effective tools at disseminating information across the organization using a
visually appealing medium.
Dashboards provide an elegant solution to the age-old problem of how to communicate
performance across the organization.
Use a dashboard when you want to show regional or organization-wide data to a set of users,
such as a region's sales, or a support team's performance on case closures.
We can use up to 20 components in single dashboard.

Types of Dashboards:
Charts
Tables,
Gauges,
Metrics etc...

64
Benefits of Dashboards:
Get your data of the CRM and displayed with all your company data
Visually appealing way to show performance metrics
Reduce the need to train folks in Salesforce when all they need is a report
No need to export Salesforce dashboards and reports in Excel or Sheets
Increase visibility of sales metrics to executives within the organization

Dynamic Dashboards:
-----------------------------------------------
Dynamic Dashboards in salesforce are Created to provide security settings for the dashboards in
salesforce.com.
We may have a requirement in an organization to “view all data” by every user in an
organization according to their access we have to select Run as Logged-in User.
Use dynamic dashboards when you want to show each user user-specific data, such as their
personal quotas and sales, or number of case closures, or leads converted, etc.
Dynamic dashboards in Salesforce displays set of metrics that we want across all levels of your
organization.
Enterprise Editions can use five dynamic dashboards and Unlimited edition can use ten
dashboards.

There are two setting option in Dashboards. They are


Run as specified User :-
When we select this option in dashboard , then the dashboard will b visible to according
to the settings of that specified user.
Run as Logged-in User :-
When the dashboard settings are made to Run as Logged-in User, then the Dynamics
Dashboard runs according to the settings of that user viewing the dashboard.

65
Analytic Snapshot:
-----------------------------------------------
Analytic snapshot capture and store the data at pre decided intervals.
It captures data from report and saves in custom object as per schedule.
It only supports tabular and summary reports as a source report.
The field type in target object must be same as source report object field.
Reporting snapshots allow users to run reports and save the report results as records on custom
objects.
Unlike reports, users can schedule reporting snapshots to summarize data at specific times, and
work with the summarized data similarly to how they work with other records in Salesforce.

The benefits of using reporting snapshots include:


Running faster reports by reporting on data that is already summarized
Creating dashboards that refresh quickly by associating them with pre-summarized data
Sorting and filtering specific data summaries via list views
Viewing trends in data via custom object records

Navigation: Setup > Reporting Snapshot

Key points
-------------------------
We Should be Written Queries for Export and Export All
External Id used for Upsert Operation
With “FOR UPDATE” clause of SOQL we can lock the records
Even after deactivation of workflow, its action will be active in queue.
If you try to update record in After Trigger Context Then You will get an error saying “record is
Read only”.
To get all records even from recycle bin or Achieved Activities We will need “ALL Rows” clause of
SOQL.
Minimum 1% required for every trigger and there is no such restriction for Apex class.( Overall
90% one class 0% then we can deploy )

66
A single Apex transaction can make Maximum 10 callouts to http (Timeout should in
milliseconds)
The default timeout period while calling webservice from Apex 10 sec
User can access “drag and drop dashboard'' with manage dashboard permission
Only one controller can be used salesforce
The validation rules run at the data model level, so they are not affected by the UI. Any record
that is saved in Salesforce will run through the validation rules.
We use Enterprise, unlimited editions mainly
The maximum file size that can be uploaded via Visualforce is 10 MB.
Contacts is having a lookup relationship with Accounts i.e., Simple relationship
we have to clone any one of the existing profiles to create a new profile
We can create up to 500 roles for an organization
We can create up to 1000 permission sets for an organization
Hierarchical (It is available only on User Object, we cannot create this relationship)
Field tracking vs feed tracking : field only one object, feed for all objects
Group of users like l1, l2, l3. They will solve bugs in queue
If the new user is not System administrator then copy from “Standard User” profile.
Summary and matrix reports
can be used for dashboard components.
You can’t add time-dependent actions to a rule if you choose Every time a record is created or
edited.
If the Account is deleted then Contact, Opportunity will also be deleted from Salesforce which
are related to that Account.
we can't perform wf on lookups but in process builder we can do / four actions, multiple
actions.
user means owner of record
schema level means object level
Oracle, sap, peoplesoft having ERP(it has crm, hcm, elm, epm).
sandbox to sandbox is nothing but peer to peer testing
To avoid recursive we use static keyword , and for recursive workflow relavited workflow value
should be enable
Batch apex means batch job
In system modes we will not apply FLS to user / In user mode we will apply FLS to user
A Role hierarchies controls level of visibility.
Annotations: remoteaction, readonly, future, test
To get the picklist value in Apex class
we use Dynamic apex
Can import data of any object except User with DL

67
Dynamic Apex enables developers to create more flexible applications
Transfer(owd) access level only for lead and case objects
Sharing tools (role hierarchies, sharing rules, and manual sharing)
Find {test} In name fields RETURNING LEAD(name where createdate = this_fiscal_quarter limit
10)
Consuming means getting service , exposing means giving service.
@produces uses only for get request.
Should have no-arg default constructor.
Workbench is a powerful, web-based suite of tools designed for administrators and developers
to interact with Salesforce.com organizations via the Force.com APIs. Workbench includes robust
support for the Force.com Partner, Bulk, Rest, Streaming, Metadata, and Apex APIs that allows
users to describe, query, manipulate, and migrate both data and metadata in Salesforce.com
Sharing rules give you additional record access beyond the original OWD.
You can assign sharing rules to groups, Roles, Manager Roles, etc.
You can expand the access to Read Only or Read/Write.
Most objects have sharing rules (leads, accounts, opportunities, etc.)
Aggregate functions supported by salesforce SOQL are sum, min, max, count, avg,
count_discount .
Making a field mandatory Page Layout, Field Level Security, Validation Rule, while creating
objects.
While creating user we have 13 Required fields.
If we undelete the IT department record from the Recycle bin then along with IT department
record all the related child (Employee) records will be restored those will be reflected for Project
as well. (We cannot see the child object records in the Recycle bin).
Apex is a case-insensitive language.
void won't accept return value.
apex wont read values that we give after return type.
Select option tag useful to both radio and picklist values to create selectable values.
Apex provides built-in data manipulation calls like insert,update,delete.
Apex provides default exception handling.
Governor limits nothing but database limits that applied to user who uses force.com
So sfdc provide limits for preserve database effectiveness.
With “ getfutureCall(),getlimitfutureCall() “ to find limit of future calls.
With below apex methods we can avoid to many future call during text classes
Test.isRunningTest()
Limit.getfutureTest()
Limit.getlimitfutureTest()
it is not possible to schedule a dynamic dashboard in Salesforce.

68
Recycle bin data will be available upto 30 days
Record Types help you implement your custom business processes
@future annotation: used to modify methods that executed asynchronously
Automation – program
Call web method using javascript?
Sforce.apex.execute(“classname”,”method name”,{})
Transient keyword reduce size of view state
Gestora Allocations –file,data storage
Embedded merge fields, like the {!$User.FirstName}

69

You might also like