Admin-Material Compress
Admin-Material Compress
CRM
Administration
Material
By Feroz Baig
Ameerpet, Hyd
Applications using by the organizations to automate the business processes, has been categorized into 2 types as
below.
1. On-Premise Applications: It requires the pre-installation of the Application / Software into our local
device, before it's usage. (Ex: in Laptop / Desktop / Mobile / Smartphone / Tab/ Organization’s Network
/ Server, etc)
Ex: C Language, C++, Java, .Net, MS Office, Oracle, SQL Server, etc.
To automate the business processes of an organization, we need to buy the licenses of required Software’s /
Platform / Servers by investing huge amount. Which can’t be afford by all the organizations. To avoid this
investment, we are using Cloud Computing.
Cloud Computing is a concept, which provides the various approaches, to access each IT services over the internet
by using any device, and by paying the rental amount to the vendor.
By using Cloud Computing, we can access Servers, Storage, Databases, Networking, Software, Analytics and more
over the Internet (“the Cloud”).
Companies offering these computing services are called Cloud Providers. And charge for cloud computing services
based on usage, similar to how you are billed for water or electricity at home.
Uses of Cloud Computing: By using Cloud Computing, we can achieve the below services.
Benefits of Cloud Computing: Here are 6 common reasons organizations are turning to cloud computing services.
1. Cost:
Cloud computing eliminates the capital expense of buying hardware and software and setting up
and running on-site datacenters.
2. Speed:
Most cloud computing services are provided self service and on demand, so even vast amounts of
computing resources can be provisioned in minutes.
3. Performance:
The biggest cloud computing services run on a worldwide network of secure datacenters, which
are regularly upgraded to the latest generation of fast and efficient computing hardware.
4. Reliability:
Cloud computing makes data backup, disaster recovery and business continuity easier and less
expensive, because data can be mirrored at multiple redundant sites on the cloud provider’s network.
3. Infrastructure As a Service(IAAS):
∙ When the customers are accessing the "Server Resources (Memory, Performance, Security)" on
rental basis, then it is called as "Infrastructure as a service".
∙ With IaaS, you rent IT infrastructure—servers and virtual machines (VMs), storage, networks,
operating systems—from a cloud provider on a pay-as-you-go basis.
CRM Basics:
CRM stands for Customer Relationship Management
A CRM system is an Application / Tool, that allows you to manage all your customers, partners and prospects
information all in one place.
By using CRM applications, we can track the existing customer and new customers information of an organization.
With the help of CRM, we can maintain 360 degree view of your customer. (i.e. from Capturing the customer to,
till offering the services to the customer)
Benefits of using CRM Application:
Campaign:
It is a way to promote the organization products / services. We can use the other ways to do the
marketing like Conducting Stalls, Trade Shows, TV Advertisements, Theatre Advertisements, Posters, Pamphlets,
Banners, Hoardings, Digital Marketing, Email Marketing, Tele Marketing, Free Samples, etc.
Lead:
∙ Lead is nothing but a person or an Organization or a Business, who just showed interest in your
organization product or service.
∙ Lead is also called as "Prospect" or "Potential Customer". Lead is not our customer. ∙ By conducting the
Campaigns we can capture one or more Leads. (i.e. Between Campaign and Lead, we have One- Many
association)
Note: Once the Leads has been Captured, then Leads information will be shared with “Sales Team”. Sales Team
will contact the Leads over the Phone / Sending an Email / Meeting Directly and provide the required information
and offer the discounts and close the deals.
And they will convert the Leads as Customers, once the Lead person is ready to buy the product. Upon converting
the Lead as a Customer, Salesforce will generate 3 records as below.
2. Contact Record: It describes the Contact details of the customer. An account can be associated with one
or more contact records.
Ex: First Name, lastname, title, department, Birthdate, phone, fax, mobile, home phone, other phone,
email, mailing address, etc.
3. Opportunity Record: It describes, how much business we did with the customer. It describes about the
products purchased by the customer and revenue generated from the customer.
Between Account and Opportunity, we have One-Many association. i.e. An Account record can have one
or more associated opportunities.
Case:
∙ Case is nothing but the detailed information of the problem, which my customer is facing with my product /
service.
∙ Between Account and the Case, we have One-Many association. i.e. A customer can raise one or more
cases / complaints.
Solutions:
∙ Solution is nothing but the detailed information of the resolution of the case.
∙ Note: Solution is associated with the "case" raised by the customer. A Case can have one or more
solutions associated with it.
1. Sales Cloud:
∙ By using Sales Cloud Features, we can automate all the Processes followed during the sales of our
products / services.
∙ To automate sales processes, salesforce provides "Marketing and Sales" applications.
Objects: Campaign, Lead, Account, Contact, Opportunity, Product, Order, Quote, PriceBook, etc. and
Analytics (Reports, Dashboards).
Objects: Account, Contact, Case, Solution, KnowledgeBase, Knowledge Article Version, Feedback,
FeedbackQuestion, FeedbackQuestionset, FeedbackResponse, Performance Cycle, Goal, Metric, Macro,
etc. Analytics (Reports & Dashboards)
3. Marketing Cloud:
∙ By using Marketing cloud we can automate Campaign Management, Lead Management, Contract
Management, Order Management, etc.
∙ Salesforce provides a Marketing Cloud feature by using “Exact Target” Tool. Which offers the
features like Email Studio, Mobile Studio, Jouney Builder, Web Studio, Social Studio, SMS Studio,
etc.
4. App Cloud :
By using this feature, We can built our own custom applications. Salesforce provides the below 2 features
as part of App Cloud.
1. Force.com Platform:
Platform provides a set of resources, to build your custom application.
By using Force.com,
1. We can customize the existing salesforce CRM application.
2. We can leverage / extend the salesforce CRM functionalities, by adding the
Additional features based on the need.
3. We can build the custom application.
By using Force.com platform, we can build and deploy the next generation cloud
applications. Force.com Platform offers 2 Programming Languages as below.
1. Apex Programming:
It is a Cloud based Object Oriented programming, used to build the custom business
logic based on the need.
2. Visualforce Programming:
It is a web development framework, used to design attractive and dynamic user interfaces.
2. Database.com:
∙ It is a customized database of Salesforce, where the actual objects and records will get
resides. Which supports ORM Technology (Object Relationship & Mapping)
∙ It ensures the Data Security, by having the ISO 27001 & SAS 70 Type II Certifications. ∙
Which are purely concentrating on "Information Security and Confidentiality".
∙ Salesforce maintains a Disaster Recovery Center in each region (NA/EU/AP), to get back the
Data if any data loss due to some environmental issues.
∙ All Salesforce implemented applications will use the "Database.com" as the Backend.
5. Data.com (Jigsaw):
By using Data.com, we can purchase the required Leads / Organization's information without conducting
the marketing approaches.
To buy the Data from Data.com, Salesfore provides the 2 below Licenses.
1. Data.com Prospector License:
Which is used to connect to the Data.com and to buy the required records.
Salesforce Releases:
Salesforce keep on providing the latest features as part of new releases. Salesforce provides 3 releases per a year,
which are seasonal basis.
1. Winter Release.
2. Spring Release
3. Summer Release
Whenever, if any of the customer showed interest to utilize the Salesforce services, then they will allocate some
amount of memory from the associated region’s available server.
In each region, salesforce has established a set of servers (Instances) in which, salesforce will allocate some
amount of memory for each customer.
In a single instance, salesforce will allocate the memory for 8000+ customers. i.e. 8000+ customers Applications,
Data, files, records will exist inside the same server.
Salesforce provides the shared infrastructure, which allows us to share a single server among the multiple
customers.
7 Capital Info
Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
For each customer, salesforce will creates an account inside the server instance. Each salesforce account will be
called as an "Salesforce.com Organization / Org.
Each salesforce organization will be identified by using an unique Identification Number called as "Salesforce.com
Organization Id", Which starts from "00D".
The customers can extend their memory space, by contacting the salesforce / partners, by paying additional
amount to salesforce.
The extended memory space will be allocated in the same server instance.
We can cross-check the server instance status, maintenance calendar by using the website
"https://status.salesforce.com".
Upon creating the Salesforce account, based on the country name selected by the user, Salesforce will allocate the
required amount of space in the associated Region's available server.
Note: Salesforce maintains the "Disaster Recovery Centers" in each region wise, to provide the backup / re-store
facilities to the customs, if something went wrong due to environmental issues.
Multi-Tenant Architecture:
∙ Salesforce supports MultiTenant Architecture, will allows to share the Salesforce resources to the multiple
customers.
∙ Salesforce provides the common infrastructure for a set of customers. They won't provide a dedicated
server for each customer.
∙ MultiTenant Architecture allows the customers to access the resources on rental basis. It
1. Shared Infrastructure:
∙ Which allows us to share a single salesforce server / instance to the multiple customers. ∙
Each customer is called as a Tenant. For each customer salesforce will creates a Salesforce
Account. Each salesforce Account is also known as an Organization.
∙ Each organization will be identified by using a unique identification number called as
"Organization Id".
∙ Inside the Organization, the customer can install their custom applications, they can store the
data, files, records, etc.
Editions of Salesforce:
Salesforce provides the various Editions of Licenses, which can be purchased by the customers to automate their
business processes.
Note: Upon accessing the salesforce application, each user should have a License. Without the License, we can't
add a user record.
Every salesforce user should login in to salesforce through their account. At Salesforce, you will find free
developer edition that allows you to develop application for force.com for free.
Once the user receive the Account activation link, then we need to activate the
account. 1. Goto the respective email account.
2. Open the Email notification received from Salesforce
3. Click on "Account Activation Link"
4. Enter the Password and Confirm Password.
5. Select the Security Question and Enter the Answer
6. Click on "Change Password" button.
Observation: It will activate your salesforce account and will re-direct the user to the Salesforce.com
organization / Account.
Note:
By using these Tabs, we can perform all the DML operations on the Objects. (INSERT, UPDATE, DELETE, UNDELETE)
and View.
1. Standard Applications:
These are the readymade applications provided by salesforce by default as part of the Salesforce
CRM. (Ex: Sales, Service, Marketing, Content, Salesforce Chatter, Site.com,... etc.)
By using these applications we can manage the existing and new customers information.
Note: We can customize or leverage the standard applications by adding the additional
enhancements. But, we can't remove the Standard Applications from the Organization.
2. Custom Applications:
The Administrator / Salesforce Developer can create their own custom applications based on the
need. (Ex: Banking, Finance, Insurance, HealthCare,...etc.)
Note: We can customize / Leverage the Custom Applications based on the need. And we can remove the
custom application from the organization, if it no longer needed.
Governor Limits:
Developer Community: This community is used to post all the Admin & Development related queries.
(Apex, Visualfore, Integration, Triggers, Job Board)
Trailblazer Community: This community is used to learn salesforce with the help of webinars from
Salesforce provides a set of readymade objects by default as part of Salesforce CRM Application. Object represents
a "Table" in "Database.com". Database.com is a Cloud Database used by salesforce by default. Which contains all
the salesforce objects and records inside it.
Ex: Campaign, Lead, Account, Contact, Opportunity, Case, Solution, Contract, Order, Product, Feedback,
Performance Cycle, ..etc
TABS IN SALESFORCE
Tab Provides a set of graphical user interfaces, by which we can manage the records inside the associated object.
By using Tab, we can insert, update, delete, view, Undelete the records inside the object.
For each object, salesforce provides a separate Tab. Which is used to manage the records inside the associated
object.
Note: An object can have only one Tab. (i.e. Object To Tab, we have one-one association)
Note: All Tab Names will be represented with "Plural Names" as below.
Accounts Account
Contacts Contact
Opportunities Opportunity
Leads Lead
Campaigns Campaign
Cases Case
Positions Position
Customers Customer
Candidates Candidate
Navigation:
Navigation:
Click on "Setup" menu.
1. Goto the "Build" menu in Left Panel.
2. Click on "Customize" and Expand it.
3. Click on "User Interfaces" link.
4. Goto "SideBar Settings" section.
5. Select the checkbox "Enable Collapsible SideBar".
6. Click on "Save" button.
Observation: The SideBar will be visible as a "Dockable Component", which contains "Expand and
Collapse" options. So, the user can make it visible / hide based on the need.
ID". Object's Unique Identification number is called as "ObjectID / Schema ID / Object KeyPrefix". By using the
Syntax: https://<instanceNumber>.Salesforce.com/<ObjectID>
By placing the ObjectID inside the URL, in the Address bar. We can directly jump into the required
object.
Ex:
https://ap5.salesforce.com/001 --> Account Object
https://ap5.salesforce.com/00Q --> Lead Object.
https://ap5.salesforce.com/006 --> Opportunity object
2. For each record in the Salesforce object, it will allocate a unique identification number called as
"RecordID", Which contains 18-Characters Alphanumerical number. By using the RecordID, we can
identify the record uniquely.
But, in the Detailed of the record, it will display the "First 15-Characters ID" of th record. Last 3-Characters
will not be visible in the URL, because of the Security Reasons.
Ex: https://ap5.salesforce.com/0017F000002cdMj
We can fetch the complete 18-characters Id of the record, by making a Query to the Database.
Navigation:
Click on Your Name on Top Right Corner and Expand it.
1. Click on "Developer Console" link.
2. Goto the "Developer Console Editor" and Expand the TabBar
3. Click on "Query Editor" tab.
4. Type the Query and Execute it.
Ex: select id, name, rating, industry from Account.
5. Click on "Execute" button. ( Ex: 0017F000002cdMjQAI)
Salesforce provides an "Inline Editing" feature, by which we can move the required fields into the "Editable
Format", just by Double-click on the field. And the user can modify the field value and click on "Save" button.
It will exist inside the RecycleBin for 15 Days. Within 15 days the user can re-store the record back to the actual
object.
If the record is older than 15 days inside the RecycleBin, then salesforce will remove the record permanently from
the object.
The user can customize the Table by adding the required columns to be displayed inside the Table as below.
Upon representing the records, we can apply the "Pagination / Paging", through which we can decompose
the records into the various smaller pieces called as "Pages".
Each Page will be identified by using an "Index Position", which starts from "1".
We can select the number of records to be visible per page by using the Picklist (Ex: 10 / 25/ 50 / 100/
200). We can navigate the Pages from First to Last and Vice-Versa by using "Navigation Buttons".
We can filter the records based on the Starting characters of the record, by selecting the required
character from the Table.
Salesforce provides a set of Filters by default called as "List View Options". The Developer / Administrator
can add their own filters based on the application requirement as below.
UseCase: Configure the "List View Option" for the Account Object, to filter the Accounts Based on the "Banking
Industry".
Observation:
It will add a New List View Option inside the Picklist. When the User Selects the Filter from the
Picklist, the corresponding records will display in the Table.
Note: We can Customize / Leverage the Custom Applications based on the need. And we can remove the custom
application from the organization, if it no longer needed.
We can create our own Custom application with the below navigation.
Observation: It will create a New Custom Application with the specified name, And the Application Name will be
populating in the "App Launcher" at the end of the list.
Note: We can arrange the Application names list inside the App Launcher by using "Re-Order"
Document is a Standard object, which contains all the Static Resources to be get used inside the Salesforce
Applications. Document Object can hold one or more resources, which can be of type "Images, Pictures,
Documents (Text / PDF / Word,.etc), Audio and Video Files, etc.
Upon using an image inside the Application, we have to upload the Image into the Document Object first. And
then we can re-use the image in multiple places in the organization.
Step 1: Get the Required Images from the Internet / Collect from the Web Designer.
Step 3: Create the Custom Application, by Selecting the Image as the Logo for the Application. Note:
Upon using an Image as the Logo for the Application, the Logo size should not be exceeds 20KB.
Object Represents a Table, which can be used to store a collection of records inside it. Objects are the Custom
Tables, which can be used to store organization specific / application specific data. All the objects in Salesforce will
get resides in "Database.com".
1. Standard Objects: These are the readymade objects provided by Salesforce by default, which has been
created upon Salesforce CRM application development.
Ex: Account, Contact, Opportunity, Campaign, Lead, Case, Solution, Order, Contract, Forcast, Product,
Pricebook, Performance Cycle, Goal, Metric, Feedback, etc.
Note:
∙ We can use these Standard objects inside our applications, And we can customise the
standard Objects based on the need.
∙ But, We can't remove the Standard Objects from the Salesforce organization, it will impact on
the Salesforce CRM Application.
2. Custom Objects: Salesforce allows us to create our own custom objects based on the application
requirement. Custom objects are database tables that allow you to store data specific to your application
in Salesforce.com. You can use custom objects to extend Salesforce.com functionality or to build new
application functionality.
Note: Custom Object Names will be post-fixed with “__c” (Which represents “Custom”)
Once you have created a custom object, you can create a custom tab, custom related lists, reports, and
dashboards for users to interact with the custom object data.
Note: We can customise the Custom Object in future based on the Need. And we can remove the Custom
object from the organization, if it is no longer needed.
Governor Limits:
∙ In Developer Edition, we can create max. of 400 Custom objects.
∙ In Unlimited Edition, we can create max. of 2000 custom objects.
Note: Salesforce supports purely the ORM Technology (Object Relationship and Mapping), where it Creates a New
Table in Database.com upon creating a new Object in Salesforce.
Contact Contact
Opportunity Opportunity
Lead Lead
Campaign Campaign
Case Case
Solution Solution
.....etc ....etc
Candidate Candidate__C
Note:
∙ In-order to manage the records inside the object, Salesforce provides a Tab for each object. ∙ By using the
Tab, we manage the records inside the objects by performing the DML operations like INSERT / UPDATE /
DELETE/ UNDELETE. And we can view the required records.
The Developer / Administrator inside the organization will have the rights to create custom objects in Salesforce.
We can create the custom objects as below.
2. Enter the Object Name, Plural Name, API Name, and Description as below
∙ Allow Reports: This feature allows the user to generate the reports based on the data exist in the object. ∙
Allow Activities: This feature allows the user to Create the Tasks / Assigning the Task / Generating the
Events based on the Object Records.
∙ Track Field History: This field allows the user to Track the Field History whenever any of the person
modified the record values. (To Track the values like.. Who modified the record, when they modified the
record, what field’s values modified, old value and new values of the field etc.)
∙ Allow in Chatter Groups: It allows us to include the field changes in the chatter feeds. 4.
20 Capital Info
Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
∙ In Development: I the object’s Deployment status is “In Development”, this object can’t be used by the
other users.
∙ Deployed: This object can be used by other users, in-order to create the records. i.e. It is ready to use by
the users.
5. Select the Check Box “Launch a New Custom Tab Wizard for the Custom Object”, Which creates a new Tab
for the object to manage the records (Insert / Update/ Delete/View).
7. Select the Custom Object Tab Style from the Lookup field.
Observations:
1. Upon creating the Object, it will create a New Table, whose name will be Post-fixed with "__C". (i.e.
Each custom object name will be post-fixed with "__C".)
Ex:
Object Name Table Name
Position --> Position__C
Client --> Client__C
Hiring Manager --> Hiring_Manager__C
Candidate --> Candidate__C
2. Upon creating a Custom object, Salesforce will provides 5 fields by default in all the objects.
21 Capital Info Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
1. ID --> Stores the 18-Characters Id of the record
2. Name Field.
3. Owner Field
4. Created By Field
5. Last Modified by field.
3. Upon creating a Custom object, Salesforce will provides the required User Interfaces also in-terms of a
"Tab". Which is used to manage the records exist inside the object. Which will be added to the TabBar by
default.
4. Upon creating a Custom object, Salesforce will provides a Table, User Interface (Tab) and the Business
Logic layer.
Tab provides a Graphical User Interface, by which the users / customers / partners / employees can manage the
records inside the object.
Upon creating a Custom object, if the user didn't select the last checkbox "Launch a New Custom Tab Wizard After
Saving the Custom Object", then Salesforce will not provide the "Tab" for the object. We need to create the Tab
for the object manually.
Note: An object can have only one Tab. (i.e. Object To Tab, we have one-one association)
1. Custom Object Tabs: This feature is used to create a Tab to be used to manage the records exist inside
the object.
2. Web Tabs: These are used to re-direct the user to the specified URL / path of the External Application
upon click on the Tab.
Ex: Re-direct the user to "Office 365", Re-direct the User to "Weather Map Application", etc...
3. Visualforce Tabs: By using this feature, we can re-direct the user to the specified Visualfore page,
Upon click on the Tab.
4. Lightning Page Tabs: By using this feature, we can re-direct the user to the specified Lightning page,
upon click on the "Tab".
Upon creating a custom object tab, we have to follow the below navigation
Ex:
Account Object: Rating Field represents 🡪 Account Table: Rating Column.
Account Object: Name field represents 🡪 Account Table: Name Column
1. Standard Fields: These are the readymade fields given by the Salesforce by default.
Ex: ID, Name, Owner, CreatedBy, LastModifiedBy
2. Custom Fields: Upon customising the Salesforce application or building our own custom applications
we can create our own custom objects also based on the need.
(I.e. Developers can able to add some new fields to the objects (either Standard Object / Custom
Object)
Governor Limits:
• In Unlimited Edition: We can create max. of 800 custom fields per an object.
• In Free Developer Edition: We can create max. of 500 custom fields per an object.
We can list out the Fields exist inside the object as below.
1 These are the Readymade fields Based on the application requirement, Salesforce
provided by the Salesforce by Developer / Administrator can create their own
default Like Id, Name, Owner, etc. required fields inside the object. Which are called
as Custom Fields.
2 We can customise the Standard We can customise / remove the custom field, when
Fields based on the Need. But, we it is no longer needed.
can’t remove the standard fields
from the object.
3 We can’t create anymore We can create one or more custom fields inside
standard fields inside the the object upon needed.
object. 1. In Free Developer Edition: An object can
have max. of 500 Custom Fields.
2. Unlimited Edition: An object can have max.
of 800 custom fields.
Note: Always we have to use “Field Name” to interact with the object, through programming.
5 Standard fields can be available Custom fields can be applicable for both Standard
for both Standard and Custom and Custom objects.
objects.
6 Standard field’s Field Name will be Custom field’s API Name will be post-fixing with
look like as normal words. (Ex: ID, “__C”. __c 🡪 represents it is a Custom Field.
name, rating, industry, type, etc.)
Creating the Fields are nothing but, creating the columns inside the table. Upon creating the Columns inside the
Table, we need to specify, what type of data can be hold inside the column.
i.e. Upon creating the Field in an object, we need to select any of the datatype as below.
1. Text Type:
This Datatype is used to create a Textbox field in the object.This field will allows us to enter max.
of 255 Characters of data in a single line. This field type will allows us to enter Alphanumerical values
along with the special characters also. And, we can restrict the field to allow the specified number of
characters.
Properties:
1. Field Label: To enter the Lable / Text to be displayed along with the field inside the user
interface.
2. Field Name / API Name: To specify the column name, to be used to create a field inside
the object. Note: Custom field's API Name should be always post-fixed with "__C"
3. Description: This property is used to specify the description of the field.
4. HelpText: This property is used to enter the Online Help / Tooltip text message to be
displayed along with the field.
5. Required checkbox: This checkbox is used to make the field required / mandatory.
6. Unique Checkbox: This checkbox, will make the field value as unique inside the entire
column.
7. Length: This property is used to specify, the number of characters to be allowed inside
the textbox.
8. External ID: 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
Note: External ID field type can be either Number / Text / Email field type. An
object can have max. of 25 External ID field's.
2. Text Area:
Allows us to enter the data in multiple lines, max. of 255 characters. (Alphanumerical + Special
Characters)
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. HelpText :
5. Length : (Max: 1,31,072). By Default : 32,768.
6. Number Of Lines :
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. HelpText :
5. Length : (Max: 1,31,072). By Default : 32,768.
6. Number Of Lines :
5. Email:
This field is used to enter the valid email addresses, which will be verified by the Salesforce upon
saving the record.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. HelpText :
5. Required Checkbox :
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. HelpText :
5. Required Checkbox :
7. Currency:
To store the Currency values. (Numerical values --> Integer + Decimal value). Field will allows to
store max. of 18-Digit Number.
Once the record gets saved, it will display the currency value by prefixing with the Currently
configured currency symbol in the Salesforce.
Step 1: Select the checkbox "Activate Multi Currency for the organization".
Setup --> Administer --> Company Profile --> Company Information.
1. Click on "Edit"
2. Goto "Currency Settings" section.
3. Select the checkbox "Activate Multi Currency for the organization".
4. Click on "Save" button.
Step 2: Contact the Salesforce Support, to determine the best time, to activate this
feature from the salesforce side.
Properties:
1. Field Label :
27 Capital Info Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
2. Field Name :
3. Description :
4. HelpText :
5. Required Checkbox :
6. Length : (Max : 18)
8. URL:
To store Website name / URL address of an application.
Ex: website : www.office365.com --> Save --> Website: http://www.office365.com
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. HelpText :
5. Required Checkbox :
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. Help Text :
5. Values : List of values to be populated inside the field.
6. Required Checkbox :
7. Checkbox : Sort value alphabetically.
8. Checkbox : Make the first value as default.
9. Checkbox : Enforce the field value integrity
10. Picklist-Multiselect:
By using this control, the user can select one or more elements from the collection of elements.
Note: The selected items will be concatenated with help of a seperator ";", and will store the value inside
the field.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. HelpText :
5. Required Checkbox :
6. Values :
11. Date:
This field type, allows us to store the Date values inside the column by selecting from a pop-up
calendar. Ex: BirthDate, JoiningDate, Open Date, CloseDate, DueDate, etc.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. Help Text:
5. Required Checkbox : To make the field required.
12. DateTime:
This field type is used to store both Date and Time stamp value inside the column.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. Help Text:
5. Required Checkbox : To make the field required.
13. Number:
This field type is used to store numerical type value, which includes both Integer and Decimal
values also. Note: We can store a 18-digit number inside the field.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. Help Text :
5. Required Checkbox: To make the Field Required
6. Length : Number of digits to be allowed. (10)
7. Decimal Point Values: 0 / 1 / 2 / 3 / 4 /.....
8. External ID :
14. Percent:
It will allows us to store the Numerical values, which will be stored by post-fixing with "%"
symbol. It will allows us to store an 18-digit number, which can be either Integer / Decimal value.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. Help Text:
5. Required Checkbox : To make the field required.
6. Length : Number of digits to be allowed.
7. Decimal Point values :
15. Checkbox:
This field type is used to store the Boolean values inside the column. Which may be either TRUE /
FALSE.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. Help Text:
Question: What are the various System Generated Fields exist in salesforce.
Ans: ID, CreatedBy, LastModifiedBy, Auto Number, Formula Fields, Rollup Summary.
Properties:
1. Field Label :
2. Field Name :
3. Description :
4. Help Text :
5. Display Format : PID-{000000}
6. Starting Number : 100001
7. Select the checkbox : Generate Auto Number for Existing Records.
Properties:
1. Field Label:
2. Field Name :
3. Description :
4. Help Text :
5. Required Checkbox
19. Time:
This field type is used to store the Time value inside the field. Which is a New field type available
from "Winter'18" Release.
Properties:
1. Field Label:
2. Field Name :
3. Description :
4. Help Text :
5. Required Checkbox
We can create a field inside the object, with the below navigation...
Page Layout provides a set of graphical user interfaces, which allows us to interact with the object. And we can
perform all the DML manipulations (Insert, Update, Delete, Undelete) And Retrieval on the object records.
Salesforce provides a Page Layout for each object by default. But, we can Create one or more Page Layouts per an
object based on the need.
Which displays the fields inside the object in "Editable" format. So, the user can create / Update
the existing record details.
Note: Edit Layout will be opened upon click on "New / Edit" button.
Once the Page Layout has been given by the salesforce, we can customize the pagelayout based on the
requirement with the help of PageLayout Editor.
2. We can specify, in how many columns we can arrange the fields inside the section. (i.e. either in
1 or 2 columns)
5. We can configure the "Tab Key Order" for each section (i.e. either from Top to Bottom / Left To
Right)
8. We can add the required fields onto the Layout by using Page Layout Editor.
Navigation:
Click on the Required Object's Tab Name (Ex: Positions)
1. Expand the "Force.com Quick Access Menu".
2. Click on "View Object" link.
3. Goto the "Page Layouts" section.
4. Click on "Edit" link, beside the Page Layout Name.
5. Customise the Layout based on the need.
6. Arrange the Fields by using "Always Visible" control.
7. Click on "Save" button, once the chages are done.
Every application requires a Database, which stores the actual customer details / sales details, etc.
Database contains a set of interrelated objects like Tables, Procedures, Cursors, Functions, views etc.
The data / records will get resides in a structured format by using Tables.
We can have one or more tables in a database, where the actual records get resides.
While storing the records into different objects, both the objects should be associated with each other.
We can map the association between the objects by using "Relationship" feature in Salesforce.
Note:
• Mapping the association between objects means, mapping the association among the records
available in the objects
• While mapping the association between the objects, we need a common column in both the
tables. (I.e. that can be created by using Foreign Key constraint in Database).
The Database.com database differs from relational databases in the way that record relationships are
implemented.
Instead of defining relationships through primary keys and foreign keys, the database uses relationship
fields.
A relationship field is a custom field on an object record that contains a link to another record.
Ex: Personal relationship is a two-way association between two people, in terms of relational data, a
relationship is a two-way association between two objects.
Without relationships, you could build out as many custom objects as you can think of, but they'd have
no way of linking to one another.
A relationship field stores the ID of the parent record in a relationship, as well as optionally providing
user interface representations in both the parent and child records.
Note:
• While mapping the association, always we need to map from Child Object to Parent Object. (I.e.
Common Column should be created on child object.)
• Salesforce uses "ID" column as the common column between the objects, because it holds the
unique value.
• Upon creating the child record, it will verify in the parent object for the associated parent record.
1. Lookup Relationship
2. External Object Lookup Relationship
3. Master-detail Relationship
4. Hierarchical Relationship
5. Many To Many Relationship
6. One-One Relationship
To map the association, Salesforce provides a set of "Relationship field types" by default. We have
the below relationships in Salesforce.
1. Lookup Relationship
2. External Object Lookup Relationship
3. Master-Detail Relationship.
4. Hierarchical Relationship
Schema Builder is used to define the Object Structure and we can represents the existing object
structure and the fields and associations in "Pictorial format" on the Canvas.
Name : Standard
Location : Picklist
Email ID : Email
Contact Number: Phone
Drawbacks:
Upon creating the Objects / Fields by using "Schema Builder", we have the below drawbacks.
1. While creating the Object, it will create the Table with the specified name. But, it won't provide the Tab
for the object by default. i.e. We need to create the Tab manually for the object.
2. Upon creating the Fields by using "Schema Builder", it will populate only those fields on the Page
Layout, Which has been created by selecting "Required Checkbox". Remaining fields will not be visible on
the Page Layout. i.e. We have to place those fields on the Layout, by using PageLayout Customization.
Use case: Create the Lookup Relationship between Hiring Manager and Position Objects and describe
the observations.
1. Hiring Manager(Hiring_Manager__c)
2. Position (Position__c)
Note: We need to create an additional relationship field on the Position object, Which references the
Hiring Manager Object.(i.e. a Lookup field to "HiringManager")
Navigation:
Goto Setup Menu Goto Build Menu in Left Panel Goto Customize Select the
• It will list out all the standard and Custom Fields in the Object.
• Goto Custom Fields and Relationships section
• Click on Next and Select the Associated Parent Object from the Picklist as below
Click on
“Next” , Enter the Lookup Field Label and Name
• Click on “Next”
•
Hiring Manager Record's detailed page will be updated with the Related list "Positions".
Observations:
1. Lookup Relationship provides the One - Many associations among the two objects by default. (I.e. One
Parent and Many Childs.)
2. While creating the child record, Lookup field is optional by default. (I.e. we may or may not select the
parent record.)
3. Re-Parenting Option is available by default in Lookup Relationship.(i.e. We can change the parent of a
child record.)
4. Upon deleting the Parent record, Child records will remains in the Child object. (I.e. Only parent record
will removed. child records will exist as it is.)
5. We can make the Lookup Relationship field as Mandatory, by selecting the "Required" checkbox upon
creating the Relationship field.
6. If the Lookup field is Mandatory(Required checkbox selected), then When we tried to delete the parent
record which is associated with the child records, Salesforce doesn't allow to delete the parent record
until all the child records has been removed.
7. We can have max. of 40 Lookup relationships per an object.
8. Both Parent record and child record will have "owner fields".
9. Sharing settings and security settings will be independent of each other.
10. We can make a standard object as a child object with the custom object in Lookup Relationship.
11. We can't apply Rollup Summary field on Lookup Relationship objects.
Use case: Create the Master-Detail Relationship between Position and Candidate Objects and describe
the observations.
1. Position (Position__c)
2. Candidate (Candidate__C)
Identify the Parent and Child Objects:
Note: We need to create an additional relationship field (Master-Detail type) on the Candidate object,
Which references the Position Object.(i.e. a Lookup field to "Position")
Navigation:
Goto Setup --> Goto Build Menu --> Goto Create 1. Click
on "Objects" link and expand it.
7. Sharing Settings and Security settings of the child record will be depends upon the parent record.
8. Upon removing the Parent record, all the associated child records will remove automatically. 9. We
can't make a Standard object as the Child for a Custom object with Master-Detail association. 10. We
can add Rollup Summary fields on Parent object.
Lookup Relationship Master-Detail Relationship
2. When you delete the parent 2. When you delete the parent
record, child record will not be record, the associated child
deleted(only parent record will records also get deleted
removed)
Note: We have a common field in Contact object with the Name "AccountID", which Hold’s the ID
of the account record to which the contact is associated
Note: Upon removing an account record, all the associated contact records will get removed
automatically. Which is a standard feature given by Salesforce. We can prevent the deletion of contact
records by using "Triggers". (i.e. Before deleting the Account, We need to get all the associated
Contacts and make the "AccountID" field value as blank.)
We have a common field in Opportunity object, with the name "AccountID". Which holds the Account
Record Id to which the opprtunity is associated.
We have a common field in Case object, with the name "AccountID". Which holds the Account
Record Id to which the Case is associated.
Once we map the association between the objects by using either Lookup or Master-Detail, in future
we can change the relationship type from Lookup to Master-Detail and vice-versa.
- We can't apply the Master Detail Relationship on an Object, Which contains the preexisting records.
- We can convert the Look Relationship to Master Detail with the below steps. 1. We need to apply
Navigation:
Goto Object --> Goto Force.com Quick Access Menu --> Click on "View Fields"
Now it will change the Relationship between the object from Lookup to Master Detail.
We can change the Master-Detail association to Lookup directly, just by changing the field type from
Master-Detail to Lookup type as below.
Observation: Now, it will change the association between Position and Candidate as "Lookup"
In few cases, we have to map Many to Many association between two objects, Which provides One
Many association from both the sides.
An Author can participate while preparing the Multiple books (i.e. One to Many from Author To Book).
A Book can be prepared by multiple Authors (i.e. One to Many Association from Book to Author)
We need to achieve this feature, by creating a Junction object. Which associated with both the Parents
with Master-Detail association
1. Between Campaign and Contact object, Salesforce provides Many-Many association by creating a
junction object "CampaignMember".
2. Between Contact and Opportunity object, Salesforce provides Many-Many associated by creating a
junction object "OpportunityContactRoles".
5. Between User and PermissionSet Object, Salesforce provides Many-Many association by creating a
junction object “PermissionsetAssignment”.
Upon creating the Child record, the user can select the associated Parent by using "Lookup" field. Which
will populate all the Parent record details inside a "Lookup DialogBox".
By default, it will populate the Parent Record Name. We can customize the Lookup dialog to display the
required details of the Parent record.
UseCase:
Configure the Lookup Dialog, to display all the details of the Hiring Manager upon creating the Position
record.
Implementation: We need to customise the "Hiring Manager" object's Lookup Dialog, with the required
fields.
Navigation:
Click on the Required Object's Tab (Ex: Hiring Managers)
1. Expand the Force.com Quick Access Menu.
2. Click on "View Object" link.
3. Goto the "Search Layouts" section.
4. Click on "Edit" link for the "Lookup Dialog"
5. Add the Required fields to be visible inside the Dialogbox.
(Ex: Name, Email Id, Contact Number, Location)
6. Click on "Save" button.
LOOKUP FILTERS CONFIGURATION
Once the association has been mapped between two objects, the user can select Parent Record by using
Lookup dialog upon creating a New Child record.
Lookup dialog will display all the parent records, So that the user can select only one parent. We can
filter the records to be displayed in Lookup dialog box by using "Lookup Filters configurations".
UseCase:
Configure the Lookup dialog to populate only those position records which are not closed upon
creating a Candidate Record.
Configuration Steps:
Testing: Goto the Candidate object, Create a New Candidate Record, by selecting the Position Record as
Parent by using Lookup icon.
Observation: Lookup dialog has to populate the position records, which are not in Closed Status.
HIERARCHICAL RELATIONSHIP
This feature will map the Self association, where we can make a User Record can be associated with
another user record in the same object.
ROLLUP-SUMMARY FIELD
Note: Rollup Summary field can be created only on Master Table, which is in Master-Detail Relationship.
It can’t be applicable for Lookup relationship.
Ex: We can create the Rollup Summary field to calculate the Number of Contacts available for an
Account.
Rollup Summary field generates the results by using "Aggregate Functions" as below.
1. Count():
It returns an integer value, which indicates the Number of child record exist in the child object for each
parent record.
2. Sum():
This function is used to calculate the Sum value for all the child record's field.
Note: This function can be applicable only on "Number Type / Percent Type / Currency Type"
fields.
3. Max():
This function returns the Highest value from all the associated child records.
Note: This function can be applicable only on "Number Type / Percent Type / Currency Type / Date
type" fields.
4. Min():
This function returns the Smallest value from all the associated child records.
Note: This function can be applicable only on "Number Type / Percent Type / Currency Type / Date
type" fields.
Note: While summarizing the records, we can consider all the records or only the records matching the
specific criteria.
Note: Rollup Summary field will be displayed only on Detailed Page of the Master Record.
1. Position (Master)
2. Candidate (Detail)
These objects should be associated with Master-Detail association.
To Verify the Rollup Summary Field, Goto the Parent Object and View any of the record, In Detailed
Page, it will display the “Rollup Summary Field value” as below.
We can also implement the One-One association (i.e. One Parent and One Child)
1. By using a "Rollup Summary field" created on the Master Object by using "Count" function.
2. We need to create a Validation Rule on "Rollup Summary" field to make sure to have only
one Child.
Salesforce has configured the email servers by default. So that no need to use any email servers
explicitly.
To share the information among the users we need to prepare a Draft, Which contains the Email Subject
and Email content (Body) by using "Email Templates". These are also called as "Communication
Templates".
We can use the email Template in "Outbound Email Services", which send's the email notifications from
Salesforce to the external email id's.
3. Reminder alert to the user based on Case Creation / Escalation / Closed, etc.
While sending the email notification, we can make the content as static or we can make the content
dynamic.
Note: Salesforce provides a set of readymade Email Templates, which are common to all the users in the
salesforce organization.
Note: All the Email Templates will resides inside the "EmailTemplate" object.
Note: Each Email Template should be resides in a Folder. All Folders information will store in “Folder”
object.
We can list out all the email templates exist in the organization with the below navigation.
By using this template type, we can send the email notifications with the required subject and the
content with "Plain Text" format. (i.e. Like White Background and Black Text).
We can't include any images, pictures, colors, Hyperlinks, etc.
In this approach, we can place the content inside the LetterHead upon sending the email to the
people, so that we can make the email content look like attractive.
In this approach, we can prepare the subject and the Content and can make it look like attractive
with the help of "HTML programming".
By using this approach, we can prepare a visualforce page, through which can send the email
notifications to one or more people.
Usecase:
Create an Email Template to Notify the Contact person, upon creating a New Contact Record.
Email Subject: Congratulations..!! Your Contact Record has been created successfully. Email
Content:
Dear Customer,
Thanks for purchasing the products from our organization. From now on-wards you are a
valuable customer to our organization.
We are pleased to inform you, that your Contact Record has been created in our database
successfully for the future reference.
Merge Fields:
These are used to include the selected record content into the email template dynamically at runtime.
By using the merge fields, we can make the Email Subject and the Content dynamic.
Merge fields can be used in both Email Subject and the Content.
{!Account.Industry}
{!User.FirstName} {!USer.LastName}
Usecase:
Create an Email Template, to Notify the Account Person, upon creating a New Account Record by
including the Account Record Details inside the Email Template.
Thanks for purchasing the products from our organization. From now on-wards you are a
valuable customer to our organization.
We are pleased to inform you, that your Account record has been created successfully.
Observation:
Assignment:
1. Create an Email Template to notify the Hiring Manager, upon creating a New Hiring Manager
Record, by using Merge Fields.
2. Create an Email Template, to notify the Lead Person, upon creating a New Lead Record, by
including the "Lead Record details inside the email Template".
Creating LetterHeads:
Salesforce allows to to prepare our own letter heads based on the need, with the required Header and
Foote Logo's.
We can use this LetterHead, in-order to send the email notification to the user, which gives an attractive
look and feel.
The Images required in the LetterHead, should be uploaded into "Documents" folder.
Note: LetterHead can be used only in "HTML Email Templates". We can have one or more Letter Heads
inside an organization.
Create an Email Template, to notify the Hiring Manager regarding the New Open Positions exist inside
the organization. Send the Email notification along with the "LetterHead".
Email Subject:
Content:
Dear {!Position__c.HiringManager__c},
We are pleased to inform you, that we have few New Open Positions in the organization.
Please recruite the Candidates ASAP.
Please recruite the Candidates for the above position before the Close Date :
{!Position__C.Close_date__C}
We can make the content look like attractive, with the help of HTML programming. We can use a set of
HTML tags to make the content looklike attractive.
i.e. We can change the Font, Size, Style, Color, Hyperlinks, Formatting options (Bold, italic, underline),
etc.
We can use the below HTML tags frequently inside the email template.
1. Bold Tag <b>: By using this tag, we can make the content to be displayed in Bold format.
Ex: <b> Content </b>
3. Underline (<u>): This tag is used to display the specified content with the underline style.
4. Break Tag <br/>: This tag is used to provide a line break in the content. i.e. we can move the cursor to
the next line.
Ex: <br/>
5. Anchor Tag : (<a>): This tag is used to insert a Hyperlink inside the content. When the user click on the
hyperlink, it will re-direct the user to the specified URL / Website.
Usecase: Create an email template, to notify the Candidate, upon submitting the Candidature
Successfully to a position.
Subject: Dear {!Candidate__C.Name} ..!! Your Candidature has been successfully submitted.
We are pleased to inform you, that your candidature has been submitted successfully for the
position : <b> {!Candidate__c.PositionName__c} </b> <br/><br/>
One of our HR person will contact you shortly, if your profile got shortlisted. <br/><br/>
Please click on the below link, to see the Candidate Record <a href={!Candidate__C.link}
target="_blank"> Click Here To View Candidate </a> <br/><br/>
59 Capital Info Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
Please contact on the below address, if any queries. <br/><br/>
Workflows are used to automate the organization business processes. (i.e. instead of performing all the
operations manually, we can delegate few operations to the application, which can be performed by the system
automatically by itself based on user defined criteria).
By using workflows, we can execute few actions based on user defined criteria / Conditions automatically.
Evaluation Criteria: Defines when the workflow action needs to be get fired.
Note: Each workflow can have an Evaluation Criteria, and one or more actions
Note: We can create one or more workflows per an object. It can be applicable for both Standard and Custom
object.
Note: Workflows will fire always after performing the operation on the record (Created / Edited).
1. Created: Which fires the actions, upon creating a new record in the object.
2. Created, Every Time it’s edited: It fires the actions, whenever a new record gets created, and each time
the record gets edited.
3. Created, Anytime Edited meeting the Subsequent Criteria: Which will fire the Actions, upon a New record
is created or Modified the existing record and meeting the user defined conditions.
Actions in Workflows:
Using this action, we can send an Email Notification to one / more users by using an Email Template.
Using this action we can assign a New Task to the specified User.
3. Update a Field:
By using this action, we can update a field value with the specified text.
Note: By using a "Field Update" action, we can update only one field.
To update the multiple field values, we need to add multiple Field Update actions.
61 Capital Info Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
4. Send an Outbound Message:
By using this action, we can send an XML based secured SOAP message to the external
system. Types of Workflows:
1. Immediate Action Workflows: It fires the Actions immediately, as soon as the criteria are met. 2.
Time-Dependant Action Workflows: It executes the actions, after the spoecified time interval is over. In
Time Dependant Action workflow, Actions will be placed in to the Workflow Queue till the schedules run
time. Once the Scheduled Time interval is over, then it will execute the action and it will remove from the
Queue.
Note: Time Dependant Action Workflows can't be applicable for the Criteria "Created, Every time it is
Edited".
Technical Analysis:
2. Create an Email Template by including the "Contact" object merge fields, with the required subject and
content.
Email Content:
2. Select the Object Name from the Picklist on which to create a New Workflow (Ex: Contact)
6. Enter the Rule Criteria Conditions (At least One is required) as below Ex:
63 Capital Info Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
• Email Id != null
• Phone Number != null
• Title != null
12. Select the Recipient Type as “Email Field” / User / Account Owner / Role / etc as Below
1. Create a Contact Record by providing all the values, firstname, lastname, phone, email is, etc.
Enter the Rule Criteria Conditions (At least One is required) as below
Billing Street Field: Should be updated with the currently selected Rating value.
5. Select the Evolution Criteria (Created & Every Time it is Edited) Enter the Rule Criteria Conditions (At
least One is required) as below
1. Account Name: Not Equals to NULL
2. Rating: Not Equals to NULL
71 Capital Info
Solutions, Shyamala Plaza, Ameerpet, Hyderabad (+91 – 8686864286)
12. Click on “Done” button.
13. Activate the Workflow by using “Activate” button.
Observation:
Verify the “Billing Street” field value. It should display the value as “Hot”. Change the Rating Field value
and Save it, It should update the same value in “Billing Street” field.
Time-Dependent Workflow is a very nice feature out-of-the-box from Salesforce. You can easily configure it to do
actions such as: Create Task, Send Email Alert, Field Update and Send Outbound Message. The actions will only
trigger when before or after certain date or hour as configured.
Actions for Time-Dependent Workflow is exactly the same with Immediate Workflow, and you can share the same
actions between Time-Dependent Workflow with Immediate Workflow, depend on your business needs, even to
combine Time-Dependent and Immediate workflow in the same workflow rule.
Time-Dependent workflow’s can be applicable for both Standard and Custom objects.
Note: We can’t create the Time-Dependent workflow, when the rule evaluation criteria has been selected as
“Created, Every time it is Edited”.
7. Enter the Rule Criteria, which will verify before firing the actions.
10. Go to “Time-Dependent Workflow Actions” section and Add the below Actions.
o Click
on “Save” button. o Goto the Section Block, and Select the Action Type (New
Email) as below.
11. Repeat Step 10, To Create the remaining Time-Dependent Actions as below.
5. After 1 Days Of Close Date --> Change the Position Status To "Closed".
Once the Time-Dependent Workflow gets fired, then it will create the scheduled actions and place into
“Salesforce Workflow Queue”. Once the scheduled time is over, then action will get fire automatically.
We can monitor the pending Time-Based action with the below navigation.
3. It will display all the Time -Based actions stored in the workflow queue. (See Mock -up)
Note:
1. From Workflow queue, we can remove the actions manually by selecting the action name and
by using “Delete” button.
Note: While updating the Cross Object field, always it allows us to update the field from Child object to
Parent object.