Professional Documents
Culture Documents
Pulkit Dhakar 18BCON697 Salesforce Practical
Pulkit Dhakar 18BCON697 Salesforce Practical
Pulkit Dhakar 18BCON697 Salesforce Practical
Chirag Sinvhal
17BCON060
Section B
6 56
KEEP DATA SECURE IN A RECRUITUNG APP APP
8 SECURITY SPECIALIST 84
Let's start by creating a custom object, Drink Orders, to store information about the orders we
plan to take.
◦ Label: Drink Order
◦ Object Name: Drink_Order
◦ Display Format: D-{0000}
◦ Starting Number: 1
◦ Under Object Creation Options (available only when a custom object is rst
created), select Launch New Custom Tab Wizard after saving this custom
object
5. Click Save.
This directs you to the New Custom Object Tab screen. Next, let's make the tab.
fi
Note: If the tab wizard didn't automatically launch, that's OK. Enter Tabs in Quick Find and
select Tabs. In the Custom Object Tabs section, click New.
3. Click Next, Next, and Save.
For avor, we can use a picklist eld. A picklist is like a dropdown menu, where you can choose
an item from a list.
4. Select Picklist and click Next.
◦ Field Label: Flavor
◦ Enter your avors, each on its own line. Choose any avors you want!
2. Select Picklist and click Next.
◦ Field Label: Size
◦ Enter your sizes, each on its own line. Choose any sizes you want!
Finally, we want create a eld to track the price for each order. In this instance, we use a currency
eld.
2. Select Currency and click Next.
◦ Field Label: Price
◦ Length: 10
◦ Decimal Places: 2
fi
fi
fi
fi
fl
fi
fi
fi
fl
fi
fi
fi
fi
fi
fi
fl
4. Leave everything else as is, and click Next, Next, and click Save.
Now you've got three elds to track avor, size, and price for your orders. Well done!
◦ App Name: Lemonade
◦ Click Next.
◦ Click Next on the next two screens (App Options and Utility Items).
◦ Select Items.
◦ Click Next.
◦
Select the System Administrator pro le, then click to move it to
Selected Pro les.
Now you're ready to start taking orders! First, let's open up our new Lemonade app. Click
the App Launcher and select Lemonade. There are two tabs in your Lemonade app: Drink
Orders and Reports.
fi
fi
fi
fi
fl
fi
fi
3. Click Save.
Reports in Salesforce help you keep track of important data. You can also translate them into
charts to show visualizations of your data.
For our lemonade stand, let's create a report that shows us our overall sales, organized by avor.
1. Click the Reports tab.
2. Click New Report.
4. Click Continue.
5. Enter Flavor in the column search and select Flavor to add the Flavor column to the
report. Similarly add Size and Price columns.
6.
7.
8.
9. In the Group Rows, enter Flavor and select Flavor to create a grouping.
10. Enable Update Preview Automatically in the upper-right side of the Report Builder.
fl
12. Optional: Click the Size column to sort the drink orders by size.
Well done! You have a great-looking report that shows a summary of your orders by avor, with
totals for each avor sold. Now we can add a chart to help visualize our orders.
fl
fl
Sometimes a picture really helps tell a story, and that's where Report Charts come into play. Let's
add a pie chart to shows our orders by avor.
1. Click the Chart icon .
◦ Value: Record Count
fl
Learning Objectives
Let’s work alongside D’Angelo to see how he builds the Property object. We need this object later,
so don’t skip these steps!
1. Scroll to the bottom of this page and create a trailhead playground. Don’t skip this step!
You need to use a fresh and clean Trailhead Playground for this module.
3. Click the gear icon at the top of the page and launch setup.
6. For Label, enter Property. Notice that the Object Name and Record Name elds auto- ll.
8. Prior to saving the custom object, scroll to the bottom of the page and select the
checkbox Launch New Custom Tab Wizard after saving this custom object.
10. On the New Custom Object Tab page, click the Tab Style eld and select a style you like.
The style sets the icon to display in the UI for the object.
ff
fi
fi
fi
fi
The Property object we just created is pretty bare-bones. Let’s add some custom elds to it. Head
back to your Trailhead Playground.
2. In the sidebar, click Fields & Relationships. Notice that there are already some elds
there. There’s a name eld and some of the system elds we talked about earlier.
5. Click Next.
a. Field Label: Price
7. Check the Required box.
You’ll see your new Price eld in the list of Property elds. In the Field Name column, notice that it
says Price__c. The “__c” part is an easy way to tell that a particular eld is a custom eld.
Create a Record
1. From the App Launcher ( in the navigation bar), nd and select Sales.
2. Click the Properties tab in the navigation bar. If you don’t see it, look under
the More dropdown.
Learning Objectives
fi
fi
fi
fi
fi
fi
fi
fi
fi
• De ne the di erent types of object relationships and their typical use cases.
We’re ready to jump back in with D’Angelo to build some relationships for the DreamHouse app.
Let’s say DreamHouse wanted a way to track users who favorite properties on their website. This
feature can help DreamHouse’s real estate brokers reach out to potential home buyers.
To start, create a custom object called Favorite and add a eld to the object.
5. Check the box for Launch New Custom Tab Wizard after saving this custom object.
7. On the New Custom Object Tab page, click the Tab Style eld and select a style you like.
8. Click Next, Next, and Save.
9. On the Object Manager page for the custom object, click Fields & Relationships.
10. Click New.
◦ Display Format: FA-{0000}
◦ Starting Number: 1
We’re going to create two custom relationship elds on the Favorite object. First, let’s create a
lookup relationship that lists the users who select Favorite for a property.
3. Click New.
5. For Related To, choose Contact. For the purposes of DreamHouse, contacts represent
potential home buyers.
6. Click Next.
Now, we’re going to create a second relationship eld. 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.
5. Click Next.
7. Click Next, Next, and Save.
Now, if you look at a Property record, you’ll see Favorites listed in the related tab.
1. From the App Launcher ( in the navigation bar), nd and select Sales.
2. Click the Properties tab in the navigation bar. If you don’t see it, look under
the More dropdown.
5. Click New.
fi
ff
fi
fi
fi
fi
fi
fi
WORK WITH SCHEMA BUILDER
Learning Objectives
1. From Setup, search for and click Schema Builder in the Quick Find
box.
3. Check Contact, Favorite, O er, and Property. You should have the Favorite object from the
previous unit, and the O er and Property objects from the previous challenges.
4. Click Auto-Layout.
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.
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 elds.
1. From the Elements tab, choose a eld type and drag it onto the object you just created.
Notice that you can create relationship elds, formula elds, and normal elds in Schema
Builder.
3. Click Save.
Cool! If you go back through Object Manager, you’ll see your new object shows up the same way
your Property, O er, and Favorite objects do.
fi
ff
ff
ff
fi
fi
fi
fi
fi
fi
fi
You've received a lot of requests from various stakeholders to analyze data in Salesforce. How do
you keep it all organized? Start by creating the necessary folders that can be shared with various
team members.
1. If you're not currently in the Sales app, click the App Launcher and select Sales.
2. Click the Reports tab.
5. Click in the Folder Unique Name text box to auto-populate the unique name. Don't worry,
the unique name of this folder isn't checked.
6. Click Save.
7. Repeat steps 3-6 to create the following folders as subfolders under the Global Sales
Report folder:
◦ Marketing Reports
◦ Adoption Reports
1. Click the Dashboards tab.
4. Click in the Folder Unique Name text box to auto-populate the unique name. Don't worry,
the unique name of this folder isn't checked.
5. Click Save.
2. Click the arrow to the right of the Global Sales Dashboards folder, and
select Share from the menu.
4. In the Search Roles... box enter and select Channel Sales Team, Eastern Sales Team,
and Western Sales Team.
8. Repeat steps 2-6 to share the Global Sales Reports folder. Note that the subfolders
Admin Lightning Experience Reports, Marketing Reports, and Adoption Reports will
automatically be shared with the same teams as their parent folder.
Adjust Settings
Before creating the rst report, you'll need to associate the role of CEO with your pro le so all
report data is viewable.
fi
fi
4. Click Save.
Next, edit the Close Dates for all of the existing opportunities. This is done so the correct data
appears when you run the current scal quarter report later in this project.
2. Click the Opportunities tab.
5. With all opportunities selected, rollover the Close Date for one of the opportunities and
click the pencil icon.
8. Click Apply.
Note: All of the opportunities should now have today's date as their Close Date.
1. Click the Reports tab.
2. Click New Report.
4. Click Continue.
fi
Next, you'll use the Lightning Report Builder—a visual editor for reports. The report builder screen
lets you work with report elds and lters, and shows you a preview of your report with just some
of the data.
• The Fields pane (1) displays elds from the selected report type, organized by folder. Find
the elds you want using the Quick Find box and eld type lters, then drag them into the
Outline pane or double click them to add them to your report.
• The Filters pane (3) allows you to set the view, time frame, and custom lters to limit the
data shown in a report.
• The Preview (4) o ers a dynamic preview that makes it easy for you to customize your
report. Add, reorder, and remove columns, summary elds, formulas, groupings, and
blocks. The preview shows only a limited number of records. Run the report to see all your
results.
2. In the Preview pane, click the arrow next to the Opportunity Owner column heading, and
then select Group Rows by This Field.
3. Click the Filters pane.
1. Click the Outline pane and click the Xnext to the following column headers to remove
them:
◦ Owner Role
◦ Fiscal Period
◦ Age
◦ Created Date
◦ Next Step
◦ Lead Source
◦ Type
2. Select Summarize.
3. Click Sum.
Save the report as Opportunities by Rep in the Global Sales Reports folder.
1. Click Save & Run, and then complete the Save Report details:
◦ Click in the Report Unique Name text box to auto-populate the unique name. Don't
worry, the unique name of this report isn't checked.
3. Click Save.
fi
fi
ff
fi
fi
fi
fi
fi
fi
fi
fi
Use Report Filters
You can add up to 20 additional lters to a report directly in the Filters pane using the Add button
or by dragging in elds from the Preview pane. In addition, you can also use lter logic using
“and,” “or,” and “not” operators. Let’s meet the needs of your next stakeholder, the VP of
Marketing, to see how lters and lter logic work.
He would like to see a list of all customer accounts based in Texas, North Carolina, Illinois, and
New York that have either a rating of Hot or Warm or an annual revenue over $2 million.
1. Click the Reports tab.
2. Click New Report.
3. In the Choose Report Type list, click All, and then select Accounts from the list that
appears.
4. Click Continue.
6. Click the Filters pane.
9. Click the Outline pane and select the X next to the following elds to remove these
columns from the report:
◦ Last Activity
13. Click and drag the Annual Revenue column so it is placed between the Account Name and
Billing State/Province columns.
1. Click the Filters pane.
5. Click Apply.
6. Repeat steps 2-5 above to create the following three additional lters:
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
1. Field 1. Operator 1. Value
7. Note: Annual revenue is two million (six zeros).In the Filters pane, click
8. In the Edit Filter Logic eld, change the logic to 1 AND 2 AND (3 OR 4) and click Apply.
Save the report as Central and Eastern Target Accounts in the Marketing Reports folder:
1. Click Save & Run, and then complete the Save Report details:
◦ Click in the Report Unique Name text box to auto-populate the unique name. Don't
worry, the unique name of this report isn't checked.
◦ For Report Description: Who are our important customers in the Central and Eastern
states?
3. Click Save.
Customize the Users Report Type to display users who have not logged in during the last seven
days:
1. Click the Reports tab.
2. Click New Report.
4. Click Continue.
6. Click the Outline panel.
fi
7. In the Add column... search box, enter login access, and then select Login Access Exp.
Date.
8. Click the Filters pane.
10. Under Date, click Last Login and select Login Access Exp. Date from the dropdown list.
12. In the Add lter... search box, enter Last Login, then select Last Login.
◦ Click Apply
14. Click Save & Run.
16. Click in the Report Unique Name text box to auto-populate the unique name. Don't worry,
the unique name of this report isn't checked.
17. For Report Description, enter Who hasn’t logged in the last 7 days?
18. Click Select Folder, choose Adoption Reports from the Global Sales Reports folder, and
click Select Folder.
19. Click Save.
One of the things that makes the Report Builder super easy to use is the ability to easily drag
groupings to move them between rows and columns in reports. We use a matrix style report to
display summaries from two or more levels of groupings in a grid. This allows you to display more
data in a smaller space and makes quick comparisons across groups.
Let’s get back to your VP of Sales who would like the Opportunities by Rep report to show
opportunities additionally grouped by Close Date and displayed in a table. No problem!
We’ll modify the Opportunities by Rep report to group by the calendar month of the Close Date:
1. Click the Reports tab.
2. Click All Folders.
6. In the Preview pane, click the arrow next to Close Date and select Group Columns
by This Field.
fi
fi
7. Click the arrow in the Close Date summary row, hover over Group Date By, and
then select Calendar Month.
8. At the bottom of the Preview pane slide the toggle next to Detail Rows and Stacked
Summaries to deselect them.
9. Click the arrow next to Save, and click Save As, then complete the Save Report
details:
◦ Click in the Report Unique Name text box to auto-populate the unique name. Don't
worry, the unique name of this report isn't checked.
◦ Report Description: What opportunities do your sales reps have in the pipeline and
when do they close?
11. Click Save.
12. Click Run.
Matrix reports are a useful way to view data, but what if you need to organize your groupings by
categories? That’s where bucketing comes in. Bucketing lets you segment your report data on the
y by de ning a set of categories, or “buckets,” to sort, group, or lter the records.
Let’s check out how bucketing works and ful ll one of your VP of Sales’ reporting needs. We’ll
create a matrix report again, but this time show opportunities by owner, stage, and size in the
pipeline this Fiscal Quarter.
1. Click the Reports tab.
2. Click New Report.
4. Click Continue.
6. Click the Filters pane.
9. Click the Outline pane and click the Xnext to the following column headers to remove
them:
◦ Owner Role
◦ Fiscal Period
◦ Age
◦ Created Date
◦ Lead Source
◦ Type
1. In the Outline pane, click the arrow next to Columns and click Add Bucket Column.
2. Remove current selection within the Field box, then search for and select Amount.
◦ Range: <=50000
◦ Name: Small
fl
fi
fi
fi
fi
fi
◦ Range: > 50,000 to 100000
◦ Name: Medium
6. For the third range (> 100,000), in the Name eld enter Large.
8. Click Apply.
1. In the Preview pane, click the arrow next to Opportunity Owner and select Group
Rows by This Field.
2. In the Preview pane, click the arrow next to Stage and select Group Rows by This
Field.
4. At the bottom of the Preview pane, slide the toggle next to Detail Rows, Subtotals, and
Grand Total to deselect them.
◦ Click in the Report Unique Name text box to auto-populate the unique name. Don't
worry, the unique name of this report isn't checked.
◦ Report Description: How big are the deals at each stage in the pipeline this FQ?
7. Click Save.
Summary formulas are a great way to calculate additional totals based on the numerical values in
your report. In addition to the standard summaries that we used in a previous step, you can add
up to ve summary formulas to summary and matrix reports to create calculated summaries of
your numerical elds. Your VP of Sales knows what each of her reps have in their pipelines;
however, she would also like to see how they’re closing deals. Let’s build a report to show how
her percentage of closed opportunities are actually being won.
Modify the Opportunities by Rep report to display closed opportunities by sales rep:
1. Click the Reports tab.
4. Select Closed then click Apply.
Add a custom summary formula to display the win rate by sales rep:
fi
fi
fi
1. Click the Outline pane
◦ Decimal Points: 2
4. Place the cursor in the Formula section and complete the details:
7. Click Apply.
Save the report as a new report called Sales Rep Win Rates in the Global Sales Report folder:
◦ Click in the Report Unique Name text box to auto-populate the unique name. Don't
worry, the unique name of this report isn't checked.
4. Click Save.
fi
ff
5. Click Run.
As good as Salesforce reports and dashboards are, it’s sometimes still helpful to export your data
and manipulate it in spreadsheet software. No problem! Salesforce allows you to export report
details in .CSV or .XLS formats. Use your favorite spreadsheet software to further manipulate the
data as needed. Note that the export will not have formatting, groupings, or subtotals.
Your CEO would like a printable, adjustable output of the Users Not Logged in Last 7 Days report.
1. Click the Reports tab.
2. Click Export.
4. Click Export.
5. Locate the le on your computer and open it. Note that the report data is displayed and
can be manipulated in the spreadsheet software and printed.
Report Charts
When it comes to reports and analyzing what seems like endless data, it can be information
overload. What if there was an easy way to get a visual summary of all that information? Enter
report charts and dashboards.
The Lightning Experience o ers enhanced data charts to summarize reported data. You can
adjust the chart type without making changes to the report itself.
Let’s see charts in action. Your CEO is so impressed with the work you’ve done, he’s asked for
something special. He wants a way to display sales rep performance graphically.
1. Click the Reports tab.
2. Click on Sales Rep Win Rates then click Add Chart to display a chart.
fi
fi
ff
fi
3. Click the gear icon in the upper right corner of the chart to open the chart editor.
Dashboards
Let’s take visualizing data a step further. The VP of Sales would like a Global Sales dashboard that
lets her see the key information at a glance. A dashboard is a visual representation of data from
multiple reports and does the following:
The dashboard editor in Lightning Experience gives you a responsive way of creating or editing
dashboards using drag-and-drop. Let’s take a look.
1. Click the Dashboards tab.
2. Click New Dashboard.
5. Click Create.
1. Click +Component.
◦ Title: Sales Pipeline
7. Click Add.
8. Click Save.
1. Click +Component.
4. Ensure Measure is set to Sum of Amount and Display Units is set to Shortened Number.
Leave the segment ranges set as is.
6. Click Add.
7. Drag the metric component to the right of the Opps by Rep vertical bar chart.
8. Click Save.
1. Click +Component.
2. In the report search bar, enter Sales Rep, click Sales Rep Win Rates, then click Select.
4. In the Columns section, click the Xnext to the following columns to remove them from this
component:
◦ Account Name
◦ Stage
◦ Expected Revenue
Note: Opportunity Name and Amount should be the only remaining columns.
6. Click Add.
7. Drag the Opportunities Won table to the right of the Total Open Opportunities metric, to
create a third dashboard column.
8. Click Save.
1. Click +Component.
2. In the report search bar, enter Sales Rep, click Sales Rep Win Rates, and then
click Select.
3. From the Display As menu, select the Gauge Component option. Leave the
Segment Ranges as is.
6. Click Add.
7. Drag the Company Win Rate gauge to the right of the Opportunities Won component, to
create a fourth dashboard column.
◦ You will need to resize the chart components to create four columns. Don't worry,
component arrangement on your dashboard is not checked when verifying this
step.
8. Click Save.
9. Click Done.
Salesforce provides standard objects and elds for common business record types, such as
accounts, leads, and contacts. But every organization is unique and needs a way to tailor how
data is stored. Ursa Major Solar is no di erent. Custom objects and elds give them a way to
manage and store data to best t their needs.
5.Select Launch New Custom Tab Wizard after saving this custom object. You’ll see why in a
minute.
6. Leave the rest of the values as they are, and click Save. Easy peasy, right?
fi
ff
fi
fi
1. Click the Tab Style lookup icon, and select the Sun color scheme and icon for the custom
tab.
2. Click Next, then Next again.
3. Choose the custom apps that you want the new custom tab to be available in. For now,
let’s make the tab visible for just the Sales users. Deselect Include Tab, and select
only Sales (standard__LightningSales).
4. Click Save.
Now you see the details of the Energy Audit custom object.
Maria’s not done yet. The Energy Audit object needs some custom elds so the Ursa Major
energy consultants can enter information about the audit. Besides needing the Account the audit
is associated with and how much energy the customer uses, the consultants also recommend
where to install the solar panels. Let’s start there.
The rst thing to consider when creating a custom eld is guring out what type of eld you need.
Let’s create a picklist eld so the consultants can choose from a list of solar panel installation
options.
5. Enter the picklist values, making sure to enter each one on a new line.
◦ Rooftop
◦ Carport
◦ Ground mounted
fi
fi
fi
fi
fi
fi
fi
6. Select Use rst value as default value, and then
click Next.
That one eld isn’t quite enough, though. The energy consultants also need to capture how much
the customer is paying each month and what their monthly energy usage is. They also need a
place to write up their audit evaluation. Let’s create a few more custom elds to let them do that.
Unless indicated otherwise in the Parameters column, leave each eld setting as-is.
Now the custom object is really taking shape. Nice work! And don’t forget that it’s easy to modify
an existing custom eld to t your needs at any time. Let’s say you want to sort your data even
more granularly. Or you want to change a text-entry eld to a picklist to clean up data for reports.
You can always come back and get things just right for your business needs.
An object is nothing without records to ll it out. Prior to implementing Salesforce, Ursa Major
Solar was tracking audits in a spreadsheet. Oh, the horror! Part of Maria’s job as the admin is to
enter those audit records into Salesforce. And, we use them later in the module. Let’s get to it.
fi
fi
fi
t
fi
fi
fi
fi
fi
fi
.
fi
fi
fi
1. From the App Launcher ( ), nd and select Energy Audits.
2. Click New.
◦ Type of Installation: Rooftop
1. Type of
1. Energy Audit 1. Average Annual 1. Annual Energy
Installati 1. Account
Name Electric Cost Usage (kWh)
on
Creating and editing a Lightning app is a cinch. As Ursa Major Solar’s admin, Maria needs an app
that puts everything about customer energy assessments at her consultants’ ngertips. Let’s dive
right in and try it out. In a few simple steps, you can give an app a name, set its primary color,
upload a logo, specify which items appear in the app’s navigation bar, and assign the app to user
pro les.
1. From the Home tab in Setup, enter App in the Quick Find box, then select App Manager.
3. Walk through the Lightning App Wizard, creating an app with these parameters.
1. Navigation 1. Home, Chatter, Groups, Energy Audits, Accounts, Contacts, Products, Tasks
items to include
in the app (in
this order)
Consultations.
6. Check out the new app! It’s got all the custom branding you gave it: a custom icon in the
upper left and the custom color you assigned to it. Because Home is rst in the navigation
fi
r
fi
fi
fi
bar, it becomes the rst page your users see when they open the
app.
When you create a custom object, it’s automatically assigned to a system default compact layout,
which has only one eld on it: the object name. Maria wants to call attention to the most
important elds on the object when her users view the audit records. Let’s make that happen by
creating a custom compact layout for the Energy Audit custom object.
1. First, nd and open the compact layouts node in Setup for Energy Audit.
2. You can see that the System Default compact layout is assigned as the primary compact
layout right now. We’re going to change that.
3. Click New.
b. Account
e. Type of Installation
6. Click Save.
Now let’s set the compact layout that you created as the primary compact layout for the
object. This step makes the compact layout the new default for the Energy Audit custom
object.
2. Click Lead Layout.
Now that we’ve opened the lead page layout, let’s make an update. As we all know, fax
machines are so last century. So let’s remove that eld.
fi
fi
fi
fi
fi
fi
fi
3. Drag the Fax eld o the page layout and back onto the palette.
4. Easy, right? Now, let’s make sure the sales reps don’t leave the Mobile eld blank. Let’s
make it a required eld.
5. Hover over the Mobile eld, then click the wrench icon.
7. Click Quick Save to save your changes without closing the page layout editor.
8. Nice work! You just removed a eld and made another eld required and you did it without
writing a single line of code.
Wondering what the icons mean to the left of some of the eld labels?
• ―The eld must have a value to save the record, but isn’t required on the page layout
itself.
• ―The eld must be included on the page layout because an administrator con gured
the eld as universally required or Salesforce automatically requires the eld. Although you
can’t remove such elds, you can move them to di erent locations.
You can assign page layouts to di erent user pro les. For example, you can create a customized
page layout for managers and another page layout for standard users. To change page layout
assignments, click Page Layout Assignment and then click Edit Assignment.
Maria wants to create an Energy Audit page layout just for her sales team so they can have the
necessary eld and related list information at their ngertips when they view the Energy Audit
records.
When the Energy Audit custom object was created, a system default Energy Audit page layout
was created too. Right now, everyone in the org who views an Energy Audit record sees the
information from that default layout. Maria is going to create a layout just for the sales people.
3. Click New.
You have two options at this point. You can create a page layout from scratch, or you can
choose an existing page layout to clone. Because Maria wants to build on what’s already
there for Energy Audit, she’s going to clone the default layout.
6. Click Save.
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
ff
fi
fi
fi
fi
ff
fi
fi
ff
fi
fi
fi
fi
fi
7. Scroll down to the Energy Audit Detail section.
Here’s a comparison of the page layout eld details and the Energy Audit elds with the
default con guration.
8. That right-hand column is almost empty, and the elds could be in a better order. Let’s x
that.
9. Move Audit Notes and Type of Installation to the right column, above Owner.
11.Click Quick Save.
Nice! But there’s more to do. Because Energy Audit is a custom object, it doesn’t have any
related lists...yet. Let’s add one.
13. In the palette, click Related Lists, and drag the Files element down to the Related Lists
section.
With the Files related list, Ursa Major Solar sales reps can add les to a record and see a
list of les associated with the record.
Maria wants Ursa Major Solar’s salespeople to see this new page layout. She’s going to assign it
to her sales team’s user pro le so when they view Energy Audit records, they’ll see the revised
view of the elds and the new related list. Let’s get started.
1. If you’re not already in the Energy Audit object, from Setup, click Object Manager |
Energy Audit.
2. Click Page Layouts, then Page Layout Assignment. You can see the list of pro les and
the page layout assigned to each one.
3. Click Edit Assignment.
5. From the Page Layout To Use eld, select Energy Audit Sales Layout.
6. Select the System Administrator row. Normally, Maria would select only the Custom:
Sales Pro le row, but since you’re logged in as a System Administrator, we select that too
so that you can check out how the new page layout looks.
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
7. From the Page Layout To Use eld, select Energy Audit Sales Layout, then click Save.
Let’s go see the results!
8. From the App Launcher, nd and select Energy Audits, then open an audit record. Look at
the Details tab. It’s more condensed and e cient now.
1. Before 1. After
1.
1.
2. Click the Files tab. Here, Maria can see the guidelines PDF she uploaded.
5. Click the carat next to Who Can Access to expand that section.
6. In the Public Link Sharing area, click Create Link. This generates a public URL for the le
that you can share with others, or in this case, add as a URL to a custom button or link. In
this example, the URL is https://ursamajorsolar.salesforce.com/sfc/p/R00000008nD1/a/
R000000007LK/8Z8auAJBSeSCzqQ8Kv9ofolIWi_jP13oR3LUUYuXc3A.
12. Paste the le URL into the large text box. Use everything after the domain portion of the
URL to create the custom link. Using this example, the link points to /sfc/p/
R00000008nD1/a/R000000007LK/
fi
fi
fi
fi
fi
ffi
fi
8Z8auAJBSeSCzqQ8Kv9ofolIWi_jP13oR3LUUYuXc3A.
13. You might be thinking to yourself: “OK, whoa! What’s all that formula-looking stu ? What
do I do with that?” That’s a version of Salesforce’s formula editor, and you use it to de ne
the properties of the button or link. For example, if your content source is URL as in this
case, this section is where you put the URL you want the button or link to point to. And,
you can add merge elds and operators to enhance the behavior of the button or link by
including data from Salesforce. For more information on merge elds and operators, check
out the Salesforce Help.
14. Click Save, then OK. The button won’t appear on the Energy Audits related list until Maria
adds it. That’s next.
17. Scroll all the way down the end of the layout, to the Energy Audits related list.
fi
fi
ff
fi
19. Click the plus icon to expand the Buttons section
header.
20. Add the Audit Guidelines button to the Selected Buttons list, then click OK.
21. Click Save.
22. Navigate back to the Sales app, click Accounts and select the GenePoint account.
23. Click the Related tab, scroll to the bottom, and you see the new Audit Guidelines button
on the Energy Audits related list.
Maria, our Ursa Major Solar admin, wants to build on the Energy Audit custom page layout she
created for the sales team. She wants to add a custom link that points to the energy cost data
from the U.S. Energy Information Administration. This will help the sales reps compare what the
customer is paying against the U.S. national average.
4. Make sure that Detail Page Link is selected for the display type, and leave the next two
elds as-
fi
is.
5. Now it’s time to add the URL we want this link to point to.
9. From the Custom Links category in the palette, drag US Average Energy Costs into the
Custom Links section of the layout.
10. Click Save.
Let’s go check out the results.
fi
fi
12. Open an energy audit record.
The custom link now lives under the Details tab.
Maria wants to add a custom button to account pages that shows the account’s location on
Google Maps.
6. This URL uses merge elds ({!Account_BillingStreet}) and passes the eld information from
the account record that the button is clicked from into the URL.
fi
fi
9. From the Buttons category in the palette, drag Map Location into the Custom Buttons
area on the page
layout.
11. From the App Launcher, nd and select Sales, then click the Accounts tab.
Location.
14.
Is Map Location not showing up in the actions menu even though you added the custom
button to the page layout? There’s a quirk to how custom buttons interact on page layouts
with actions. If you have overridden the default settings of the Salesforce Mobile and
Lightning Experience Actions section of a page layout and customized it, the standard and
custom buttons in the buttons section aren’t automatically included in the action menu on
the page. You must add the buttons to the page layout as actions by dragging them from
the Mobile & Lightning Actions category in the palette to the Salesforce Mobile and
Lightning Experience Actions section.
15. Click Open, and the browser opens a new window or tab that shows you the account’s
address in Google Maps.
3. Maria wants this action to create audit records, so select the Create a Record action type.
fi
fi
fi
5. Call the action New Energy Audit.
This is the text users see for the action.
6. Click Save.
7. After you create the action, you can customize its layout using the action layout editor. It’s
like the page layout editor but for actions. With the action layout editor, you can customize
the elds the users must populate to complete the action.
Just like the page layout editor, the upper part of the action layout editor contains a palette, and
below it is the action layout. The palette contains elds from the action’s target object that you
can add to the action layout.
To make the New Energy Audit action available to users from an account record, Maria must add
the action to the Account page layout.
1. Click Page Layouts.
2. Click Account Layout.
There are two actions sections on a page layout. The Quick Actions in the Salesforce
Classic Publisher section controls which actions appear on record pages in the Salesforce
Classic UI. The Salesforce Mobile and Lightning Experience Actions section controls
which actions appear on record pages in both Lightning Experience and in the Salesforce
mobile app. If you don’t customize the action sections of a page layout, then the actions
you see in the Salesforce app and Lightning Experience come from a set of default actions
de ned by Salesforce.
3. In the Salesforce Mobile and Lightning Experience Actions section, click to override
the defaults.
The actions you see when you override the defaults are a combination of the default
actions for the object, plus any custom and standard buttons on the page layout. When
the Salesforce Mobile and Lightning Experience Actions section isn’t customized, the
Lightning page for the object takes the custom and standard buttons from their respective
button sections on the layout to display on the page. However, once you override the
defaults, any standard and custom buttons you want to appear on your Lightning page
must be included in the Salesforce Mobile and Lightning Experience Actions section as
actions.
fi
fi
fi
fi
4. Select Mobile & Lightning Actions in the palette and then drag the New Energy
Audit action to the Salesforce Mobile and Lightning Experience Actions section.
5. You can adjust the order of the actions by dragging them around.
6. Let’s do a bit of cleanup. Drag these actions o the layout and back to the palette.
◦ Thanks
◦ Question
◦ Sharing
◦ Get Contacts
◦ Send Text
7. Click Save.
Excellent! Now Maria’s users can easily create an energy audit record that’s automatically
associated with an account. Her users will see the new action on the page-level action menu.
Let’s take a look.
The actions in the action menu are shown in the order that they’re listed on the page layout. For
example, this page layout with the New Energy Audit action …
ff
The Sales team has asked Maria to create an action that lets users create a campaign no matter
where they are in Salesforce. A global action is an ideal way to do this, because the global actions
menu appears at the top of every page.
Creating a global action looks a lot like creating an object-speci c action except you start on a
di erent page in Setup.
3. Click New Action.
ff
fi
6. Enter New Campaign as the label for the
action.
7. Click Save.
8. On the action layout, remove the Parent Campaign eld and add the Expected Revenue in
Campaign and Campaign Owner elds.
9. Click Save.
fi
fi
As we mentioned earlier in the unit, global actions live on a special layout of their own, known as
the global publisher layout. The global publisher layout populates the global actions menu.
Adding an action to the global actions menu is a lot like adding an action to a record page. You
simply drag an action from the palette onto the global publisher layout.
3. If the Salesforce Mobile and Lightning Experience Actions section isn’t customized,
click to override it.
5. Drag New Campaign from the palette into the Salesforce Mobile and Lightning
Experience Actions section and save the layout.
6. Refresh the browser, then click to check out the global actions menu.
2. Build elds
• Record types
• Schema
• Approval process
• Reports
• App Builder
• Grab a pen and paper. You may want to jot down notes as you read the requirements.
• Create a new Trailhead Playground for this superbadge. Using this org for any other reason
might create problems when validating challenges.
• Some of the terminology used in this superbadge is descriptive and may not match the
name as it appears in the UI. This is to test your knowledge of Salesforce features and to
nd the correct one to satisfy a business need.
Use Case
Ursa Major Solar, Inc., purveyor of high-quality solar energy equipment, is interested in
encouraging volunteerism among its employees. Management cares about improving their
fi
fi
community and understands the bene ts of volunteerism to their employees’ and company’s
health.
• Employees encouraged to volunteer feel more positively toward their employer, and they
have reduced absenteeism thanks to improved health and happiness.
• While volunteering, employees learn more skills or gain experiences that let them take on
new business responsibilities.
Tracking employee volunteering provides additional bene ts, including showing individual
progress toward goals and providing the number of hours given overall and to speci c community
groups.
At Ursa Major Solar, you’ve been working with another admin to build Volunteer Tracker, an app
employees can use to sign up for and track volunteering hours. Previously, you worked at a
nonpro t that used Salesforce’s Volunteers for Salesforce app to manage events and volunteers
(to learn more, check out the Manage Volunteers for Nonpro ts trail*) and will draw on this
experience building a new app for Ursa Major Solar: Volunteer Tracker.
Maria, the other admin working with you on the app, just left for a weeklong volunteering trip, and
she asked you to nish the nal pieces of the app on your own. You will wrap up the schema,
connect some elds, create some clever logic, and build easy ways for users to sign up for and
manage their volunteering. Wait, can you log these hours as volunteering?
Key Stakeholders
The Volunteerism Board contributing to this project includes interested parties from di erent
departments. Your key stakeholders are:
Standard Objects
• Account—a nonpro t organization where employees can volunteer their time. Ursa Major
maintains a list of eligible nonpro ts around the world.
• User—the employee record used for tracking event sign-ups and hours volunteered. This
could be you.
Custom Objects
Giving your time as a volunteer is as simple as showing up, but tracking and organizing
volunteering e orts requires a well-planned schema of custom objects interacting with standard
objects. These custom objects make sure volunteer opportunities, shifts, and sign ups are
recorded and hours allocated correctly:
• Volunteer Activity—a speci c event for the volunteer organization, for example a Fall
fundraising bake sale for a local animal rescue organization.
• Volunteer Jobs—the work, or tasks, to do related to the activity, for example a money
handler for the bake sale.
• Volunteer Shifts—the day or time slots (or slot) for the volunteer job, for example the
money handler needs morning and afternoon shifts covered over 2 days.
• Volunteer Shift Workers—the individual occupying one of the slots for the shift, for
example Maria Jimenez signed up for the morning shift on both days. This custom object
makes it possible to have multiple users as workers assigned to one volunteer shift, and
multiple shifts assigned to each worker.
Entity Diagram
fi
ff
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
ff
Business Requirements
The best Volunteer Tracker can’t help anyone without volunteer organizations, but Ursa Major
Solar wants to ensure organizations meet certain criteria before activities can be created for them.
The Volunteerism Board will research each organization and con rm it is a valid not-for-pro t
bene ting the community before the rst volunteer activity can be created.
To get started, install the unmanaged package. Then create the new Volunteer Organization
Status eld determining whether activity creation is allowed for the org, the unique page for
volunteer organizations with the subset of account elds needed, the record type bringing it all
together, and a compact layout.
New Field
fi
l
fi
fi
fi
fi
fi
Account elds displayed • Account Nam
• Account Numbe
• Account Owne
• Descriptio
• Phon
• Websit
• Shipping Addres
• Volunteer Organization Statu
• Parent Account
With volunteer organizations now available, it is time to build out the rest of the app schema.
Maria helped you sketch out how the objects are related and the elds that will let them interact.
All elds should be available to all pro les and added to respective page layouts unless indicated
otherwise. Let’s get building!
Relationships
The correct relationships between objects ensure volunteer data can be used in reporting, records
are deleted correctly, and eld information can be in parent or child elds. Use the entity diagram
and this chart to establish relationships between the Volunteer Tracker objects.
Volunteer Connects Volunteer Shift Workers to Volunteer Shifts with cascading delete and the option of
Shift roll-up summary elds.
Volunteer Connects Volunteer Shifts to Volunteer Jobs with cascading delete and the option of roll-up
Job summary elds.
Volunteer Connects Volunteer Jobs to Volunteer Activity. A value should be required to save.
Activity
Volunteer Connects Volunteer Activity to Account with the option of roll-up summary elds. Only
Organizatio accounts with the record type we created of status Accepting Activities should be eligible to
n select.
Shift Tracking Fields
Organizing volunteering without the ability to sign up for, manage, and report on shifts is like
maintaining a community garden without a good pair of gloves. These elds will help track shift
status and volunteer counts.
fi
e
fi
fi
fi
n
fi
fi
s
fi
fi
fi
fi
fi
fi
Field Label Field Purpose
Status The Volunteer Shift Worker record tracks whether or not the volunteer has con rmed or
showed for their shift. Default of this required eld is Uncon rmed. Status options are
• Uncon rme
• Pending Approva
• Con rme
• Complete
• No-Sho
• Canceled
Desired Num of The Volunteer Shift object captures how many volunteers are required from the user. This
Volunteers required eld allows whole numbers up to three digits.
Shifts Taken Volunteer Shift displays the cumulative number of Con rmed or Completed Volunteer
Shift Workers.
Num of Volunteer Shifts calculates and displays the difference between the number of required
Volunteers Still volunteers and the shifts taken, or zero, whichever is greater.
Needed
Number of Shifts Volunteer Jobs displays the cumulative number of its shifts.
Cumulative Volunteers Volunteer Jobs displays the cumulative number of volunteers still needed for all
Needed its shifts.
Hours Tracking Fields
Wait, when was my shift again? Detailing the start and end times of shifts is key for volunteers to
know when to show up for their shift. The Volunteer Tracker app will use this information to show
volunteers their total hours and track top volunteers and organizations.
Shift The Volunteer Shift record stores the date and time a shift should begin. This eld is required.
Start
Time
Shift The Volunteer Shift record stores the date and time a shift should complete. This eld is required.
End Build a rule called "Start before End" ensuring that Shift End Time comes after Shift Start Time
Time with the error message, "No time travel allowed during volunteering! Shift Start Time must be
before Shift End Time."
Shift Volunteer Shift calculates the number of hours a shift lasts from the start and end times.
Hours
Total Volunteer Shift calculates the total number of all hours allocated to this shift from all the assigned
Vol volunteers. Calculate it using the Shift Hours and Shifts Taken elds.
Hours
for
Shift
fi
d
fi
fi
fi
fi
fi
fi
fi
:
Shift Hours Volunteer Shift Workers displays this value from the associated Shift record.
Shift Start Time Volunteer Shift Workers displays this value from the associated Shift record.
Shift End Time Volunteer Shift Workers displays this value from the associated Shift record.
Attributed Volunteer Hours Volunteer Jobs displays the cumulative number of volunteer hours for its shifts.
Other Fields
With the relationships built, shifts tracked, and hours calculated, what else is there? These elds
make using the Volunteer Tracker app more useful, provide better reporting, and more.
Volunteer The User and Volunteer Job should have a picklist where multiple skills can be chosen. Only
Skills create the values for this eld once, calling it Volunteer Skills Values. The selectable skills are
• Accountin
• Computer
• Tutorin
• Fundraisin
• General manual labo
Create a picklist on the User and Volunteer Jobs objects called Volunteer Skills using this value
set.
IsShiftVolu This checkbox, on the Volunteer Shift Worker record, is automatically checked if the user
nteer looking at a record is also the Volunteer, and is unchecked if it is not. This eld will be vital to
reporting on a volunteer’s speci c information.
Volunteer Volunteer Job, Volunteer Shift, and Volunteer Shift Worker display the associated Organization
Organizatio name.
n
Volunteer Volunteer Shift and Volunteer Shift Worker display the associated Activity name.
Activity
Job Volunteer Job allows users to enter a summary of the job with the option for hyperlinked text
Description for e-volunteering websites.
Automate Shift Con rmation Approval
The biggest worry for volunteer coordinators, other than running out of co ee, is that volunteers
fail to show for their shift. Your nonpro t experience tells you that a major cause of volunteer
absenteeism is a well-meaning friend or coworker signing someone up without their knowledge.
Signing up a friend is also a big source of referrals, so allowing only self sign up won’t work.
Instead you need to build in logic for a volunteer to con rm they’re going to show up if someone
else signs them up.
For the con rmation, Maria suggested using an approval process with these notes:
• While awaiting con rmation from the Volunteer, set the status to Pending Approval.
• Update the status to Con rmed if approved by the volunteer, otherwise change
to Canceled.
g
fi
r
fi
fi
fi
fi
fi
fi
fi
fi
fi
ff
:
fi
While the approval process will manage getting the con rmation, another automation tool will be
needed to kick o the process. Call this tool Launch Shift Approver. Use this same tool to
update the Volunteer Shift Worker record status to Con rmed if someone signed themselves up.
Testing the volunteer shift approval process without another user is like trying to clear a downed
tree from a hiking trail by yourself—it just doesn’t work. Dan o ered to help your testing. Create a
new user for Dan with these settings:
Username and Follow this formula: DWong @ your initials + today’s date in a 6-digit format
Nickname + .example.com For example: DWong@tm012618.example.com
Maria asked for a quick way for users to sign themselves up for a Shift directly from a Volunteer
Shift record. Your solution was an action with the label Sign Me Up. To keep it simple there
should be no elds on the pop-up. Instead the action automatically sets the Volunteer to the user
clicking the button, changes the status to Con rmed, and assigns the currently viewed Shift as
the new record's Volunteer Shift. Once the action is done show the friendly message
"Congratulations, you are signed up!".
The ability to accurately report on top volunteers, organizations, and other metrics is what
separates the Volunteer Tracker from—shudder—the sign-up sheet on a clipboard in the Ursa
Major break room the Volunteerism Board has been using. To accomplish this, Maria helped you
map out two custom report types, ve reports, and a dashboard that will come into play when
surfacing the app. A couple of notes before getting started:
• Continuous testing and reevaluation is key for a successful app builder to create a
valuable product that matches project requirements. As such, you’ve likely created a
number of di erent volunteer activities, volunteer jobs, and other records for testing along
the way. If not, do so now—or these reports will be very sparse.
This report type, Users with Volunteer Shift Worker Records, enables reports on Users if they
have at least one associated Volunteer Shift Worker.
For this report type, Accounts with Vol Activities with Vol Jobs, include Accounts with at least
one Volunteer Activity that have at least one Volunteer Job associated.
Climbing a mountain feels less like work and more like an accomplishment when you look back
and see how far you’ve come. In the same way, the My Top Volunteer Organizations report
shows each user which organizations they’ve volunteered with, the time volunteered, and the total
volunteer hours. Using the custom report type with user data, create a Summary report grouped
by Volunteer Organization showing each organization’s cumulative hours and no other columns.
Sort high to low by hours. Details aren’t necessary. The report should include only shifts where the
volunteer con rmed or showed up, and it should display only records where the user viewing it is
the volunteer.
fi
ff
fi
fi
fi
ff
fi
fi
fi
fi
ff
Did your well-meaning teammate sign you up for a shift again without asking? The My Shifts
Pending Approval report will show a user which of their shifts still need to be con rmed or
canceled. Using the custom report type with user data, create a Tabular report showing the
Volunteer Shift Worker ID, Shift Start Time, Volunteer Activity, Volunteer Job, and Volunteer
Organization. Only pending shifts for this volunteer should be displayed.
My Upcoming Shifts
Even the best volunteers need a reminder now and then. The My Upcoming Shifts report shows
a user which of their con rmed shifts are starting in the next 30 days. Using the custom report
type with user data, create a Tabular report showing the Volunteer Shift Worker ID, Shift Start
Time, Volunteer Activity, Volunteer Job, and Volunteer Organization. Only con rmed shifts for this
volunteer should be displayed.
A friendly competition has developed in the o ce to see which volunteer organizations can
accrue the most hours. The Top Volunteer Organizations report and report chart fan the ames
of this competition. Using the custom report type with account data, the summary report shows a
list of Volunteer Organization Accounts with each org’s attributed volunteer hours, ranked from
most to least hours. Details aren’t necessary. The report chart is a horizontal bar chart called Top
Volunteer Organizations showing the attributed hours as the x-axis.
Top Volunteers
Top volunteers are rewarded with praise, a ection, recognition at major company events, and
high- ves at Ursa Major. The Top Volunteers report and report chart help these volunteers
prepare for fame. Using the custom report type with user data, the summary report groups by the
volunteer’s name and summarizes each volunteer’s hours. Be sure the report includes only
completed hours, hides details, and sorts volunteers from most hours to least. The report chart is
a horizontal bar chart called Top Volunteers showing the shift hours as the x-axis.
My Top Volunteer Total hours displayed inside My Top Volunteer • Donut Char
Organizations chart Organizations • Sort Rows By: Value
Ascendin
• Max Values Displayed:
• Component size: 3 cells
wide and 6 cells hig
• Positioned in upper left
fi
g
t
h
fi
ff
ffi
fi
fi
fl
My Upcoming My Upcoming • Lightning Tabl
Con rmed Shifts Shifts • Columns:
- Volunteer Shift Worker
ID
- Shift Start Time
- Volunteer Job
- Volunteer Activity
Before running any challenge checks, make sure you run all needed reports and refresh the
dashboard. Any gaps in time can cause reports and dashboards not to pass challenge checks.
Dan and the rest of the Volunteerism Board think the app functionality is awesome, and the
reports beautiful, but that there would be more time for volunteering if the app was surfaced
conveniently. Your task is to bring all the pieces together in one Lightning app with a Lightning
app home page showing the volunteer data.
Bottom right Five recent items from Volunteer Activity and Volunteer Jobs with label "Recently
component Viewed Activities and Jobs"
fi
s
fi
s
fi
s
h
PRACTICAL 6: TRAILMIX 3: KEEP DATA SECURE IN A
RECRUITUNG APP
Create a User
You can create users—even multiple users—in just a few clicks. It’s as simple as entering a
username, alias, and email, and selecting a role, license, and pro le. Many more options are
available, of course, but that’s all you need to get started.
Salesforce auto-generates a password and noti es new users immediately. Users can change or
add to their own personal information after they log in.
2. Click New User. Or you can click Add Multiple Users to add up to ten users at a time.
fi
fi
fi
Enter the user’s name, email address, and a unique username in the form of an email
3.
address. By default, the username is the same as the email address.
4. Select the user license this user will have. The license determines which pro les are
available for each user.
5. Select a pro le, which speci es the user’s minimum permissions and access settings.
6. Select the option to generate a new password and notify the user, then save.
Deactivate a User
You can't delete a user, but you can deactivate an account so a user can’t log in. Deactivated
users lose access to all records. (That includes records that are shared with them individually and
records shared with them as team members.) However, you can still transfer this data to other
users and view the names on the Users page.
a. On the Users page in Setup, click the username of the user whose account you
want to freeze.
b. Click Freeze.
You can con gure several settings to ensure that your users’ passwords are strong and secure.
Password policies
Set password and login policies, such as specifying an amount of time before all users’
passwords expire and the level of complexity required for passwords.
Expire the passwords for all the users in your org, except for users with “Password Never Expires”
permission.
If a user is locked out due to too many failed login attempts, you can unlock the person’s access.
a. How long should passwords be? Longer is usually better, within reason.
fi
fi
fi
fi
fi
fi
fi
b. How complex do you want your passwords? You can require alphabetical, numeric,
uppercase, lowercase, or special characters.
d. How many times can someone try to log in with invalid credentials before being
locked out?
4. Click Save.
The rst time you log in to Salesforce, the IP address is cached in your browser. Anytime you log
in from a di erent IP address, you will be asked to verify your identity, typically by entering a
veri cation code. You can bypass this step for trusted IP ranges. For example, suppose that your
users should be able to log in without entering a veri cation code whenever they are in the o ce.
1. From Setup, in the Quick Find box, enter Network Access, then select Network Access.
2. Click New.
3. Enter the start and end point of the range of trusted IP addresses, and click Save.
If you have an address outside this range, you aren't excluded from logging in. You simply have to
verify your identity by entering a veri cation code.
By default, Salesforce doesn't restrict locations for login access. If you do nothing, users can log
in from any IP address. You can restrict where users can log in from using pro les. For example,
suppose that certain users shouldn’t be able to log in if they’re using an IP address outside of the
o ce.
1. From Setup, in the Quick Find box, enter Pro les, then select Pro les.
3. Click Login IP Ranges. If you don't have Enhanced Pro le Interface enabled, scroll down
to the Login IP Range related list.
4. Click New.
5. Enter the start and end point of the range of trusted IP addresses, and click Save.
Now all users with this pro le who are outside the trusted range can't log in. When using pro le IP
ranges, there are no veri cation codes to worry about - a user is either in or out.
For each pro le, you can specify the hours when users can log in. For example, if you decide your
call center employees really only need to look at customer data while they're taking phone calls
nine to ve, you can make it so they can't log in during evenings and weekends.
4. Set the days and hours when users with this pro le can log in to the organization.
ffi
fi
fi
fi
ff
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
ffi
fi
◦
To prohibit users from using the system on a speci c day, set the start and end
times to the same value.
Create a Pro le
The easiest way to create a pro le is to clone an existing pro le that’s similar to the one you want
to create, and then modify it.
Salesforce has an enhanced pro le user interface that makes it easy to nd and modify pro le
settings. That’s what we’ll use for this exercise. To do that, nd User Management Settings in
the Quick Find box in Setup, then enable Enhanced Pro le User Interface.
Assign a Pro le
Once you've created a pro le, you'll want to customize it to match the needs of a set of users,
and then assign the pro le to those users.
3. Set the most restrictive settings and permissions you can for this user type, and save.
(Don’t worry about blocking the user from doing things they need to do. We'll open up
more possibilities for them later, when we give them permission sets.)
5. From the Pro le dropdown select the pro le you just set up, and save.
Create a permission set to grant additional permissions to speci c users, on top of their existing
pro le permissions, without having to modify existing pro les, create new pro les, or grant an
administrator pro le.
2. Click Clone next to the set you want to copy. A cloned permission set has the same user
license as the original. To create a set with a di erent license, click New instead.
3. Enter a label and a description. The API name is a unique name used by the API and
managed packages. It automatically replicates the label, but you can modify it.
◦ If you plan to assign this permission set to multiple users with di erent licenses,
select --None--.
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
ff
fi
fi
fi
fi
fi
fi
ff
fi
fi
fi
◦ If only users with one type of license will use this permission set, select that user
license.
7. Select the users to assign to this permission set and click Assign. Review the messages
on the Assignment Summary page. If any users weren’t assigned, the Message column
tells you why.
You apply eld settings by modifying pro les or permission sets. Let’s try restricting a user’s
general access with a pro le. Then we can expand it as needed with a permission set.
2. Select the pro le you want to change. "Standard User" will do nicely.
3. Click Object Settings and select the object for which you want to update the eld
settings.
4. Click Edit.
5. For each eld, specify the kind of access you want for users with this pro le, and save
your settings.
Let’s look at how eld settings can be applied by modifying permission sets. Remember, a
permission set is for expanding a user’s access to elds that are restricted in their pro le.
Let's set up our interviewers to update the candidate record when they've interviewed a
candidate. We’ll assume our interviewers have the Standard User pro le.
We worked with Permission Sets when we set up our custom objects. Now we'll go back to that
Setup page to make sure the right elds in one of our objects are available to the users who need
them.
3. Click the object you're working with, then click Edit. In this example, we're modifying the
Candidate object.
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
4. Under Field Permissions, specify the kinds of access your interviewers need, then save
this permission set.
5. See how we've enabled our interviewers to both read and change the values of the Apex
and C# checkboxes? Now they can check or uncheck those boxes when they’ve
determined the candidate’s command of those skills. We’ve prevented them from
changing the Hire By date or the name of the hiring manager, but they can see that
information. And they don’t need to know the pay rate for the position, so we’ve removed
both their Read and Edit access for those elds.
6. Click Manage Assignments and select the users who you expect to need the permissions
you’ve just speci ed. Click Add Assignments and Done, and you're done!
Use org-wide defaults to specify the baseline level of access that the most restricted user should
have.
fi
fi
fi
2. Click Edit in the Organization-Wide Defaults area.
3. For each object, select the default access you want to give everyone.
By default, a role hierarchy automatically grants access to records for users above the record
owner in the hierarchy. Setting an object to Private makes those records visible only to record
owners and those above them in the role hierarchy. Use the Grant Access Using
Hierarchies checkbox to disable access to records to users above the record owner in the
hierarchy for custom objects. If you deselect this checkbox for a custom object, only the record
owner and users granted access by the org-wide defaults receive access to the records.
Even if Grant Access Using Hierarchies is deselected, some users—such as those with the
“View All” and “Modify All” object permissions and the “View All Data” and “Modify All Data”
system permissions—can still access records they don’t own.
De ne a Role Hierarchy
Implementing a role hierarchy in the platform is easy once you have an idea of what the hierarchy
should look like. It’s best to start with your company’s org chart and then consolidate di erent job
titles into single roles wherever possible.
For example, if a software development group has a sta software engineer and a junior software
engineer, these positions can be consolidated into a single Software Engineer role in the hierarchy.
Once that’s done, you can get started de ning the role hierarchy itself.
1. From Setup, use the Quick Find box to nd Roles. If you see an introductory splash page
called Understanding Roles, click Set Up Roles at the bottom of the page to skip to the
actual tool. The default view for this page is the tree view, as indicated in the drop-down
list on the far right side of the Role Hierarchy title bar. When creating a role hierarchy, it's
probably easiest to stick with this or the list view, because they both make it easy to see
how the roles all t together in the hierarchy. The sorted list view is best if you know the
fi
fi
fi
fi
ff
ff
name of a role that you want to nd but aren't sure where it ts in the hierarchy, or if you
don't want to click open all the tree nodes. For our purposes, we'll stick with the tree view.
2. When you rst start de ning a role hierarchy, the tree view displays a single placeholder
node with the name of your org. From this point, we need to add the name of the role that
is highest up in the hierarchy—in our case, the CEO. If you’re building your app with a free
Developer Edition or Trailhead Playground org, you may have a role hierarchy prede ned
as a sample. That's all right. You can still follow along and create some more roles.
3. Just under the company name, click Add Role. If the CEO role already exists, click Edit.
4. In the Label text box, enter CEO. The Role Name text box autopopulates with CEO.
5. In the This role reports to text box, click the lookup icon and click Select next to the
name of your org. By choosing the name of the org in the This role reports to text box,
we’re indicating that the CEO role is a top-level position in our role hierarchy and doesn't
report to anyone.
6. In the Role Name as displayed on reports text box, enter CEO. This text is used in
reports to indicate the name of a role. Since a long role name, like Vice President of
Product Development, takes extra space in your report columns, we recommend using a
short but readable abbreviation.
7. Leave any other options, such as Opportunity Access, set to their defaults, and save.
These access options don't have anything to do with our Recruiting app, and only appear
if you have the org-wide defaults for a standard object set to a level more restrictive
than Public Read/Write.
fi
fi
fi
fi
fi
8. Now that you’ve created your rst role, you can assign the appropriate user to it.
Click CEO, and on the CEO role detail page, click Assign Users to Role.
10. Choose a user from the list, and click Add to move her to the Selected Users for
CEO list, then save.
De ne 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 pro le as well as users in the SW Dev Manager role both review job applications.
Using a public group when de ning 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 de ne a sharing rule that
encompasses more than one or two groups or roles, or any individual.
fi
fi
fi
fi
fi
fi
2. Click New.
3. Give your group a label. The Group Name text box populates 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 include a
combination of member types in your public groups.
6. Click Save.
e ne a Sharing Rule
You can de ne a sharing rule for a single public group, role, or territory. You can also de ne a
sharing rule for a role plus its subordinates or for a territory plus its subordinates.
1. In Setup, use the Quick Find box to nd Sharing Settings. This is the same page used to
de ne org-wide defaults.
2. In the Manage sharing settings for drop-down list, choose the 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 rst dropdown list,
and a set of users from the second dropdown list or lookup eld.
6. For Select users to share with, specify the users who get access to the data.
8. Click Save.
fi
fi
fi
fi
fi
fi
fi
PRACTICAL 7 : AUTOMATE BUSINESS PROCESSES FOR A
RECRUITING APP
1. From Setup, enter Process Builder in the Quick Find box and select Process Builder.
3. Click Save.
7. Click Save.
10. Select Conditions are met under Criteria for Executing Actions, then set the conditions.
◦ Field: Position: Hiring_Manager__c
◦ Type: Global Constant
fi
◦ Value: $GlobalConstant.Null
11. Click Save.
◦ Record Type: Interviewer
13. Under Set Field Values, relate the Employee eld to the Hiring Manager.
◦ Field: Employee
◦ Type: Field Reference
◦ Value: Hiring_Manager__c
14. Relate the interviewer record to the position record by clicking + Add Row and lling in the
details.
◦ Field: Position
◦ Type: Field Reference
◦ Value: Record ID
Now that the process is activated, you can test the process you just created. But rst, add a
hiring manager user.
1. Field 1. Value
1. Nickname 1.kcoop
4. Click Save.
2. Click Positions, then New.
1. Field 1. Value
1. Status 1. New
1. Department 1. Support
1. Location 1. US
5. Click the Related tab.
6. From the Interviewers related list, click an Interviewer number and note the values in the
Employee and Position elds.
1. From Setup, enter Classic Email Templates in the Quick Find box, then select Classic
Email Templates.
5. Click Save.
Now create the necessary templates. First, set up a Position Approved email template.
1. Click New Template.
1. Field 1. Value
3. Click Save.
1. Field 1. Value
fi
fi
fi
1. Folder 1. Position Request Responses
3. Click Save.
Create Fields
Now build a few elds on the Position object to use in the approval process.
9. Click Next, Next, and Save.
3. Create a new section by dragging Section from the palette to fall under the Experience &
Education section.
7. Click Save.
1. From Setup, enter Approval Processes in the Quick Find box and select Approval
Processes.
fi
fi
3. Click Create New Approval Process and select Use Standard Setup Wizard from the
picklist, then ll in the details.
5. For Description, enter: All positions must be approved by the recruiter's manager and two to
three other approvers. These approvers are tracked in approver elds on the Position object.
Click Next
6.
At the picklist for Use this approval process if the following, select criteria are met.
7.
Click Next.
8.
In the Next Automated Approver Determined By picklist, select Manager.
9.
Select Use Approver Field of Position Owner.
10.
Select Administrators OR the currently assigned approver can edit records during the
11.
approval process.
◦ Department
◦ Education
◦ Job Description
◦ Location
◦ Pay Grade
◦ Salary Range
◦ Skills Required
4. Select Allow approvers to access the approval page only from within the Salesforce
application (Recommended).
5. Click Next.
9. Click Save.
10. Select I'll do this later. Take me to the approval detail page to review what I've just created.
fi
fi
fi
fi
fi
11. Click Go!
You’ve created the basic approval process. Next, create initial submission actions.
1. Under the Initial Submission Actions related list, click Add New, then select Field Update.
4. Under Specify New Field Value, select A speci c value, then select Pending.
5. Click Save.
3. Click Next.
5. Click Next.
7. Click Save.
8. Select No, I'll do this later. Take me to the approval process detail page to review what I've
just created.
9. Click Go!
3. Click Next.
5. Click Next.
7. Select Related User from the picklist that appears, then select Approver 1 from the
secondary picklist.
8. For When multiple approvers are selected, select Approve or reject based on the FIRST
response.
9. For What should happen if the approver rejects this request? select Perform all rejection
actions for this step AND all nal rejection actions (Final Rejection).
10. Click Save.
11. Select No, I'll do this later. Take me to the approval process detail page to review what I've
just created.
12. Click Go!
3. Click Next.
5. Click Next.
7. Select Related User from the picklist that appears, then select Approver 2 from the
secondary picklist.
8. Click Save.
9. Select No, I'll do this later. Take me to the approval process detail page to review what I've
just created.
10. Click Go!
1. Select New Approval Step under the Approval Steps related list and complete the details.
3. Click Next.
4. Select Enter this step if the following criteria are met and enter the criteria.
◦ Field: Position: Salary Range.
◦ Operator: equals
fi
fi
fi
◦ Value: 90K-120K, 120K+ (Click to nd it.)
5. Click Next.
7. Select Related User from the picklist that appears, then select Approver 3 from the
secondary picklist.
8. Click Save.
9. Select No, I'll do this later. Take me to the approval process detail page to review what I've
just created.
10. Click Go!
Now create the nal actions: approval or rejection, along with their associated email alerts.
1. Under the Final Approval Actions related list, click Add New and select Field Update.
4. Under Picklist Options, select A speci c value, then choose Approved from the picklist.
3. Under Picklist Options, select A speci c value, then select Open from the picklist.
4. Click Save.
1. Under the Final Approval Actions related list, click Add New and select Email Alert.
6. Click Save.
1. Under the Final Rejection Actions related list, click Add New and select Field Update.
4. Under Picklist Options, select A speci c value, then select Not Approved from the
picklist.
3. Under Picklist Options, select A speci c value, then select Closed from the picklist.
4. Click Save.
1. Under the Final Rejection Actions related list, click Add New, select Email Alert, and ll in
the details.
6. Click Save.
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
1. Under the Recall Actions related list, click Add New, and select Field Update.
4. Under Picklist Options, select A speci c value, then select Recalled from the picklist.
5. Click Save.
fi
4. CREATE A PROCESS FOR SUBMITTING POSITIONS FOR APPROVAL
1. From Setup, enter Process Builder in the Quick Find box, then select Process Builder.
2. Click New.
4. Under The process starts when, select A record changes from the picklist.
5. Click Save.
8. Click Save.
13. Click Save.
1. Field 1. Value
1. Object 1. Position__c
fi
fi
fi
Create Radio Buttons for Experience
2. Click New Flow.
4. Click Next.
5. Click Freeform.
6. Add a screen element to prompt for the Review information by dragging Screen from the
palette onto the ow window.
Now add radio button choices to rate a candidate on a scale of 1 (poor) to 5 (excellent) for
Experience, along with a text box for comments.
2. Enter Experience in the Label eld. (The API Name eld will default.)
4. Click the Choice eld, select +New Resource, select Choiceas the Resource Type, and ll
in the details.
1. Field 1. Value
5. Click Done.
1. Field 1. Value
9. Click Done.
fl
fi
fl
fi
fi
fi
fi
fi
fi
fi
1. API Name 1.Average
12. Click Done.
1. Field 1. Value
15. Click Done.
1. Field 1. Value
18. Click Done.
20. For Label, enter Experience Comments. (The API Name eld will default.)
You’ve got your rst set of radio buttons, but don’t click Done on the screen just yet.
Now that radio buttons and text screen elements for Experience are added to the ow, repeat the
process for Leadership Skills.
fi
fi
fi
fi
fi
fi
fi
fl
1. Click Radio Buttons from the Input section of the palette on the left.
2. For Label, enter Leadership Skills. (The API Name eld will default.)
8. For Label, enter Leadership Skills Comments. (The API Name eld will default.)
There’s one more set of radio buttons to add—don’t click Done yet.
8. For Label, enter Core Competencies Comments. (The API Name eld will default.)
Finally, add screen elements to the ow to create a checkbox and textbox so recruiters can
recommend a candidate for hire.
2. For Label, enter Recommend for Hire. (API Name eld will default.)
fi
fi
fi
fi
fl
fi
fi
fi
fi
fi
Now that you’ve created the ow, set its start element.
1. Connect the Start element to the New Review Screen element by clicking and holding the
Start circle and then dragging your cursor to the New Review element.
2. You will see that the two elements are connected by a solid line.
4. For How to Set the Record Fields select Use separate resources, and literal values.
6. Under Set Field Values for the Review click the Field box, and select Job_Application_ _c.
7. For Value, click in the box, select +New Resource, and ll in the information.
1. Field 1. Value
8. Click Done.
9. Click into the Value eld that aligns with the Job_Application_ _c eld, and select
the varJobAppId variable you just created.
10. Click +Add Field8 times, then map the rest of the values according to the chart below.
(Hint: Type the rst few letters of the Field or Value name, then click it when you see it.)
1. Field 1. Value
fi
fi
fi
6. Click Done.
7. Connect the New Review screen element to the createReview element by clicking and holding
the New Review circle and then dragging your cursor to the createReview element.
2. For Label, enter Record Created. (The API Name eld will default.)
5. In the text box enter Your review record has been created successfully. Leave the Insert a
resource eld above the text box empty.
6. Click Done.
2. For Label, enter Display Faults. (The API Name eld will default.)
fi
fl
fl
fi
fi
7. Connect the createReview element to the Display Faults element.
1. Click Save.
4. Click Show Advanced.
6. Click Save.
7. Click Activate.
Now that the New Review Flow is set up, create a custom button for launching it.
6. Paste this link into the text box just above the Check Syntax button:/ ow/New_Review?
varJobAppId={!Job_Application__c.Id}&retURL=/{!Job_Application__c.Id}
fi
fl
4. Drag the New Review button to the Custom Buttons section of the Job Application Detail.
5. Click Save.
Security Specialist
What You'll Be Doing to Earn This Superbadge
1. Set object-level security settings to control which users can access which objects
2. Set record-level security settings to control which users can create and edit specific records
3. Set appropriate password policies to comply with security best practices
4. Track field-level changes to meet data retention requirements
5. Set report, dashboard, and public list view security settings to grant appropriate privileges
to users
6. Set up multi-factor authentication to enhance user login security
7. Describe capabilities to track changes to Salesforce settings
Concepts Tested in This Superbadge
• Data Security
• User Authentication
• User Permissions
Pre-work and Notes
• Grab a pen and paper. You may want to jot down notes as you read the requirements.
• Create a new Trailhead Playground for this superbadge. Using this org for any other reason
might create problems when validating the challenge.
• Although you can only create a single user in your Developer Edition org, you can create as
many permissions (profiles, roles, public groups, and so on) as you need to complete this
challenge. We recommend creating a user to test your various security configurations.
Use Case
GenZ Capital is a startup that provides financial services for its Generation Z customers. They offer
all services via social media. While their IT team is fantastic (their emoji-based support system is
bleeding edge), they were less than ready to be acquired by the finserve behemoth OldGuard
Finance. OldGuard has put GenZ’s systems through a thorough security audit and now changes
need to be made.
As a premier Salesforce security consultant, you’ve met with the key stakeholders via social media
direct message, and you have compiled a comprehensive set of security change requirements.
Standard Objects
GenZ uses the following standard objects to store all deal-related data:
Custom Objects
For the purpose of this superbadge, GenZ doesn’t use custom objects.
Business Requirements
This section represents the culmination of many meetings and will be the basis of your work to
transform GenZ’s Salesforce org into a cloud-based version of Fort Knox.
To comply with government financial regulations, GenZ must implement both data retention and
encryption policies, and their acquiring company, OldGuard Finance, has strict access policies for
remote workers and mobile devices. OldGuard Finance also wants GenZ to implement best
practices for passwords.
You’ve explored these needs in detail with your stakeholders through a series of conversations,
and you’ve come up with this short list of requirements.
• Data Retention—Data must be retained for a period of 180 days, and be reported on after
the 180 days has passed. This can happen in a system outside of Salesforce.
• Security for Remote/Mobile Users—Remote workers must use VPN to access
Salesforce. All mobile users must use multi-factor authentication (MFA). All mobile users
must be individually approved by the admin. NOTE: For ease of use, you’ve decided to
manage MFA from a single permission.
• Password Policy—Passwords must be reset every 90 days, and must have a minimum of
8 characters and include both alpha and numeric characters.
Organizational Security Requirements
You’ve investigated each role at GenZ and have come up with the following role-specific
requirements:
Organizational Overview
There are three core teams in GenZ’s main sales organizational structure: Field Sales, Inside
Sales, and Sales Executive. Gen Z also has individuals who have act as project managers to help
implement the most complex deals.
• Restrict access to opportunities to the people who own them (and their managers).
• Allow access to accounts to anyone in the org, regardless of who owns them, as long as
their profile allows access to Accounts in general. Note: keep default options for contacts.
Note: These general record-level security requirements can be overridden by the more specific
requirements set below.
Field Sales users should be able to create their own list views, but not create or manage list views
for others. They should also be able to create reports and dashboards, but not create or manage
report and dashboard folders. Field Sales users should have mobile access, granted by the admin
on demand. They are not restricted in terms of their hours of access to Salesforce. They should
also be able to read, create, and edit (but not delete) their own opportunities; and read and edit all
accounts. Note: When providing access to see and edit all accounts for Field Sales, do not use the
profile View All and Modify All settings.
Inside Sales users should only be able to access Salesforce from the main office (IP address
000.000.000.000), and should only be able to access Salesforce during working hours (between
8:00 AM and 6:00 PM PT, Monday-Friday). They should not have mobile access. They should be
able to create reports, dashboards, and create and manage reports and dashboard folders. They
should be able to create and manage list views for themselves and other people. Inside sales
users can view, create, and edit all accounts and opportunities (but not delete them). Note: When
providing access to see and edit all accounts and opportunities for Inside Sales, do not use the
profile View All and Modify All settings.
Sales Executive users should be able to view all opportunities and accounts (regardless of other
sharing settings), but not be able to create, edit, or delete any opportunities or accounts. They
should be able to create reports and dashboards, but not create or manage report and dashboard
folders. Sales Executive users should be able to create their own list views, but not create or
manage list views for others. They should have mobile access, granted by the admin on demand,
and are not restricted in terms of their hours of access to Salesforce.
2. From Setup, enter Builder in the Quick Find box, and select Process Builder.
3. Click New.
5. For The process starts when, select A record changes, and click Save.
9. Click Save.
Create Criteria
You now de ne the criteria that determine when this process runs.
1. Click Add Criteria.
7. Click Save.
Create an Action
At this point you've de ned a process, and told it when to re, but you haven't told it what to do.
In this step you de ne what happens when the Billing Street changes.
4. For Record Type, click the radio button next to Select a record related to the Account,
then scroll down and select Contacts, and click Choose. This is pretty powerful stu , so
pause and take note. Process Builder allows you to choose not just elds on Accounts,
but elds that are related to Accounts.
5. For Criteria for Updating Records, keep it set at No criteria—just update the records!.
6. Under Set new eld values for the records you update, click Find a eld..., and then scroll
down and select Mailing Street.
9. Click Save.
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
ff
If everything works correctly, whenever an account has a change of address, the address change
is made for everyone who works for that company. Let’s test that.
4. On Tim Barr’s detail page, note the mailing address [1] and account name
[2].
5. Click the account name, Grand Hotels & Resorts Ltd. This opens the account for Grand
Hotels & Resorts Ltd.
7. Click Edit.
9. Click Related.
10. Scroll down to Contacts and click Tim Barr. Click Details. On his detail page, notice that
his mailing address has been updated.