0% found this document useful (0 votes)
13 views

Gowtham Report

Uploaded by

kummaripavan6575
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Gowtham Report

Uploaded by

kummaripavan6575
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 56

Internship Report

A Salesforce Administrator Virtual Internship Report


Submitted to

Jawaharlal Nehru Technological University


Anantapur,
Ananthapuramu

in partial fulfillment of the


requirements for the award of the
degree of

BACHELOR OF
TECHNOLOGY IN
COMPUTER SCIENCE AND BUSINESS
SYSTEMS

Submitted by

P.Gowtham Sagar 21121A2936

Department of Computer Science And Systems


Engineering
SREE VIDYANIKETHAN ENGINEERING
COLLEGE
(AUTONOMOUS)
(Affiliated to JNTUA, Ananthapuramu, Approved by AICTE, Accredited by NBA &
NAAC) Sree Sainath Nagar, Tirupati – 517 102, A.P., INDIA

2024-2025
i
Department of Computer Science and Systems
Engineering
SREE VIDYANIKETHAN ENGINEERING COLLEGE
(AUTONOMOUS)
(Affiliated to JNTUA, Ananthapuramu, Approved by AICTE, Accredited by NBA &
NAAC) Sree Sainath Nagar, Tirupati – 517 102, A.P., INDIA

Certificate

This is to certify that, the Salesforce Virtual Internship entitled


“Salesforce Administrator Virtual Internship”

is the bonafide work done by

P.Gowtham Sagar 21121A2936

in the Department of Computer Science and Systems Engineerng,


Sree Vidyanikethan Engineering College (Autonomous), Sree Sainath
Nagar, Tirupati and is submitted to Jawaharlal Nehru Technological
University Anantapur, Ananthapuramu for partial fulfillment of the
requirements of the award of B.Tech degree in Computer Science and Business
Systems during the academic year 2024-2025.

Supervisor: Head of the Dept.:

Dr. Pradeep Kumar Gupta, M.Tech., Dr. Pradeep Kumar Gupta, M.Tech.,
Ph.D. Ph.D.
Professor Professor
Dept. of CSSE Dept. of CSSE
SreeVidyanikethan Engineering SreeVidyanikethan Engineering
College College
Sree Sainath Nagar, Tirupati – 517 102 Sree Sainath Nagar, Tirupati – 517
102

ii
INTERNAL EXAMINER EXTERNAL
EXAMINER

iii
CERTIFICATE

iv
ABSTRACT
Salesforce Administrator is brought in collaboration with NASSCOM Future
Skills. It is a career building for students, job seekers, and mid-career
professionals looking to up-skill and enhance career prospects. We can learn
in-demand Salesforce skills, earn credentials and connect to opportunities in
the Salesforce ecosystem. Salesforce is one of the world’s first cloud-based
CRM software companies. Salesforce solves the problems of lagging innovation
and a lack of mobile specialists with a revolutionary approach to app
development for the social and mobile-first world.
Through salesforce Administrator we can solves business problems by
customizing the Salesforce Platform. They build, configure, and automate
technology solutions to deliver business value. Salesforce Administrators work
with stakeholders to define system requirements and customize the platform.
Most importantly, they enable users to get the most out of Salesforce
technology. A Salesforce Admin best understands how to make the platform
work for their company’s goals. Some organizations may employ just one
admin; some employ many people in this role. Core responsibilities include
supporting users, managing data, maintaining security standards, and
delivering actionable analytics. A Salesforce Administrator’s colleagues can
rely on them to:
Maintain the platform, Make it as easy as possible for users of any technical
level to use Salesforce
Stay updated on the platform’s new tools, capabilities, and updates. Think of
Salesforce Administrators as your trusted advisors on all things Salesforce.
They are a vital bridge between business and technology. In some
organizations, administrator jobs are combined with other roles. Depending on
their needs, some hire for this role specifically. Because of our platform’s
capabilities, having someone with an admin certification (more on that in a
minute) can ensure the company is using the platform to its fullest
potential.Take, for example, your sales team. They might use Sales Cloud to
keep track of opportunities and close deals. With the help of a Salesforce
Admin, your salespeople can set up personalized dashboards, fields, alerts,

v
and reports to shorten the sales cycle and track every lead in greater detail.
This level of organization can lead to greater satisfaction among salespeople
and new customer.

Keywords: Salesforce Administrator, NASSCOM Future Skills, Career


building, Upskilling, Career prospects, In-demand skills, Credentials,
Salesforce ecosystem, Cloud-based CRM, Innovation, Mobile
specialists, App development, Business problems.

vi
TABLE OF CONTENTS

CERTIFICATE iii

ABSTRACT
iv

TABLE OF CONTENTS 1

LIST OF FIGURES 2

MODULE1: DATA SECURITY 03-


14

1.1 : OVERVIEW OF DATA SECURITY 04-05

1.2 : CONTROL ACCESS TO FIELDS 06-07

1.3 : CONTROL ACCESS TO RECORDS 08-10

1.4 : DEFINE SHARING RULES 11-14

MODULE 2: FLOW BUILDER 15-


27

2.1 : LEARN ABOUT FLOW RESOURCES AND VARIABLES 16-17

2.2 : CREATE A VARIABLE 18-19

2.3 : ADD SCREENS TO YOUR FLOW 20-23

2.4 : ADD LOGIC TO YOUR FLOW 24-25

2.5 : ADD ACTIONS TO YOUR FLOW 26- 27

MODULE 3: DATA MODELING


28-37

3.1 : UNDERSTAND CUSTOM AND STANDARD OBJECTS 29-31

3.2 : CREATE OBJECT RELATIONSHIPS 32-33

3.3 : WORK WITH SCHEMA BUILDER 34-37

MODULE 4: DATA MANAGEMENT 38-41

4.1 : DATA IMPORT 39-40

4.2 : DATA EXPORT 41


1
CONCLUSION
42

2
List Of Figures

S.NO Figure Page No


Name
1 Fig: 1.3.1 : Visibility hierarchy 9

2 Fig: 1.3.2 : Settings for objects in sharing 10


model
3 Fig: 1.4 : Image of Public Groups 12

4 Fig: 2.1 : Screen Elements 20

5 Fig: 2.2 : Name Component 21

6 Fig: 2.3 : Account Component 22

7 Fig: 2.4 Toggle Component 23

8 Fig: 3.1 : Brief Look of property Tab 31

9 Fig: 3.2 : Offer ID’S of property Object 32

10 Fig: 3.3 : Search bar 34

11 Fig: 3.4 : Overview Of Schema Builder 35

12 Fig: 3.5 : Tab of Object Manager 36

3
MODULE-1
DATA SECURITY

4
1.Data Security - Agenda

1.1 Overview of Data Security


1.2 Control Access to Fields
1.3 Control Access to Records
1.4 Define Sharing Rules

1.1 Overview of Data


Security

1.1.1 Introduction
Choosing the data set each user or group of users can see is one
of the key decisions that affects the security of your Salesforce
org or app. Once you’ve designed and implemented your data
model, give some thought to the kinds of things your users are
doing and the data they need to do it. If you haven't completed
the Data Modeling module, go ahead and earn that badge before
continuing with this module.

Let’s say you’re building a recruiting app to help manage open


positions, candidates, and job applications. You’ll have to store
confidential data, such as social security numbers, salary
amounts, and applicant reviews, that only some types of users
should see. You’ll want to secure the sensitive data without
making life harder for recruiters, hiring managers, and
interviewers.

With the Salesforce platform’s flexible, layered sharing model,


it’s easy to assign different data sets to different sets of users.
You can balance security and convenience, reduce the risk of
stolen or misused data, and still make sure all users can easily
get the data they need.

The platform makes it easy to specify which users can view,


create, edit, or delete any record or field in the app. You can
control access to your whole org, a specific object, a specific

5
field, or even an individual record. By combining security controls
at different levels, you can provide just the right level of data
access to thousands of users without having to specify
permissions for each user individually.

 Levels of Data Access

You can control which users have access to which data in your
whole org, a specific object, a specific field, or an individual
record.

 Organization
For your whole org, you can maintain a list of authorized users,
set password policies, and limit logins to certain hours and
locations.

 Objects
Access to object-level data is the simplest thing to control. By setting
permissions on a
particular type of object, you can prevent a group of users from creating,
viewing,
editing, or deleting any records of that object. For example, you can use object
permissions
to ensure thatinterviewers can view positions and job applications but not edit
or delete them objects that users can access
and the permissions they have for each object. You can also use permission
sets and
permission set groups to extend access and permissions without modifying
users' profiles.

1.1.2 Records
You can allow particular users to view an object, but then restrict
the individual object records they're allowed to see. For example,
an interviewer can see and edit her own reviews, but not the
reviews of other interviewers. You can manage record-level
access in these four ways.

6
 Organization-wide defaults specify the default level of access
users have to each others’ records. You use org-wide sharing
settings to lock down your data to the most restrictive level, and
then use the other record-level security and sharing tools to
selectively give access to other users.
 Role hierarchies give access for users higher in the hierarchy to
all records owned byusers below them in the hierarchy. Role
hierarchies don’t have to match your organization chart exactly.
Instead, each role in the hierarchy should represent a level of
data access that a user or group of users needs.
 Sharing rules are automatic exceptions to organization-wide
defaults for particular groups of users, so they can get to records
they don’t own or can’t normally see. Sharingrules, like role
hierarchies, are only used to give additional users access to
records. Theycan’t be stricter than your organization-wide default
settings.
 Manual sharing allows owners of particular records to share
them with other users. Although manual sharing isn’t automated
like org-wide sharing settings, role hierarchies, or sharing rules, it
can be useful in some situations, such as when a recruiter going
on vacation needs to temporarily assign ownership of a job
application to someone else. Controlling Data Access with the
Salesforce Platform

7
1.2 Control Access to
Field Modify
1.2.1 Field-Level
Security
Defining field-level security for sensitive fields is the second
piece of the security and sharing puzzle, after controlling object-
level access.

In some cases, you want users to have access to an object, but


limit their access to individual fields in that object. Field-level
security settings—or field permissions—control whether a user
can see, edit, and delete the value for a particular field on an
object. These are the settings that allow us to protect sensitive
fields such as a candidate's social security number without
having to hide the candidate object.

Unlike page layouts, which only control the visibility of fields on


detail and edit pages, field- level security controls the visibility of
fields in any part of the app, including related lists, list views,
reports, and search results. In fact, to make absolutely sure that
a user can't access a particular field, it's important to use the
field-level security page for a given object to restrict access to
the field. There are simply no other shortcuts that provide the
same level of protection for a particular field.

For example, here are some field-level security settings you can
set for the example Recruiting app.

 Position object—hide minimum and maximum pay from


standard employees and interviewers.
 Candidate object—hide social security numbers from
hiring managers and interviewers.
 Job Application object—make the Position and Candidate
lookup fields read-only forhiring managers.
Field settings can be applied either by modifying profiles or
permission sets or from the Field Accessibility menu in Setup.

8
After setting field-level security for users, you can:

 Create page layouts to organize the fields on detail and edit pages.
 Verify users’ access to fields by checking the field accessibility.
 Customize search layouts to set the fields that display in search
results, in lookup dialogsearch results, and in the key lists on
tab home pages.

1.2.2 Restrict Field Access with a Profile


You apply field settings by modifying profiles or permission sets.
Let’s try restricting a user’s general access with a profile. Then
we can expand it as needed with a permission set.

1. From Setup, in the Quick Find box, enter Profiles, and then select Profiles.
2. Select the profile you want to change.
3. Click Object Settings and select the object for which you
want to update the field settings.
4. Click Edit.
5. Under Field Permissions, for each field, specify the kind of access
you want for users with this profile, and save your settings.

Now that you’ve set field-level security for sensitive data, you can create
page layouts to

organize the fields for users’ convenience, and customize how


the fields display in search results and lists. For the final piece of
the puzzle, specify the individual records to which each user
needs access. By combining security controls at all three levels,
you can set up a highly secure data access model which is
flexible enough to meet the needs of many different types of
users.

1.2.3 Add Field Access with a Permission Set


Let’s look at how field settings can be applied by modifying
permission sets. Remember, a permission set is for expanding a
user’s access to fields that are restricted in their profile. We
worked with permission sets when we set up our custom objects.
9
Now we'll go back to that Setup page to make sure the right
fields in one of our objects are available to the users who need
them.

Going back to our Recruiter app example, let's set up our


interviewers to update the candidate record when they've
interviewed a candidate. (Remember that since this is an
example, you won't see this app or the Candidate object in your
org.) We’ll assume our interviewers have the Standard User
profile.

1. From Setup, in the Quick Find box, enter Permission Sets, and then select
Permission Sets.
2. Select a permission set and click Object Settings.
3. Click the object you're working with, then click Edit. In this
example, we're modifying the Candidate object.
4. Under Field Permissions, specify the kinds of access your interviewers need,
then save.

1.3 Control Access


to Records

1.3.1 Record
Level
Security
To control data access precisely, you can allow particular users
to view specific fields in a specific object, but then restrict the
individual records they're allowed to see.

Record access determines which individual records users can


view and edit in each object they have access to in their profile.
First ask yourself these questions:

 Should your users have open access to every record, or just a subset?
 If it’s a subset, what rules should determine whether the user can access
them?
10
For our example Recruiter app, let’s say you create a new profile
called Recruiter to give recruiters the object-level permissions
they need. You restrict the power to delete recruiting- related
objects, so recruiters will never be able to delete these objects.
However, granting recruiters permission to create, read, or edit
recruiting objects does not necessarily mean recruiters can read
or edit every record in the recruiting object. This is a
consequence of two important concepts:

 The permissions on a record are always evaluated according to


a combination of object-level, field-level, and record-level
permissions.
 When object-level permissions conflict with record-level
permissions, the most restrictive settings win.

That means even if you grant a profile create, read, and edit
permissions on the recruiting objects, if the record-level
permissions for an individual recruiting record

You control record-level access in four ways. They’re listed in


order of increasing access. You use org-wide defaults to lock
down your data to the most restrictive level, and then use the
other record-level security tools to grant access to selected
users, as required.

 Org-wide defaults specify the default level of access users have to each
other’s records.
 Role hierarchies ensure managers have access to the same
records as their subordinates. Each role in the hierarchy
represents a level of data access that a user or group of user’s
needs.
 Sharing rules are automatic exceptions to org-wide defaults
for particular groups of users, to give them access to records
they don’t own or can’t normally see.

11
 Manual sharing lets record owners give read and edit
permissions to users who might not have access to the
record any other way.

Fig 1.3.1 : Visibility hierarchy

The visibility and access for any type of data is determined by


the interaction of the above security controls, based on these
key principles.

 A user’s baseline permissions on any object are determined by their profile.


 If the user has any permission sets assigned, these also
set the baseline permissions in conjunction with the
profile.
 Access to records a user does not own are set first by the org-wide defaults.
 If the org-wide defaults are anything less than Public
Read/Write, you can open accessback up for certain roles using
the role hierarchy.
 You can use sharing rules to expand access to additional groups of users.
 Each record owner can manually share individual records with
other users by using theShare button on the record.

You’ve already seen how to configure object-level and field-level


access using profiles and permission sets. Now we’ll look at
details of the various record-level security controls

12
1.3.2 Org-Wide Sharing
Org-wide defaults specify the baseline level of access that the
most restricted user should have. Use org-wide defaults to lock
down your data, and then use the other record-level security and
sharing tools (role hierarchies, sharing rules, and manual sharing)
to open up the data to users who need it.

Object permissions determine the baseline level of access for all


the records in an object. Org- wide defaults modify those
permissions for records a user doesn't own. Org-wide sharing
settings can be set separately for each type of object.

Org-wide defaults can never grant users more access than they have
through their object
permission.

Fig 1.3.2 : Settings for objects in sharing model

13
Based on your answers, you can set the sharing model for that object to one
of these settings.
 Private
Only the record owner, and users above that role in the
hierarchy, can view, edit, and report on those records.

 Public Read Only


All users can view and report on records, but only the owner, and
users above that role in the hierarchy, can edit them.

 Public-Read/Write
All users can view, edit, and report on all records.

 Controlled-by-Parent
A user can view, edit, or delete a record if she can perform that
same action on the object it belongs to.

When the org-wide sharing setting for an object is Private or


Public Read Only, an admin can grant users additional access
to records by setting up a role hierarchy or defining sharing rules.
Sharing rules can only be used to grant additional access.

1.4 Define Sharing Rules


1.4.1 Extend Access with Sharing Rules

Your org-wide default sharing settings give you a (relatively


restrictive) baseline level of access for each object. If you have
org-wide sharing defaults of Public Read Only or Private, you can
open access back up for some users with sharing rules. This
enables you to make automatic exceptions to your org-wide
sharing settings for selected sets of users.

Sharing rules can be based on who owns the record or on the


values of fields in the record. For example, use sharing rules to
extend sharing access to users in public groups or roles. As with
role hierarchies, sharing rules can never be stricter than your
org-wide default settings. They just allow greater access for
particular users.
14
Each sharing rule has three components.

1.4.2 Define a Public Group

Before creating a sharing rule, it’s important to set up the


appropriate public group. A public group is a collection of
individual users, other groups, individual roles or territories,
and/or roles or territories with their subordinates that all have a
function in common. For example, users with the Recruiter
profile as well as users in the SW Dev Manager role both review
job applications.

Using a public group when defining a sharing rule makes the rule
easier to create and, more important, easier to understand later,
especially if it's one of many sharing rules that you're trying to
maintain in a large organization. Create a public group if you
want to define a sharing rule that encompasses more than one or
two groups or roles, or any individual.

1. From Setup, in the Quick Find, enter Public Groups, and then select Public
Groups.

Fig 1.4 : Image of Public Groups

2. Click New.
3. Give your group a label. The Group Name text box populates
15
automatically when you click it. This is the unique name used by
the API and managed packages.
4. In the Search drop-down list, choose from which individual
users, other groups, or roles you’ll select users, and whether their
subordinates are included. You can includea combination of
member types in your public groups.
5. In the Available Members list, select users, then click Add.
6. Click Save.
Once you’ve defined your group, you can use it to define sharing rules.

1.4.3 Public Groups for the Recruiting App


Looking at the required permissions that we want to implement
for our Recruiting app, there are just two objects that need a
public group for their sharing rules: Job Application and Review.
The good news is that we can cover these objects in a single
group because the Review object is on the detail side of a
master-detail relationship, so it inherits the sharing settings we
apply to the Job Application object.

Since both recruiters and hiring managers need read and update
access to job applications and reviews, we can define a public
group called Reviewers that includes both recruiters and hiring
managers. In this group, we add the SW Dev Manager, Director
Product Management, and Director QA roles, and the role and
subordinates of the Recruiting Manager.

1.4.4 Define a Sharing Rule


You can define a sharing rule for a single public group, role, or
territory. You can also define a sharing rule for a role plus its
subordinates or for a territory plus its subordinates.

1. From Setup, in the Quick Find box, enter Sharing Settings, and
then select Sharing Settings. This is the same page used to
define org-wide defaults.
2. In the Manage sharing settings for drop-down list, choose the
16
object for which to create the sharing rule. Choosing an object in
this drop-down list allows you to focus in on the org-wide defaults
and sharing rules for a single object at a time rather than
looking at all of them in a long page—a useful thing if you've
got a large org with multiple custom objects.
3. In the Sharing Rules area, click New and give your rule a label.
The Rule Name text box populates automatically when you click
it.
4. For the rule type, you can choose whether the sharing rule is
based on the owner or based on criteria that records must match
to be included. For this sharing rule,select Based on record
owner.
5. For Select which records to be shared, select a category
from the first dropdown list, and a set of users from the second
dropdown list or lookup field.
6. For Select users to share with, specify the users who get access to the
data.
7. Select a sharing access setting.
8. Click Save.

1.4.5 Sharing Rules for the Recruiting App


For the Recruiting app, we need a rule that shares reviews
written and owned by any member of the org with all recruiters
and hiring managers. We’ll create a sharing rule that applies to
both the Job Application and the Review objects.

17
MODULE-2

18
FLOW BUILDER

2.The Flow Builder-Agenda


2.1 Learn About Flow Resources and Variables
2.2 Create a Variable
2.3 Add Screens to Your Flow
2.4 Add Logic to Your Flow
2.5 Add Actions to Your Flow
2.1 Learn About Flow Resources and Variables
 Learning Objectives
After completing this unit, you'll be able to:

• List the resources available in Flow Builder.


• Describe what a flow variable is.

19
2.1.1 Flow Resources
In flows, resources are placeholders similar to merge fields in
an email template or a formula. Let's say you start an email
with Hi, {!$User.FirstName}. {!$User.FirstName} is a
placeholder, so when the email is sent, it displays the actual
first name of the user. In each step of the flow (the elements
added to the canvas), you can reference flow resources
instead of manually entering values.

Let's go over the basic kinds of flow resources available in Flow Builder.

• Constant represents a fixed value, such as a tax rate.


• Choice, Picklist Choice Set, or Record Choice Set
represents an option in a screen component. With the
choice resource, you explicitly set each option's label
and value. Choice sets, on the other hand, generate
choices for you by using a filtered list of records or the
values of a picklist (or multi-select picklist) field in your
org.
To generate an option for each account record in your
org, the record choice set uses the default filters. Every
choice consists of two components: a label to display in
the screen component, and a value to use when the
choice is referenced elsewhere in the flow. The way this
record choice set is configured, the screen component
displays the account name for each option.

When the flow user selects an account:

o The value of the screen component is set to


the choice value : the ID of the selected
account.
o The selected account ID is stored in the {!contact.AccountId}
record
variable .
20
• Formula represents a calculated value, similar to a
formula field. For example, create a formula that
calculates 30 days from today, then reference that
formula to set an opportunity close date.

• Text Template represents some formatted text. For


example, format the body of an email or Chatter post
in a text template, then reference the text template in
the appropriate action.
• Variable represents a value that can change throughout
the flow. We're going to spend the rest of this unit
diving deep on variables.

2.1.2 Introducing Variables


The word variables can make you think of algebra classes or
writing code in some scary language like Apex. However,
they're an important thing to understand when you're building
flows. Don't worry, no programming (or math) experience
required.

Simply put, a variable is a placeholder for a value you don't know


yet. Every flow resource is a placeholder, but variables are the
only resource that can change during the flow, hence the name
“variable.” In fact, Flow Builder includes the Assignment element
just for updating the values of variables. Watch a quick video for
more information on what a variable is.

2.1.3 When Do I Create a Variable?


Use a variable when a value can differ based on certain
conditions. Perhaps the value depends on which record the
flow operates on, or perhaps it depends on the result of some
logic in the flow.

You can't reference a field from a Salesforce record directly,


so the field value must be stored in the flow using a variable.
21
Flow elements that can pull data into the flow, such as a Get
Records element or a Post to Chatter core action, always
prompt you to store that data in a variable.

2.2 Create a Variable


 Learning Objectives
After completing this unit, you'll be able to:

• Create a flow variable.


• Define input and output variables.

What type of data should the variable store?

Data Type Use to store


Text IDs, descriptions, and other text or
long text data.
Record Field values from a record, such
as an opportunity. When this data
type is selected, you create a
record
variable.
Number A numeric value.
Currency A currency value.
Boolean A yes/no value, such as whether
a checkbox was selected.
Date A date value.
Date/Time A date and time value.
Picklist A picklist value.
Multi-Select Picklist Picklist values, separated by
semicolons.
Apex-Defined Field values from an Apex class.
When this data type is selected,
you create an Apex-defined
22
variable.

2.2.1 How many values should the variable store?


By default, variables store one value that's compatible with
the selected data type. If the data type is Number, the
variable stores one numeric value. If the data type is Record,
the variable stores field values for one record.

But what if you need to store multiple values in one variable,


such as multiple email addresses? When you create a
variable, you can enable it to do just that with the Allow
multiple values checkboxes. When that option is selected, you
create a collection variable.

2.2.2 Should the value be available from outside the flow?


Each variable in your flow gets its value from somewhere.

Some variables get their values from inside the flow, such as
when the user enters something in a screen component or the
flow looks up field values from a record.

Other variables get their values from outside of the flow—


namely, from whatever started the flow. For example, if you
distribute a flow on an Account record page, you can pass
the account's ID into the flow by using the flow's input
variables. An input variable is a variable that has

the Available for input checkbox selected.

If whatever starts the flow should be able to set the value of a


variable, make sure the variable is available for input.

When you configure your variable, you see another


checkbox: Available for output. When selected, you've

23
created an output variable, which means the value is
accessible to something outside the flow. Output variables
are too advanced for this module, so we won't go into much
detail about them here. When in doubt, don't make your
variable available for output.

2.3 Add Screens to Your Flow


 Learning Objectives
After completing this unit, you'll be able to:

• List the types of components you can add to


screens.
• Add a confirmation screen to a flow.
2.3.1 List the types of components you can add to screens.
 The Screen Element

Fig 2.1 : Screen Elements

24
1. Screen Components Pane (1): The left-side pane displays all the
screen components available in your org. Click and drag a
component to add it to the screen. Tip: Use the search field to
easily find the screen component you need.
2. Screen Canvas (2): The canvas is where you build your screen.
Drag components to arrange them in the right order.
3. Properties Pane (3): Depending on the canvas selection, the
properties pane shows either the screen's properties or the
properties of the selected component. To view or modify the
screen properties, click the header or footer in the canvas. The
screen properties include whether to display the header, footer, or
particular navigation options.

 Name Component

25
Fig 2.2 : Name Component

• The component isn't disabled, nor is it read-only.


• The component displays fields for only First Name and
Last Name. (The Name component can also display
other name fields like Middle Name.) If your project's
Name component displayed a field for Salutation, the
options would be Mr., Mrs., and Ms.
• The label for the component is Name.

You need to be able to reference the user-entered values for


First Name and Last Name in other parts of the flow. Enter the
Store Output Values section.

The First Name and Last Name values are stored in fields on the {!contact}
record variable.

 Account Component

Fig 2.3 : Account Component

• The component label is Account (1).


26
• The component supports only Text choices and choice sets (2).
• The choices are generated using the “accounts” record choice set
(3).

 Toggle Component

Fig 2.4 : Toggle Component

• The text displayed next to the toggle is, “If this contact
already exists, update the existing record.”
• When the toggle is activated, its label is Update existing.
• Otherwise, the toggle label is Create other contact.

2.3.2 Add a Confirmation Screen


1. If you haven't already, open the "New Contact"
flow that you created in the Build a Simple Flow
project. Ensure the Freeform option is selected.
2. Drag a Screen element onto the canvas.
3. Give the screen a label and confirm.
4. Scroll or tab to the Configure Footer section, then
select the Hide Previous radio button. Leave the other
screen properties as is.
27
5. Add a Display Text component to the screen. From
the screen components pane, search for Text and
drag Display Text onto the canvas.
6. Give the Display Text component an API name:
confirmation_message. Now let's craft a message that
thanks the user and confirms what the flow did. This
flow has multiple branches. It either creates a new
contact or updates an existing one. Ideally the
confirmation messages is either, “Thanks! The contact
was created.” or “Thanks! The contact was updated.”
To provide custom confirmation messages, you can:
o Create one static confirmation message that
works for all possibilities. For example,
Thanks! The contact was created or updated.
This option is easy, although the user will
immediately wonder, Well… which one?
o Create a dynamic confirmation message that
changes depending on the outcome of the flow.
o Create a separate confirmation screen for each possibility.
7. Because only one-word changes between the two
messages, all it takes to make a dynamic
message work is a simple formula.
8. In the text box, enter Thanks! The contact was XYZ.

2.4 Add Logic to Your Flow


 Learning Objectives
After completing this unit, you'll be able to:

o List the logic elements available in Flow Builder

o Add branching logic to a flow.

o Change a variable value in a flow.

28
2.4.1 Create a New Decision
1. Drag a Decision element onto the canvas.
2. Give the decision a label: Update If Existing? The
API Name is automatically set to Update_If_Existing.
3. Give the first outcome the label Yes. Update the API
Name to Update_Yes. This way, the label for the
decision connector is easy to read, but you can easily
differentiate the name of that outcome from others in
the Manager tab.

4. Leave When to Execute Outcome as is, and configure


one condition for the outcome. Note: You can't copy
and paste the Resource value. Type update_to into
Resource, click on update_toggle >, then select Value.
5. Under Outcome Order, click Default Outcome.
Change its label to No. If you leave the outcome label
as Default Outcome, it might not be obvious when
that outcome is executed.
6. Click Done.

2.4.2 Update the Original Decision

1. Double-click Update or Create?


2. Find the condition that matches what you added to the
Update if Existing? decision. The Resource field should
contain {!update_toggle.value}.
3. For that condition, click the trash icon.
4. Click Done.

2.4.3 Reconnect the Elements

1. Remove the connector between Contact Info and Find a Match.


a. Click the connector. When it's highlighted, the color changes to

29
blue.
b. Press the Delete key.
2. Connect Contact Info to Update If Existing?
3. Connect Update If Existing? to Find a Match. When
prompted, select the Yes outcome, and click Done.
4. Connect Update If Existing? to Create Contact. Since
there's only one outcome left to connect (No), Flow
Builder automatically selects it for you.
5. Connect Create Contact to Confirm.
6. Save the flow, and ignore the FYI warning.

2.5 Add Actions to Your Flow


Learning Objectives
After completing this unit, you'll be able to:

1. List the actions available in Flow Builder.

2. Understand when to use a record variable in a data element.

3. Configure a Post to Chatter core action.

2.5.1 Add a Post to Chatter Action


1. Drag an Action element onto the canvas.
2. For Action, enter chatter and select Post to Chatter.
3. Give the action a label: Post to Contact’s Feed.
4. Set the action's inputs. The input values identify the
message to post and which Chatter feed to post it to.
For this use case, you only set the required inputs.
a. For Message, click New Resource and select Text
Template. Text templates are useful resources

30
for adding merge fields or HTML formatting to
some text.
b. Name the text template Chatter Message.
c. For Text Template:
i. Click the down arrow and select Plain Text.
ii. Enter The contact was.
iii. In the resource picker, enter created
and select the formula you created
earlier: created_or_updated.
iv. Add a period to finish that sentence.
d. Here's the final text template: The contact was {!
created_or_updated}.
e. Click Done.
f. Make sure message is set to the text template you created.
g. For Target Name or ID, enter{!contact.Id}, and select the Id
field.
h. Click Done.

2.5.2 Connect the Elements


The last step is connecting the action to the rest of the flow
so the Chatter post is created when the flow runs. Let's place
the action before the confirmation screen, so the
confirmation is the last step in the flow.

1. Connect the Create Contact and Update Contact


elements to the Post to Chatter core action.
2. Connect the Post to Chatter core action to the Confirm screen.
3. Save the flow, and ignore the warning.

31
MODULE-3
32
DATA MODELLING

3.Data Modelling-Agenda
3.1 : Understand Custom and
Standard Objects. 3.2: Create Object
Relationships.
3.3: Work with Schema Builder.

3.1 : Understand Custom and Standard Objects

Learning Objectives

i. After completing this unit, you’ll be able to:


ii. Describe the perks of using objects on the Salesforce platform.

33
iii. Explain the difference between standard objects and custom objects.
iv. List the types of custom fields an object can have.

3.1.1 Create a Custom Object


DreamHouse is a realty company that provides a way for customers to shop for homes
and contact real
estate agents online. DreamHouse brokers use some of Salesforce’s standard
functionality,like contacts and
leads, to track home buyers. But when it comes to selling houses, there’s lot morethings
they want to track.
For example, Salesforce doesn’t include a standard way to track properties.
How is DreamHouse supposed to know which homes they have for sale or how much
each home costs?
Luckily, the Salesforce admin, D’Angelo, knows that the Salesforce platform offers a
solution.
We’ll work with D’Angelo to see what he’s building.
Let’s start with the data model. A data model is more or less what it sounds like. It’s a
way to model what database tables look like in a way that makes sense to humans. If
you’re not familiar with databases, think
about storing data in spreadsheet.
Columns can store the address, cost, and other important attributes. Rows can store this
information for
each property that DreamHouse is selling. Database tables are set up in a similar way. In
Salesforce, we
think about database tables as objects, we think about columns as fields, and rows as
records. So instead
of an account spreadsheet or table, we have an Account object with fields and a bunch of
identically
structured records.

Salesforce supports several different types of objects. There are standard objects,
custom objects, external objects platform events and Big Objects. In this module we
focus on the two most common types of objects: standard and custom. Standard objects
are objects that included with Salesforce. Common business objects

34
like Account, Contact, Lead, and Opportunity are all standard objects.

Custom objects are objects that you create to store information that’s specific to your
company or industry.
For DreamHouse, D’Angelo wants to build a custom Property object that stores
information about the homes
his company selling. Objects are containers for your information, but they also give you
special functionality. For example, when you create a custom object, the platform
automatically builds things like the page layout
for the user interface.

3.1.2 Create a Custom Field

The Property object we just created is pretty bare-bones. Let’s add some
custom fields to it. Head back to your Trailhead Playground.
1. From Setup, go to Object Manager | Property.

2. In the sidebar, click Fields & Relationships. Notice that there are
already some fields there. There’s a name field and some of the
system fields we talked about earlier.
3. Click New in the top right.
4. For data type, select Currency.
5. Click Next.
6. Fill out the following:
7. Field Label: Price
8. Description: The listed sale price of the home.
9. Check the Required box.
10. Click Next, Next again, and then Save.
3.1.3 Create a Record
Let’s create a property record to see what you did.

1. From the App Launcher (The App Launcher icon. in the navigation bar),
find and select Sales.
2. Click the Properties tab in the navigation bar. If you don’t see it, look
under the More dropdown.

35
3. Click New in the top corner.

4. Enter a name and price for the property


and click Save.
5. Awesome! You’ll see something like this

Fig 3.1 : Brief Look of


property Tab

36
3.2: Create Object Relationships
There are two main types of object relationships: lookup and master-detail.
 Lookup Relationships
In our Account to Contact example above, the relationship between the two objects is
a lookup
relationship. A lookup relationship essentially links two objects together so that you
can “look up” one
object from the related items on another object. Lookup relationships can be one-to-
one or one-to-many.
The Account to Contact relationship is one-to-many because a single account can
have many related
contacts. For our DreamHouse scenario, you could create a one-to-one relationship
between the
Property object and a Home Seller object.
 Master-Detail Relationships
While lookup relationships are fairly casual, master-detail relationships are a bit
tighter. In this type
of relationship, one object is the master and another is the detail. Master object
controls certain behaviour
of the detail object, like who can view the detail’s data. For example, let’s say the
owner of a property
wanted to take their home off the market. DreamHouse wouldn’t want to keep any
offers made on
that property. With a master-detail relationship between Property and Offer, you can
delete the property
and all its associated offers from your system.

For example, let’s say the owner of a property wanted to take their home off
the market. Dream House wouldn’t want to keep any offers made on that
property. With a master-detail relationship between Property and Offer, you can
delete the property and all its associated offers from your system.

37
Fig 3.2 : Offer ID’S of property Object

3.2.1 Create a Custom Object


We’re ready to jump back in with D’Angelo to build some relationships
for the Dream House app. Let's say Dream House wanted a way to track
users who mark particular properties as favorites on their website. This
feature can help Dream House’s real estate brokers reach out to potential
home buyers.
To start, create a custom object called Favorite and add a field to the object.

1. Click the Object Manager tab.


2. Click Create | Custom Object in the top-right corner.
3. For Label, enter Favorite.
4. For Plural Label, enter Favorites.
5. Check the box for Launch New Custom Tab Wizard after saving this custom
object.
6. Leave the rest of the values as default and click Save.
7. On the New Custom Object Tab page, click the Tab Style field and select a style
you like.
8. Click Next, Next, and Save.

3.2.2 Create a Lookup Relationship


We’re going to create two custom relationship fields on the Favorite
object. First, let’s create a lookup relationship that lists the users who
38
select Favorite for a property.

From Setup, go to Object Manager | Favorite.


1. On the sidebar, click Fields & Relationships.
2. Click New.
3. Choose Lookup Relationship and click Next.
4. For Related To, choose Contact. For the purposes of DreamHouse,
contacts represent potential home buyers.
5. Click Next.
6. For Field Name, enter Contact, then click Next.
7. Click Next, Next, and Save.

3.2.3 Create a Master-Detail Relationship


Now, we’re going to create a second relationship field. We want a master-
detail relationship where Property is the master and Favorite is the detail.
1. On the Object Manager page for the custom object, click Fields & Relationships.
2. Click New.
3. Select Master-Detail Relationship and click Next.
4. For Related To, choose Property.
5. Click Next.
6. For Field Name, enter Property and click Next.
7. Click Next, Next, and Save.
8. Now, if you look at a Property record, you’ll see Favorites listed in the related tab

3.3 Work with Schema Builder


Learning Objectives
● Describe the advantages of using Schema Builder for data modeling.
● Use Schema Builder to create a schema for a given object model.
● Use Schema Builder to add a custom object to your schema.
● Use Schema Builder to add a custom field to your schema.
3.3.1 See Your Data Model in Action
By now, you and D’Angelo have created a handful of custom objects,
fields, and relationships. Your app’s data model is starting to get a little

39
more complicated.
Schema Builder is a tool that lets you visualize and edit your data
model. It’s useful for designing and understanding complex data models
like the one D’Angelo is building. Let’s take a look.
1. From Setup, search for and click Schema Builder in the Quick Find box.

Fig 3.3 : Search bar

2. In the left panel, click Clear All.


3. Check Contact, Favorite, Offer, and Property. You should have the
Favorite object from the previous unit, and the Offer and Property
objects from the previous challenges.
4. Click Auto-Layout.

40
Fig 3.4 : Overview Of Schema Builder
Notice that you can drag these objects around the canvas. This doesn’t
change your objects or relationships, but it can help you visualize your data
model in a useful way. Schema Builder is a handy tool for introducing your
Salesforce customizations to a co-worker or explaining the way data flows
throughout your system.

41
3.3.2 Create an Object with Schema Builder
You can also create objects using Schema Builder. If you prefer, you can
create objects in this visual interface if you’re designing your system and
want to be able to revise all your customizations on the spot. Let’s see
how it’s done.
1. In the left sidebar, click the Elements tab.
2. Click Object and drag it onto the canvas.
3. Enter information about your object. You can make it whatever you want!
4. Click Save.
Your new object appears in the Schema Builder. That was quick! Next, let’s add
some fields.
3.3.3 Create Fields with Schema Builder
Creating fields with Schema Builder is just like creating objects.
1. From the Elements tab, choose a field type and drag it onto the
object you just created. Notice that you can create relationship
fields, formula fields, and normal fields in Schema Builder.
2. Fill out the details about your new field.
3. Click Save.
Cool! If you go back through Object Manager, you’ll see your new
object shows up the same way your Property, Offer, and Favorite objects

do.

Fig 3.5 Tab of Object Manager

42
Sum it Up
We’ve learned a lot in this module. First, we talked about the data model and
the database. We covered objects, fields, and records and created some of
each for our DreamHouse app. Then we talked about relationships between
objects and how you can visualize your data model using Schema Builder.
As you start to dive into more advanced content, you’ll see
custom objects and fields everywhere. Before you know it, you’ll be a data
modeling pro. Happy building!

43
MODULE-4
DATA MANAGEMENT

44
4.1 IMPORT DATA
 Use the Data Import Wizard
Once you have created an export file and cleaned up the data for import,
follow these steps to import data using the Data Import Wizard.

1. Start the wizard.

 From Setup, enter Data Import Wizard in the Quick Find box, then
select Data Import Wizard.
 Review the information provided on the welcome page, then
click Launch Wizard!
2. Choose the data that you want to import.

 To import accounts, contacts, leads, solutions, person accounts, or


campaign members, click Standard Objects. To import
custom objects, click Custom Objects.
 Specify whether you want to add new records to Salesforce,
update existing records, or add and update records
simultaneously.
 Specify matching and other criteria as necessary. Hover over the
question marks for more information about each option.
 Specify the file that contains your data. You can specify your data
file by dragging the CSV to the upload area of the page or by
clicking the CSV category you’re using and then navigating to and
selecting the file.
 Choose a character encoding method for your file. Most users
can accept the default character encoding.Click Next.

3. Map your data fields to Salesforce data fields. The Data Import Wizard
tries to map as many of your data fields as possible to standard
Salesforce data fields. If Salesforce can’t automatically map fields,
however, you do it manually. Unmapped fields are not imported into
Salesforce. To see a list of standard Salesforce data fields, from
Setup, at the top of the page, click Object Manager. Click the object
whose fields you’re interested in, and click Fields & Relationships. For

45
example, if you want to see a list of standard Salesforce fields for
leads, click Object
Manager | Lead | Fields & Relationships.

Scan the list of mapped data fields and locate any unmapped fields.

Click Map to the left of each unmapped field.

In the Map Your Field dialog box, choose the Salesforce fields you
want to map to and click Map. The Map Your Field dialog box also
gives you the option of saving data

 from unmapped fields in a general notes field for accounts and


contacts. To do so, choose Account Note or Contact Note from the
Map to drop-down list and click Map.
To change mappings that Salesforce performed automatically, click
Change to the left of the appropriate field, then choose the
Salesforce fields you want to map to and click Map.
Click Next.

4. Review and start your import.

 Review your import information on the Review page. If you still


have unmapped fields that you want to import, click Previous to
return to the previous page and specify your mappings.
 Click Start Import.
5. Check import status. From Setup, enter “Bulk Data Load Jobs” in the
Quick Find box, then select Bulk Data Load Jobs. The user who starts
the data import receives a status email when the import is completed.

4.2 Export Data


Follow these steps to export data using the Data Export Service.

1. From Setup, enter Data Export in the Quick Find box, then select
Data Export and Export Now or Schedule Export.
2. The Export Now option prepares your files for export immediately.
This option is only available if enough time has passed since your

46
last export.
3. The Schedule Export option allows you to schedule the export process
for weekly or monthly intervals.
4. Select the desired encoding for your export file.

1. If you want images, documents, attachments, and so on included in


your data, select the appropriate options.
2. Select Replace carriage returns with spaces to have spaces instead of
carriage returns or line breaks in your export files. This is useful if you
plan to use your export files for importing or other integrations.
3. If you're scheduling your export, select the frequency (only available
for organizations with monthly exports), start and end dates, and time
of day for your scheduled export.
4. Under Exported Data, select the types of data to include in your export.
We recommend that you select Include all data if you’re not familiar
with the terminology used for some of the types of data.
5. Click Start Export or Save. Salesforce creates a zip archive of CSV files
and emails you when it's ready. Exports will complete as soon as
possible, however we can't guarantee the date and time the export will
complete. Large exports are broken up into multiple files. Follow the
link in the email or click Data Export to download the zip file. Zip files
are deleted 48 hours after the email is sent.

47
CONCLUSION
In Salesforce Administrator by maintaining Data security and creating
a cross check on overview of security for data, and giving access for
fields to control, and maintaining Records with our own rule set will
give more Confidentiality for our data and data modeling, you’re
giving the HR team more bang for their buck with their recruiting
app. With consistent, complete data they can easily utilize and find at
a glance, they can add new talent to AW Computing faster than ever.
By utilising flow builder we can create an action which will make the
processing right for a particular activity. Before creating variables we
want to learn about them and must have a good idea where to use
them. By adding screen to our flows we can have the interface and
by adding logic to our process, we define the major part of the Flow
and it's an important one, At last the actions will boost the whole
process nearly to our desired results. Using these tools, you’ve
enabled the ops, sales, and service teams to do their jobs better and
more efficiently by customizing how they work with the important
data they need day to day. In Data management the Data Import
Wizard tool will help to map the data with their names. With all this
hard work, we have made a recruiting team. We’ve also made
Recruiting apps much more efficient. Now we have a more user-
friendly app and much easier access to the information we need to do
this job well.
REFERENCES

[1]. https://www.forcetalks.com/blog/sales-cloud-in-
salesforce-all-about-it/
[2]. https://www.forcetalks.com/blog/oauth-2-0-client-
credentials-flow- salesforce- developerguide/
[3]. https://www.forcetalks.com/blog/salesforce-crm-
implementation- challenges-and-solutions/
[4]. https://www.forcetalks.com/blog/managed-services-
the-go-to-model-for- salesforce- users/
[5]. https://www.forcetalks.com/videos/salesforce-salaries-
in-current-market/
[6]. https://www.forcetalks.com/videos/is-salesforce-
career-recession-proof/
[7]. https://www.forcetalks.com/blog/user-agent-flow-in-
salesforce-the-developerguide/
[8]. https://www.forcetalks.com/blog/how-salesforce-
mobile-app-can-help- your-business/
[9]. https://www.forcetalks.com/blog/learn-all-about-the-
lightning-web- components-in-salesforce/

49
[10]. https://www.forcetalks.com/blog/all-about-data-
modelling-in-salesforce/

50

You might also like