You are on page 1of 162

Sales Cloud

Opportunity management (10%)


Opportunities = deals in progress
• create opportunities for existing accounts
• by converting a qualified lead
Opportunity stages
• Each stage must be associated with a probability that the deal will be completed
successfully (set by admin) = revenue from opportunity will be realized
• Opportunity stage is tied with a forecast category
• Stage cannot be renamed, but it can be deactivated/deleted and add new
Steps in sales process:
1. Map opportunity stages to forecast categories
2. Assign accurate probability to each stage
StageName orders:
 Prospecting
 Qualification
 Need Analysis
 Value Proposition
 Id. Decision Makers
 Perception Analysis
 Proposal/Price Quote
 Negotiation/Review
 Closed Won/Lost

Sales process
Steps
1. Create the 0pportunity stages needed in the sales process
Opportunity stages > In Opportunity Stages Picklist Values section: click New > enter
name for stage – probability successfully sale eg. 1/5 deals = 20%
2. Name Sales Process:
Setup > Sales processes > new > first new process: Master process > Name > select
stages
3. Optionally, create an (Opportunity page layout) specific to the process.
eg. include a field “Custom Embroidery” on the page layout for the sales process for
small, custom shoe orders but not on the page layout for standard retail orders.
4. Create Record type: how you link a particular page layout and sales process to a type
of product, determine which types of opportunities pass through which sales process
Setup > Record types > New >
• select a sales process
• select profiles can access sales process
• apply page layout to Opportunity layout: apply one layout to all profiles or
different layout for each profile
• picklist fields can be set in Record Type page (except StageName need to be set In
Sales Process page)

Opportunity
Opportunities tab > new > select a record type > name
 select Account that the opportunity related to
 select Close Date for the opportunity
 select Stage that the opportunity is currently in (SF add probability based on stage,
but admin can change it)
Contact Roles: how each contact is related to the opportunity. You can also link contacts
from other accounts to the opportunity using contact roles
= identify key stakeholders from buy side
Eg. You recently completed a deal with Get Cloudy, and you hear from Leung Chan, a
decision maker she is planning to talk to her Canadian colleague Lars about your product
 give Lars a role in the opportunity, even though he’s a contact on a different account
Opportunity > In Contact Roles related list > add > select a Contact or Person Account >
choose a role > Optionally: select primary contact
 Contacts from Account are automatically prepopulated on Opportunity

Products/Line Items: Opportunity RL: Products > Add > choose product > quantity – price
Opportunity Amount field updated automatically based on price/quantity of products

Validation Rule on Opportunity Products/Line Items:


control which products can be added to Opp or who can add products to Opp

Campaign Influence: Opp can be influenced by one or more Campaigns (RL on Opp)
 Easier to track campaigns that effectively produce opportunities for business
 Every opp can have a primary campaign sources as well as other influential
campaigns that can be associated automatically or manually
 Additional campaign can be associated to opp by adding a contact with contact role
on the opp to Campaign Members RL

Business process automation


Multiple tools to automate repetitive business processes: Approvals, Process Builder,
Workflow, and Flow Builder
Process Builder
= use drag-and-drop visual interface (but still using the if/then requirement)

Process Builder > Workflow: create a record, submit for approval, launch a flow
Work across objects that are related (workflow focus on 1 object)
eg. billing address on account is changed, the mailing address of all related contacts should
be updated to reflect the new address  process on Accounts

Workflow > Process Builder: send outbound messages

Workflow = Process: automatically update records

If opp (object) is created or updated (trigger) and it’s high-value and closed won (criteria),
then create a draft contract (immediate action).
Six days after opp closes (schedule), create a follow–up task for owner (scheduled action)

Process definition:
1. Select process type:
• Record change: a record is created or edited (most common)
• Invokable by another process  infinite loops
• A Platform event occurs: a message from external system
2. Define the object for the process
3. Define the criteria when it will run
4. Define activities that need to be automated
5. Activate the process

Trigger: Identify When the Process Should Run


For record change process type: the trigger determines which object and which of the
following changes the process should pay attention to.
 Only when a record is created
 Anytime a record is created or edited
Criteria: Determine Whether or Not to Execute Actions (true or false)
While a process gets one trigger, you can add as many criteria nodes. If the record doesn’t
meet the criteria, the process skips those actions and moves on to the next criteria node in
the process. In each criteria node, you can:
 When the conditions are met
 The custom formula evaluates to true
 No criteria – always execute the actions
Enable ‘Advanced’ section of criteria node: only execute actions when changes are made
to the record  process ignores record changing that aren’t relevant to criteria

Actions: What the Process Should Do, set as an invocable process


 Each immediate action is executed as soon as the criteria evaluates to true
 Each scheduled action is executed action at the specified time based on:
 A specific date/time field on the record that started the process.
Eg. 10 days before the record’s close date
 The time that the process ran eg. 3 days from now
Process action types
 Create record of any (un)related object
 Update the record: select object record or any related record to object
 Submit that record for approval
 Email alert on the same object as the process, using a specified email template
 Send notifications with a custom message
 Post to a Chatter feed eg. process on Topic object that creates a Chatter post automatically.
The process can be triggered when ‘CreatedByID’ field of Topic object equals ID of user
 Invoke Apex class: ideal for getting complex calculations done or trigger another code
 Invoke a Flow: ideal for performing operations that include: getting a user input, deleting
records, updating unrelated records  can be scheduled on a certain frequency
 Quick Actions: that creates a record, update record or logs a call
 Quip: eg. send a message in chat or docu, add members to a chat
 Process Builder process: helpful for when there are many repeated steps
 Send a survey invitation to leads, contacts, users (must be an active survey)

Order of execute actions


*Very angry admins work pretty efficiently
Before trigger: Validation rules – duplicate rules
After trigger: Assignment rules – Auto-response rules – Workflow rules (immediate action)
Escalation rules – Entitlement rules – Update Parent Rollup Summary – save records

Flow
Which lets you build flows (= application that automates a business process by collecting
data and doing something in Salesforce org or an external system)
Setup > flows > New > screen flow > freeform
 When a user clicks something, like a button, link, custom tab
 Process start
 Apex class called
 Get Template: built flows eg. create orders from
Opportunity/Quote

Connectors (2) define the path that the flow takes at run time.
They tell the flow which element to execute next.
Resources (3) are containers that represent a given value, such as field values or formulas.
You can reference resources throughout your flow. Eg. look up an account’s ID, store that ID
in a variable, and later reference that ID to update the account.

Flow elements
o Screen: interact with users: Display data to your users or collect info from them.
You can add simple fields to screens, like input fields, radio buttons, file upload
o Logic: Control the flow. Create branches, update data, loop over sets of data, or wait
for a particular time
o Actions: Flows can delete records and create/edit unrelated records
They can also create Chatter posts, submit records for approval, send emails
o Integrations: Connect flow to an external database by using core actions or Apex
actions. Core actions let you make requests without going through Salesforce server.
Flow Builder also has a couple of tie-ins to platform events
Building blocks
 Elements tab: add elements to flow = behavior of flow, defining actions need to be
taken at each step eg screen, create records, get records, Apex action
 Manager tab: create new resources = containers for holding data values –
like user input, field values, formula, they can referenced throughout the flow
eg. look up account’s ID, store ID in a variable, reference ID to update the account
 Start element: marks the beginning of a flow – added automatically
 Error handling: eg. update record element can fail can be linked with core action that
sends an email using fault connector
Elements:
Interaction
 Screen: to collect info from users who run the flow or display data to users
Add to screens: input fields (Text, picklist), Radio buttons, File upload, Email
 Deployed internally to users through custom link, custom button, or web tab
 Embedded in Visualforce page
 Quick action can invoke a flow
 need more out of your screen flow, like custom navigation or info displayed in
table format, install custom Lightning components
Prebuilt/reusable screen flows for repetitive processes:
 ‘Create a Case’ flow: walks agents through the case creation process
 ‘Reset Password’ flow: walks agents through customer password reset
 ‘Verify Identify’ flow: helps agents resolve cases of missing credentials
 Action: perform actions outside of flow (quick actions, local actions, Apex actions)
Post to Chatter, Send Emails, invoke Apex codes, lookup
 Sub-flow: allows another auto-launched or screen flow to be launched
Access a screen flow that is already built in another flow instead of recreating it
Logic: Control the flow
 Assignment: store user input in variables (collection, global, record)
 before Decision assign field value based on customer’s answers
 Decision: perform an if-then statement by evaluating conditions and routing users
based on outcomes of conditions
eg. automatically sends email alert when a contact record is created
 Pause: pause flow based on conditions and resume it when time occurs or platform
event message is received
use Process Builder with a flow action to convert the lead and add a Wait element to
set a one day wait period to automatically email the contact
 Loop: iterating over items in collection variable and temporarily storing each item in
loop variable Looping through child records to calculate the total number of records
Data
 Create Records: record using record variable or multiple record collection variable
creating multiple account records based on user input
 Update Records
 Get Records: find records that meet filter conditions and store values from records in
variables find a particular product based a field value, check if customer exists in SF
 Delete Records
Flow Limitations
 Only one version of flow can be active at a time
 A flow does not offer to send an outbound message
 Functions such as VLOOKUP are not supported in a flow formula
 Flow Builder cannot open flows installed from managed packages, unless templates
 Data and time values can differ for a user who runs a flow since they reflect time
settings of the admin who configured the flow
Use Cases for Flow
• Send email to all contacts whose age is over 60
• Send reminder emails for expiring contract one after a week
• Transfer all accounts of one user to another
• Capture and categorize leads based on incoming inquiry calls
• When a record changes, update a field: when a case is updated, automatically update an
unrelated ‘Log’ record
• Display a survey to gather customer feedback
• Automatically submit an opportunity for approval based on opportunity amount
• Create complex quotes for a sales org
• Create a Guided UI/Wizard or troubleshooting wizard (for issues) to collect info
• Support process streamlined to a standard call script and standardize for all call center agent
Options to run a flow
• Screen flow: guides users through a business process that’s launched from quick
actions, Lightning pages, communities
• Schedule-triggered flow to run (one time only, daily, weekly)
Scheduled flow, a set of records based on criteria (failed audit status) to send email
• Autolaunched flow (NO TRIGGER): launches when invoked by Apex, processes, REST
API  runs in background
• Platform event-triggered flow: launches when a platform event messages is received
• Record-triggered flow: launches when a record is created or updated
 Faster than process in Process Builder: avoids an extra save procedure on record,
skipping execution of assignment rules, workflow rules
 Trigger the flow when:
- A record is created
- A record is updated
- A record is created or updated
- A record is deleted
 Run the flow:
• Before the record is saved: if all you need is to update the record that
launches the flow and quickly build a high-performance flow
(offers 4 flow element: Assignment, Decision, Loop and Get Records)
• After the record is saved: build a richer flow that can access any (other
object’s) record and perform actions (access most flow elements)
eg. when agent updates a case record, a record of unrelated object
should be created
Eg. two record-triggered flows: one flow run after contact is created; one flow
run before contact is deleted
 When to execute outcome:
o if condition requirements are met
o only if the record that triggered the flow to run is updated to meet the
condition requirements
Wait element
= automate process that require a time-based waiting period: for events it needs to wait for
Setting time-dependent action can be added to a workflow rule but since requirements also
needs to convert the lead  use Process Builder with a flow action to convert the lead and
add a Wait element to set a one day wait period to automatically email the contact

Scheduled flow: flow run automatically


Scheduled flow: select a set of records based on criteria. A ‘send email’ action weekly can be
added to flow to send an email reminder to customers who continue to have failed status

Add a screen to collect user input


1. Drag a screen element onto canvas > name: new account
2. In screen components: click text, text again > select the first: account name > select
second: enter phone number
3. Select the footer and under control navigation: deselect previous and pause

Create records elements


1. Drag a create records element onto canvas > name: Create Account
2. How to set records fields: Use separate resources, and literal values
3. Create a record of this object: select account
4. In Field: select Name, In Value: select SCREEN COMPONENTS | Account_Name.
5. In Field: select Phone, In value: select SCREEN COMPONENTS | Phone_Number

Create the screen that enables file uploads


1. Drag a screen element onto canvas
2. In screen properties: Label: the screen upload file > under control navigation:
deselect previous and pause
 File Upload component lets users upload more than one file at a time to the account

Distribute our flow to the right users: add it to the Home page
Home page layout consists of components
1. Create a home page:
Lightning App Builder > new > select home page > name > clone salesforce default
page > home page default > finish
2. Drag the flow component to the top of the right column:
For flow: select quick account > save > activate the page > assign this page to the org
default home page > save
3. Make sure users can run the flow: add flow to a permission set > assign to users

Approvals
Not included in Lightning Flow but Lightning Flow does support automation of approval

= Define a series of steps and actions for approving standard/custom object that meets
certain criteria: a single step or a complex multi-step process with multiple approvers
 Process Builder and Flow can be used to submit records for approval
 The actions to take based on what happens during the approval process.
If the request is approved  update fields on the (employee’s) record
If the request is rejected  send a notification to (the employee)
Manager approves opportunities that are discounted more than 40%.
The opportunity should reflect its approval status: Approved or Not Approved.

Before a Submit for Approval


 Record editability: approver or admin can edit record locked by approval process
 Initial Submitters: which users can submit the record for approval
(user roles, members of public groups)
 Approval process may NOT be used for User object
 Email template: used to notify approvers
 Fields on page layout: specify which field of the record to be approved
 Approval steps: what actions will take place for records
 Initial step: determine what to do to records that don’t meet criteria
APPROVE / REJECT / GO TO THE NEXT APPROVAL STEP
 Next steps: what happens if an approver rejects the request

Approval process
1. Click on ‘Submit for Approval’ button on the record
2. Entry criteria: if the record meets the criteria (error messages if it doesn’t)
eg. discount rates of up to 40% (require Manager’s approval) and discount rates
more than 40% (require CEO’s approval)
3. Initial Submission action eg. lock the record, sent outbound message to another
application, update a field on the record
4. Assign approver: submitter choose manually, automatically using a user field (such as
Manager field)
Approver’s delegate (= appointed user with approver permissions: approve and
reject, NOT reassign)  select option on user detail page or in ‘My Settings’
 Parallel approval routing: send requests to multiple approvers in single step
approver setting can be set to Unanimous (all approvers needs to approved)
or First Response (only one approver)
 The approver = queue: approval request emails are sent to queue email
if queue members need to be notified: queue send email to members
5. Approval actions: Actions can be set for approval/rejection:
• Task
• Email alert: send emails to sales reps once opportunity is approved
• Field update: ‘Approved by Manager’ and ‘Approved Date’ fields
• Outbound message
6. Final Actions: record is unlocked (rejected or recalled) or stay locked (approved)
Considerations
 When a record is submitted for approval, it is locked for changes (except from the
admin and approver) until the record has completed the approval process
 Approval Audit History related list: track where record is in an approval process
include name of approver and approval date
 When the approval process is edited: Last Modified By, Audit trial, History Record
on Approval page layout
 Delete approval process: make sure it is inactive
(but always can delete pending approval request)
Create an approval process
1. Setup > Approval Processes > Manage Approval Processes for Object: Opportunity
2. Create New Approval Process | Use Jump Start Wizard:
helps you create a simple approval process by making decisions for you.
3. Configure the approval process: name (Approve Opportunity Discount)
4. Approval Assignment Email Template (Approve Opportunity Discount),
5. Specify Entry Criteria (Opportunity: Discount Percent greater than 0.4)
6. Select Approver: submitter choose the approver manually
7. Approval Process Detail Page:
Under Approval Actions: Add New | Field Update > Configure with these values:
Name – Field to Update (Discount Percent Status) – A Specific value (Approved)
Under Rejection Actions: Add New | Field Update > configure it with these values:
Name – Field to Update (Discount Percent Status) – A Specific value (Not Approved)
8. Activate approval process
Two-step approval process:
discounts greater than 5% sent to RSM for approval
discounts greater than 15% sent to RVP for approval

Responding to approval request


Approver can view approval requests from their home page
 Email alert: with link to record and pending approval (check in notification builder)
• Approvers can reply to email notification to approve or reject
 Enable Email Approval Response in process automation settings
• Comments can be added on the second line in the email reply
 Through a Chatter post in their feeds
 Mobile app: approvals navigation item (a list of pending approvals  shortcut action
buttons)

Use Cases
 Opportunity: sales reps can request approval from their sales manager for
opportunities with discount above 30%
 Quote has been generated and add discount of 15% applied based on quantity of
items. Ask for approval from his manager before sending a copy to the custom
 Contract: before activating a partner contract in which the auto-calculated end data
is less than 2 years, ask for further evaluation from his manager
 Time Tracker: Paid-Time-Off (PTO) requests can be use approval process to allow
employees to submit leave requests for their manager’s approval
 Project deadline extensions, hiring process, overtime requests, authorization,
approval for purchase or funding
Approval opportunities in timely manner:
 Enable Approvals by Email for approval process for high-value opp
 Approve/Reject request via Approval Requests tab

Path & Workspaces


Path gives a visual representation of the stages required for working through a sales process
 guide sales reps toward greater success with working leads and closing deals
- Key fields that reps complete before moving to the next stage in the sales process
- Words of encouragement to keep your reps pumped
- Links to relevant Chatter posts
- Policy reminders
Available for Opportunity, Lead, Quote, Standard objects and any Custom objects
Only available on Opportunity object on Salesforce1  Enabled only through desktop setup

1. Create a sales process:


Sales processes > New > Existing Sales process > Name > save > select stage values
2. Create a record type:
Only one path for each record type of an object
Opportunity > record type > New > Existing Record type: Master > select Sales
process > Active > select page layout for all profiles
3. Setup a Path: Path settings > enable Path > New > Path Name
a. Choose Object – Record Type – Picklist
b. Click on Prospecting Tab > Add fields > Add Text in Under Guidance for
Success > Activate Your Path > Enable Celebrations: Closed Won – Always
4. Kanban view (Record Types are listed above Sales Path)
List view controls: Select fields to Display > Add Filter > Add Chart

o Displays a max of 200 records and each card will display a max of 4 fields
o Only can show opportunities for a single record type
o Displays amounts in user’s currency
o Can summarize records (by currency fields)

Workspace
1. Path
2. Key fields: for working leads through this stage
3. Guidance for success: include best practices
4. Activity tab, Collaborate tab, Details tab (of Leads)
5. The composer helps to stay focus on the lead of the moment
(log calls, create tasks and events, send emails) without navigating away
6. Next steps >< Past Activity
7. Quickly access related info: Contacts, Products, Notes

Opportunity Teams

Account Team can be expected to form a long-term relationship with the customer
Opportunity Team is a temporary group of people who can help you close the deal
 gives the team members special visibility into the opportunity, such as updates on Chatter
o Team members can be internal users or partner users

Setup > Opportunity Team Settings > Enable Team Selling > select which page layouts to
include opportunity teams > ‘Add to users’ customized related lists’
 Add Members to Opportunity Team: OT related list >
User – Team Role – Opportunity access (cannot be less than org’s default opportunity
sharing access)
eg. OWD = Private for Account, what is the access of Opportunity Teams:
Opportunity’s Account will be implicitly Read for the team

Setup Default Team


1. Personal settings > Advanced User Details: Default Opportunity Team > click Add >
selecting each user’s: Access to Opportunity – Role
2. Add default team to opportunities: select Automatically add my default opportunity
team to opportunities that I create or open opportunities that are transferred to me
a. To add your default team to all your open opportunities immediately:
select Update open opportunity teams with these members
b. Don’t add default team to opportunities automatically:
click Add Default Team on the Opportunity Team related list.
Create a report of type Opportunities with Opportunity Teams:
The report preview includes Opportunity Owner field
View or update info on other team members: add UserId field: includes all users with a
UserId value on Opportunity Team Member object (each user has a UserId for each team)

Filter the report:


• Track teams’ progress: filter by opportunity teams that you’re a member of.
• Update info for a team member across opportunity teams:
eg. left company and remove her from all opportunity teams:
Filter by left person and find all UserId values for the teams she’s a member of
Opportunity Splits
= share revenue from opportunities and give team members credit for helping to close deals
 Splits can’t be rolled up to sales territories
Type of splits
are included on currency fields on opportunities by default
Opportunity - Amount is the default currency field. You can split any other standard currency
field, roll-up summary fields, or custom currency fields, but not formula currency fields
Opportunity Splits > Select Revenue/Overlay tab > add Users as team member – percent -
amount
 Splits can be assigned to any user with the appropriate profile
 Opportunity Settings >
i. Prompt users to add products to opportunities
ii. When users add a product to opp, insert a quantity of 1

• Revenue Splits for Directly Responsible Team Members (sales rep):


Revenue splits that admin can create always total 100% of the opportunity amount
eg. 70% to a team member and 30% to another team member
Must have team selling, opportunity splits, and revenue split type enabled
• Overlay Splits for Supporting Team Members (technical sale manager):
Overlay splits can total any percentage of opportunity amount, including over 100%
Must have team selling, opportunity splits, and overlay split type enabled

Setup Opportunity Split


1. Opportunity Team setup > Enable Team Selling
2. Setup > Opportunity Splits
• Rename or deactivated Default Revenue and Overlay splits, which are based
on Opportunity - Amount field
• To split another currency field and specify whether splits on field must total
100%: click + Add a new split type
3. Select opportunity page layouts: to include Opportunity Splits related list
4. Click Save: to start splits enablement
5. Edit Splits Layouts: Opportunity Split Object > Page layouts > Multi-Line layout editor
> select fields for sales reps to use when managing splits
(multiline layout doesn’t support rich text fields or multiselect picklists)
Opportunity Splits – Opportunity Team:
 When you can Opportunity Splits setup, you cannot disable Opportunity Team.
 when you create Opportunity Splits with user who is not on Opportunity Team,
he will be automatically added to Opportunity Team.
Deactivating a split type:
• Removes it from SF interface while saving underlying data to reactivate it later
• Make room for another type: maximum number of split types is 8
• Deleting a split type permanently removes all related data, reducing storage needs
• Can’t delete default split types
Delete Opportunity Team Members:
• If team member you want to remove has a split percentage greater than 0, first
reassign the split
• Remove opportunity’s owner from splits calculations, assign a split percentage of 0,
or transfer the opportunity to another user
Split will fail:
• Check for mass operations in progress: make sure all mass operations are finished
enable opportunity splits while you’re running a mass operation, such as Mass
Transfer or Mass Reassign Team Member, enablement of splits can fail.
• Resolve inactive currencies: When inactive currency is used on opportunities, the
splits enablement process fails.
• Opportunities owned by inactive users or users generated during automatic
processes block splits enablement  delete their opp, temporarily transfer
ownership to active users

Forecast
• Pipeline: view of a rep’s open opportunities, no matter what stage they’re in.
It includes the newest prospect to that opportunity with a pen in hand, ready to sign.
• Forecast is a subset of the pipeline and includes just those deals expected to close
Representation of Opportunity amounts, dates, stages determine how much revenue
Lead generation > Lead qualification > Revenue management (forecast)

Forecast Categories
cannot add new Forecast Category value, but you can rename them.
 Pipeline: = open opportunities: Only a small number of the opportunities in this
category will close successfully within the current period
expect only a quarter of these deals to close
 Best Case: deals are fully qualified, and opportunity has an embedded Close Plan
expect to win between a third and half of the deals
 Commit: Close Plan is going well on these opportunities. Commit means you are
confident of a successful outcome, and only in exceptional circumstances do these
opportunities slip from the current period
expect to win 90% of the opportunities
 Closed: Closed opportunities are won. No further sales effort is required to clinch the
deal or be sure of the sales revenue
Opportunity will automatically be added to the forecast
 Omitted: when they are Lost or qualified out. However, for reporting purposes,
sometimes other opportunities, renewal deals
Opp amount is not included in forecast
Example: The first step is preliminary qualification in which opportunities should not
contribute to forecast:
 First stage with omitted forecast category
 Assign 0% probability to first sales stage
Enable forecast adjustments
Forecast users can adjust forecasts without affecting the amounts, close dates or forecast
categories of related opportunity records.
Enable adjustments, the setting applies to all forecast types,
for Product Family forecasts, adjustments must be made to product family totals
 Enable Manager Adjustments: adjust forecast amounts of immediate subordinates
 Enable Owner Adjustments: adjust forecast amounts on own forecasts
(Forecast managers cannot adjust the subtotals of the opportunities they own)
 Enable adjustments for users: Setup > Profiles > select Override Forecasts checkbox
Customizable Forecasts
= rolls up multiple forecasting categories into a single category
 Territory Management / Custom Fiscal Years
 Product Schedule Forecasts
 Submit Forecasts
 Product Family Forecasts
Pipeline = all open opportunities (Pipeline + Best Case + Commit)
Best Case = Best Case + Commit + Closed Won
Commit = Commit + Closed Won
Closed Won = Closed Won
Closed Lost = Omitted (Not calculated / Not included in Forecast Figures)

Eg.
3500 opportunity in best case forecast category
2000 opportunity in Commit forecast category
1000 opportunity has been closed Won
1000 opportunity has been Closed Lost

Best Case = 3500 + 2000 + 1000 = 6500

Collaborative Forecasts
= Predict and plan the sales cycle from pipeline to closed sales
When org wants to forecast revenue and quantity based on Opportunity data
 Opportunity Splits
 Default Forecast Currency Setting
 Product Family Forecasts
<>Consider Commit category to be all Opportunities that are almost closed plus those that
are closed (Customizable) or is it only those that are almost closed (Collaborative)

Forecast Types in Collaborative Forecasts


Up to 4 forecast types can be enabled for users
o Opportunity Revenue - Close Date, Product Date, Schedule Date
eg. measure revenue based on when individual Products are sold
o Opportunity Quantity - Close Date, Product Date, Schedule Date
o Product Family Revenue - Close Date, Product Date, Schedule Date
o Product Family Quantity - Close Date, Product Date, Schedule Date
o (Custom) Opportunity Revenue Splits - must enable Revenue Opportunity Splits
o (Custom) Opportunity Overlay Splits - must enable Opportunity Splits
o Opportunity Revenue by Territory - Revenue Only - Close Date, Schedule Date
o Product Family Quantity by Territory - Close Date, Schedule Date
o Product Family Revenue by Territory - Close Date, Schedule Date
shows opportunity amounts segmented by product family and each product family
subsequently broken down by territory
Product Date and Schedule Date are available in Lightning only.
o If Product Date is not present, Close Date and Amount or Quantity field will be used.
o If Schedule Date is not available for opportunity product, Product Date and Total
Price or Quantity will be used
Enable Show Quota: show quota target amounts and attainment percentages for all forecast
types

Setup > Forecasts Settings > Enable Collaborative Forecasts:


Specify how SF calculates forecasts and what to show users on Forecasts page
1. Under Enable Adjustments > edit:
o Check Manager adjustments: let forecast managers adjust forecasts of
immediate subordinates and child territories
o Check Owner adjustments: forecast users adjust amounts of own forecasts,
including the territory forecasts that they own
2. Manage Forecast Rollups > edit >
o Single/Individual category rollups (default): one forecast category per column
Opportunities from each individual forecast category are combined into
separate forecast amounts for each category
o Cumulative forecast rollups: Combine multiple forecast categories in columns
combining opportunities from multiple forecast categories
3. Under Configure the Default Forecast Display:
select a period (monthly/quarterly), when to start, extending for
Forecast monthly (to 15 months) or quarterly (to 8 quarters) in future or past
(If not, the first month, period, or quarter of the range is selected)
4. If the company uses multiple currencies:
Under Default currency > Corporate/Owner’s personal currency
5. Show quotas: After entering quota data, quotas and attainment percentages show on
the forecasts page by default
6. Create a Forecast Type (at least 1): Start > Select the object on which to base the
forecast type > Group forecasts by product family > select date type and hierarchy on
which to base the forecast type > Name – developer (API) name
> select Activate: make forecast type available on forecasts page
7. Enable forecasts users: User > Under General Information: select Allow Forecasting
Forecast Hierarchy: list of forecast users or territories that determine how forecasts roll up
within a company and who can view and adjust them
o Automatically generated based on role hierarchy
o If Territory Forecasts is enabled: on Territory hierarchy in active Territory model

Forecast Quota: monthly or quarterly sales goal that's assigned to a user or territory
o If multiple Forecast Types are enabled, each Forecast Type maintains separate quota
o If using Collaborative Forecasting: quota can only be added via API.
If not, edit quota in Quotas related list in User page or personal settings page
o Use Data Loader for mass updates on Quotas: when updating quotas, set quota field
value on RevenueForecast or QuantityForecast objects
Forecast Quota > Forecast Period > Forecast Type > Assign to users >
o Role-based Forecasts
o Territory-based Forecasts eg. LA, US

Forecast related permissions:


o Manage Quotas - Create, edit and delete forecasting quotas
o Override Forecasts - Override personal forecasts and forecasts for users who report
directly to them in role hierarchy
o View All Forecasts - View any user's forecast, regardless of forecast role hierarchy.

Product Schedule
Opportunity Product > Enable Product Schedule >
 Enable Quantity Schedule
o Enable for all products
 Enable Revenue Schedule
o Enable for all products

Track orders using opportunities and forecast how much revenue generate each month
Track monthly revenue projections from the sales of its annual Subscription service

Default Schedules:
 used when customer make payments or receive products based on same timetable
 If default is added or changed, Opportunities with that Product are not updated

Quantity Schedule: determines when a product is delivered


 Customers pay once but receive the product over a period of time and
allows tracking of shipping dates
 Product reflect the quantity sold in equal increments
 Product shipped in several installments over time (daily, weekly, monthly, quarterly,
yearly)
Revenue Schedule: determines when a product is paid for
eg. monthly subscription service with the company
 Customers pay regularly but receive the product once
 Product’s revenue needs to be divided in equal increments (like a payment plan) or
recurring revenue (subscriptions where revenue is received monthly)
 Product billed in several installments (number) over time (daily, weekly, monthly,
quarterly, yearly)
Considerations:
 Schedule Date starts from Product Date we defined in Opportunity Product
(If Product Date is not specified, schedule date will start with today)
 Schedules are deleted if Opportunity Product is deleted

Lead Management (7%)


= potential customers

Lead status:

 Unqualified: when the lead is not interesting.


 Qualified: when the lead is interesting, even if there is no project linked to it. If the
lead is linked to a project, we can qualify and create an opportunity at the same time.
Create Leads
New > Name > Company >
 Lead status
 Lead Source: marketing campaign, web-to-lead, events, ads
 select ‘Assign using active assignment rule’
 Email opt out: not want a lead to be included in our mailing list
Create Lead within Outlook
Verify your identity with SF Authenticator > new global action: New Lead

Assigning the lead to another owner


Edit next to lead owner > Send notification email > new owner will also become owner of
records related to account that were owned by the old owner (Notes and attachments, Open
Activities)

Benefits:
• better track, report on, and target marketing campaigns to prospective customers
• concentrate on the potential deals most likely to close.
• Qualification before it becomes an opportunity
Assignment rules
more efficient to assign leads to the right owners based on criteria, such as where the lead is
located, which industry they’re involved in, or the type of products they’re interested in
Lead Assignment rules > new > name > active > save
Rule entries: new > sort order > criteria are met (field – operator – value) > select user

Converting leads
Lead record > convert > Account Name: create new/existing > Record Owner >
Converted Status (Closed – Converted)

a) Convert the lead record into an Opportunity: work your opportunity until you close the
deal either by completing it or canceling it
i) Transferred values: Close Date (automatically set to last day in current fiscal
quarter) and Stage (automatically set to first stage in list)
ii) In Lead settings: select ‘Hide opportunity section of Convert Lead Window’ or
‘Don’t create an opportunity upon conversion’ checkbox, but check the box on
every conversion what they probably will forget so not best answer
b) Create a Contact from the Lead
c) Contact is associated with an existing or new Account.
If the Duplicates Rules are active, SF checks if any existing accounts share the same
names as the Company name specified on the lead  fields from the lead will be
automatically mapped to contact record
d) If your org has Person accounts enabled and the lead record didn’t include a company
name, the lead is converted into a person account and an opportunity
Lead Converted: links to Account, Contact and Opportunity  creating 3 new records from
the lead record

Convert Lead:
 Converted Status: closed-converted
 Record owner
 Account Name
(Opportunity Name)
Lead conversion considerations:
o If Person Account is enabled and the company field on Lead is empty, then a Person
Account and Opportunity are created when converting Lead.
o Data in standard Lead fields automatically mapped to Account, Contact, Opportunity
o Custom Lead fields mapped to custom fields on Account, Contact, Opportunity
o If fiscal year in Salesforce is Standard, Close Date for Opportunity is assigned to the
last day of current fiscal quarter
After Lead is converted:
o Campaign Members are moved to the new contact
o The most recent campaign it was a member of is saved in Primary Campaign Source
on Opportunity
o All open and closed Activities will be attached to converted Account, Contact and
Opportunity, but only open activities are assigned to the new owner
o Account, Contact, Opportunity will automatically be followed by Chatter post (only if
new record is created, the existing won't see the post)
Lead Conversion Settings:
o Require Validation for Converted Leads - Validation Rules, Workflow Actions, and
Apex Triggers can be enforced
o Preserve Lead Status - prevent lead status from being changed
o Enable Conversions for Salesforce Mobile
o Hide Opportunity Section of Convert Lead Window
o Select "Don't create an opportunity" by Default in Convert Lead Window
o Create a Task During Lead Conversion when Subject is Blank

Limitations of Lead Conversion


 Lead is associated with an active approval process
 Lead is associated with pending workflow actions
 Tasks will not be automatically created in LE lead conversion as in Classic
 Lead conversion process cannot be reverted
Metrics of quality of Leads
 Lead Conversion Rate: how many leads been converted into Opportunities, Accounts
& Contacts. Show that the quality of the lead was good
 Lead Failure Rate: show quality of the lead was bad
o Lead cannot be contacted
o Lead doesn’t respond

Lead conversion ratio stayed the same for healthcare even though lead creation increased:
 Create a report on lead lifetime by industry

Example of sales process:


Lead > Qualified Lead > Opportunity > Presentation > Proposal > Negotiation > Closed Won

Lead Process
Choose Lead Status: selected values > Default: displayed automatically when making a lead
 Both marketing and sales departments can identify at which stage a lead can be
considered qualified: pass marketing leads to inside sales only if a lead reaches a
lead-score threshold.
 Before passing on a lead, it is a best practice to make sure that the lead has a
defined need, necessary budget, purchasing authority, and appropriate
purchasing timeline
Mapping fields: Lead > F&R > click on Map Lead Fields button
Account/Contact/Opportunity tab > Lead fields mapping with Account fields

Eg. Capture info on a lead and display info on Account and Contact once the lead has been
converted: create a custom field on Lead and on Account and configure mapping of two
fields for conversion + custom formula on Contact to pull the value from Account

Campaigns
Track performance of all your marketing activities (ads, email, seminars, conference)
 Campaign execution takes place outside of SF: SF has the list email and mass email
limit of 5000/day  Use third-party email app fromAppExchange to send more mass
emails and track responses back in SF
 Opportunity can have only 1 campaign
 Marketers use campaigns to analyze how many leads, how much pipeline (= how
much business you expect to close) and how many deals
Create a campaign
1. Select Marketing User in user’s page: create, edit, delete campaigns
2. Campaigns tab > New > name > Type: ads, email, webinar > Status > Budgeted Cost >
Expected Revenue > Active!
OR ‘Clone with Related’: existing campaign with its associated records
Campaign Related Lists:
• Campaign Hierarchy
• Attachments
• Opportunities
• Campaign Members
Campaign Path: manage lifecycle of campaigns by track the progress of campaign
Lighting App Builder: add Path component to Campaign record

Campaign List Email: send an email to all the members of a campaign


In LE: sends individual email to each recipient in a list
Campaign Member related list > Send List Email: make a subject/body and select all
members/select members

Campaign Hierarchy: linking related campaigns (up to 5 levels)


 Top level can be a rollup of all their product marketing efforts
 Second level can be for big initiatives like product launch, getting customer feedback
 Third level can be for the individual marketing programs, like emails and demos.

1. Create the parent campaign (one parent campaign)


2. Create child campaign > enter name in Parent Campaign field (unlimited)
Multi-channel marketing campaign (web ads, email, text message, events)
Create a different campaign for each channel as child and link it to parent Product Releases

Track different details for different kinds of marketing efforts: Use campaigns for an event as
well as for a marketing email  Record Types:
eg. email campaign record type can include a field for the email template used, while her
demo event record type can have custom fields for things like location, timing, equipment
For each type of campaign, create Campaign Member Status to report response rate of
campaigns after campaign has executed, Member Status is updated for each member
eg. Email campaigns statutes: Sent, Responded, Purchased, Not Purchased
(Defaults Status Values: Sent and Responded)

 Status/Responses can be updated manually by editing Campaign Members related


list: Manage Campaign Members or Campaign History related list on Lead or Contact
or ‘Manage Members’ button
 Status that use online form registrations can be tracked by using Web-to-Lead
 Status can be updated with Import Wizard or Data Loader: update a large number of
campaign members statuses
 Use the same set of statuses for all campaigns of the same campaign type:
reuse member status values, clone a campaign with the values already setup
 Add new, replace, update status values: add Campaign Member Status related list to
Campaign page layout
Campaign Members
 Add Campaign Members (Lead, Contacts, Person Account)
eg. when lead/contact register for the event to have more visibility on their
participation: associate a lead/contact with a Campaign
 Campaign Members related list on Campaign record: Add Lead/Contact
 ‘Add Campaign’ button on Lead or Contact list view
 On Lead/Contact record page: Campaign History related list
 From Lead Report: ‘add to campaign’
 Using Import Wizard or Data Loader: In LE ‘Manage Campaign Members’ and
‘Import Leads and Contacts’ will navigate to Import Wizard
 Actions on Campaign Member object:
• Change a lead to a contact
• Relate a business account to a campaign record
• Create Validation Rule related to campaign member record
 when you delete a Contact, it’s associated Campaign Member record is also deleted
Analyze with Built-in campaign reports (available in Sales & Marketing Reports folder)
= easily see who the campaigns are targeting, who has responded to each campaign, and
how much revenue they’re generating
Reports tab > New > Type: Campaigns but Campaigns report folder has several reports
 Campaigns with Contacts/Leads: see who the campaigns have targeted
 Campaigns with Campaign Members: shows how many campaign members—
including any combination of Leads, Contacts that you added—have responded
 Campaign with Opportunities: shows all the opportunities generated by campaigns

Campaign Influence
Campaigns with Influenced Opportunities report: Campaigns that have Opportunities
Enabled in Campaign Influence Settings
• Enter a Campaign in Primary Campaign Source field on Opportunity record
100% revenue credit assigned to it, 0% to any other campaigns associated to opp
• Additional campaigns can be associated with Opportunity by adding a Contact with
Contact Role on Opportunity
o Contact must be prior to Opportunity Close Date

Auto-Association Setting
• automatically adds Campaigns to Opportunities when Contact Role on Opportunity is
also a member of the Campaign
• the contact is added to the opportunities within a certain number of days from when
the contact was added to the campaign
• Campaign Influence Time Frame: maximum number of days between a contact's
association with the campaign and opportunity's creation date
 Once you set the days, campaign influence will be recalculated
• Auto-Association Rules: criteria for automatic association of campaigns to opp
Campaign Influence Model settings:
• Locked (default) model: only add/edit Campaign Influence records via workflows/API
• if you change default model to custom model: lose all standard default features, such
as auto-association, primary campaign source
• Record Preference: only be set on default model (custom model: All Records)
Records with > 0% Attribution: to create Campaign Influence records when
Opportunity revenue attribution is greater than 0%

Lead Scoring
Lead Scoring calculates a score on Lead based on certain criteria to determine lead quality
(based on lead activity, data quality, qualification level)
 use formula to generate Lead score and display rating with IMAGE function

BANT is a qualification methodology can be used to qualify and score leads:


• Budget: which product or service they are likely to purchase
• Authority: whether prospect have authority to make the purchase before
opportunity can be created
• Need: whether prospect has the actual need for the product or service
• Timeline: prospect's timeline for purchase
Lead data quality score measures:
• Age: new Lead (recent created date) is more important than old Lead
• Accuracy: ignore or unqualify fake leads
• Completeness: amount of lead information completed
• Relevance: get insights of prospect and its relevance to products or services offered
Tools to improve data quality:
• reCAPTCHA for Web-to-Lead form
• Validation Rules: detect empty field or check the format
• Workflow Rules:
o assign unassigned leads to a manager if unassigned for a period of time
o field updates to ensure completeness of lead data
• Required Fields: ensure certain fields are always entered necessary info
• Data Enrichment Tool:
o Data Integration Rules can be used to add geocode for address field
• Duplicate Management Tool
o Duplicate Rules: control whether when one can save duplicate records
o Matching Rules: determine whether a record is similar enough to existing
records (set matching criteria with 'Exact' matching method)

Rollout Strategy

1. Map your journey


Pre-enablement
• Understand business challenges and priorities
• Decide which Sales Cloud Einstein features to start with.
• Define goals and criteria for success.
• Select an initial group of users.
• Make sure the Salesforce org is ready for Einstein.
Enablement
• Turn on the features
• Test in sandbox
• Start communication with and training users
• Assign users to Sales Cloud Einstein
Post-enablement
• Get feedback for users: Chatter groups, surveys
• Expand your deployment: learn from user groups, make necessary adjustments and
add more licenses and start using more SC Einstein features

2. Set Goals and Priorities


Assign Licenses:
1. Identify power users: most experienced members of the sales team. These power
users know what to expect from a typical sales cycle and can quickly assess the
accuracy of the Einstein predictive model
2. Assign licenses to a pilot group: includes power users and other willing participants
3. Make adjustments: based on the pilot users’ feedback, adjust the model by excluding
some fields from Einstein’s analysis
4. Assign licenses to a wider group: Roll out Einstein to more reps, confident that reps
know what to expect from Einstein and that user adoption will be high.

3. Get Ready for Einstein


Data Quality
The predictive models behind Sales Cloud Einstein are based on your Salesforce data, so
having complete, accurate data helps Einstein give you the best predictions,
recommendations, and insights.

Data Quantity
Einstein uses machine learning to identify patterns in massive historical amounts of data.

Einstein Readiness Assessor is a tool that tells you whether you meet the requirements for
specific Sales Cloud Einstein features based on analyzing SF implementation and send a
report detailing which Einstein features you’re ready to use now, and which ones require
more preparation.

• Kickoff meeting: give key stakeholders an overview of goals and plans for Einstein
• Training: Explain what each feature is for and how it works
• Chatter group: where early users can ask questions and provide feedback
• Regular meetings: Schedule regular meetings with the small group of initial users.
Open discussion about users’ experiences and expectations often yields more
detailed and useful information than written feedback.
• Dashboards and reports: before enabling features, R&D help measure success

4. Start using Einstein


Einstein Setup Assistant lists each feature with a link to its setup page
Many features need only to be turned on. Other features guide you through setup options
that help Einstein understand how you work
eg. Einstein Lead Scoring setup asks which lead conversion milestone you use, and if there
are any lead fields you want to exclude from Einstein’s analysis.

Add fields
• Einstein Opportunity Scoring:
o Opportunity Score field (page layout and public list views)
• Einstein Lead Scoring:
o Einstein Lead Scoring component (page layouts)
o Lead Score field (public list views)

Assign Einstein to Users


Sales Cloud Einstein permission set grants permissions for all Sales Cloud Einstein features

Want to limit inside sales reps to Lead Scoring and field sales reps to Opportunity Scoring.
Clone Sales Cloud Einstein permission set and modifies it to grant only Scoring permission

Admin
User management
New user
Setup > Login Access Policies > Enable ‘Admins can log in as Any User’
Areas to consider when creating a new user:
• Licensing: user license, feature license  only active users use license
Each Users has 1 User license, but features licenses can be added: entitles a user to
access an additional feature not included with user license
• IF you deactivate user license, it’s available to reassigned to another
employee in the company, but NOT AUTOMATICALLY
• In DL: license will be assigned automatically based on Profile selected
• Security: role, profile (only one role and one profile assigned)
Profile depend on the license type selected eg. Chatter Free is selected as license
type, the profiles available are Chatter Free User and Chatter Moderator User
• Localization: locale, language, time zone, currency
• User details: User has username / Email Address / First and Last Name /
License /Profile / Role (optional)
• Required fields: first/last name/alias and nickname (auto generated),
email/username, user license/profileID, role (required, but don’t need to be selected)

Username:
 unique across all SF org globally (including Production org, Sandboxes, Trial org)
Production and Sandbox are on different server sets so same username can be used
 must be in the format of email address (not need to be valid) but multiple users can
have the same email address. The username and the email address can be different.

Account owned by an inactive user needs to be updated:


 Update by admin
 All users have the visibility to record and create/edit permissions on account object
Grant authorized users ‘Update Records with Inactive Owners’ permission

Add multiple users (up to 10) at one time:


Manage users > Add ‘multiple users’ button
 All users will have the same license type assigned but users can be allocated to different
roles and the same or different profiles
 Have the same username and email address
 Click on ‘generate passwords and notify a user via email’ to all users upon clicking save
 use Data Loader if you have 200 multiple users: users will not have a password generated.
After that they have been loaded, the users can be selected from a User list view and then
select with ‘Reset Password’ button the passwords of all selected users
 Individual user records will need to be edited after creation

Resetting passwords:
 Self-reset: click on forget password link on login page (max of 5 times in 24h period)
 Admins can reset passwords for single user (user record), multiple users (user page)
as many times it’s needed
Delegated admin
assign user to delegated group that has ‘user administration permission’
• Create and edit users
• Assign users in roles and profile
• Assign permissions sets (not modify permission sets)
• Assign users to public groups
• Reset passwords
• Manage custom objects
Deactivate/freeze users
Activate: enable the user to login and access SF
Re-activation or later access (temporary workers, license limitations)
Users are permanent (cannot be deleted): you can remove their license or deactivate them

Deactivate users record: (!warning!): user can no longer login and have access to SF
The history of orders/offers, the ownership, the security/visibility remains
 Enable ‘User Self Deactivate’: users to deactivate their own accounts to save time on
deactivation requests of large number of external Community and Chatter users
 Reusing/transferring the records of the deactivated user to another user
 Reasons a user cannot be deactivated:
• User license (eg. Deactivate user account  license becomes available for
reassignment, not automatically)
• Permission set and Profile: if they are the (sole) recipient of a Workflow Email
alert, Customer Portal Admin/Object default owner, selected in a Custom
Hierarchy Field (look up field to let one user associate with another)

Freeze: cannot deactivate immediately, you can freeze users to lockout immediately but
TEMPORARILY prevent users from logging in (also can freeze/unfreeze from the Mobile app)
 But the license is not released, then you have to deactivate

Admin can do by lock out:


 Unlock: user’s account that has been locked due to too many failed attempts.
The counter will reset to 0 if the user gets locked out
 Reset the password using ‘Reset Password’ button: automatically restores his access
to account (user don’t have the permission to reset their own passwords when they
are locked)

User authentication
Single sign-on: standardize authentication where you using single user credentials with an
external identity provider  memorize one password (cannot reset) and consistent
password policies (managed by identity provider – not SF password policies that apply)
 SAML: Security Assertion Markup Language
 Delegated authentication: configured to use a stronger form of user authentication
such as integration with a secure identity provider and make the login page private
and accessible only behind a corporate firewall
Multi-factor authentication: increases an org’s security by a second level of authentication
for every user login next to usual username/password
Verification methods:
o Salesforce Authenticator App: that integrates seamlessly into your login process.
Users can quickly verify their identity via push notifications.
o Third-party TOTP authenticator apps: one-time password generator (eg. Google or
Microsoft authenticatior)
o U2F Security key: Small physical tokens that look like a thumb drive. Users simply
connect the key to their computer then press the key’s button to verify their identity.

Active Directory Integration


You can deploy Salesforce while still using existing, Active Directory.
Salesforce can reuse those logins by providing Salesforce Identity Connect that handles the
automatic synchronization and provisioning of Salesforce accounts

Customer and Partner Identity


Apps like Facebook or Google, let us reuse our existing identities
Salesforce Identity for Customers and Partners provides customer identity and access
management services to manage customer identities, helping businesses connect to all their
customers, apps, and products

Salesforce Connect
= tool for integrating with any external data system. Enables you to view, search, and modify
data that’s stored outside SF org, inside in Salesforce

Heroku Connect
= tool that allows you to get data out of Salesforce. Offers trusted and scalable infrastructure
for powering custom apps in the languages developers love. It lets you establish a
bidirectional sync for selective data inside Salesforce, ultimately enabling your development
teams to quickly use Salesforce data in their custom apps.

Public Events
With Process Integration: employees don’t need to wander between systems.
Events are published automatically to a centralized event stream, then through a series of
intersystem communications and workflows, activity is automatically coordinated
Respond to events: Presentation integration:
view data from several different systems in one screen

Lightning Out = tool that allows you to embed Salesforce inside external systems. This
feature gives IT teams a small bit code that they can copy and paste into an external system

MyDomain
= Salesforce Identity feature lets you create a subdomain for Salesforce org
 having your own URL to the SF org
 Highlight/customize the brand of the company
 Helps in better management of login and authentication
 Required for single sign-on (SSO) with external identity providers
 Developing custom Lightning components

Tested My Domain before deployment:


 Log in using the My Domain subdomain name
 Test tabs and links to see it they display the new subdomain
 Update all app URLs

If org using My Domain and prevents login, but user still tries to use the latter to log in, the
login attempt will appear with the URL in the login history.
When you don’t see an entry for the time when the user was attempting to login in: the user
entered an incorrect username, then it would not be listed in the login history

SF Licensing and Editions


= Metadata description of SF features and services that are available to your org
Org typically has multiple licenses that comprise all its available features and services.
and include information specific to org, such as start/end dates, number of users who can
access Salesforce, number of custom objects the org can create

Assign each user one user license, based on role: determines functionality user can access
Assign multiple permission set licenses to augment functionality provided by user license

Data.com Clean
 Helps to clean and enrich current data in SF
 Requires every SF user in org have a license  Data.com User
change limit of records (default: 300)

Provide editions, add-ons, permissions, and preferences fit together:


• Permission: control access to features and certain aspects of security
o Platform-level: Specify features and capabilities for the org as a whole.
Turned on or off by the provisioning system, based on what a customer
purchases eg. support for creating custom objects or making API requests.
o User-level: Specify functionality for individual users. As an admin, you use
profiles and permission sets to control which user perms in a license are
activated for a given user, so that users with the same license can have
different levels of functionality
• Preference: define settings customers can configure eg. time zone, password options
o Platform-level: specify features and capabilities for the org as a whole. U
Turn platform-level on or off through Setup. Eg. language/Time-zone settings
o User-level: specify personalization choices eg. tab display
• Buy Editions and Add-ons (product licenses): bundle platform, user, and permission
set licenses in varying combinations to provide suites of functionality, so that you can
easily select the package of features and services you need

Each org has at least one edition, which provides all functionality needed to activate the org
and includes at least one platform license, contain one or more user licenses (or no user
licenses). Org may have more than one edition, but all editions must be for the same level:
• Essentials: designed for small businesses to get started with a CRM system quickly.
Includes intuitive walkthroughs, setup assistant, easy-to-use UI, administration tools
• Professional: designed for businesses requiring full-featured CRM functionality.
Includes straightforward and easy-to-use customization, integration, and
administration tools to facilitate any small to midsize deployment
• Enterprise: meets needs of large and complex businesses. It gives you advanced
customization and administration tools, in addition to all functionality in Professional
Includes access to APIs, so you can easily integrate with back-office systems
• Unlimited: extends it across entire enterprise through Lightning Platform.
It gives you new levels of platform flexibility for managing and sharing all info on
demand. Includes all Enterprise functionality, Premier Support, full mobile access,
unlimited custom apps, increased storage limits
• Developer: Provides access to Lightning Platform and APIs. Let developers extend SF,
integrate with other applications, and develop new tools and applications.

Data Security

Security options: Levels of Data Access


Organization: Logging access: password policies, limit login hours, IP restrictions
Objects: Access to object-level data is the simplest thing to control: profiles, permission sets
Fields: You can restrict access to certain fields, even if a user has access to the object
Records: You can allow particular users to view an object, but then restrict the individual
object records they're allowed to see. You can manage record-level access in these four
ways:
 Organization-wide defaults specify the default level of access users have to each
others’ records  to lock down your data to the most restrictive level.
 Role hierarchies give access for users higher in the hierarchy to all records owned by
users below them. 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 user 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. Use
sharing rules to extend sharing access to users in public groups, roles or territories
 Manual sharing allows owners of records to share them with other users. Manual
sharing isn’t automated like org-wide sharing settings, role hierarchies, sharing rules

Auditing features in SF
o Setup Audit Trail: (download for last 6 months) track recent setup changes (show 20
changes)  using Data Import Wizard, resetting passwords
eg. who added a field to the account page layout
o Field History Tracking: automatically track changes in the values of fields or added a
field to the page layout. To enable FHT for all custom objects and some standard
objects, admin must add the related list to page layout (up to 18 months for org, and
24 months via API)
o Login History: monitor all login attempts (for the last 6 months)

Organization security controls


When you ensure that only employees who meet criteria can log in to Salesforce, you're
protecting your data by managing authorized users, setting password policies, limiting when
and where log in

Company profile > Fiscal Year:


 Choose fiscal year Start Month
 Choose fiscal year is based on Start Month or Ending Month

Password policies
Implement restrictions which make passwords more secure:
 at the profile level: Profile edit page: PP can be edited for each type of profile
 at the organization level: Security controls > PP > set restrictions for all users
 Profile PP settings override org-wide PP for that profile’s users
 Changes to org-wide PP do not affect profile-specific PP which may be different

Customize the password settings:

Default password requirements


 a password must contain at least 8 characters including 1 alphabetic character and 1 number
 security question answer can’t contain password
 password cannot contain user’s username and can’t match user’s first/last name
 when change password: cannot reuse the last 3 passwords
Password expiration
 Expire for all users (Security control > expire all passwords), except those without permission
 Number of expired certificates High risk
 Default is 90 days, but can be set to 30,60,90,180 days, ‘1 year’, ‘never expires’ Informational
Resetting passwords:
 For better protection
 To unlock a user
 Change the password of specific users/all users by clicking the ‘reset password’ button
Login Attempts: number of invalid attempts can be specified (no limit, 3, 5 or 10) High risk
Lockout periods: set to 15min, 30min, 60min or Forever (must be reset by admin)

Customizing Password Restriction


o Password complexity requirement eg. must include numbers, uppercase + lowercase letters
o Minimum password length (value between 5-50) medium risk
o Password question requirement: set tot ‘none’ or ‘cannot contain password’ low risk
o Enforce password history: reuse passwords (0-24)
o Require a minimum 1 day password lifetime: not allowed to change P more than once a day
o Obscure secret answer for password resets (hide text when typing)
IP restrictions
Network-based security: covers IP range restrictions, profile-based IP restrictions, login
hours
• Limits when people can login
• Limits where people can login
• When she wants to make it difficult to use stole credentials
At the profile level (login IP address restriction)
Certain users shouldn’t be able to log in if they’re using IP address outside of the office
Setup > Profiles > Login IP ranges > new > Start IP Address and End IP Address

At the organization level (list of trusted IP addresses)


Setup > Security Controls > Network Access > new > enter start and end point of range of IP
addresses
• If you have an address outside this trusted IP range, you aren't excluded from logging
in. You simply have to verify your identity by entering a verification code: when user
logs in from unrecognized device/browser and outside trusted IP address.
• Benefit of Trusted IP ranges in network access: removes login restrictions
users that login within the network (even for the first time) will not be required to
verify their identify
Login Hours
Login days and hours can be set at the profile level (not at org level) to restrict when users
can log in
 To allow users to log in at any time: ‘clear all times’
 Prohibit profiles from logging in on specific day: ‘Start Time’: 12AM, ‘End time’: end
of the day eg. on Sunday need to restrict access for all users, except admin profile
Setup > profiles > Login hours > edit > set the hours

Ensure the listed time is Pacific [Standard or Daylight] Time (America/Los_Angeles).


Setup > Company Information > Under Locale Settings: set Default Time Zone to Pacific

If users are logged in when their login hours end (3.45 pm with login hours until 4.00 pm),
user can continue viewing the page, but user is logged out upon navigation to a new page or
data update operation (create, edit, save, delete)

Users will be logged out after a certain period of inactivity according to the session timeout
(rang from 15min to 24hours – session settings in profile (login hours) or at the
organizational level)

Identity Confirmation
= security layer in addition to username and password, based on browser cookies
Invoked if a user logs in from an unrecognized browser or logging in from outside a trusted
IP range
 don’t need identity confirmation: browser cookie exist and IP address is known
Verification methods (highest priority)
1. SF Authenticator Mobile App: SF sends push notification to mobile device, app can be
opened to verify the activity details.
eg. user left phone at home for multi-factor authentication  admin generate a temporary
verification code that can be used in place of code that they will get from mobile app
2. U2F Security Key: SF prompt the user to insert the security key into their USB port
3. One-time password generator
4. SMS: only to verified mobile number (SF account owner can verify their own mobile number
or admin can use number in format on user’s detail page)
5. Email: verification code in email to address associated with account

 Users can add their own identity confirmation methods for which they receive email
notifications. If the user did not add it, they need to contact the admin
 Email confirmation is sent to user if a new identity verification method is added

Login Forensics
NO USER INTERFACE  Setup > Event Manager > Login event > enable Storage
 A way to identify suspicious login activity
 Who logged in more than the average number of times
 Who logged in during non-business hours
 Average number of logins per user per specified time period
 Logged in using suspicious IP ranges

Organizational-level security access controls


 Trusted IP ranges: allow users to bypass identity verification if they logging in for the first
time or from an unrecognized browser  adding a trusted IP range
 Multi-Factor Authentication: increase security by a second level of authentication for login
 Password Policies: can be defined at the profile and org level to implement restrictions that
make passwords more secure
Control access to objects: profile
Object permission: control what users can do with records they own.
 Profile determines the objects users can access and what actions they can take on
those objects: create, read, edit, delete
 Permission sets (up to 1000 per SF org): grant additional permissions and access
settings users (not profiles) without modifying profile CRUD/CRED
A profile = collection of minimum settings and permissions that determines what users can
see and what they can do  Profile assigned to the user (user can have one profile)
 The settings in a profile determine whether the user can SEE: access level for objects,
which part of the app/tab they can see, and page layouts
 No access to app and tabs: uncheck ‘visible’ for app in profile
 The permissions in a profile determine whether the user can DO: grant app-specific
actions, system-wide actions or customized actions built

Profiles do NOT override sharing settings or role hierarchy to grant access to records
eg. OWD = private, profile = edit, subordinate roles below user: user will have access to
records owned by other users granted via the role hierarchy

Standard profiles
 Read Only: can view records, but not create or edit them
 Standard User: can create, edit, delete records, run reports, view org setup, view but not
manage campaigns, create but not review solutions
 Marketing User: standard user + import leads, manage campaigns, create email templates
 Contract Manager: standard user + manage contracts
 Solution Manager: standard user + review and publish solutions
 System Administrator: has the widest access to data and the greatest ability to customize SF
and includes two special permissions who override all other sharing settings, but not field
level access
 View All Data
 Modify All Data
 Minimum Access – Salesforce: least privilege access that include Access Activities, Chatter
Internal User, Lightning Console User, View Help Link permissions
eg. none of users should be able to view or edit records but need access to Chatter features

Create Custom profile


Can’t modify user permissions, object permissions, administration on a standard profile
Create custom profiles to fully customize a profile by cloning and modifying an existing one
1. Create custom profile: Setup > Profiles > clone next profile similar > Name
Modify profile settings through a user interface: Setup > User management settings >
Enhanced Profile User Interface (up to 200 profiles)
2. Assign the profile to the users:
Setup > Profiles > edit > standard object permissions: most restrictive settings and
permissions you can do to this type of user
Setup > users > edit to next one of them > select profile
Create Permission sets
Permission sets make it easy to grant access/ to take away access to objects and fields to
users who are linked to a profile (only 1 profile, but multiple permission sets)

Org permissions categories


 App permissions: control what actions can be performed in different apps
 Custom permissions: must be enabled, to grant access to custom apps or processes
 System permissions: grant access to org-wide actions eg. create a report folder, use
Chatter
You'll be using permission sets for two general purposes:
 Grant access to custom objects or apps.
A few of users with the same job function (assigned with one profile) are working on a
special project and they need access to an app no one else uses. If we only had profiles,
you’d have to create more profiles customized to those few users’ needs.
 Grant permissions to specific fields (temporarily or long term)
Let’s say you have a user, Tom, who needs temporary edit access to a field while his co-
worker is on vacation. You can create a permission set that grants access to the field and
assign the permission set to Tom and later remove assignment from Tom’s record

Setup Permission Set


1. Create permission set: Setup > Permissions sets > clone next to set you want to copy
select user license option: none (different) and license (same)
*cloned permission set has the same user license as the original
2. Assign permission set to users: Manage assignments > Add assignment > select users
Permission set groups: instead of assigning multiple permission sets to a user

Scenario’s
One Finance manager needs access to all opportunities: grand access to opportunities
through a permission set (because it doesn’t make sense to create a profile for one user)
CTO want to restrict the ability to create and customize report to a certain group of users
• Create a custom profile by cloning the existing standard profile where in the ‘create
and customize reports’ permission should be removed
• Create a permission set to extend ‘create and customize reports’ permissions to the
selected group of users
New recruitment app, the admin want to give access to this new app to users form HR who
have not used SF before and do not need access to any other apps in SF
Create a new profile by cloning and modify it to only include permissions to app
Certain users should have the ability to import leads. They have different profiles depending
on the department they are in
Due to having different profiles, the admin should create a permission set with the
permission ‘Import Leads’ and assign to the users
The admin is testing a new app with custom sales objects. Select users are helping to test the
app as it is not ready for release to org.
During the testing, a permission set granting access to the app and objects can be assigned
to the users. The admin can add more users to increase the test base

Control access to fields


Field-level security determine which fields are read-only or visible per profile (not a user)
 First check the page layout for the profile assigned to the user: page layout makes the
field required or read-only
 Untick visibility for any profile, even those with ‘View All’ and ‘Modify All’
 Fields can be set hidden in the page layout but then users can still access them via
reports, search results, list views
 If a field is hidden using field-level security: it does not appear in page layouts,
search results, related list, list views or reports eg. If Field Level Security prevents a
user from viewing Credit Card field on Opportunity record, user will also be
prevented from seeing this field in a related list, list views, search results, reports

Field Access
 Read-only field-level security will override the ‘Edit’ permission on the object
 Read-only field-level security will override the ‘required’ on page layout
 Field-level security will override ‘Modify All Data’ and ‘View All Data’ permissions
 Universally required fields override field-level security:
Universally required fields always display on edit pages regardless of field-level
security
 Automatically added to all page layouts
 Field cannot be hidden
 Can be applied to text, number, picklist fields

Field access with profile


Setup > profiles > select profile > object settings > select object for which you want to update
the field > edit > kind of access
Setup > object manager > click on field page > set field-level security
Field access with permission set
Setup > permission sets > select ps > object settings > select object > edit > under field
permissions: kind of access > Manage assignments

Control access to records


Record access is a combination of both:
Role = control the level of visibility that users have to an org’s data/records
 user may be associated to one role
Profile = determines what users can do with the records they have access to
The Profile determines if a user can read/create/edit Contact records, the Role determines if
he can see/edit Contact records owned by his subordinates
Record owner has special privileges:
 View and edit the record.
 Transfer the record
 Delete the record.

Key principles
 The permissions on a record are always evaluated according to a combination of object-
level, field-level, and record-level permissions.
 When object-level: profile permissions (object setting and field permissions) conflict with
record-level permissions (sharing rules, manuel sharing)  most restrictive settings win
 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
 Access to records user doesn’t own are set first by the org-wide defaults:
defaults can never grant users more access than they have through their object permission.
Set org-wide sharing defaults

Defines the default level of access users have to records they do not own in each object.
OWD are used to restrict access to records
 OWD setting doesn’t override user permissions

Organization-Wide Defaults: Access options to custom/standard objects


 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, search, 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.
 Public Read/Write/Transfer all users can view, edit and change ownership of record
 only for Leads and Cases
 Controlled by Parent: A user can view, edit, or delete a record if she can perform that same
action on the parent object  for custom objects and Contacts and Orders
eg. task is related to an account that can be edited by user, then the user can also edit the
task, even if they are not the owner of the task
eg. grant account owners edit access to all related contacts regardless who owns the
contacts

Setup > Sharing settings > Org-wide defaults area: edit > select default access >
To disable automatic access using your hierarchies: deselect Grant Access Using Hierarchies*
for any custom object that does not have a default access of Controlled by Parent
*Even if Grant Access Using Hierarchies is deselected, some users (“View All” & “Modify All”
object permissions and the “View All Data” & “Modify All Data” system permissions) can still
access records they don’t own

Role Hierarchy
In private or hybrid sharing model, the role hierarchy open up access to records to users
that have a role above the record owner in the role hierarchy
 Controls data visibility (view records his subordinate does not own but can view,
view/edit/delete/transfer his records and subordinates records, extend sharing on
both his and subordinates records, not view all folders that subordinate have access
to: reports, documents, email templates
 Controls record roll up – forecasting and reporting
 Role hierarchies don't have to match company hierarchy  Every user has one role
 The role hierarchy allow additional record access when object OWD is set to more
restrictive than Public Read/Write (Private/Public Read-Only)
 Role hierarchy access does not override object access determined by profiles because
record and object permissions the most restrictive wins
Grant Access Using Hierarchies option (sharing setting) is enabled for all standard objects
but it can only be changed for custom objects that do NOT have OWD = Controlled by Parent
1. Create role: Setup > roles > set up roles > click Expand All > click Add Role with
highest up in hierarchy like CEO > Label, Name
2. Assign users to role: Next to role click Assign
Account Teams: might be utilized for sharing and reporting
Set up account teams to give sales reps, engineers, customer support reps access to the
opportunities and cases related to accounts that they are working on
1. Enable Accounts Teams > select Account Layout checkbox >
select Add to users’ customized related lists checkbox
2. Add Team Roles: Teams Roles > New > sales reps, engineers, … on separate lines
3. Personal Settings > Advanced User Details > Default Account Team related list
Team Member – Account Access – Opp Access – Case Access – Team Role
Account > Account Team RL: Add Default Team
Sharing rules
= automate exceptions to OWD to grant additional record access to users on an object-by-
object basis at the same level based on their role, territory, public groups, membership or
manager groups
 Irrelevant for public data access models
 Not change the specified groups or roles for sharing rules
Parameters admin must specify when creating a sharing rule:
 Share which records? Owned by certain users and meeting certain criteria
not to folders and list views
 With which users? Public groups, roles, roles & subordinates
 What kind of access? Either Read-Only or Read/Write access

Sharing Rule type (where OWD = private)


 Owner based: all the accounts of owner X, are shared with group
eg. grand read only access to records owned by users with ‘Sales rep North’ with
users in the ‘Sales rep South’ role
 Criteria based: Sharing based on field values
eg. grand view/edit access to opp of type ‘Existing Business’ with all internal users
For Accounts, opp, cases, contacts, leads, campaigns, custom objects, not contracts

Setup > Sharing Settings > Manage sharing settings for: object > Object Sharing Rules: New
• Rule Type: Based on Criteria
Criteria: (Won equals true)
• Share with: Roles
• Access level: Read/Write
Example: records of custom object shared with 4/9 sales managers. Only records have the
‘Pending’ value on the ‘Status’ field should be shared (OWD = private):
create a sharing rule for the custom object to share records with ‘Pending’ status with public
group, contains sales managers

Define public groups


= collection of individual users, other public groups, roles and roles & subordinates, roles &
territories that all have a function in common
• only admins can create public groups
• use to simplify sharing rules when there is more than one sharing rule required
Setup sharing rule for public groups:
1. Create Public group: Setup > Public Groups > New > select Grand Access Using
Hierarchies checkbox > Search: Roles > Add members
2. Create Sharing rule: Setup > Sharing Settings > Manage sharing settings: object > New
Rule type: based on record owner > Share with: Public Group

Manuel sharing
= enable/prevent users from sharing their own user records with others ACROSS the org
NOT AUTOMATED
• To record owners, roles above owner in hierarchy, admins, any user with Full access
• For objects in OWD = private or public read-only
• Shared with other individual users (even a single user), roles, roles & subordinates,
territories, territories & subordinates, public groups, manager groups
 TURNED ON: Account record > Sharing button > add – user(s) to share with
 ONLY AVAILABLE IN CLASSIC
 TURNED OFF: Disable ‘Manual User Record Sharing’
Exercise
If a user is assigned a profile that has read object access to accounts, what records will the
user be able to see? Depends on the sharing model and user’s role ( record assess)
Profile (object permissions: read/edit): edit records + OWD (private):
the most restrictive permissions is OWD: as long as you are not the account owner, you
cannot read or edit an account
Eg. OWD = private for all objects. Bill is owner of accounts and needs to collaborate with
Samir and manually shares read-write access to Flair account with him. Chockie is child
account of Flair account and who is below Bill in role hierarchy
 Samir had no access to Chockie account

Accounts & Contact Management (11%)


Account & Contact Ownership
Account owner by default can access to related records such as Activities, Contacts,
Opportunities and Orders

 Transfer Account: new user will own the associated Contact, open Opportunities,
Contracts in Draft and in Approval Process status, Orders in Draft status, Notes,
Attachments, and open Activities created by original record owner
 When changing owner in Salesforce Lightning, you can do the following:
o transfer Open Opportunities owned by others
o transfer Account Owner's Closed Opportunities
o keep Account Team
o keep Opportunity Team with transferred Opportunities
o send notification email

Person Accounts
Prerequisites met before enable Person Accounts:
 User profiles with read access to Accounts also have read access to Contacts
 OWD for Contacts = Controlled by Parent (cannot be changed)
 At least one record type has been created for Accounts

Knows
 Once person accounts are enabled in org, they cannot be disabled
 Person Account Record Type will be created automatically
 Uses more storage space than business account
Person Account cannot:
 Person Account does not support account hierarchies (do not support Reports
To and Parent Account field)
 Person Account cannot have direct relationships with other accounts or contacts

Business Accounts  Person Accounts:


• Each Account has only one Contact
• Account and Contact have same record owner
• Account and Contact have same currency values
• Parent Account field and Reports To field on Contact is blank

Contacts To Multiple Accounts


Contact's primary Account is a direct lookup relationship of Account in Contact

Contact Roles in Account: a Contact have different roles* in different Accounts


Eg. Contacts might work with more than one company. A business owner might own more
than one company, or a consultant might work on behalf of multiple organizations
* Account Contact Relationship's Role field is multi-picklist and
Opportunity Contact Role's Role field is picklist

 Every contact needs to be directly associated with an account


 Ability to identify where activities are happening at the Account level:
add relevant fields for Account Contact relationship to page layouts
 Any other accounts associated with the contact represent indirect relationships.
Related Contacts list view lets you view current and past relationships

Contacts without Accounts: private and only the owner and admin can view them
 can't associate a private contact with an account

Company Relationships with Account Hierarchies


Account Hierarchy: model the relationships among different business divisions or
departments for complex business clients
Several other accounts with similar names: Get Cloudy East, Get Cloudy West, Get Cloudy
Canada. In Get Cloudy West account record, main Get Cloudy is listed as Parent Account
Account object > Hierarchy Columns > Account Hierarchy View

Account hierarchy has no impact on visibility; it is only a convenient UI representation of all


accounts linked using Parent Account field. The sales manager may or may not be able to
edit the child accounts via other sharing settings such as role hierarchy or sharing rule
 Account Hierarchy does not display details of accounts which user does not have
permission to view, only the account name can be displayed

Limits of Account Hierarchies:


 Person accounts cannot be included in account hierarchies
 Each account can only have one direct parent
 ‘View Hierarchy’ page displays up to 2000 child accounts in Lightning
Establish accounts for businesses with multiple locations:
o Global Enterprise Account: establish one, linked to all contacts, opp, cases
 easy to find account’s records and report on account at the enterprise level
 harder to manage a large mass of info: hard to see what each location needs
from you for your relationship to be successful
o Location-Specific Accounts: Establish accounts for each location, linked each to
contacts, opp, cases (recommended)
 Need to set up a few more complex reports to get the big picture.
 Take advantage of account ownership, hierarchies, specific sharing settings,
and more granular reporting (Track more easily and report on)
Partners
 Partner Role can only be set in Salesforce Classic
Track relationship between customers:
 Customer supplier for other customer: add related company to first company’s
Partner RL with supplier as value
 Add company to Partner RL on opportunity:
o Partner portal access granted to company
o Sales team membership granted to company

Implement Partner Community:


• Sharing model should be re-evaluated when Partner Community is enabled
• Partner users can own account and opportunity records
UC needs to provide channel partners with easy access to approved product documentation.
Sales Management also needs to notify partners about material revisions and updates.
o Enable Content in Partner Community
o Enable Content email alerts for partner users

Territory Management
Gives reps access to accounts based on criteria such as postal code, industry, revenue
Setup > Enable Territory Management

An account may be assigned to more than one territory


Multiple accounts can be assigned to a territory

Territory Settings
Default Access Levels:
• Account Access level: view/edit, view/edit/transfer/delete accounts assigned to the
territory
• Opportunity Access level: cannot access, view, view/edit all opportunities associated
with accounts in territory, regardless of who owns the opportunities
• Case Access Level: cannot access, view, view/edit all cases associated with accounts
in territory, regardless of who owns the cases
Opportunity Territory Assignment:
eg. sales teams base their opp on assignments to specific ZIP codes
• Opportunity Access for Parent Territories: Users in a parent territory can:
View or View/Edit all opportunities associated with territory's child territory,
regardless of who owns the opportunities
• Assignment Filter:
1. Territory Settings > Enable filter-based opportunity territory assignment –
fill in Apex Class
a. Run filter-based opportunity territory assignment job when
opportunities are created
2. Territory Hiearchy > click on Run Opportunity filter >
a. Include all opportunities
b. Include only opportunities (Last Modified Date/Close Date)
c. field 'Exclude from the territory assignment filter logic'
Account Territory Assignment:
To avoid performance issues during account inserts, turn assignment rules off
 select ‘Run territory assignment rules during account inserts’

Territory basics
 Territory: organize groups of accounts and sales reps who work with accounts
o Territories exist only on Account, Opportunity and children of A/O
o Assigned Territories related list on Account
 Territory Type: only used for logically classifying territories; group territories
according to a common denominator/characteristics such as core reps versus
overlay, or named accounts versus geographic territories
Territory Type > New: Label – Priority: 100 (room to add priorities above and below)
 Territory type priority: choose the appropriate territory type for territories you
create or edit. You create your own priority scheme
eg. Your highest territory type priority might be 500, next might be 400, then 300
 Territory Model: represents a complete territory management system for company
connects your territories, user assignments, account assignments
 model need to be Activated to finalize its user and account assignments
Territory Model > New: Label > (Status: Planning)  SF creates Territory Hierarchy
 Territory Hierarchy: Shows a model’s territory structure and serves as its main
interaction point. You start from the hierarchy to create, edit, and delete territories;
run assignment rules for territories, navigate to territory detail pages
(no more than 10 levels of branches in the hierarchy)
Next T Model: View Hierarchy > Create Territory > Label
- Territory Type
- Parent Territory: Territory Model
- Territory Model: filled in (created from there)
- Territory Access Levels: View/Edit/Delete accounts assigned to territory
Recalculation of Access Levels: start at the lowest level of hierarchy first
 Territory Model State: Indicates whether a territory is in (cloning), planning stage,
active use, archived  only have one active Territory Model at a time, but you can
create and maintain multiple models (up to 4) in planning or archived state to use for
additional modeling
o Archived state: not provide account access to users, but it lets admin view
hierarchy and rule assignment
o Cloning: copies territories, assignment rules, assigned users, and manually
assigned accounts from original model
o Planning state: Assignment rules can be run to preview and assess the effect
of the model
Territory forecasts are available for your territory model only:
• Forecast rollups based on the territories assigned to each opportunity
• Forecasts for the territories that the user is assigned to
• Territory forecasts shared to the user
• The opportunities included in territory forecasts, regardless of whether the
opportunity owner is assigned to the territory
Setup Terrority
1. Create Territory Type: Name – Priority
2. Create Territory Model: Name – State = Planning
3. Automatically created Territory Hierarchy > View Hierarchy > Create Territory >
Name > Territory Type > Parent Territory: (East) > Territory Model: East
Account Access Level
Setup Assignment - Territory
1. Create Assignment rule: assign accounts with some criteria to a territory
you know which accounts belong in which territories
eg. accounts in x zip code, with y revenue, and in z industry belong in Territory A
Territory Model > View Hierarchy > click on Territory > In ‘Assignment Rules Assigned
to this Territory’: New > enter criteria
 When you add a parent territory to territory hierarchy, it’s best to apply
inherited account assignment rules to its child territories
Select ‘Applies rule to territory and its decendants’
 Run account assignment rules when an account is updated:
‘Evaluate this account against territory rules on save’
Assign an Account to a Territory Manually: unique characteristics and therefore
can’t be assigned by rules: Territory > Manually Assigned Accounts: Add Accounts >
In Available list: select Account name > Assign
2. Apply an Assignment Rule to a Territory: click on Assign rules > select a rule
eg. all accounts in central region, all accounts in healthcare industry
3. Assign a User to a Territory: In Assigned Users: Manage Users > select users
4. Activate a Territory Model: you can activate a model only if it’s in Planning state
After activating a model, you can’t reset it to Planning state, but to Archived
After you archive a territory model, you can’t reactivate it
PLANNING > ACTIVATE > ARCHIVE
5. Add Account page layout: Users in Assigned Territories and Assigned Territories
6. Reports:
o Accounts Assigned to Territories
o Territories Without Assigned Accounts
o Users Not Assigned to Territories
o Territories with Assigned Users
7. Manage Territories Settings > Disable Enterprise Territory Management
Benefits
 Support to complex and frequently changing sales organization
 Support for multiple forecast per user based on territory membership
 Ability to expand private sharing model using account criteria
Limits
• defining criteria on numeric fields, not string fields
• avoid overuse (restrictive criteria) and not use OR conditions
• > 10,000 records can create performance inefficiencies
• > 1,500 users to a territory, don’t use Setup; manage user-to-territory assignment
through the API

Territory Forecasts
Territory forecast will be able to use if Enterprise Territory Management is enabled
Setup > Forecast Settings > Forecast Types > Opportunities by Territory

• Territory forecasts are always based on Amount and Close Date fields on Opportunity
• Territory forecast allows users to view forecasted revenue compared with other
territories
• Territory forecasts can be used by sales rep to see an opportunity revenue forecast
rollup based on the territories assigned to each opportunity.
• The opportunities that are included in territory forecasts can be viewed regardless of
whether the opportunity owner is assigned to the territory.
• Territory forecasts are based on territory hierarchy instead of role hierarchy
Forecast Manager: user who is forecast-enabled and assigned to a territory
o Share Forecasts with any Salesforce user (access level: View Only or View and Edit)
o View the territory forecasts as a single-page summary

Best practices
Manually assign a Territory to Opportunity on Opportunity record
When you do so, the opportunity is shared with all users assigned to territory’s parent in the
territory model’s hierarchy
1. Opportunity (Marketing) Layout: drag Territory field to Opportunity Detail
2. App Launcher > Opportunity > select Opp: Edit > Choose Territory

Filter-Based Opportunity Territory Assignment


1. Territory Settings > enable filter-based opportunity territory assignment >
Apex Class name > select ‘Run filter-based job when opportunities are created’
2. Territory Model’s Hierarchy > Run Opportunity Filter:
a. Select Include all opportunities
b. Select Include only open opportunities: fill in dates
i. Last Modified Date range
ii. Close Date range
>< exclude opportunity from filter-based territory assignment: add ‘Exclude from territory
assignment filter logic’ in page layout > select checkbox in Opportunity

Clone Territory Model


Territory Model > Clone

Identify Territory Users by Territory Role


1. User Territory Association object > F&R: Role in Territory > Add Values
2. Territory Model’s Hierarchy > Assigned Users: edit > select a Role in Territory
Use Chatter to collaborate on Territory models
Enable Chatter feed tracking for territory models to collaborate with your team on model
development directly within model records
1. Chatter Feed tracking > Select Territory Model object > Enable Feed tracking/State >
select ‘display feed activity for all related objects’

Account Teams
Setup > Account Team Settings > Enable Account Teams
enable the appropriate access to different account roles: each person on an account team
can be assigned different roles and different levels of access to Accounts, Opp, Cases

1. Setup > Team Roles > Edit the picklist values for team roles to follow business process
o Update a changed picklist value globally: Replace Team Role
Add, remove, or replace multiple account team members at a time:
Mass Reassign Account Teams > Select appropriate account, contact, case access for
new or changed team members
o Disable Account Teams: Account Teams > Disable Account Teams
Before disabling account teams, do the following:
o Delete all custom fields, buttons and links, page layouts, validation rules, Apex
triggers, workflow rules that you’ve added to account teams
o Delete all custom reports that include account team information
o Uninstall Apex packages that use account teams
o Remove account team members referenced in your Apex code
2. Account RL: Account Team >
a. Add Default Team: Record owner can define in personal settings
If having same members into same form
b. Add Team Member: A user’s page layout determines which fields are visible,
and a user’s access to account determines which fields are editable
o User: listed as part of the team
o Team Role: role that a team member plays for account
Access
o Account Access: A team member’s level of access to account. The access level can be
Read/Write or Read Only, but it can’t be less than default account sharing access.
o Case Access: A team member’s level of access to cases associated with account
o Contact Access: access team member has to contact on the account. Access level can
be Read/Write or Read Only, but can’t be less than default contact sharing access.
Contact Access field is unavailable when the OWD = Controlled by Parent
o Opportunity Access: access team member has to opportunities

Team considerations:
o only one team per record (Account, Opportunity or Case)
If multiple teams are needed, you can consider Territory Management
o Only owners, people higher in the hierarchy, and administrators can add team
members and provide more access to the member.
o A team member with Read/Write access can add another member who already has
access to the record with which the team is associated. The team member can't
provide them additional access.

Social Accounts & Contacts

Enable Social Account, Contacts and Leads: link records to social profiles
> social networks: Enable Twitter, Youtube > add Twitter to record page

What you can see of Social info is based on user’s Social network account
Unable to see Twitter info about the contact:
 Contact has a private Twitter account
 Contact has deactivated their Twitter account: all contact info on Twitter will
disappear because SF will not cash any contact or social info

Data.com
 Clean (manually or schedule): Field mapping: Data.com fields with fields from
Account, Contact, Lead
 Get more contacts on Account (contacts available in Data.com):
In Classic Data.com app > Find Accounts > data in SF and Data.com will be all in sync
Capability of Data.com Clean:
• Accounts, contact, lead records can be selected from a list and cleaned all at once.
• Individual records can be manually compared side-by-side with matched Data.com
records and updated field-by-field.
• Data.com can be configured to run automated clean jobs to flag field differences and
automatically fill blank fields

Industry Knowledge
Adoption of software/technology leads to strong ROI
What it is + what it can do for your reps + how to use it = adoption
 adoption starts NOW
 secure executive alignment
 document sales processes for improvement: what is working, automate manual
processes, what happens at each stage, coaching reps to do at points in the sale

Benefits to your reps:


- Enhances productivity
- Strengthens customer relationships with better information about their customers
- Creates mobility: Reps can work from anywhere
Benefits to your company:
- Boosts revenue
- Creates real-time visibility into current and future deals
- Greater transparency
- Provides a 360 view of your customer base
Learn from sales reps:
• Conduct a survey: This is the quickest way to get a variety of perspectives, especially
when you’re not able to actually talk to lots of salespeople
• Go on a ride-along: take the most time, but it’s a great eye-opener. It’s where you
actually accompany a salesperson for a day, going to meetings, listening to calls
• Host a focus group: This is a nice middle ground that lets you talk to a group of
people but doesn’t take too long and make sure everyone has a chance to speak up
Pilot your Salesforce experience:
- People who are great with technology, because they’ll be keen to participate, and
they’re a great barometer for what’s too complicated
- People who are natural leaders, because as they inevitably talk with their coworkers
about SF, they’ll generate excitement among the team
- People who are excited to make a difference, like some of your junior reps, because
they’ll get to help shape how SF is designed.
- People of all types—look at different departments, different levels (sales reps,
managers, VPs), and even people who aren’t excited to be getting SF
 Measurable goals to ensure it’s successful:
- Don’t ignore survey scores, especially on questions like “I see value in Salesforce” or
“I understand how to use Salesforce to do my job.”
- Assess usage statistics, like how many participants logged in, ran a report, made a
Chatter post, or created a new account.
- Track feedback, whether its bugs or new ideas
Communicate the Launch to Your Company
- Email: It’s fast, cheap, and gets you to everyone and add links to resources or a video
- Video: This is a compelling way to generate excitement
- Live event: eg. a party in your office or announcement at a meeting
What should you include in these types of communications?
• What’s coming: Tell reps that your company will be using Salesforce and what it
does, without lingo or acronyms
• What’s in it for your reps: What will it help your reps do better?
• Training: If live, when and where will it be? If it’s recorded or documented
• (Bonus) Support from execs: use a video message from VP of Sales or note from CEO
about importance of using SF include it—it will boost excitement and momentum
• (Bonus) Success stories: If someone in the pilot discovered something really cool,
share their story. Peer champions are excellent influencers

Sponsor SF and support adoption: Use SF exclusively for reporting


 encourage reps to use Salesforce: publicly recognize reps who use SF frequently

Sales Metrics, KPIs, Business Challenges

Sales Metrics
 Number of Leads converted: Number of prospects converted into sales opportunities
 Lead qualification score: Calculate score by formula based on several factors, such as
accuracy of contact info, product interest and etc.
 Lead source: determine which channels are used to generate lead
 Number of Opportunities closed: Analyze number of deals are closed over time
 Sales pipeline: Identify which stage the opportunities are at
 Number of Sales activities: denote the activeness of the opportunities by sales-
related activities count
 Sales performance: monitor sales performance based on closed opportunities
 Quote achieved percentage: number of closed deals against quota by individual sales
 Average revenue generated: measure average amount of revenue generated
 Campaign ROI: determine the impact of campaigns on closing opportunities
Key Performance Indicators (KPIs)
 Lead response time: Identify how fast a lead is contacted, speed of response is one of
the key factors of closing deals
 Lead conversion rate: Indicate the lead quality given the source
 Contact frequency and follow-up: Identify how frequent a lead is contacted and
follow-up (use sales automation tool)
 Opportunity winning percentage: determine the effectiveness of a sales rep when
closing opportunities
 Number of closed deals per sales rep: determine the effectiveness of a sales rep
 Number of closed deals per customer: Recognize high-value customers who require
special measures to maintain and nurture relationships
 Customer value: Identify high-value customer based on products/services purchased
 Sales growth: Analyze the pace of sales revenue growth over period of time, it is
important to help company in strategic and decision-making
 Sales target: Indicate whether the sales rep has met sales target
Business Challenge
 Low number of leads: Set up marketing campaign, use social networking tools,
implement lead generation strategies
 Low lead data quality: validate contact info, detect spam, cleanup data regularly
 Sales and marketing alignment: define a clear goal for sales and marketing, refine
criteria for lead transfer and measure success, improve communication
 Achieving sales target: Up-sell/cross-sell, conduct sales training
 Closing opportunities: sales training, learn to use available tools to maximize effort
 Disjointed process flow: Standardize sales process, use sales automation tool,
conduct more training
 Forecasting and planning accuracy: use algorithm for forecasting, analyze past sales
performance, analyze prospect's activity
 Sales productivity: Use tools to improve communication and automate tasks, access
to resources at ease
 Adopt new tech: user training, access to knowledge base, use automation tools

Sales Process
Standard Sales Process
1. Lead Generation: generate lead through marketing campaigns, such as mass-email,
tradeshows, events, social networking, online ads, website and etc.
2. Lead Qualification: establish contact and work on getting more information, such as
product interest, business type and etc.
3. Lead Conversion: qualify the lead and convert to contact, account and opportunity
4. Opportunity Management: nurture the opportunity
5. Opportunity Closure: closed won/lost the opportunity
Lead Process: controls the different Status values available on lead records
use lead status field to identify a lead within the lead lifecycle
Sales Methodologies
On AppExchange, you can find pre-configured Sales Methodologies

Solution Selling
 Offering appropriate solutions for customer’s issues
 Sell solution may or may not constitute a product or service
Target Account Selling (TAS):
 break down large deals into manageable components
 aim to increase efficiency of resource allocation and shorten selling cycles
 focuses on the best way to win a deal
Value Selling
 Leverage capabilities of the company and the buying process of the customer to
create a plan for closing deals
 Focus on understanding and reinforcing why certain offer is valuable to the customer
SPIN Selling (Situation, Problem, Implication, Need-payoff)
 Ask questions based on SPIN to identify buyer's situation and needs,
getting the buyer to identify the benefits of the solution
SNAP (Simplicity, Invaluable Information, Alignment with beliefs, Prioritization)
 focus on increasing the speed of the sales process as modern buyers are too busy to
grasp complex information
 focus on providing simple and unique information
Conceptual Selling
 Focus on effective management of the decision makers involved in a customer's
buying process, and gathering of relevant information about the customer's concept
of the product to close deals
 Based on the idea that a customer buys the concept of a solution to an issue rather
than a product or service
Customer Centric Selling
 Focus on presenting a solution rather than a product or service to the customer
 Focus on collaboration with customers and becoming their trusted advisors
Challenger Selling
 Focus on following a teach-tailor-take control process for selling effectively
 Sales teach and tailor their prospects about business problems and solutions rather
than a particular product or service
 End goal is to close the deals, not just being liked by prospect
MEDDIC Selling (Metrics, Economic Buyer, Decision Criteria, Decision Process, Identify Pain,
Champion)
 Used when the business is interested in tight control of the pipeline by utilizing
automation to direct the best sales representatives
Sandler Selling
 Focus on identifying needs of the customer and create sales pitch based on needs
 Buyer and seller need to be equally invested in the process of selling
 Sales raise and assess obstacles to completing early sales, then provide solutions for
overcoming those obstacles

Marketing Process
= set of activities that are utilized by a company to identify, anticipate and satisfy the needs
and wants of customers profitably

Core Marketing Process

 Campaign Management:
o Design and implement marketing channels
ex: email, website, online ads, trade show, and etc.
o Design campaign development process
ex: concept, design & development, testing, deployment
o Execute online and offline campaigns
o Outline the roles and responsibilities of people involved
 Lead Management:
o Capture lead from various sources, primary through marketing channel
o Design process of lead creation, routing, tracking, and generating related
notifications
o Design required import process and integration(s) for generating more leads
o Define various lead statuses and criteria for lead scoring, lead qualification
and related metrics
 Content Development:
o Define all content-related operations
ex: strategy development, ideation, storage, delivery
o Consists of components such as content delivery calendar, definition of
content architecture, identification of subject matter experts, content
engagement tracking and etc.
 Analytics:
o Define data sources, reporting standards, reporting frequency and etc.
o Identify media to be used for reporting and who to create and utilize reports
o Outline strategy for distributing reports and dashboards
o Outline the process for archiving reports and dashboards

Strategic Marketing Process


 Mission and Objectives
 Marketing Analysis: identify opportunities for marketing products
 Marketing Strategy: measurable goals, target audience, budget development
 Marketing Mix Planning: create marketing mix of components
ex: product, price, place, promotion
 Implementation and Control: execute marketing plan and monitor the result
Marketing challenge: drive more business:
 Website integration: lack of website integration which delays entry of leads into CRM
 Search marketing: non reportable relation between search words and closed sales
 Email marketing: difficult to track and report on effectiveness of emails
Marketing Lead Flow
 Unified Lead Identification:
o marketing users can collaborate and ask questions
ex: lead qualification, activities, prospect activity alerts, steps for closing deal,
content and lead generation campaigns
o establish lead qualification and define lead scoring to prioritize leads
 Strategy Development: distribute and route the leads to appropriate users once they
have been qualified and outline how to follow up with them
 Communication and Evaluation
o evaluate and adjust lead process periodically
o analyze lead data to identify patterns and key indicators
SC Productivity practices
Set Goals to meet goals
Quotas return at the end of each quarter  consistently make those all-important numbers
 reps must make progress every single day, not sprint flat-out at end of selling period

 List Best Deals


- Deals that are close to closing
- Huge opportunities with past-due actions
- Big deals that are close to slipping
 Personalize home page:
- Intelligent alerts on next steps to take, based on what’s worked in the past.
- News stories about top accounts and industries
Tasks you can Automate
 Discount Approvals: if they have to fire off emails or manually track down approvals
to get the discount approved, they’re losing time and risking losing the deal
 set approvals up so that different percentages are treated differently
Low-percentage discounts are automatically approved
Mid-range discounts go to a sales manager, who quickly approve via email or in Chatter feed
Larger discounts alert sales manager whose approval automatically routes it to VP of Sales.
 Travel Approvals: managers can just tap “Approved” in response to emails or Chatter
posts that are painlessly generated for reps
 Guidance at Every Stage: Instead of reps having to seek out info about which steps to
complete next, what people to bring in, or what conversations to have at different
stages of deal cycle, you can push info right to them at the right time with Sales Path
Keep these best practices in mind when you set up Sales Path:
- Outline your best sales practices. This is a great time to get your sales team on the
same page so that everyone is following the steps that work best
- Link to relevant resources. Include your best tips, links to Chatter posts and videos,
policy reminders—anything that can help sales reps get closer to sealing the deal
- Customize Sales Path for different teams. If you have multiple sales teams with
different best practices, you can make a different path for each one
Avoid Manual data entry by connecting email to Salesforce:
= SF syncs everything from contacts, events, tasks and even the emails
(Office365, Exchange, Gmail)

Direct reps to the Best Leads


Lead score = tool that enables reps to make informed decisions about how to prioritize
which leads they pursue. SF can score incoming leads based on factors:
demographics (company size or industry) or actions the person has taken (visited your
website, downloaded an ebook, filled out a form)

Just follow these four steps to set this up in Salesforce:


1. Create a picklist field for each factor: eg. Budget, Authority, Timing
Assign each picklist values specific to the factor eg. for the Budget options, you can
have picklist options like “Buyer has budget” or “Buyer doesn’t have budget.”
2. Create a field to track the score for each factor: Create a numeric formula field to
display the score for each factor (Budget Score, Authority Score, Timing Score)
eg. in Budget, if the rep chooses “Buyer has budget,” the score field is set to 3
3. Create a formula field for the lead’s total score
4. Give it an image: use a text field to display an image that shows how high of a priority
the lead is eg. with a 5-star rating scale: a score of 8–9 is marked by 5 stars
Intelligence of Einstein
- It creates custom models based on patterns around which of your leads converted to
opportunities, which of your leads didn’t, and why
- knows which opportunities have the highest likelihood to close so your reps can
convert more leads to opportunities faster
- provides important insights and recommendations for the sales rep so they can
increase the likelihood that their opportunities close eg. detects that sales rep hasn’t
engaged the prospect recently enough and suggest to send email or book a meeting
- It connects to email and calendar, and it attaches the right emails and meetings to
the right SF records
Einstein is constantly scanning emails, events, news sites to reveal news about each
prospect’s company and industry:
 Activity-related insights eg. if a contact mentions a competitor or leaves company
 News-related insights eg. whether the account is expanding, changing its company
leadership, or is involved in merger and acquisition talk
Boost productivity with Mobile
Settings > Salesforce Settings > Enable Salesforce mobile browser app
- Gather requirements. Make sure you know the features your team needs.
Prioritize the use cases that have the biggest impact and save the most time
- Get buy-in from your super users to promote the app
- Announce that mobile is coming: show a demo
Push deals forward from anywhere, the mobile app gives reps new ways to be productive:
• Today: cross-referencing your calendar with all of the info stored in SF
 know all about person you’re chatting with, the opportunity, before you walk in
• News: See news affecting your prospects and current accounts. Have informed
conversations with your customers or prospects and uncover new opportunities
• Notes: Remember everything important, and save time. If you use Notes during a
client meeting, your notes are saved to the contact or opportunity
• Chatter: communicate with team from mobile device to collaborate from anywhere
• SalesforceA: the admin app for resetting passwords, locking users

Product Knowledge (18%)


Manage products, prices, orders, quotes
Currency

Create Currencies
Company info > select Activate Multiple Currencies

Considerations:
• Multiple Currencies cannot be disabled once they are enabled
• Changing the exchange rate automatically updates converted amounts on all records,
including on closed opportunities
• After a currency is added to an organization’s list of supported currencies, it can’t be
deleted from the administrator’s list of currencies, even when it’s deactivated
• Standard and custom objects, such as Account, Lead, Case, Opportunities,
Opportunity Products, Opportunity Product Schedules, and Campaign Opportunities,
have currency fields that support multiple currencies
• Change Corporate button: change the default corporate currency

New Currency: Setup > Manage Currencies > Under Active Currencies: New > Currency Type:
GBP - British Pound > Conversion Rate: enter .78. > Decimal places > check Corporate
 Each currency requires its own custom price book
 Once currency is added, it cannot be deleted, but can be deactivated
 Define conversion rates manually, no auto rate conversion available yet
 Change currency button: GBP  USD
Parenthetical Currency Conversion is enabled by default (can be disabled)
In multi-currency organizations, SF displays converted currency amounts to users whose
personal currency is different from the currency of the record they’re viewing (org’currency)
Primary Currency: displayed in amount field
Secondary Currency: displayed in parentheses ()
if currency is different than personal currency or currency is not corporate currency

Amounts able to be displayed in reports: as original currency (default = personal currency)


and as any active currency (change currency for report: Show > Currency)

Opportunity currency > product/price book currency


Opportunity currency > account currency
Users Default currency > product currency
Eg. Create a custom formula field on Opportunity that multiples Opportunity Amount by the
Accounts Discount field  Formula field always use User record currency

Enable Advanced Currency Management


Manage dated exchange rates that map a currency conversion rate to a specific date range
eg. Close Date, regardless of the opportunity stage
If the Close Date changes to a different exchange rate period, will automatically update
converted amounts on all records
eg. the exchange rate on January 1 was 1 USD to 1.39 AUD, but on February 1, it changed to
1 USD to 1.42 AUD. Your opportunities that closed between January 1 and February 1 use
the first exchange rate (1 = 1.39), while opportunities that closed after February 1 used the
second exchange rate (1 = 1.42)
 use Dated Exchange Rates  have more than one currency defined in org
 used in opportunities, opportunity products, and opportunity reports
 Currency roll-up summary fields work only between objects that support advanced
currency management, such as Opportunities, Opportunity Products, Product
Schedules, Campaign Opportunity Field, Opportunity Splits.
Account doesn't support advanced currency management

Products

Create Product
• Active
• Product Code
• Product Family
Product > F&R: Product Family > add value
• Product Currency
• Product Description
Create Pricebook
Pricebook = a list of products and their associated prices (entries) to track products
• Standard price book is a master list of all products and one default standard price.
An organization has only one standard price book
Product Related list: Price Books > Add Standard Price > Add List Price > Add Currency
 Custom price book is a specialized list of products that can have custom list prices
(higher or lower price) where prices vary for different type of customers. Custom price
books are ideal for offering products at different prices to different market segments.
Eg. each product is sold at a different price in each country  a custom price book
for each country and custom list prices for each product

1. Create picklist:
Price Book > F&R > new > picklist Region > add field to Price Book Layout
2. Create Pricebook: Products Related List:
Price Books > Add Standard Price > Product Name – List Price – Currency
3. Add Price Book Entry to Price Book:
click on Add to Price Book > Price Book – Currency
Price book = active: link a product to opportunity or quote
Product = active: the reps want to sell the product right away

Price book considerations:


 A Price Book that is in use on Opportunities cannot be deleted but can be archived
 A Price Book can hold prices in different currencies
 If Price Book for an Opportunity is changed, all products are deleted from the
Opportunity, but Opportunity's Amount field remains unchanged
 To create Custom Price Book Entry for a currency, first need to create Standard Price
Book Entry for that currency
 Price book OWD:
o Use: visibility to price books and to use in opportunities
o View Only: visibility to price books
o No Access: no visibility to price books

Link a Product to Opportunity = Opportunity Line Items

Standard price of product and price book in the currency of the opportunity

Opportunity > Products related list > choose Price book (Standard/Custom)
Select a Price Book to associate with this opportunity.
• You can add products only from the Price Book you associate with this opportunity
• Changing the Price Book deletes all products from the opportunity.
Add Product > select product > Change Quantity – Sales Price
Once the Opportunity has added Opportunity Line Items, Amount field on Opportunity
cannot be edited. Amount can only be edited if all Opportunity Products are deleted

To expand Internationally, create a PB to handle currencies for 5 countries


 Confirm that products and currencies are associated with the PB

Control access to Price Books: click on Sharing > click Add:


• Search: select Roles and Subordinates
• Available: click Roles and Subordinates: VP, International Sales
• Select Add Button
• Price Book Access: select use
Assets
used to specify products that have been purchased by customers
 Once Opportunity has been closed and the product has been sold to the customer,
Asset can be created from the product on account
 An asset must be associated with an Account or Contact
Quotes

Quotes show customers prices of the products and services

An opportunity can have multiple quotes, but it can sync with only one quote at a time
 show different combinations of products, discounts, and quantities eg. customer is asking
for pricing options, for lower/higher quality
Identify opportunities latest quote: reference the synced quote field on opportunity record
 If Opportunity has Opportunity Products, when new Quote is created from
Opportunity, it will also create related Quote Line Items
 Quote Status can use to control whether sending email is allowed

Create Multiple Quotes

1. Quote Settings > Enable Quotes > Choose Opportunity Layout >
select ‘Append to users’ personal related list customization’
2. Opportunities Related List: Quotes > New > Name – Expiration Date > Automatically
Account has been filled in > Products are automatically added to quote:
Quote line items appear as Opportunity’s products
3. Sync Quotes to Opportunities: Quote syncing lets you link a quote to the opportunity
that it was created from and synchronize all updates between the two records
Click Quote > open actions menu: select Start Sync
(Sync button on page layout and Syncing checkbox on Quote RL)
4. Make Quote as PDF:
Quote Related List: Quote Line Items > Edit Products > Change Quantity – Discount
Generate PDF > Save to Quote > View PDF: Notes & Attachments RL on Opportunity

Orders
Orders = agreement with a customer to provide products at certain quantity, price and date
Status values: draft – activated
• Related to an Opportunity and Quote with lookups
• Place an Order once an Opportunity Status = Closed Won
• Order from Account: track the purchases
• Order from Contract: track the fulfillment of contract agreement
Contract must be activated before the Order is activated
(Order Start Date can't be later than its Contract's End Date)
• Add products in Orders
o a Pricebook must be selected
o product added to an Order prior order activation (once activated, you cannot
add new Product but you can still edit the existing one)
Order Settings:
o Enable Reduction Orders - allow users to process product returns, service reductions,
and service cancellation  only activated orders can be reduced
o Enable Negative Quantity - allow users to add order products with negative
quantities
o Enable Zero Quantity - allow users to add order products with zero quantities

Order Management considerations:


o Account field on Order cannot be changed if:
o Order is Activated
o Order is Reduction Order or has associated with Reduction Order
o Price book cannot be changed or removed once it is assigned
o Clone Order  when an Order is Activated, it cannot be cloned
o Cannot deactivate Order until you delete its Reduction Orders
o Activated Order's status cannot be edited

Contract
Contract = document contracts, terms, agreements associated with order, account, opp

1. Contracts > New > Account Name – Contract Start Date – Contract Term (months)
Automatically created: Contract Number
2. Enable Orders > Orders > New > Account Name – Order Start Date – Contract
Number
3. Add Product to Order: Order Product Related List: Add Products > select Price Book >
click checkbox Product Name > change Quantity
After an order is created, change Contract field:

 The order status = Draft


 Account associated with order is the same as account associated with new contract
 Currency associated with order is the same as currency associated with new contract
 Order has an associated price book, that price book is associated with new contract

AppExchange solutions
= embed additional functionality with third-party apps. Use the flexibility of SF platform to
build amazing solutions to extend SF

Install App: Get It Now >


• Where do I install the app: production or sandbox?
First in a nonproduction environment (scratch org, sandbox or Developer Edition org)
• Do I give app permissions to Admins only, All users, or Specific profiles?
Limit access to a set of users, plan to modify user profiles before installing the app
Installed Packages > View Components > Package Details page: shows all the components,
including custom fields, custom objects, and Apex classes in the package

Implementation Strategies (13%)


Implementation Process
Rollout Plan

Plan Phase
• identify reasons for change and high-level requirements, and start mapping out
possible solutions
• consulting team kickoff
• ex: a company would like implement Sales Cloud for the first time

• Discovery: helps to prepare for Analyze Phase, including conversations with key
stakeholders to understand their current system and processes
Key activities are:
o questionnaire to gather information from the customer
(focus group, survey, establish benchmarks)
o discovery interviews with key stakeholders to understand pain points
o understand as-is processes
o observe interactions with current systems

Key information to gather:


• organizational charts
• process maps
• report samples
• requirement docs from previous system implementations
• required objects and fields
• stakeholders and roles/titles
• key fields, validation rules, and business rules

• Scope Creep: happens when new requirements are added to project after the original
requirements have been documented  cause project to be delayed
Ways to prevent Scope Creep:
o implement a change control process to review and approve all additional
requirements before they are added to project
o prioritize the requirements and avoid low priority requirements
o verify the scope with each stakeholder of the project
o define written contract clearly to set expectations at the beginning of project

• Project plan sign-off

Analyze Phase
• Gather requirements:
o Requirement Prioritization - prioritized according to level of urgency (high,
medium and low)
o Requirement Categorization - classified based on system capability (data,
security, business process, reporting and etc.)
o Requirement Scope - work that is needed to be performed (in-scope or out-
of-scope)
• Identify gaps:
o As-Is business process defines the current state of the system
o To-Be business process defines the desired state of the system
• requirements document sign-off
• ex: certain stakeholders require a new app with custom functionality and objects

Design Phase
• transform requirements into solutions, and prepare solution design documents
• implement solution design: use cases and a prototype application to give the client a
clear vision of how system will look like and how it will be used based on use cases
• implement technical design: any customizations that require code development
• Solution design sign-off
• ex: a detailed prototype of Sales app need to be presented to the stakeholders
Build Phase
• develop and configure application in sandbox
• conduct alpha and beta reviews to confirm on configuration and demonstrate how it
works
• build and review data migration
• develop training material
• ex: client has provided sign-off on the solution design document, and app is ready to
be developed/configured in Salesforce
Validate Phase
• validate application functionality through types of testing:
o User Acceptance Testing (UAT) - allow system users to validate the process
and usability of the system through test scripts consisting of use cases
o System Integration Testing (SIT) - validate data flowing into or out of
Salesforce from or to external systems
o Performance Testing - test and validate speed and response time
o End-to-End Testing - validate the functionality of a system from start to end
• validate configuration and code, fix bugs and more testing
• develop training material
• project ready to sign-off and go live
• ex: client needs to very that app functions according to requirements, make sure the
app is error-free
Deploy Phase
• conduct training sessions
• migrate data, configuration and code into production
• transfer knowledge to support
• project sign-off
• gather project feedback via customer satisfaction survey
• ex: app can be rolled out with training for a group of users on a specific date
Implementation Strategy
Crawl, Walk, Fall, Run Strategy:
• Crawl: focus on implementation of minimum viable product (MVP) with "must-have"
features only eg. customization of accounts, contacts and opportunities
• Walk: focus on adding "nice-to-have" and any additional "must-have" features
eg. sales process can be defined, products can be customized
• Fall: certain common failure points resulting in failure
eg. no proactive plan, process map unclear, no clear vision or end goals, no success
metrics defined, no clear expectations or communication plan, no proper roles and
responsibilities
• Run: can implement "great-to-have" features if still have time
ex: integration with other system and automation of business process
Project Rollout Challenges
• Project Rollout Challenges
• undefined or unclear process map
• unclear or incomplete requirements
• lack of communication
• canceled or delayed meetings
• lack of availability
• complicated requirements
Rollout Strategy
Team
- Executive sponsor: prioritizes and approves how team’s time is spent on Sales Cloud
- Operations manager: knows the most about the day-to-day sales process
- End user(s): A team member who has time to test out Sales Cloud and give feedback.
- Admin: makes changes in Sales Cloud and manages the implementation

1. Establish Goals
2. Define Key Metrics: Work with your sales team and executive sponsor(s) to
determine the key success metrics you’ll track.
Success metrics: Specific – Measurable – Achievable – Relevant – Time-bound
3. Plan for users: include team in planning state and ask for feedback
Implemented Sales Cloud to better track the company’s revenue:
- Establish a single place where sales teams get insights into their deals in real time
The number of deals closed to date versus the goal
Sales team member(s) can check in on how they’re tracking toward their goals
- Understand ROI based on where their leads originate
Total pipeline amount by lead source, by location (state/country)
If they’re performing above or below their goals, so they can prioritize rep focus
- Understand what types of activities contribute to closing deals
Number of Activities logged per Opportunity by type (onsite meetings, phone call)
Can see which day-to-day activities have the most impact
Deployment
Deployment (last phase) refers to migration of all configuration, code and data from test
environment to production.
• Success is measured at end of deployment through reports and user feedback.
• Deployment Plan specifies deployment activities and release date of the deployment.
• Deployment should be performed when users will not be making changes in
production
• A full-copy sandbox can be used as a staging environment for test deployment
Sales Deployment Plan

Pre-Deployment Activities
• set up announcement for maintenance window
• stop changes in production
• create staging environment and migrate changes to staging environment
• replicate changes based on production
• log users out of system
• set up testing deployment
Deployment Activities
• Communication:
o communicate with users of release date and maintenance windows for
update
o detailed release notes should be sent out to the users as well
o communicate with stakeholders and end-users to ensure adoption and
successful deployment
• Training
o develop training materials for instructors (trainers) as well as end-users
o develop different training material sets for each group of end-users if
necessary (eg. cross-country org, different roles)
o conduct on-the-job training for knowledge transfer
• Migration
o Migrate configuration and code via Change Sets, Ant Migration Tool or Visual
Studio Code
o Import data using Data Import Wizard, Data Loader or 3rd party tools
o Data import order: user – account – contact – opportunity – Lead – Campaign
– Campaign Member
• Measurement
o measure adoption success with reports and dashboards
• Feedback
o conduct satisfaction survey to measure level of satisfaction
o end emails to end user to gather information regarding their issues,
suggestions and requests
Measure success
Implementation Success
o communicate with users to build awareness regarding the implementation
o gather user feedback to improve solutions related to the implementation
o deliver training before launch date
o provide on-going support and training after implementation
o monitor usage metrics

Sales Cloud Success


o Lead Quality (lead quality score, conversion ratio, percentage of dead leads)
o Revenue Generation (opportunity pipeline report and stage duration)
o Sales Productivity (opportunity related activities, number closed won opportunities)
o Campaign Effectiveness (ROI, number of leads generated)
o Forecast Accuracy (actual sales against quota, percentage of quota obtained)
o Sales & Marketing Alignment (lead conversion ratio, number of leads generated)

User Adoption
o Usage (login frequency, date created, updated)
eg. number of records created by users, how much sales activity is being recorded
o Data Quality (completing key fields)
o Business Performance (analytics tracking key business metrics such as opportunity
pipeline, activity types)
eg. how much users are collaborating using the system eg. volume of Chatter post

Customer-centric discovery for SF Partners


Customer-centric discovery = sales teams and partners work together and practice
 Know your customer: gain insights into customer’s business challenges and industry
 Be your customer
 Connect with customer: share insights with them to lead them to new opportunities
 Create with customer: develop a strategy with customer
Co-create strategies based on confirmed challenges  we’re working toward what matters
most to the customer.
Focus on solutions that are the right size for the customer’s needs  can deliver on time
and within budget.

Know your customer


 Identify trends and challenges in your customer's industry:
ü What are the biggest trends and challenges in industry?  competitors
ü How does trends affect the way the industry connects with the consumers?
ü What is the language of industry?
 Identify the details of your customer's current business plan:
(Goals – values – initiatives – strategies – obstacles)
ü How does the business make money? (products, ads, subscriptions)
ü What challenges do they face? (new industry regulations, hiring right staff)
ü What are their strategic priorities? (Expand product offerings or in new
regions)
 Identify decision makers in your customer's business:
ü What role does each decision maker play in the business?
ü What are their key priorities? (security, reliability, innovation)
ü What challenges facing? (start a new role, managing unhappy employees)
Be your customer
 Empathy: Identify common ground, genuine interest in your customer’s business,
look for shared experiences.
 Curiosity: take a Walk in Your Customer’s Shoes
 Engagement: (shop on website, call customer service, sign up newsletter)
 customers need to stay on top of their consumers’ experiences
Connect with your customer
 Connect over thoughtfully delivered insights
 Ask the right questions to connect the details: who, what, where, when, why, how
• Level 1: Tactical or technical issues, like system errors or missed customer calls
• Level 2: Overall business consequence, like being behind in industry standards
• Level 3: Personal impact on their customers or employees eg. high turnover rates
 Whiteboarding helps you clarify customer’s thoughts and concerns about business
Create with your customer
 Create a case for change: review the challenges, storyboard customer’s vision for the
future, draft a plan with recommendations  focus on the business plan
 Re-create customer’s story:
• Problem—start with their top priority
• Business impact— how challenge affects employees, customers, bottom line.
• Problem levels—factor in whether this is a tactical, business, or personal challenge.
• Metrics—determine how they want to measure the results of what you do together.
 Storyboarding: a process for mapping out the connection between your customer’s
current challenges and goals
ü Persona-based or day-in-the-life: Focus on a character who is an employee or
customer. Show the problem and map out a solution that is unique to them
ü Process-based: compare a current inefficient process to a new improved
process you recommend
ü Role-playing or skits: Demonstrate life before and after your recommendation
through skits and role-playing
ü Wild card: Use props, videos, or play a numbers game to show your customer
what they can achieve with your recommendation.
 Co-create a plan: list of possible solutions for your customer’s challenges
CK is just kicking off its project. The consultant wants to dive deeper in CK's process and pain
points. Which three approaches should a consultant use to learn about and empathize with
the customer?
• Role Playing
• Shadowing
• Leading Workshops
• Embodying
• Interviewing

Data Modelling
Lookup Relationship: links two objects together so that you can “look up” one object from
the related items on another object (stand-alone objects)
• One-to-many: single account can have many related contacts
• One-to-one: relationship between Property object and a Home Seller object
Master-Detail Relationship: The master object controls certain behaviors of the detail
object, like who can view the detail’s data (detail object doesn’t work as a stand-alone)
• If a record on the master object is deleted, all its related detail records are deleted
• Create the relationship field on the detail object
UC has a customer base that includes both individual consumers and businesses. The
company has implemented Person Accounts and has a custom object for `Policies` that
needs to relate to both Person Accounts and business accounts:
Create a master-detail account relationship
Hierarchical relationships are a special type of lookup relationship:
only available on User object eg. creating management chains between users

Development Model
Application lifecycle management (ALM) process:
Apps and tools can vary, but steps in ALM cycle apply to any development project

1. Plan Release: Gather requirements and analyze them. Have PM create design
specifications and share them with development team for implementation.
2. Develop: Perform in environment with a copy of production org’s metadata
Develop on Lightning Platform using
• Declarative tools (Process Builder, Custom Object wizard, others in UI)
• Programmatic tools (Developer Console, Source Code Editor, Visual Studio
Code)
3. Test: testing in the same type of environment as you used in the develop step, but
keep your development and integrated testing environments separate
4. Build Release: Aggregate all the assets you created or modified during the develop
stage into a single release artifact: a logical bundle of customizations that you deploy
to production
5. Test Release: Use a realistic amount of representative production data.
Connect test environments with all the external systems they need to mimic your
production system’s integration points. Run full regression and final performance
tests in this step
6. Release: Deploy the customization to production. Train employees and partners so
they understand the changes
Create an environment
Setup > Sandboxes > New > Create From: Production org or other Sandbox

Releases typically fall into one of three categories:


• Patch Bug fixes and simple changes: Simple changes include reports, dashboards, list
views, email templates
• Minor Changes with limited impact, such as a new workflow rule or trigger
impacting a single business process: require testing, but only limited training and
change management
• Major Changes with significant impact, including changes with one or more
dependencies. Greatly affect the user experience and data quality, they require
thorough testing, training, and change management. Major releases are typically
delivered once a quarter (SF: 3/y)
Release on a consistent schedule: Aim to release at regular intervals and on a given day of
the week eg. minor releases occur at 8 PM eastern time on the first Tuesday of every month

Change set development


Change Set development: set of changes or metadata components that can be deployed to
a target org using SF web interface
 Enables deploying metadata directly between related orgs such as sandbox to
production, or from one sandbox to another
 Requires a deployment connection, don’t need to use a command-line
interface or a version control system = declarative tools
 Source of truth: combination of metadata already in environment and the last
build of the change set. Change set doesn't present the complete picture
because it contains only what’s changed
The team’s release artifact is a set of metadata changes, like a diff or delta.
= only metadata that has been added or changed—if it doesn’t change, it’s not in the release
• Manually migrate a change if changed component isn’t supported in Metadata API
• Impossible to migrate a new custom field to the next environment if the custom
object it belongs to doesn’t exist in the target org
• can't use change sets to delete or rename components
o To delete components: use the web interface in target org
o To rename component: first delete component in target org and then upload
the new component in a change set
Authorize a Deployment Connection
As a security measure, any org accepting a change set must authorize a connection to accept
that change set. Authorizes a deployment connection in Developer Pro sandbox, allowing it
to receive an inbound change set from his Developer sandbox

Log in to the org that you want to receive the inbound changes:
Deployment Settings > Edit next to org for outbound change sets > select ‘Allow Inbound
Changes’

Setup Change set


1. Outbound Change Sets > Add Components
2. Click View/Add Dependencies: see whether components you’ve added to the change
set are dependent on other customizations
3. Upload > Choose target org
4. Inbound Change Sets > Validate > Deploy
Validation of a change set is a dry run of the deployment, showing the success or failure
messages that occur with an actual deployment but not performing the actual work.
If the validation is successful, the change set might qualify for a quick deploy.

Quick deploys: not rerunning Apex tests during deployment. When the following
requirements are met:
• Components have been validated successfully for target environment in last 10 days
• As part of the validation, Apex tests in target org have passed
• Code coverage requirements are met:
o If all tests in the org or all local tests are run, overall code coverage is at least
75%, and Apex triggers have some coverage
o If specific tests are run with the Run specified tests test level, each class and
trigger that was deployed is covered by at least 75% individually
Org development
Org development: To cope with increasing complexity: greater flexibility and scalability
o Use Salesforce Extensions for Visual Studio Code to retrieve metadata from
their development environments
o Store the changes in the Source Control System, which contains DX project
o Salesforce CLI is a powerful command-line interface that you can use for
every phase of the org development lifecycle. It improves productivity by
providing a single interface for all your development, test, and automation
use cases.
o Identifying dependencies from all contributors, the team uses change tracking
mechanisms that capture the changes made to components versus changes
made directly in the org through Setup UI
Salesforce DX project contains the source and files that comprise your changes.
A DX project has a specific project structure and source format.
In addition to source files, the project contains a configuration file, sfdx-project.json:
contains project information
= Outbound change set

After testing the changes, creates the Deployment artifact, a .zip file that contains changes
to deploy. Deploys the release artifact to the Full (staging) sandbox first, then to production
= Inbound change set

Benefits of Source Control System:


• Real-time collaboration increases efficiency and drives consensus.
• Team can work on same files at the same time without overwriting changes
• Revision history shows who made which changes.
• You can revert to earlier versions of any file
Salesforce Extensions for Visual Studio Code:
• Salesforce CLI Integration—interacts with Salesforce CLI to provide core functionality.
• Apex—uses the Apex Language Server to provide features such as syntax highlighting
and code completion.
• Apex Replay Debugger—enables VS Code to replay Apex execution from Apex debug
logs
• Aura Components—supports Aura component bundles.
• Visualforce—supports Visualforce pages and components
Change Management Mechanisms
• Change list: simple list, table, or spreadsheet to track changes they make in their own
dev org so they know what to externalize
• Deployment run list: A developer lists any manual changes required in the org pre-
and post-deployment. These changes include metadata that can't be deployed, for
example, profile and permission set assignments.
o Pre-deployment: No tasks and steps required
o Post-deployment: for Sales profile provide read access to custom object, field
• Project management tools: tools as Agile Accelerator and Jira help a team embrace
Agile development practices, track business requirements, feature work, and bugs
Needs to know which components change, whether they add those components to a change
set or retrieve them with the Salesforce CLI and committed and tracked in VCS
Some customizations can’t be deployed because they include changed components that
aren’t represented in Metadata API

Package development
Package development: more flexible releases
o Manage different customizations as separate packages, not as one big release
of changes to the org: build a release artifact you can test and release
independently from artifacts for other projects
o A package version is a fixed snapshot of the package contents and related
metadata and lets you manage what’s different when you release or deploy
o Using Scratch orgs = empty orgs (no metadata or data) where you can work in
same org configuration while each having own development environment
o Package dependency = package containing one or more metadata
components shared by multiple packages
Use to deploy flows to production: Change Set, Visual Studio Code, Ant Migration Tool

Adoption Metrics
Success metrics you use depends on what user behaviors you expect to see:
• How many opportunities have users created in the last 30 days?
• How many activities did users complete in the last 30 days?
• What data have users created or updated in the last 30 days?
• What is the login rate over the last 7 days?
• Who is logging in, and more importantly, who is not logging in and why?
Track and the value of keeping an eye on data quality:
• During training, you emphasized the need to capture nonrequired key fields.
However, the dashboard is showing that users complete a low percentage of those
fields. Are users confused about what to do? Did they miss the importance of
capturing these data fields?
• If you have data that is not progressing as expected—such as opportunities stuck in
the same sales stage for too long, or open deals with a close date in past—users are
not maintaining their data. Is data hard to find? Are they unclear on the sales
process? Are there other shadow systems like forecasting spreadsheets that users
have to maintain?
Measure user adoption:
• Track completeness of records created in SF
(More likely it is that user spend more time and effort to learn SF and is helping
thrive adoption forward)
• Number of neglected opportunities over time by role
Increase user adoption:
 Incentivize end users with rewards for adopting SF
 Ensure that all data in SF is up-to-date and accurate

Governance Basics
= all about people and processes necessary to manage org and achieve good outcomes

Important for technology org:


• Compliance: ensures that your technology systems comply with rules around system
access, security, data privacy
• Risk assessment: managing risk is another powerful benefit because companies
became more dependent on technology for their most important work
• Cost efficiencies: focus on the things that produce the most value. With clear
priorities and standardized processes in place, technology teams maximize their
limited resources and can actually see significant cost savings as a result.
• Velocity: everyone agrees on the prioritization of new initiatives so that you can
focus on the right things and quickly adapt as their business changes
If org lacks governance:
• No vision: don’t know why or how SF became the solution. And this leads to bad
decisions and unhappy users  need to have clearly defined vision statement
• Lack of alignment: recipe for disaster when different groups are not in agreement on
goals and deliverables of the project
• Low user adoption: after implementing a new process or system, it’s imperative to
ensure the actual users are using the new tool because it is an investment
• Drowning in Enhancement Requests  prioritized business backlog
Key stakeholders
• IT: admins and developers who diver great functionality
o Defining the release schedule
o System testing
o System support
• Business Units: governance framework establishes a continuous partnership
between technology teams and the people who run the rest of the business
o Gathering end-user feedback
o Onboarding users
o Owning and managing the budget
o Designating a product owner
• End Users: ones in the trenches using Salesforce every day to get their work done.
Generate valuable feedback that surprises business unit leaders and project teams
Lean Governance
Lean Governance = use a lightweight governance structure to develop, implement, manage
new technology—helps customers deliver successful IT projects fast, but under control

Includes five key processes:

• Vision and strategy


Vision specifies what you want to do, and Strategy defines how you’re going to do it
Define a measurable criteria to evaluate success: monitoring this data allows the
project team to alter course if the solution is not delivering the expected value
eg. reduce percentage of quotes, average time to generate price quote

• Business backlog
complete list of all the business requirements that are prioritized to maximize usage
of platform’s declarative features and minimize the need for custom code

• Software development lifecycle


Set of principles as technical governance: establishing guidelines for release cadence,
migration of new functionality, quality assurance testing, having consistency and
guidelines to maximizes productivity and minimizes system instability

• Data strategy, architecture, and management


Formalize an integration strategy to ensure important data architecture decisions are
considered holistically and with system integration in mind

• Communication strategy
Ensuring everyone affected by a new project is informed and has a voice in process
o Involve leadership: for major initiatives and changes in particular, executives
should lead the messaging.
o Mix it up. It’s important to take advantage of the various communication tools
and forums, don’t exclusively rely on emails or Chatter
o Be mindful of noise: ensure messages contain real value to intended audience
o What’s in it for me? ensure communications are valuable by thinking about it
from the perspective of the recipient
Operating Model
• Centralized: A single governance framework with a one set of processes and
normally focused on a single solution, single business unit, or global processes
Best option for smaller, single-org companies
• Decentralized: Federated governance framework with independent governance
frameworks and different sets of processes for different business units.
Used for organizations with multiple SF environments with highly autonomous
business units or geographies
• Hybrid: governance framework with each business unit having its own autonomy.
Effective for larger companies that want to standardize their best practices and
processes under a common framework, yet allow some amount of autonomy for
their different divisions or geographies
Core committees that will execute lean governance framework:

• Executive Steering Committee: owns the overall vision and strategy, sets the
priorities and oversees the overall project budget. It also acts as the final escalation
point for disagreements that the project teams are unable to resolve
o Update on actions from the last meeting.
o Review of the project(s) overall health and KPIs.
o Review and update the vision and strategy if required.
o Review of the overall project(s) budgets.
o Review of project risk register
• Project Management Committee: manages day-to-day details of all major projects
o Update on actions from the last meeting.
o Review of the project(s) overall health and KPIs.
o Project resources and team skill requirements.
o Review of project risk register.

Process Mapping
= creates visual representations of business processes, includes any activity that defines
what a business does, who is responsible for what, how standard business processes are
completed, and how success is measured. The main purpose of business process mapping is
to show the relationship between the steps and the inputs of a business to establish a clear,
consistent, and concise result  to foster a formal approach to quality management
Process mapping is a beneficial tool:
• Make understanding and communicating the process much easier among teams
• Help identify flaws in the process and where improvements should be made
UPN (universal process notation) is a simple way to document processes and it is easily
understood by everyone in the meeting, and the drill down approach keeps the diagrams
compact so they can be viewed online (remotely work)
 top level lead-to-cash process showing the activities, the handoffs and the people and
systems involved. Each of the activities can drill down to the next level of detail

5 Principles of UPN
• No more than 8-10 activity boxes on a screen
• Drill down from an activity box to a lower level to describe the detail
• Attach supporting information to an activity box
• View and edit controlled by access rights
• Version control and history of changes at a diagram level
Capability models: list out the high level process areas. These are useful for scoping out the
specific area that you are mapping and to show the context within the overall business.

Detailed process map: flowchart that shows a drill-down version of a process that contains
all the details of each step of the process and any subsequent steps. This map is perfect for
giving all details to a process step and documenting all the decision points within a process
SIPOC map: shows the key elements of a process or define the scope of a complex process

Value stream map: visualize the flow of material and information that is needed to bring a
product to the customer. Ideally, you want to use this type of map to record measurements
of inputs and outputs of process steps or to identify waste within and between processes.

Business Process Mapping Steps


1. Identify the process you need to map. Decide where you want to start.
2. Create a winning team: the right team should include members who manage the
process and can provide input about the process.
3. Gather all necessary info:
a. Where does the process begin and end? Steps need to be taken inbetween?
b. What are the inputs and outputs of the process?
c. Who needs to do what and when do they need to do it?
4. Develop the process map: focus on the order of the steps
5. Analyze the process map: scrutinize the process map to identify inefficiencies and
bottlenecks within the processes
6. Develop new, better steps: begin by implementing any improvements to the process
7. Manage the process: monitor the new and improved process to see how it is
functioning and whether it needs further optimization

Statement of Work (SOW)


• It’s a legal document = agreement between company and customer
• It establishes a baseline. Changes from the SOW require a formal change request.
• It defines what is going to be done, when, and who is going to do the work.
• It’s done together. It requires multiple conversations throughout the sales process.

Builder a SOW
• Background: always include the project background information here, even if it was
stated in earlier documents
o SOW is a legal document, and all information should be in it.
o SOW keeps all the customer’s stakeholders informed
• Scope: Write down all of the features and functions that will be built to accomplish
the goals stated in background section
o Training: Who is training users on the new features?
o Change management: Who's building internal support for the project?
o Post go-live support: Who supports software after launch and for how long?
o Data migration: Who moves the data from the old systems to Salesforce?
o Integration: What external systems need to connect to SF and who does it?
o UAT: Who tests new software to confirm it’s fit for purpose?
• Approach: Explain the methodology for how you plan to build the scope items and
identify the project phases, inputs and outputs of each phase, key milestones, sign-
offs, project management, and quality management processes
• Customer Responsibilities: establish the roles, responsibilities, and who on the
customer’s team is filling those roles.
o Customer deliverables: items that customer need to provide you
o Dependencies: identify things need to happen for team to be able to do work
• Project Schedule and Fees: present the customer with both the costs and the speed
that they should expect the work to be completed
o Roles: who is doing what on your team.
o Timelines: when the customer should expect the deliverables.
o Travel expenses: who’s covering which expenses.
o Rate table: what the hourly rate is for each project role.
o Pricing model: how and when your team charges for their work
• Terms & Conditions: provides you with legal protection if things go off track:
Change order, termination, warranty
• Assumptions: there are a lot of unknowns at the start of every project.
Scope, timelines, costs are presented with the assumption that certain conditions are
true, certain dependencies are met, certain undiscovered issues don’t arise
During project planning phase of new SF implementation, what consultant do to ensure
project stakeholders will be satisfied?
 Help SH determine KPIs based on business benefits and desired process performance
 Communication is key (weekly, monthly, quarterly)
eg. Schedule a SH project update take place at intervals throughout implementation

Sales Practices (11%)


The Transition Assistant (available in Setup) is your one-stop shop for all of the
recommended activities, tools, and resources for a successful transition:

• Discover phase: assess org’s readiness for LE, align with SH on transition goals
Discover > go to steps > Evaluate LE benefits and Readiness
 Readiness Check: to see how well the org works out of the box and figure out
which features and existing customizations need work before things are ready
for customers in a report, includes a list of used features and customizations
check readiness > Choose Sales Cloud > check readiness > receive a file
 Preview tool: allows to see your apps in LE before enabling the new interface
• Roll Out phase: Turn on key LE features, adjust existing customizations, prepare your
users for the coming change, then turn on the new interface
click Launch Lightning Experience > Turn on LE
• Optimize phase: measure success, motivate users, iterate with new features
 turn off Classic
Annual planning

In annual planning, sales operations should focus on:


on the current year and upcoming 5-10y cause long term plan will affect what you do now

Churn rate = give sales reps an allowance, or space to fail


• Plan for lost business: 5-7% annual churn is standard for SaaS companies, up to 10%
Eg. Churn allowance of 10%, a rep who reaches 90% of their quota will receive full
credit as if they reached their number
• Plan for future business: have to make up for the churn
eg. set a growth goal of 20% new business
Territory Changes:
• Shuffling sales team members allows them to interact with, and learn from, more
people across org
• It also helps with the spread of sales best practices beyond just one team.
• Changing territories also benefits sales leadership—they are constantly motivated to
work with their team members to find new and innovative ways to succeed
Territory Model:
• Geography: using existing geographic boundaries such as states or zip codes
• Vertical: creating industry-based territories
• Revenue: grouping prospect companies by revenue ranges
• Named Accounts: accounts are directly assigned to each rep by name
(subsidiaries fall under their parent company)
• Size: grouping prospect companies by their headcount ranges
• Round Robin: randomly assigning territories
Fairness is important when creating territories: sales teams always share their territories and
you don’t want them becoming distracted by an individual or team who may have a big
advantage over the others

Reporting
Good sales reporting is frequent to keep sales teams up-to-date and combines data points to
tell a story
• Sales Activities: data captured in SF automation or CRM. Includes account,
opportunity, leads, and activity/task info like calls and emails made
• Territory Mapping: data visualization focused on geography and used to identify
where customers are, who on sales team is responsible for selling to customers
• Compensation: calculate how much team members make based on their
performance, the performance of company, and any other policies that are set up
during annual planning process
• Recognition: allow colleagues to publicly thank one another and help businesses
identify their high-impact contributors.
• General Reporting and Data Visualization: some tools are available to integrate with
systems mentioned above. They visualize and interact with data in aggregated way
Plan components
No more than 3-4 components to make the plan easy to understand and for finance and
sales operations to enforce
• Terms: general definitions of the technical words used in the comp plan, what
happens in the event of termination
• Variable: amount of commission paid out when a sales rep meets their on target
earning (OTE), or the target amount they earn if they meet 100% in their metrics
• Payout Rates: percentage of a deal paid to a rep as commission
• Tiers: different payout rates for products, services, different term lengths (eg. selling
a 24-month contract can earn more commission than selling a 12-month contract)
• Accelerators: increase in payout rates once 100% of a results metric is achieved
• Spiffs: lump sum commission payments tied to specific activities or products
Compensation plans (comp plans) = documents that clearly explain compensation and
incentive structure for a sales rep. Some org can have a single product to sell and a simple
comp plan that pays sales reps a clear percentage of total deal size, others have a plethora of
products and a plan that involves breaking the payout by product and service

Compensation plans are typically redone and signed annually, in line with changes that come
with annual planning:
• Watch for loopholes: don’t find them, sales team will, and they’re tough to contest
• Avoid changes midyear: if needed midyear plans should include text clearly stating
that they replace any and all previously signed compensation plans
• Know where you are flexible: activity metrics are easier to change than the quotas in
a comp plan and spiffs

Sales Cloud Console

Log a call: Opportunity > Log a call: New > Subject – Comments – Contact
 Chatter tab > Streams > Most recent activity

Feedback group: Chatter > New Recent Group > Name


• Access Type: Public/Private
• Checkboxes:
o Allow Customers
o Broadcast Only
o Disable Automatic Archiving

Lightning Dialer:
• Call - make calls and received calls with auto-logging functionality, calls are added to
the activity timeline
• Phone Fields - allow reps to click phone number and dial
• Call Recording - allow call recording
• Multi-Tasking - allow reps to multi-task while on the call
• Call Monitoring - allow manager to monitor the calls to improve sales performance
through coaching
• Voicemails - allow reps to record multiple voicemail messages for different types of
prospects (receive and store up to 20 voicemail messages)
• Local Presence - display phone numbers with the same area code as the prospects
• Call Bridge - make or receive calls with the desk or mobile phone
• Call Lists - allow reps to create a list of contacts to be called

Edit Sales Cloud Console


App Manager > Sales Console: edit > Navigation rules: Cases as subtab of Account
Click case 00001002 > case appears as a subtab within United Oil & Gas Corp. account
(because case 00001002 is associated to that account)

In-app guidance
1. In-app guidance > Add > Home > Add > select Single Prompt > Prompt type: Floating
Prompt > Position selector: Bottom right > Title – Body – Dismiss button
2. Action button label/URL > Schedule: Start date – end date > Times to show: 1 >
No profile restrictions > No permissions restrictions > Details (not seen by end user)
Highlight Panel
Object Manager > Opportunity > Compact Layouts > Close System Default > add fields >
Compact Layout Assignment > Edit Assignment > In Primary Compact layout: select new

Calendar
Sales Console: Calendar > My Calendars: New > Object > Name – Field to Start (close date) –
Field Name to display eg. Case Number
• Add other calendars on User, Public Calendars and Resources, and User Lists

High Velocity Sales Basics

Virtual Selling is important: Sales engagement has moved to digital channels.


And while traditional sales force automation solutions still value face-to-face interactions,
today’s reps are using technology like email, messaging, video conferencing chat, and voice
over IP (VoIP) as part of their sales process

Sales roles
 Inside sales rep (ISR)— selling to prospects from a digital screen, not in the field
spends only 32% of their day selling, the rest of the time they’re looking up
information, trying to plan out which lead to call next, or logging notes.
 Sales development rep (SDR)— handling inbound leads and qualifying opportunities.
For each lead, they have a specific set of actions to handle.
 Business development rep (BDR) —They generate net-new opportunities and focus
on new business and cross-sell business. Have specific actions with leads, but the
volume is lower, and they have more autonomy to make decisions
 Field sales rep —typically working out in the world whether physically in offices or
onsite locations to close deals. They are constantly navigating new demands for their
time and juggling priorities and to-do lists
Salesforce High Velocity Sales is a streamlined solution tailored to inside sales teams to
speed up the sales process:
 Insights on how to prospect smarter and faster
 Integrated tools to eliminate busywork and multiple logins
 New levels of best-practice automation for scalable, repeatable success
The features included in this new product are:
 Lightning Sales Console = everything needed to sell faster all in one screen
from following up on leads and assessing companies to identifying key contacts
 Sales Cadences = a sequence of activities and wait steps that guide inside sales rep
trough best next steps eg. First Email > First Call > Wait 4 hours > Follow-up Call
Enable sales managers to build customized best practices right into CRM
 Work Queues = prioritized task list inside the Lightning Sales Console: who you need
to contact next and what the best next action is
Sales Cadences flow right into a rep’s queue: the first step in a Sales Cadence journey
is to make a call, the lead’s name and action to take shows up in Queue
 Einstein Lead Score = analyzes data, predicts which leads are most likely to convert
Email Integration: intelligently focusing on the right ones
 Lightning Dialer (optional, additional SKU): Gain back hours of productivity by
communicating more efficiently with prospects and customers. It begins by logging
details right from within SF
Sales Cadences
= guide reps alike through prospecting and opportunity nurturing processes— when to email
a prospect, to call, to wait. Specify call scripts and email templates for each step, and create
branched sales cadences with different outreach depending on results of sales calls/emails

Bring together all pending activities in one view and automatically log activities after
completing them
• State
o Draft: can edit the sales cadence
o Activated: can assign leads, contacts, person accounts to sales cadence,
but the steps can’t be changed
o Deactivated
• Sales Cadence Targets: leads, contacts, person accounts
• View Steps: outreach steps
Sales Cadence Steps related list shows the prospect engagement for each sales outreach
Eg. build a sales cadence guiding reps to make two back-to-back calls, wait a half-day, and
then call again or send an email  use Sales Cadence Builder to create each scheduled
outreach plan:
Branches allow different outreach steps depending on the results of a call or an email (2)

Setup Sales Cadence


1. In High Velocity Sales app: choose Sales Cadences from the Navigation menu
Use Navigation Menu to create call scripts and email templates for sales cadences
2. Actions menu > New > Enter a unique name > Sales Cadence Builder opens
3. Add a step: click + icon > On Add Element card, choose the category of step to add:
a. Action: add a sales step, such as a phone call, email, custom step
b. Rule: add a call result branch step after a call step
c. Listener: add an email engagement branch step after an email step
4. For a sales step, choose the type of sales outreach to add:
a. Call—Choose a call script to use a script during conversation.
Call script appears automatically when initiates the call from Work Queue
b. Email—Choose whether to send email automatically or manually.
Automatic emails don’t require any action. For each email step, choose
whether to thread email with previous emails from sales cadence
i. Choose email template: to use specific language in the email
ii. Manual emails to leads and contacts, can schedule emails
iii. Separate automated email steps with a wait step of at least 24 hours,
a branch step that listens for at least 24 hours
After Sales Cadence is activated
1. From a lead, contact, person account detail page: click Add to Sales Cadence action >
choose a sales cadence to start the prospect on a specific set of scheduled outreach
2. Choose a target assignee: perform sales outreach for the prospect and record owner
3. Add related opportunity: if the target is a contact on an opportunity
4. Sales cadence outreach steps appear automatically in the target assignee’s work
queue as they come due
Delete Sales Cadence:
• Remove all targets from the sales cadence
• On Sales Cadences page: choose Delete from Actions menu

Sales Team Collaboration


- Accountability: Team member knows their role and how performance is measured
- Record access: access to the right records  Salesforce Account Teams can include
up to 5 people, who have different levels of access to Account and associated records
- Reporting: To determine compensation and credit toward quota, you have to know
who worked on which deals. More accurate reporting strengthens your ability to
coach and slot the right people in the right places
Team selling can work on any deal, but it can be especially helpful when:
• The deal is complex or is stuck
• Specific product plays a big role, in what primary account rep isn’t an expert on
Chatter is SF’s collaboration platform that lets teams talk effortlessly in real time:
- Everyone can post about what they’re working on or comment on others’ posts
- Join public/private groups: get latest on topics or solve problems together
ü Sales manager: executive passdowns, metrics updates, training recommends
ü Sales reps: a deal win (or loss) story that can help others learn. Or they can
post a question that helps them with a deal—and anyone can help answer
ü Marketing: a new webinar, details of a SPIFF, the latest presentations.
- Teammates can collaborate right on an opportunity or account record to store info
eg. Avoid email fatigue by keeping all must-share info in a team Chatter group
Quip: combines documents, spreadsheets, checklists, and chat in one place so that anyone
with permission can access anywhere, on any device—even when they’re offline
- Work together eg. Take an account plan: one person creates it, and then everyone
can contribute their own items
- Analyze reports: report data organized, filter, highlight, @mention for feedback
Files, CRM Content, Knowledge, Documents & Attachments

Files
• Posting files to Chatter feeds to collaborate with coworkers.
• Adding files directly to records, such as Accounts, Cases,…
• Sharing files with customers in the secure Salesforce cloud.
• Connecting to external file systems with Files Connect
From Files home, you can:
• See all the files that you own or have access to
• Search for files using filters and by entering terms in Files search box
• See favorite files and most recently accessed files under the Files dropdown
• Upload private files or upload and share files with people, groups, or via a link.
• Follow a file and receive updates about it in the Chatter feed
• Download, share, get a public link, view file details, upload a new version, edit file
details
• If Files Connect is enabled: browse, search, share files that are stored in external data
source
Upload files to:
• Files home: they’re private until you share them. Only file owners and users with the
View All Data permission can see private files.
Add files to library: inherit the sharing settings of that library
• Any Chatter feed post or comment field: Attach up to 10 files
Share with public or private groups: File Sharing Settings | With group
• The files card or list on groups, user profiles, opportunities, and other records
• Create public links (encrypted URL): share folders with files
Access file:
• Private: file owner and users with Modify All Data permission find and view this file
• Privately shared: file has been shared only with specific people, groups, or via link
External users see files posted to records have access to, unless marked Internal Only
• Your company: All users in your company can find and view this file

By default:
• Private group access is set to Collaborator
• Public group access is set to Viewer
FilesConnect
Configured a data source like SharePoint to use per-user authentication:
provide your credentials for that system in SF
• If you are connecting to Box, Google Drive, SharePoint Online, or OneDrive for
Business: Select OAuth 2.0 as the authentication protocol
• When you see a message requesting permission for Salesforce to access information
from your external system, click Allow.
• After the authentication process has finished, you are redirected to Salesforce.
1. My Settings > Authentication Settings for External Systems >
External System Definition menu: select External Data Source
External Data Source menu: select a data source that admin created
2. Choose Authentication Protocol: OAuth 2.0 > choose Authentication Provider
Share a file from Files Home (or from the Feed):
• Share a copy of external file stored in SF: if files are shared with a Chatter group, all
group members can access files, even if members lack access to the external system
• Share a reference to external file stored outside SF: only users with access to the
external system can download files (Users must enter credentials for the system in
Authentication Settings for External Systems)
Document Libraries
Store files without attaching them to records and use these items in Salesforce org, such as
when creating an email template
• Each document that is stored in the document library resides in a folder
Folder’s attributes determine accessibility of folder and documents within it
From Document tab:
• Under Find a Document, enter keywords to search for a document.
• In Document Folders: select a folder to view all documents contained in that folder.
• Recent Documents: Toggle Show 25 items/Show 10 items
Setup New Document
• Indicate Document is Internal: When checked, a flag is added to the document
indicating that document viewers should not share the file outside of org
OR
• Externally Available Image if document is image that's not confidential
Display the document > Click Replace Document > Select a document or path option

Delete document:
• Delete any document in personal folder and folders with “Public Folder Access” set to
“Read/Write.”
• To delete a document in a public folder with “Public Folder Access” set to “Read
Only,” you need “Manage Public Documents” permissions
• If you delete a document that's included in a letterhead or HTML email template,
emails using the letterhead or template display a broken link
• Can't delete a document that's being used as a custom logo in meeting requests
Move Files from the Documents Tab into Lightning Experience:
• Export documents in the weekly export > upload the documents into SF Files
• Use a third-party data export tool from the AppExchange
• Use an API-based tool
SF CRM Connect
Content includes all file types, from traditional business documents such as Microsoft®
PowerPoint presentations to audio files, video files, Web pages, Google® docs
• Organizing: stores files in fully searchable file repositories known as libraries.
Admins can create multiple libraries based on any classification, then configure user
permissions within the library to balance content access with security.
• Searching: search engine scans the entire body of the document as well as content
properties such as the title, description, tags, categorization data, and author name.
Filter searches by featured content, file format, author, tags, libraries, custom fields
• Subscribing: Once a file is located, subscribing to it ensures that you receive an email
notification when new versions are published or changes are made to the file's
properties. You can also subscribe to authors, tags, and libraries
• Previewing: if the document is a Microsoft PowerPoint, Word, Excel, Adobe® PDF file,
you can preview the entire file in browser without downloading it
• Contributing: Uploading new or revised files in Content is fast and easy. During the
upload process you choose a library and record type for file or Web link, assign one
or more tags, and fill out customized fields that help categorize content
• Reviewing Usage and Providing Feedback: several methods for determining whether
content is valuable to readers (Voting thumbs up/down on a file and add comments)
• Sharing Content in Salesforce: Content is also integrated with leads, accounts,
contacts, opportunities, cases, products, custom objects. Content uses fields on detail
page to search for files that may be relevant to that opportunity
Contribute Web Links:
1. Click the Libraries tab
2. To add a new link: click Contribute | Do you want to link to a website instead? >
enter the URL > click Contribute. To publish a link that is already in private library:
click My Private Files tab > locate the link > click Publish
3. Choose a library: Web link can be shared with another library but its content details
page can only be edited by a user with relevant permissions in the managing library.
4. Optionally, choose a language:
If multi-language support is enabled, Language dropdown list is displayed.
5. Publish the content on behalf of another author: choose that author
6. Tag your content: tagging permission depends on tagging rule assigned to the library
Publishing a New Version: Option not appear for Web links or Google docs

Removing content from libraries: archiving and deleting:

Use Content Delivery to convert documents into optimized web-based version (Classic only)
send its encrypted URL to any recipient and track how often people view/download content
eg. share documents with customers, not Community users
1. From Content Deliveries related list > click Deliver Content > Upload a file
2. Select delivery method: how content can be viewed (depend on file format)
• Allow Recipient to View in the Browser
• Allow Recipient to Download as file: view the content in its original format
• Allow Recipient to Download as PDF: download a .pdf version of the file.
Only available for Microsoft® PowerPoint, Word, and Excel files
3. Select Notify Me of First View or Download: receive email the first time recipient
clicks the content-delivery URL
4. Select Remove Access to Content checkbox and enter an expiration date
5. Optionally, select Require a Password to Access Content
6. Optionally, use lookup to associate content delivery with a record. The record you
were viewing when you clicked Deliver Content is selected by default
Partners have access to product documentation: enable Content for Partner Community
and be notified partners about updates: enable Content email alerts for partner users

Salesforce Content > Chatter Files:


 Content packs can be delivered to customers outside of SF org
 Can password protect a file and offer a ‘view only’ option

SF Maps basics
SF Maps = multi-cloud app brings location intelligence technology to SF Cloud and centers
around four main categories:

Visualizing data
can interact with and change data as needed
eg. business requirement to visit all of opportunities projected to close this month.
Visualize locations of opportunities by stage to prioritize which accounts to visit first, log
calls, enter notes after each visit, and change required fields

Territory planning
helps you determine how many reps are needed in a specific territory and exactly where
they need to be to maximize sales resource capacity

Tracking live locations


put a pin on the map to track location of delivery drivers, technicians
and visualize data they get from assets, such as speed or distance from a specific location

Used to automate business processes:


• Utilize Geo-enabled Features: Automatically update work order status or
check-in/check-out requirements. Calculate time-on-site. Send follow-up
communication.
• Provide Accurate Performance Data: build performance dashboards and plan for
future success with accurate location-enabled performance data
• Control Inventory and Capture Revenue: confirm on-rent vs off-rent inventory based
on asset’s location, locate misplaced or lost assets and proactively schedule
maintenance based on performance data.
• Enforce Geofencing Accountability and Productivity: set geofences using longitude
and latitude coordinates, territory/geographic boundaries like state lines, or
proximity to customer. Ensure reps aren't traveling outside of their zones
• Ensure Mobile Compatibility: Access Live Tracking data inside device via Live App.
Optimizing routes and schedules
Not only are many people visiting many customers with various stops along the way, but
make smart decisions about who to visit, when, based on business rules and requirements.
Ensure they’re seeing the right customers based on business need

Increase productivity through lead generation by searching for prospects using two options:
• Search bar, which returns a Google search of retail stores in the area
• Business data layer, which plots all sneaker distribution companies in the area
SF Maps Advanced:
• Automate route planning for up to 4 months.
• Use business rules, such as visit cadences, time windows, and priority levels.
• Maintain scheduled appointments and reschedule missed visits
UC is working to expand its residential business in the U.S. Sales reps are being asked to
canvas neighborhoods in their areas, leveraging new door-to-door campaign material to
secure new customers. Internal studies have shown the most valuable residential customers
typically have a household income range between $50,000 and $70,000. Which solution
should consultant recommend to help sales reps determine best neighborhoods to canvas?
• A Salesforce Maps component plotting non-customers in residential neighborhoods
• API integration with Salesforce Maps to plot existing customers on territory maps
• Salesforce Maps using Demographic Context data source to display income ranges for
regions within their territories
• Salesforce Maps with ESR1 integration to display high density neighborhoods
Mapping solution for Teams

Using SF Maps for Field Sales

• Increase sales:
o Geographically visualize data to identify clustered customers and plan sales
route based on travel time and distance of each customer.
o Use on mobile device to help find nearby accounts and fill gaps due to last-
minute cancellations
o Visualize travel paths for scheduled meetings and add meetings based on
proximity to existing meetings.
• Improve territory mapping:
o Get a real-time view of customers, team activities, and performance metrics.
o Create, assign, and balance territories based on key business metrics like
accounts and opportunities per sales rep.
o Use territory visualization to make smart decisions about marketing
campaigns that will help generate revenue
• Boost lead generation: Use Google search engine, business data, or property data to
search for nearby businesses and add them to SF
• Automate the sales process
o Spend less time on administrative tasks by quickly updating records, creating
events, checking in/out of appointments
o Increase overall efficiency by adding SF Maps to schedule and optimize
multiday sales routes in advance
Using SF Maps for Field Service
• Increase customer satisfaction
o Use Live Tracking to pinpoint location of a field rep in proximity to a customer
location
o Automatically inform customer via email or SMS sent from SF
• Manage field service teams:
o Field service teams can quickly check in or out of appointments, schedule
multiday routes, update documentation directly from mobile devices
o Boost productivity by viewing where field team is at any time and reassigning
service calls based on GPS location
• Dispatch calls efficiently:
o Get real-time view of where your field service team is in order to efficiently
dispatch calls based on nearest team member location.
o Get real-time updates of field service team member locations and customer
records in order to best service your customers.
• Ensure service coverage: Build and assign territories in SF to get a real-time view of
customers, technicians, work orders and distribute service requests efficiently

Call Center Integration


Computer-Telephone Integration (CTI) = phone call capabilities integrated through SF
customer data associated with an incoming phone number automatically pops up on screen

• Softphone: on-screen phone from which you can make and receive calls.
Create softphone layout and assign to user profiles
• Call Center: SF feature integrates SF with call systems built by developers or partners
• Open CTI: a JavaScript API that lets developers or partners build cloud-based call
systems for use with SF Call Center. Since Open CTI is browser and platform agnostic,
support agents can make calls on any browser and platform
Setup Open CTI implementation
1. Install a CTI package created by a developer or partner from AppExchange
2. When installing the package, it creates a call center for org—an Open CTI system that
integrates with SF
3. Adds users to call center: make and receive calls with a softphone in SF
Call center definition file: lists a Call Center’s properties, such as fields, field order, which API
to use, and softphone height and width – usually downloaded as AppExchange package
• XML file a developer creates with code that defines what Call Center can do
• Visualforce page that tells Call Center what softphone looks like
Call Center setup
Service setup > Call Centers > Import > Choose Call Center definition file > Import
1. Add Users to Call Center: Call Center Users related list: Manage CC users > find user:
‘first name contains Michelle’
2. Add Softphone to Call Center: App Manager > Service Console: edit > Add Utility
items: Open CTI softphone > User profiles: add system admin

Sales Productivity & Integration (8%)


Salesforce Mobile App
Basics

Embed a chart on account page: visual representation of sales by month for each account in
mobile app

User license type access Salesforce1 mobile app:


 Force.com users
 Chatter Only users
 Customer Community users
Chatter post functionality:
• Copy Link to Post
• Bookmark Post
• Mute Post (set to mute if you don't want to receive emails and push notifications)
• Edit Post
• Delete Post
Today components in Mobile App:
• Current Event
• Agenda
• My Tasks
• My Recent Records
• To Me Feed card
• Account News card
• Dashboard card
• Global actions
Offline
Only in Mobile App use offline, not in browser
Setup > SF Offline > Offline Settings:
 Enable Offline Create, Edit, Delete: update records while offline
 Enable Caching: view data while offline
User can access 'Offline Preferences' on Mobile App to select up to 7 items
Profile Settings > Offline > Offline Preferences

Recommend downloading the mobile app Salesforce1 instead of using browser version:
 Downloadable version can import contacts from the device
 Downloadable version offers additional security options
 Downloadable version can work without a data connection
Approval process in Salesforce1:
 Users can receive approvals from both Full Site and submitted via mobile app
 Notifications can display as both In-App and as Push Notifications.
 Viewing an approval will give you the option to Approve or Reject the request.
 You can also add comments to your approval or rejection of the request.
Convert leads while away from the home office: Install AppExchange package to convert
Leads via SF mobile app

Customization

Setup > Go Mobile > Get Started


Mobile Apps > Salesforce Navigation
 Navigation Menu: add objects/tabs
 Global Actions: quick access to SF functions (Email, Log a Call, Follow, New Event)
and can be put anywhere actions are supported Setup > Global Actions
Global actions enable users to create object records eg. New Case
but new record has no relationship with other records
 Compact Layout: show record’s key fields in highlight area (Name, Email, Phone)
 Object-Specific Quick Actions: display at the bottom of app (add via page layout)
Salesforce1 Settings:
 Enable S1 mobile browser app
 Allow S1 to import Contacts from mobile device Contact lists
Notifications Settings:
 Enable In-app Notifications: keeps users aware of relevant SF activity when they are
using Salesforce1
 Enable Push Notifications: keeps users aware of relevant SF activity when they are
not using Salesforce1, without request
(posts to a stream, new comment, task assignments, approval requests)
 Enable full content in push notifications: if you don’t want to include potentially
sensitive content in push notifications (eg. comments), deselect checkbox
 Email notifications: Chatter can email when someone follows you, posts, comments
Lighting Sync
Enable Sync (Sync Setup): keep contacts/person accounts and events in sync between
Microsoft or Google applications and SF:

Sync direction:
• Don't Sync
• Sync both ways
• Salesforce to Google/Exchange
• Google/Exchange to Salesforce
Sync events:
• All events
• Events users select
Migration from Salesforce for Outlook to Lightning Sync and some conflicting settings in both
configurations  SF gives preference to Lightning Sync settings

Connect SF to Email Server: Connection Method


 OAuth 2.0 for Google
 OAuth 2.O for Microsoft Exchange
 Service Account for Microsoft Exchange
Connection Test: test that SF is able to connect with email server
Type email address for someone who has a mailbox set up on email server

Lightning for Gmail


Lightning for Outlook
Email-to-Salesforce (activate): automatically relate emails sent from email applications as
activities to SF Lead, Contact, Opportunity and other records
• The email is added to Activity History Related List whose email address matches the
recipient's email address
My Email to Salesforce: enter email address that you use to email leads and contacts
 only emails send form this email address added to activity history of related records

Email and Calendar Integration


Email integration tools such as Outlook Integration, Gmail Integration, and Lightning Sync
can improve Sales productivity

Gmail Integration
Setup > Enable Gmail Integration
= let users access SF records from Gmail
• Sales reps can view, edit and add accounts, contacts, leads and other Salesforce
records directly in Outlook and associate emails and events to Salesforce records.
• Action Publisher can be used to pull content from email into Salesforce fields
• Supports sync private event, delete synced events, and automatically relate Google
events to Salesforce records
Outlook Integration

Benefits:
• Eliminate the time they spend on redundant data entry into two applications.
• Access important Outlook email messages and relevant SF records in one place, make
it easier to craft targeted email communications to prospects and customers.
With Outlook integration, reps can do more from Outlook ad with Einstein Activity Capture,
reps avoid busy work and stay focused on selling:
• See and relate relevant SF content in Outlook:
o Add email relevant to sales cycle, so colleagues in SF know what’s going on
o You help boost Salesforce adoption among your sales team
• Access Salesforce features in Outlook:
o Create and Search for Salesforce records
o Relate email messages and nonrecurring calendar events to multiple SF
contacts and to any other SF record that accepts tasks or email messages
• support Sync Event Series
Setup Outlook Integration
Setup > Outlook Integration and Sync > Turn on Outlook Integration
• Enable Enhanced Email with Outlook: log emails as standard message objects
• Activate Email-to-Salesforce: automatically relate emails sent from email applications
to SF Lead, Contact and Opportunity records
• Einstein Activity Capture: email and event add automatically from Outlook to
activity timeline of related SF records
Access Salesforce features and content in Outlook or Gmail:
• Use a side panel to view and work with SF records that match open email or event
• Manually relate emails, events, and contacts to Salesforce records.
• Create new Salesforce records.
• Manage Salesforce tasks.
• Create emails using Salesforce templates.
• Report on activities
Licenses: Standard Salesforce license, Sales Cloud, Service Cloud, Lightning Platform
Einstein Activity Capture
• Keep events and contacts in sync between Salesforce and email application:
events and emails are added to the activity timeline of related records.
• Surface relevant email insights, and get recommended connections on contacts and
leads (Einstein Email Insights, Recommended Connections)
• Aggregate data to get a summary of sales activities
(Activities dashboard, Activity Metrics)
Setup Einstein Activity Capture
1. Give users access to Einstein Activity Capture through a permission set
2. Setup > Einstein Activity Capture > Settings > setup flow guides you through the steps
a. Connecting to the Microsoft server
b. Creating a configuration that controls what to capture and sync
c. Assigning users to a configuration
3. Use only Einstein Activity Standard: turn on email insights
Use Einstein Activity Capture through an add-on license: turned on by default

Licenses: Standard Salesforce license (up to 100 users though Einstein Activity Capture
Standard), Sales Cloud Einstein, Inbox, High Velocity Sales
Inbox
Add to Outlook or Gmail integration, surfaces customer insights and reduces the time on
administrative tasks
• Insert Availability: easily schedule meetings with prospects. Reps can insert available
time slots into email messages straight from their calendars. And if their availability
changes, suggested times in their emails dynamically update, even after they’re sent.
• Email Tracking: see when customers open email and clicked any links inserted email
• Schedule emails to send later: Draft an email message and send it when the customer
is most likely online
• Email templates created in SF and accessed in Inbox
• Einstein Email Insights can flag important emails in Inbox and provide
recommendations on how to respond in Inbox
• Users can create Leads, Contacts, Cases or Opportunities directly from Inbox.
Setup Inbox
1. Outlook integration settings > Enable ‘Let users access SF records from Outlook’
2. Inbox: Edit Settings > Enable ‘Make Inbox Available to Users’
3. Who Can Use Inbox section: Assign Permission Sets > Select Inbox standard /
Inbox With Einstein Activity Capture/ Inbox Without Einstein Activity Capture >
Manage Assignments > add users
Licenses: Sales Cloud Einstein, Inbox, High Velocity Sales
Email Templates
4 types of Template Types:
• Text
• HTML with Letterhead
• Custom HTML
• Visualforce
Considerations:
• Folder and Enhanced Sharing can be enabled
• Insert Email Template is only available on Contacts, Leads, and Opportunities.
Einstein
available for an extra cost in Enterprise and Unlimited editions

Einstein Basics

Smart Assistants: a form of AI that can perform and automate eg. Siri, Alexa
• Voice input: listen to you when you speak
• Natural language understanding (subset of natural language processing):
assistant has the ability to truly understand what you’re saying when you speak and
to respond accordingly
• Voice output (natural language generation): assistant to speak back to you
• Intelligent interpretation: figure out what it is you want next, based on context, past
behaviors, data Eg. ordering sushi every Tuesday night online, Google surfaces ads
around that time next week for sushi
• Agency: assistant can take action on things you didn't necessarily request
eg. schedule follow-up meetings based on unfinished action items on meeting notes
Einstein Out-of-the-Box Applications
Einstein infuses AI into all of SF apps (Sales Cloud, Service Cloud,…) a built-in smart assistant
—so that every business user in every role, function, industry can be assisted right inside of
Salesforce product that they use every day
Out-of-the-box applications
IT: Einstein helps build intelligent apps, business processes, workflows

Sales: Sales Cloud Einstein helps guide reps to the best leads and opportunities so they
increase conversion rates, and close more deals.
• Boost win rates by prioritizing leads and opportunities most likely to convert.
• Discover pipeline trends and take action by analyzing sales cycles with prepackaged
best practices.
• Maximize time spent selling by automating data capture.
Service: Service Cloud Einstein helps customers find answers instantly on their channels of
choice and helps agents resolve cases faster by triaging cases and recommending articles
• Accelerate case resolution by automatically predicting and populating fields on
incoming cases to save time and reduce repetitive tasks.
• Increase call deflection by resolving routine customer requests on real-time digital
channels like web and mobile chat or mobile messaging.
• Reduce handle time by collecting and qualifying customer info
• Solve issues faster by giving your agents intelligent, in-context conversation
suggestions and knowledge recommendations.
Marketing: Marketing Cloud Einstein helps marketers send the right content, to the right
customer, at the right time, on the right channel, thus increasing customer engagement.
• Know audience deeply by uncovering consumer insights and making predictions.
• Engage effectively by suggesting when and on which channels to reach out
• Personalized 1:1 messages and content based on consumer preferences and intent
• Be more productive by streamlining marketing operations.
Commerce: Commerce Cloud Einstein helps retailers recommend the best product to each
customer, at the right time, boosting revenue
• Increase revenue by showing shoppers the best products for them, and eliminate the
time-consuming activity of manually merchandising each individual page.
• Create highly visual dashboards to get a snapshot of your customer’s buying patterns
and use these dashboards to power up your merchandising.
• Personalize the explicit search (search via the search box), implicit search (browsing
in the storefront catalog), and category pages for every shopper, saving your
customers time and bringing your business more revenue.
Einstein Platform
Einstein Platform includes powerful tools that allow admins and developers to build a
customized smart assistant for their business. You can also build capabilities that allow
customers to interact with smart assistants, giving quick answers to questions they have, and
solving routine cases for them

Einstein allows all Salesforce users to:


• Discover insights that bring new clarity about your company’s customers.
• Predict outcomes so your users can make decisions with confidence.
• Recommend the best actions to make the most out of every engagement.
• Automate routine tasks so your users can focus on customer success.
What makes Einstein different:

• Data in Salesforce
Data you’ve been putting into Salesforce since the first time you logged in. But, Einstein also
brings in email, calendar, social, IoT, and external data. This data becomes the fuel needed
to train AI models

• Tailored Predictions
Salesforce customers each have their unique data conventions, meaning there is a trove of
custom objects housed on the platform. To scale to all of our customers, across all of use
cases Automated machine learning (AutoML): data cleansing, feature engineering, and
automated model selection are automated

Example:
Team needs a list of customers who bought that item, customers who didn’t, and attributes
to understand which factors were the most significant in leading to purchasing that item.
• AutoML’s data cleansing sifts through data and detects errors (duplicates, incomplete
fields, changes) and either automatically fixes them or flags them to be fixed
• AutoML also includes feature engineering, which automatically combs through your
data and begins identifying the most significant features for buying the item
• AutoML uses automated model selection to build a unique predictive model that
weighs the significance of each feature

Einstein tools

Einstein Insights
Einstein Opportunity Insights: updates, key moments, reminders to help win deals
on opp record (based on detail) or on home page (opp owned by current user)
• deal predictions are based on recent activity and existing opportunity data
• follow-up reminders are shown when a contact hasn't responded or there hasn't
been any communication in a while
Send a notification to sales reps when their opportunities remain open past the close date.
Enable Einstein Opportunity Insights (or use Flow with a scheduled action and an email alert)

Einstein Account Insights: updates, reminders to nurture relationships with accounts


on account record (based on key fields eg. Account Name, Website) or on home page
• display news-related insights, such as whether account is expanding or changing its
company leadership (display up to 3 news articles)
• insights can be emailed and shared with others from the home page
Einstein Automated Contacts
Einstein Automated Contacts: suggests new contacts and opportunity contact roles or add
them automatically by analyzing email and event activity
• 'Added By Einstein' contact list view shows the contacts there were added by Einstein
automatically
Einstein Scoring
Einstein Lead Scoring: use data science and machine learning to score leads based on the
company's successful conversion patterns
• a 'Lead Score' field is added on Lead
• all the fields of the past leads are analyzed to determine which current leads have the
most in common with leads that have previously converted
• scores are refreshed based on the reanalysis of lead data every 10 days
Einstein Opportunity Scoring:
• gives each opportunity a score from 1 to 99, calculated based on info about the
opportunity's owner (such as win rates), record details, history, related activities of
opportunity, related account
• a 'Opportunity Score' field is added on Opportunity
• positive and negative factors that contribute to the score are displayed
Einstein Forecasting
improves forecasting accuracy, obtain forecast predictions, and track sales performance
• Prediction column shows predictions based on opportunities within the Best case and
Commit forecast categories
• Prediction Trend Graph - a visualization of predicted closing opportunities within a
forecast period

Einstein Rollout Strategy


Increase Productivity and User Adoption
• Salesforce Inbox lets reps integrate SF with their email and calendar applications.
Email tracking helps reps focus on engaged prospects
Insert Availability makes scheduling meetings a breeze
• Einstein Activity Capture
o Captures email and events from rep’s Microsoft or Google account and adds
them to the activity timeline of related SF records
reduce context switching and manual activity logging, improve data quality
o Syncs contacts and events between SF and rep’s Microsoft or Google account:

reps have access to up-to-date contact and scheduling data


o Einstein Email Insights give reps intelligent data that helps them send the
right response at the right time
o Activity Dashboard: Visualize activity data and break it down into meaningful
ways, such as by activity owners, activity types, and dates
o Activity metrics (not in standard): Gives the complete picture about activity
data, and lets you create processes based on activity data
o Recommended connections (not in standard): Lead and contact records show
which colleagues have the strongest connection to a prospect.
• Einstein Automated Contacts so that Contact records are automatically added to SF
reduce data entry and improve contact data quality
Focus on the Right Deals
• Einstein Opportunity Insights gives reps intelligent updates about opportunities so
that they can win more deals
eg. Notifications of key moments: contact leaving, prospect not responding
• Einstein Account Insights gives reps smart reminders to help nurture relation with
customers.
• Einstein Lead Scoring helps reps prioritize leads so they can focus on the ones that
have the highest chance of conversion
Grow Business with a Smarter Pipeline
• Einstein Opportunity Scoring helps sales managers identify at-risk opportunities and
helps reps prioritize deals based on how likely they are to close.
Managers keep an eye on low-scoring opportunities and reach out to reps with
assistance and understand health of pipelines and share relevant info with others
• Einstein Forecasting based on AI that analyzes past sales data, explores how records
change over time, track new changes. Data analysis is the basis for accurate and
objective forecasts eg. when managers have better understanding of team’s
performance, they can coach reps more effectively
• Sales Analytics App Managers analyze sales data, look at opportunity whitespace,
review pipeline status, evaluate team and rep performance

Einstein Platform
Einstein Bots
Einstein Bots allow you to build a smart assistant into channels like chat, messaging or voice.
Use Natural Language Processing (NLP) to provide instant help for customers by answering
common questions or gathering the right information to handoff the conversation
seamlessly to the right agent for more complex questions or cases

Einstein Voice
Enables all users to talk to SF from any device. Einstein Voice is divided into two buckets:
• Enabling organization: Einstein Voice Assistant
enable anyone in organization to talk to SF eg. priorities, sending notes, creating and
navigating through dashboards
• Enabling customers: Einstein Voice Bots
customers can interact with your brand with their voice: Bots will search through
Salesforce and find the answer, and it will speak the answer back to the customer
Einstein Prediction Builder
Make custom predictions on non-encrypted Salesforce data
Ask yourself which objects and fields you want to predict:
• Do I want to predict the answer to a yes or no question? (Binary Classification)
eg. is this zip code a good opportunity for my business?
• Do I want to predict an amount? (Regression—in Beta)
eg. what for price can we sell the product for?
Working of Prediction Builder:
• Choose the object you want to predict on eg. retail store
• Choose the field you want to make a prediction for eg. attrite
• Bring in the dataset that includes all of the line items for retail store and whether or
not they’ve attrited, along with other characteristics surrounding the customers
• Prediction Builder will provide you with a percent likelihood of whether a customer
will attrit and the top positive and negative features surrounding the prediction
Einstein Next Best Action
Use rules-based and predictive models to provide anyone in business with intelligent,
contextual recommendations and offers.
Example: Create a proposition on recommending a 10% discount on two-year contract to
customers who have an 80% or higher likelihood of attrition. As your service reps come
across predictions of customers who fall in that category, they’ll be recommended right in
the Lightning Console to follow up with them and send the 10% discount

Einstein Discovery
Like Einstein Prediction Builder, Einstein Discovery also predicts outcomes by getting full
understanding of relevant patterns on all data to make predictions. You can have full control
of the data they’re putting into the predictive model and be able to dig deeper into the
predictions and insights (tell you which insight is more important)

Einstein Vision and Language


Set of APIs and services for SF developers to use to add deep-learning capabilities to any
application, ultimately allowing end users to classify images and extract meaning from text
(make sense out of unstructured data)

Einstein Vision:
• Einstein Image Classification: by uploading an image, can understand
eg. whether equipment is damaged, where damages are, estimate cost of repair
• Einstein Object Detection: extracts and contextualizes objects in images
eg. identify how many of certain items there are, so your team can accurately plan
when to order more, saving on unnecessary spending
Einstein Language:
• Einstein Sentiment: can surface through social media to see whether people post
about the product and what they say. By using positive and negative sentiment
filters, understand who likes or dislikes the sweatshirts
• Einstein Intent: categorize different text eg. what customers saying about the
product: whether they’re talking about the color, texture, durability
Quip basics
Quip decomplicates your life and gives team a platform for fluid communication across
departments, all the conversation about work happens in the same place
 Boost productivity and increase collaboration
• See highlighted comments and conversation happening right in document, so you
know exactly how to prioritize feedback
• Notified about any changes, so you can focus on what matters most
Quip Features
• @Mention: add images, Live Apps, people’s names, dates, and documents
• Comments and Conversation Pane: share documents and data with team members
and customers, add a comment, tag external vendor, ask for feedback
By having everyone on same page, avoid duplicating work
• Live Apps: help you manage important dates and the specific tasks that need to
happen to accomplish each step eg. @project tracker, @calendar, @kanban
Manage notifications: click picture or email in the bottom left (desktop, mobile, email)

Access
Sharing: click blue Share button in upper-right > add people or folders
• Folders: share document with people that have access to the folder
Add document to multiple folders
• Search: give in title and content of document or use filters like ‘date’, ‘modified by’
• Add a document to your favorites: just Star it
Permissions: at individual user and folder level
• Full Access: Can share and edit.
• Can Edit: Can edit, but not share.
• Can Comment: Can only view and comment
• Can View: Cannot share, edit, or comment.

Lightning Experience Productivity


Global Action Menu: let users log call, create or update records, send email, all without
leaving the page
• Global create actions enable users to create object records, but the new record has
no direct relationship with other records
• Need to write email and opportunity at the same time: each global action you fire off
opens a dedicated composer window at bottom of the page
Setup > Global Action > Type of Action (Create a record, Custom Visualforce/Canvas,
Lightning Component) > for some actions create custom success message > change icon

Utility bar is a fixed footer (different for each standard and console app) where you can
quickly access handy utilities and common productivity tools, such as Notes, Quip, a flow
launcher, telephony features

Home page
• Performance chart displays data based on opportunities
• Assistant shows you things that you need to address, including:
o Leads assigned to you today
o Opportunities with overdue tasks
o Opportunities with no activity in 30 days
o Opportunities with no open activity
o Overdue opportunities
• News: you can get timely news articles about customers, partners, competitors.
• Upcoming Events: see the next 5 meetings in calendar today
• Today’s Task: eg. up to 5 tasks due today
• Recent Records card: gives you fast access to recently viewed records
• Top Deals: convenient list of top open opportunities
Notes & Files
Create notes from:
• Global Actions menu
• Utility bar
• Navigation bar
• New Note action in record’s action menu: automatically related to a record
• New button on Notes related list
Enhanced Notes that you create for a record are in Notes related list
Notes created for the record using classic notes tool are in Notes & Attachments related list

Note Editor:
• Highlight important details and enhance meaning by adding bold/italic to text
• Organize info with bulleted and numbered steps
• Add clarity and memorability by embedding pictures or images
• Add to Records: expand the visibility and impact of important information by relating
a note to multiple records, such as relevant opportunities, accounts, and contacts
• Share a note with groups or teammates
Files unifies your files, documents, and libraries
also integrates files access directly into the flow of your business, so you can grab the
content you need from wherever you are in the app

Create files from Navigation bar:


• Access all files you own or have access to
• Access all files in libraries: organize content and share content with colleagues.
You can even create folders within libraries, to better organize your content
• Search to find files.
• Upload new files to Salesforce Files: can attach them to records and share them with
colleagues, groups, or customers
• See files in file preview player: includes downloading, sharing, or deleting, uploading
a new version of file, editing file details, generating a public link to file
Files related list: attach a file to a record
• Drag file onto the Files related list card on record. Uploaded files are automatically
added to SF Files, so they’re accessible from anywhere in LE, not just the record
• Add Files: Files related list also opens the door to all files in SF Files that you have
access to, including files in libraries and external repositories like Google Drive or Box
Share files
Sharing options from Files home, Files related lists, the file preview player, file record detail
pages, and Chatter feeds
• Specific people or groups:
o Viewers can view, download, and reshare the shared file (if allowed)
o Collaborators can do all that plus change file permissions, edit the file, and
upload new versions
• Broader audiences or records: Attach files to posts or comments in the main Chatter
feed or to feeds on records
• Customers or people outside company: if Public Link action (encrypted URL) is
available, share file with external audiences. Recipients can view and download the
file, but they can’t be collaborators
Tasks, Events & Emails

Activity Timeline
When you look at a record, see activities in Open Activity and Activity History related lists
• Upcoming & Overdue: see what’s planned
• Past months: see what’s already happened
• Expand All: to see details for all the activities
• Filter: on date range, activities to show, activity type (email, events, tasks),
sort order (newest/oldest activities)
Actions to perform in timeline:
• Update an activity: click the dropdown arrow and editing options appear.
• Complete a task: click checkbox to mark it complete
Tasks
Click Tasks tab, or click View All from Today's Tasks on Home page
• Quick Actions: change status, change priority, edit, and delete
• Mark Complete: from any list view
Calendar
Calendar tab: making it easy to get to your schedule
• New Event: click on button or click the day and time the event starts
• Add multiple calendars at the same time with user lists:
Coworker views your calendar, details they see are determined by the default access
To show a specific coworker more or fewer details about your schedule:
click Calendar options button next to My Events calendar > Share Calendar
• See SF data as events on a calendar eg. opportunity close dates
Choose the object > select date fields
Email
Classic: Create and send emails from HTML Email Status related list
LE: Activity Composer on a record and the Global Actions menu
• Fills in the To address for you
• Relate the email to another record in Related To field
see the email in the activity timeline, when you look at the record
• Buttons on email: add attachments, insert merge fields, insert or create a template,
preview your email before you send it, erase what’s in the email and start over
List Email: send email to a group
Start from a saved list view, where list has been filtered to focus on a group of recipients
Check Review tab to confirm that recipients and any merge fields appear as wanted

Email Templates: created with Email Template Builder, with rich text support and easy file
preview and sharing. Send the email attachment as a link to keep them up-to-date
Need Letterhead, Custom HTML, or Visualforce templates: use Classic templates until these
features are available in Lightning templates

Search
When you click in the search box, you see a list of 5 recent items
• Full Search: Searches for term across searchable objects  Top Results page
• Full Object-Specific Search: within current object  Object’s search results page
• Suggested Records—Lists up to five records that have a name that matches search
term. Records include recent items, items from most frequently used objects, and
from current object
Dropdown (next to global search box):
• Focus search to a specific object: objects you use most frequently are at the top,
followed by all searchable objects, in alphabetical order
• Groups: select the Groups item to narrow your search to just group records
Search results pages:
• See Top Results from most frequently used objects on one page
• See all the results for an object by selecting the object
• Sort search results by clicking the headers
• Refine by: fields to filter are set up in search results layout and can be only on the
columns that appear on the search results page
eg. Search for a File: fill in the owner, file extension (PDF), last modified date

Chatter
Chatter is enabled for all users by default

• Add an inline image and linking from the post, insert code snippets, select an emoji,
mention a person or a group.
• The link-to-record: / record name
• Paperclip button for attaching up to 10 files to the post.
• Tabs: Poll or Question
• Image Inline: click image icon in Chatter publisher
• On posts, comments highlight text want to link from > click Link icon > enter URL
• perform tasks such as posting, creating a poll or question, sharing a file and etc.
• A single post or comment can have up to 25 mentions
o cannot mention archived, unlisted, customer and private groups they are not
a member of
o When you are mentioned by others, post appear on To Me' feed

Chatter Settings:
• Groups: allow group archiving, allow records in groups, enable unlisted groups
• Allow draft posts
• Allow emoticons
• Users can set OOO messages
• Allow approvals
• Allow post pinning
Publisher Action: perform tasks such as posting, creating a poll or question, sharing a file
Standard actions such as Post, File, Link, Poll and Question added to publisher by default
when Chatter is enabled
• SF will automatically enable following certain feeds
eg. a user will automatically follow their manager and the team.
• When you post to Chatter, maximum file you can upload is 10
In the Chatter comment, you can only upload 1 file
Chatter Licenses
 Chatter External: for users who are outside of company’s email domain/customers,
can be invited to Chatter groups that allow customers
o Access info and interact with users only in the groups they’re invited to
o No access to Chatter objects or data
o View user profiles, but they can’t edit them
 Chatter Free: for users who don’t have SF licenses but must have access to Chatter
o Access standard Chatter items such as people, profiles, groups, files
o No access to SF objects or data
 Chatter Only (Chatter Plus customers): for users who don’t have SF licenses but must
have access to Chatter and some additional SF objects
o Access to accounts/contacts, R&D, workflows, View and modify up to 10
custom objects
The main collaboration space in Chatter where people share information, post updates
 Public groups: are visible and open to all employees. Anyone in the company can join
a public group, make posts and comments, and add files.
 Private groups: only open to group members. Users ask for permission to join to an
owner. Non-members can see group’s picture and description, but not the group
feed or files
 Unlisted groups: users must be invitated (by owner or manager) and more secure
and offer more privacy compared to private groups: don’t show up in list views and
search results Need to be enabled, not by default
Only members may be able to delete group feed content
 ‘Manage Unlisted Group’ permission: non-member have access or modify
unlisted groups, its files, feed content
 Cannot make existing group Unlisted, but can change Unlisted group to Public
or Private
 Groups with customers: Enable ‘Allow Customers’: Groups with customers are
private or unlisted groups that allow external users (like customers) to be members.
 Broadcast group: are public/private/unlisted. Used to make announcements;
only owner and manager can create as post, but group members can respond to it.
Enable ‘Allow Records in Groups’: discuss as a team a record with a group of other users
 Records cannot be added to groups that allow customers

Delete a chatter post not created by you, need either following permissions:
• 'Moderate Chatter' permission
• 'Modify All Data' permission
• 'Can Approve Feed Post and Comment' permission
Chatter Group Notifications:
• Every Post
• Daily Digest
• Weekly Digest
• Limited

Private Messaging (Salesforce Classic): 'Send a message' on user profile can be used to send
private message to the person

Streams = combine multiple feeds from different objects, people, groups into a single view
feeds from groups working on project, topics discussing it, people assigned to it
(up to 5 streams/user)— have up to 100 streams and up to 25 feeds per stream
App Launcher > Sales Console > Chatter > New Streams > Name > Records to follow: specific
accounts > Notify Me: Every post/Never
• Add feeds to it right from a feed’s Follow action: What I Follow
• Deleting a stream doesn’t delete the feeds it contained
In Classic shared post is basically a copy of original
In LE shared post is more like a window on original: if original post is edited, shared version
also shows the update
From a post’s Share menu > select Copy Link > click Copy Link
only the people with access to the post’s home feed can navigate to the shared post

Scoop on Groups
• Seen-by capability in private and unlisted groups: need to be enabled to place a seen-
by count by each post and click the count to see who’s seen that post
• Pin up to 3 posts to the top of group and topics feeds (assign pin post permission to
selected users)
• Image to promote group identity and banner to make page more visually compelling.
A statement about the group type, “Private with Customers”
• Actions to take in group and tabs for polls, questions, announcements
• Field for searching in just this feed
Sales managers want greater visibility into opp in progress with their teams and would like to
receive email notifications when key opp fields are changed (e.g., amount or stage):
Configure Chatter and notification settings

Work.com
= drives sales team performance through better coaching, motivation and team alignment
by using award badges and provide recognition to users (not yet available in LE)
 Improve consistency and close more deals

Enable Settings
 Thanks Settings: thank coworkers
Thanks action (Lightning action for mobile) add to page layout – Related to work.com
 Recognition Settings: add rewards to badges
 Coaching Settings
 Goal Settings
 Perform Settings: admins and managers can get a big picture view of performance
across teams to make easier decisions around compensation
 Skills Settings: use skills to discover, collaborate with others based on knowledge
Feature of work.com add-on to help increase sales productivity:
 Managers are able to provide users with feedback
 Managers are able to offer real-time coaching to users
Feature of work.com to help sales rep meet their quotas:
 Coaching feedback that automatically adjusts the goals
 Coaching plans to help sales rep drive results

Consulting Practices (7%)


Actions consultant take during planning phase to ensure client stakeholder goals are met:
 Acquire KPIs of SH
 Establish a SH committee and meeting schedule

Business Analyst
Project-based, business-improvement role: help guide businesses to improve business
processes and efficiency in SF. They elicit, document, and analyze requirements around
business challenges, and then produce data-driven solutions

GATHER INFO (REQUIREMENTS) > ANALYZE INFO > SOLUTION > IMPLEMENT > TEST

• Communication: BA creates an environment for open conversations


• Elicitation: BA asks lots of questions, with purpose of understanding project goals and
getting clarification on what stakeholders want to accomplish. They interview
stakeholders, research info or processes, and observe teams as they work.
• Documenting requirements: info can be easily understood by stakeholders
• Analyzing information: BA reviews requirements and gets a sense of how to
accomplish their team’s business goals. They dive into more detail, and use data
insights to identify what the business needs to do to achieve the desired outcome.
• Facilitating solutions: Based on analysis, BA then identifies options for solving
business challenges. Then they choose the best option and move forward with the
best solution.
• Implementing solutions: Are stakeholders seeing benefits? Is anything else needed to
support the implementation?
• Testing: BA builds training material to support implemented solution, and records
feedback to start eliciting requirements for next iteration of the project
Admin & BA comparison
Salesforce administration
• Role Type: operational role
• Role Summary: set up users, security measures, and processes, and they maintain
data on Salesforce Platform. They are the Salesforce experts within og
• Required skills:
o Communication: work with people across org (leaders, users)
o Time management: help with case management and constant user requests
o Leadership: lead the way in everything Salesforce.
o Problem solving: solve for the best solution for org
• Key Qualities:
o Empathetic: listens to and understands customer needs, requests, and issues.
o Confident: draws on knowledge about Salesforce Platform to argue against
requests that aren’t in the best interest of the business.
o Encouraging: drives user adoption

Salesforce business analysis


• Role Type: project-based role
• Role Summary: use data to plan Salesforce projects. They apply their knowledge of
Salesforce capabilities and limitations to guide the business to the best solutions. And
they act as interpreters between IT and business stakeholders.
• Required skills:
o Leadership: guide business throughout a project
o Communication: work with stakeholders at all levels of the business, gather
requirements, and oversee projects from beginning to end.
o Project management: keep Salesforce projects on track and moving toward
the end business goal
• Key Qualities:
o Data-driven: tracks and evaluates data to provide insights back to business.
o Action-oriented: makes quick, actionable recommendations based on data
o Solution-oriented: takes project requirements and create best solution for org

Skills
Information Discovery: gather information from all levels. This is one of the most important
steps in the business analyst process
• Project History: gather a significant amount of background info on the project, either from
stakeholders or other sources.
o Ensures that you don’t repeat work that’s been done or rehash previous decisions
o helps understand existing systems, design, requirements, business processes
• Analysis: understand as much as possible about a project
o Enterprise Analysis: learn and understand org’s structure, including who reports to
whom, functions and interactions of departments
o Strategy Analysis:
 Identify business need
 Identifying what is different between current and desired state: achieving
the desired state, including work or scope required
 Develop a plan of action to address the potential risks.
o Stakeholder Analysis: identify stakeholders early on who make decisions and who
have an important role in determining the priorities and requirements for project.
(SH = anyone who has an interest in, may be affected by, issue under consideration)
• Elicitation: main path to discovering requirements and design info, and might involve talking
with stakeholders directly, researching topics, experimenting or being handed info
o Prepare for elicitation: gather accurate understanding of project’s business need
o Conduct elicitation: meet with stakeholders to elicit info regarding their needs and
business needs
o Confirm elicitation results: validate that stated requirements match the problem and
ensure that understanding conforms to desires or intentions of stakeholders

Analysis and Synthesis: look at both the details and the high-level info to chart needs and to
develop plans and schedules. They also look at the skills and experience of people involved
to determine how the team can best work together to achieve a successful outcome
Communication, Collaboration, and Documentation:
need to document and share information so that stakeholders and other involved parties
have a clear understanding of the project, the goals, and the proposed solution

Communication Methods
• Verbal Communication: convey ideas, facts, and opinions
 helps you to elicit and clarify info in a timely manner.
• Non-verbal Communication: Most communication is nonverbal
 help you know what someone is truly saying, and ensure that you communicate
message you intend eg. eye contact, personal space, body language
• Written Communication: for reference to keep people in sync
Share info through documents, emails, chats, blogs, memos, requirements
Document types
The types of documentation you create depend on varied factors:
Type of project, business need, Stakeholder needs, Assumptions, Constraints

• Glossary of terms: list of key terms and definitions that boosts understanding across teams
• RACI chart (responsible, accountable, consulted, informed): It’s a matrix that delineates who
is responsible for what in the context of the business analysis effort
• Interview and elicitation records: capture important info from stakeholders
• Stakeholder analysis: identify who you should talk with to understand the business problem
or who can help flesh out the requirements
• User stories: describes the functionality that a business system should provide so that it can
be developed (format: “As a…. I want to… So that I can…”)
• Use cases: identifies and organizes system requirements from the perspective of a user
• Business analysis plan: lists all business analysis activities take place throughout project
• Current state analysis: BA analyzes and documents current state before scoping a project
• Scope statement specification: (most fundamental!) clear definition of what needs to be
achieved and the work that must be done to deliver the project or product
• Functional requirements specification (FRS): business requirements that are defined from an
end user or business perspective. It will specify the expected outcomes.
• System requirements specification (SRS): details how the complete system should function
and enumerates hardware, software, functional and behavioral requirements of the system
• Wireframes and other visual documentation: contains renderings of the user interface
• Test plans, test cases, or user acceptance test plans: These documents describe the test plans
and detailed test cases that the team will use to validate the functional requirements.
• Change management: describes the method for pushing out changes to the business.

Best Practices

A little strategic timing in producing your deliverables, waiting for right time to solution, and
running meetings like a pro will go a long way to increase chances on successful project
o Meaning meeting  agenda: have an idea of how time is budgeted, so there’s a
better chance the meeting will stay on track. If it starts getting off track, you can
return to the agenda as a way of bringing things to order
o Sequencing your deliverable strategically help project:
early quick win can develop trust and buy-in from customer
As an advocate for the customer:
o Lookout for opportunities to bring other teams into discussion when they’re going to
be affected by the project, might find that they have some common business needs
o Don’t develop solutions in a vacuum: bring customer a choice of solutions so you can
discuss which one will best suit their needs
Improvements:
• Run benchmarks on the existing process: make sure your tests produce something
reliably quantifiable. Every bit of benchmark data is useful: customers want to know
just how much things have improved because it’s a big part of calculating ROI
• Seek for feedback:
o Finish writing some requirements? Give them to someone who hasn’t been
part of the elicitation process, see if the requirements make sense.
o Have a possible solution for a business requirements? Post it to a community
board and ask for comments.
o Is it time for UAT of a solution? Ask testers to narrate their thoughts
Customer-centric conversation strategies
Discovery helps build valuable relationships with customers and confirms trust

Steps to discovery process:


• Know the customer: learning their priorities, most recent KPIs, leadership changes
• Be the customer: experiencing their perspective. Go to their store, browse their
website, buy something, or call their support line.
• Connect with customer: Share any insights you gained during discovery process
• Create a point of view for the customer-centric conversation
Use CCC framework to target specific info you want to bring to customer:
• Risk: If customer doesn’t reconnect to their customers, they may go bankrupt or be
sold again within 5 years (predicted through their forecasting). Or new leader has a
relationship with another IT vendor, and they are questioning the investment of your
product and the need to move to a new version.
• Outcome: If all goes well, customer adopts your product. Also be prepared with
other innovative solutions if they are not ready to commit to these solutions
• Challenge: customer is facing financial hardships, and you will be asking for more
money to meet their needs. Leadership team has questionable faith in your solutions.
• Ask: gain buy-in from customer’s executives by asking open-ended questions .

Communicate with executives

Executive focus on opportunities to grow in a discovery

For internal executives’ discovery:


• Scorecards, measures, and what their compensation deliverables entail.
• Topics they have championed this fiscal year.
• Talk to their executive assistants—they usually have helpful information.
For external executives’ discovery:
• Their LinkedIn profile and any available resume.
• Company goals, visions, and mission statements.
• Personal support for any charities, causes, or communities.
• Contacts within the company—they usually have helpful info
Another great technique when communicating with executives is Rule of Three:
• Message/point of view needs to be attention-getting and memorable
• Provide the three most important reasons
• Project logic, confidence, and decisiveness

Internal
Internal Executive Sponsor, Executive Vice President, Senior Vice President
• Understanding the customer and their business
• Knowing the key stakeholders and their sentiment towards our product
• Understanding our product’s place in the long-term company vision
Internal Sales Executives and Sales Teams
• Understanding the customer and their business
• Locating opportunities to grow
• Understanding what the customer needs for sales to be successful
• Finding out what will lose the deal or customer
Internal Product Executives
• Understanding the customer and their business
• Determining if our product is sustainable at the company
• Implementing solutions to current product issues
External
Chief Executive Officer (CEO)
• Shareholder value
• Corporate growth
• Revenue growth
• Corporate philosophy & culture
• Driving company vision
Chief Information Officer (CIO)
• Sentiment
• Simplification
• Digital transformation
• Relationship between business and IT
Chief Operating Officer (COO)
• Day-to-day operations
• Implementation issues
Chief Marketing Officer (CMO), Innovation Officer, Digital Transformation Executive
• The overall experience for the consumer and users
• Customer interface
• Product management
• Market share/gross
• Margins and product growth
User Story creation
User story helps translate technical requirements into easy-to-understand ideas
= simple descriptions of a feature told from user’s point of view
Explain the roles of users, their desired activities, and what they intend to accomplish
but don’t outline the entire requirement, just a synopsis of it

User Stories help you in:


• Save time when prioritizing development/implementation of requirements
• Focus on how a project can deliver value back to the customer/end-user
• Avoid restrictions that occur when specification details are defined too early on
• Increase collaboration and transparency within the project team
• Deliver features/products that users actually need
• Assist in testing solutions
There are three components of every user story.
• Who: From whose perspective within SF will this user story be written?
• What: What goal will be accomplished or implemented within SF?
• Why: Why does the user need SF functionality or feature outlined in user story?
As a customer care representative, I want to take ownership of new cases and communicate
with customers so that I can provide high-touch customer experiences

Construct a User Story


Acceptance criteria specify conditions under which a user story is fulfilled:
Eg.
• Take ownership of cases from the queue.
• Email customers from the case page.
• Update case details: status, subject, description
Bad example of acceptance criteria because it focuses on solution:
District manager can click Approve/Disapprove button to approve a discounted product price
Good example of acceptance criteria because it focuses on intent:
District manager can approve or disapprove a discounted product price

Use the INVEST checklist to assess the quality of a User Story:


• Independent: should be independent and not overlapping with another user story
• Negotiable: is not a contract but an invitation to a conversation. It captures the
essence, not the details.
• Valuable: needs to be useful to the end user
• Estimable: user story’s timeline can be estimated to help prioritize and schedule the
story’s development/implementation
• Small: smaller user stories tend to get more accurate timeline estimates
• Testable: need to be understandable so that everyone can write acceptance criteria

Metrics, Reports & Dashboards (7%)


Folder
• Control access to reports, dashboards, documents or email templates
Access can range from private to shared, but not follow OWD or role hierarchy
If you want to view or email R&D, must be in public folder with access granted to
users, roles, territories, public groups
• Organize, store and move reports and dashboards between folders

Subfolders: hierarchy of subfolders (max of 3 levels) organize R&D in logical structure.


Subfolder can be created in user created folders, not in Public or Private folders
• Folder sharing is at the root level, not subfolder level: share a folder with a user, the
sharing rights apply to any subfolders, not have to share subfolders individually
Two sharing models for folder:
 Traditional
 Folders can be set public, hidden, or shared (must be in public folder)
 All users with access to the folder have the same level of access
 Users access can be set to read-only or read/write
 Enhanced: (enabled by default for new org)
 Different groups of users can be given different access to the same folder
 Users access:
• Viewer: view R&D in the folder and see what level of access
• Editor: viewer + save, rename and delete R&D in folder
• Manager: editor + share, delete, rename folder and assign access
CEO needs to run reports from the sales team's reports folder  Viewer
CEO's assistant needs to control access to the reports  Manager
Sales managers need to change the reports when necessary  Editor

Eg. The direction from sales leadership is to define access to dashboards based on region.
Users within the region have access to regional dashboards, while leadership team has
access to global dashboards  Create region-based sales groups, one leadership group, and
one Dashboard folder with View access

Show or hide list view columns on Reports and Dashboards tabs:


click Customize List view > Select Fields to Display (Name and Folder are mandatory)

Reports
= list of records that meet the criteria you define, displayed in rows and columns.
Every report is stored in a folder
• ‘Find Reports and Dashboards’ search box: search for the selected folders
• What records you will have access to when running reports: Records you own, owned
by users below in hierarchy, read/write access, shared records
Report Type
Report type is like a template: determine which field and set of records, objects are available
in a report based on the relationships between a primary object and its related objects.
Reports display only records that meet criteria defined in the report type
• Never change report type if the report is created
• Report type determines: available filters, default columns, object and fields
• Field layout determines which fields are available for reports based on report type
Report Types
= defines the set of records and fields available to a report based on the relationships
between a primary object and its related objects.

o Standard Report Types: created for standard objects automatically and custom
objects if selected Allow Reports in Object Settings
Primary object and related objects are fixed: when objects and fields available in
report type meet report criteria and use when building “with” related records;
always are with related record
• Standard and custom fields for each object are included in report builder
• When a field is created, it will be automatically available in the report
eg. Add a new field to Opportunity, it will be automatically insert into all
existing standards (Opportunity report type, Opportunities with Products)
• Field cannot be hidden from a report type and will always be available
• Standard reports are NOT visible through Reports search

o Custom Report Types: Select which of related records and fields will show on report
Can define Primary object (not change after save) and up to 3 related objects (edit)
Records not meet report criteria and use “with” or “without” related records
• New Custom Report type needs to be deployed: for users to find it
• Fields available in Report Builder can be limited, reorganized and renamed
• When a field is created, needs to be added to field layout to make it available
• Fields can be hidden from the report type to prevent from being used
• Can include additional fields such as fields that are related to a lookup object
Add fields related via lookup

Object relationship determines which records the report type includes. Each object
relationship specifies a primary object and optionally one or more related objects
 Primary object with related object eg Opportunities with Products
the only records that would be displayed on the report would be opportunities that
have at least one related product record
 Primary object with/without related object eg Opportunities with/without Products,
Opportunities would be displayed whether or not they have a related product record.
Create a new custom report type of ‘Contacts with Inquiries with Activities’:
See activities associated with inquiries that are related to contacts. Used to display contacts
(primary object) which have at least one inquiry, with inquiry related to at least one activity

Setup Custom Report Type


1. Setup > Report Types > Select Primary Object > Category > Deployment Status:

• In Development: report type and its reports are hidden from all users except
user with “Manage Custom Report Types” permission
• Deployed: to let all users access the report type
2. Select a child object: only related objects are shown
The number of children depends on the objects you choose
• Each "A" record must have at least one related "B" record:
Only parent records with child records are shown in the report.
• "A" records may or may not have related "B" records:
Parent records are shown, whether they have child records or not.
3. Create Field Layout: Fields Available for Reports > Edit Layout > Preview Layout:
which fields display on Select Columns page of a report customized or run from this
report type > drag fields to left > Optionally: click Add fields related via lookup
Limits
• Can contain up to 60 object references
• If a user runs a report from a custom report type and the report has columns from
more than 20 different objects, an error occurs
• Add up to 1,000 fields: If you have too many fields, you can’t save the layout
• Cannot add History fields, Product schedule fields, Age field on cases/opportunities
Report Formats
Report formats are not explicitly selected in Lightning Report Builder, but they automatically
adapt based on the grouping that is configured in the report
1. Add or remove fields
2. Choose correct filters and range
3. Choose report type
Bucketing = categorize records (buckets) by grouping report values without creating a
formula or a custom field

o Tabular (default): a list of records, displays an ordered set of fields in columns where
each row represents an actual record  simplest and fastest way to look at data
For a mailing list, activity reports, data cleanup, export, backup
• Cannot be used to set up groups of data, formulas, charts
• Cannot used to run a dashboard report: doesn’t have row limits
If there is a limit on number of rows, can be as a source report in dashboard
Reports > New Report > Report type: ‘Opportunities’ > Filters:
Show Me: All opportunities – Status: open – Date: Created Date – Range: Current FY

o Summary: group records by row with subtotals (up to 3 levels of grouping)


Sum of opportunity amount grouped by date (eg. close month)
Reports > Report type: ‘Cases’ > Filters: All Cases – Date: Opened Date – Range: All Time
• Outline > Under GROUP ROWS: Priority
• See totals for each priority level: turn off Detail Rows

o Matrix: group records both by row and column (2 levels of grouping for both)
Compare totals eg. Total Revenue, Quantity sold products,
more detailed view of data, analyzing large amount of data
• over 2,000 records in a report, detail rows cannot be clicked to show
• Stacked Summaries option metrics (enabled by default): grouped by row
instead if it is disabled the metrics are placed in different columns
• Most time-consuming to set up, but most detailed
• Mathematical operations: sum, avg, min/max
Exercise: wants to know revenue trends, month over month
Reports > Report type: ‘Opportunities’ > Filters: All – Status: Closed Won – Date: Close Date
• Summarize by Sum of Amount: dropdown on Amount column > Summarize: Sum
• Under GROUP ROWS: Close Month
Under GROUP COLUMNS: Type: Outline

o Joined: multiple reports (same or different report type) can be displayed side-by-side
using blocks, only if they share common fields with each other
Each block shows data from 1 report type like a “sub-report,” with its own fields,
columns, sorting, filtering (up to 5 blocks: each block up to 2000 records = 10,000)
Performance scorecard, Cases by status with blocks for new and closed cases,
Number of open opp in current quarter and closed opp in last quarter
• Principal report type (of the first block) can be changed
• Existing unjoined reports can be converted into joined reports
• Options available for joined report run page: group, filter, add chart,
summarize, add report to dashboard, not update records
Exercise: create a basic Opportunities report, add three blocks, filter each block by the
appropriate status, and then group the results by sales rep
Reports > Report type: Opportunities > click arrow next report: Joined report
• Add another report type to joined report: Add block > Add Report type
• Customize joined report: add columns, groups, filters, formulas
Sharing model
Reports only show records user has access to: different users with different permissions run
a report, the report will show different data depending on what records they have access to
Run report access:
• Users need to enable Run Reports permission on their profile
• User should have access to the object (records) which contains information
• User should have access to the folder where the report is stored

Sharing settings
• Folder sharing: access to folders in which reports are stored (view, edit, manager)
Private folder: cannot be accessed, only visible to user who created the folders
In sharing settings: enable ‘granted access using hierarchies’ if OWD = private to let
sales manager see the reports that are owned by a sales rep
• OWD and other sharing settings: default visibility to records you see in reports
• Sharing model = public: all users will see the same records in the report
• Sharing model = private: only see data to which they have access and those below
in role hierarchy if enabled  Different users see different results for same report
• Page layouts have no impact on record visibility in reports: a field can be viewed even
if it is not visible on a page layout
Report subscriptions: Schedule and Emailing reports
Schedule a report: Drop-down Run Report: Subscribe
Scheduled reports run in the time zone of the user who schedules the report
• Frequency: Daily, weekly or monthly
• Date range: Start and End date
• Specify the report to email and it is emailed within 30 min of preferred start time
• Specify the running user

Report Builder
Tools for customizing

Tools for customizing report data


Bucket Fields
• Fields: Number, Percent, Currency, Picklist, Text
• A bucket field can be created from an existing column
• Used for grouping, filtering and categorizing report values based on criteria
• Up to 5 bucket fields (with 20 buckets for each field)
• Cannot be created in joined reports
Summary Fields
• Number or Currency fields can be summarized by SUM, AVERAGE, MIN/MAX
• Summary values are displayed at all grouping levels
• Appear in summary/matrix reports at the total level
Row-Levels Formulas
• Used to calculate the difference between two date/time fields
eg. difference between ‘Date/Time Opened’ and ‘Case Accepted Time Stamp’
• Only 1 row-level formula per report (with up to 3 unique date/time fields)
Custom Summary Formulas
• Calculate additional totals based on numeric fields (number, percent, currency)
eg. Max revenue at grouping level, win ratio for all of the sales associates
• Up to 5 Custom Summary Formulas per report
• Created for summary, matrix and joined reports with at least one grouping
• Only be displayed at all summary levels, grand summary or specific grouping levels
• Can reference formula fields, but CANNOT reference other summary formulas
Conditional Highlighting
• Allows summarized values (grand and summarized totals: work on summary fields or
custom summary formulas) to be colored depending if value meets criteria/threshold
• Up to 3 ranges (Classic)
• Available in dashboard component table to Lightning
• Used in summary and matrix report
Grouping report data
• Grouped by a field (when at least 1 row is grouped (2), column (2) can be grouped)
Reporting Snapshots
• provides info on historical data by storing data schedules over time,
so protects data from deletion
• Comparative analysis or trend analysis
• Used for tabular and summary report
Export reports
You must run the report before you can export or print it because ‘Export button’ and
‘Printable View’ are otherwise not available in Report Builder
 Formatted Reports (xlsx): maintain visual presentation and directly publish to
consumers
 Joined Reports: always exported as Formatted Reports
 Printable view (only Classic) or use browser’s print function to print reports
 Details Only (xls or csv): use data cleanup, backup, data quality

Custom Summary Formulas

ParentGroupVal:
• Parent group is a grouping that is one level above the current grouping
• A parent group can be a particular grouping or grand summary.
• This function can only be used in custom summary formulas and at grouping levels
for reports, but not at summary levels
PrevGroupVal:
• Previous group can be a row or column group before the current group
• This function can only be used in custom summary formulas and at grouping levels
for reports, but not at summary levels.
Use filters
Field layout determines which fields the report type includes
Custom report type: allow you to expand filtering options on standard reports

Filter type Description


Standard filter • Show Me: filters object around common groupings (My accounts, All accounts)
• Date Field: filters by a field (Created Date or Close Date) and a Date Range (“All
Time” or “Last Month) that can accept manually entered values

Field filter For each filter: set the field, operator, and value (field types: numeric, date, datetime)
With tabular, summary, and matrix reports: drag a field to add a report filter
Filter Logic Add Boolean conditions: AND/OR/NOT
Add at least 1 field filter before applying filter logic and only be added on custom filters
Cross-object filter Allow you to exclude/include data:
To limit the records displayed to those ‘with’ or ‘without’ child object records (up to 3)
Add subfilters to further filter by fields on the child object (up to 5 subfilters)
Row Limit For tabular reports (classic only) select the maximum number of rows to display, then
choose a field to sort by and the sort order
eg. row limit 10, sorted by Account Owner, Ascending

Filter logic: lets you apply filters based on conditions


Exercise: Erin wants to see her accounts who are either direct customers or resellers
 Account Owner equals Erin Donaghue
 Type equals Customer – Direct, Channel Partner / Reseller
 Add Operators:
• AND: find records that match both values
• OR: finds records that match either value
• NOT: finds records that exclude values
But filters 2 and 3 conflict with each other and causing the report to return no data.
Add Filter Logic > 1 AND (2 OR 3)

Cross-Object filters
= extend reports to objects related to the original objects defined in the report type
 Exclude data: Opportunities without activities in the past 90 days
 Include data: Contacts with accounts (want to add these contacts to accounts)
eg. wants to know which Accounts with open Opportunities are missing Contacts
Reports > Report type: Accounts > Filters: Date: Created Date – Range: All Time >
Add Cross Filter:
• Select Parent object: determines which related objects you see in child object list
Select Child object from secondary Object dropdown: Opportunities
• Add subfilters: Click Add Your Related Child Object Filter > field - equals – value
Report charts
Don’t want to create a dashboard, but want to add a chart to report but the record must
have at least 1 group: any summarized field, custom summarized formula or record count
• Any chart in report can be added to page layout: each point/bar/wedge/segment in
chart represents data from a summary row of a grouping
Edit page > drag Report chart (related records) into canvas

Charts
 Horizontal bars: comparing distance or time, limited to a single grouping
Stacked bar: show summary values from two levels of grouping in report
eg. compare status of leads by campaign and also to compare the totals for each status
 Vertical columns: grouping by a date field or showing relative counts such as comparing
different employee counts at companies, used on summary report with a single grouping
 Line chart: show changes in value over time
show summary values from two levels of grouping in report (as stacked bar)
 Donut chart (%): data is displayed as multiple groupings contributing to a total value (in the
middle), each wedge presents data from a summary row of grouping
 Funnel chart (%): multiple groupings to show proportions among the set,
larger segment suggests area of interest eg. viewing opportunities stages in a sales pipeline
 Scatter chart: data grouped by summarized values for one or two groups of data
eg. how stage duration correlated with the number of activities for opportunities

Combine charts: display more than one summary value in chart and add a second axis range
Donut chart and funnel chart do NOT support combination charts

Embedded charts allow you to add up to 2 charts on a page layout


Before you add a chart, check that:
• Its source report is in a folder that’s shared with users who need access.
• The source report format is summary or matrix.
• The source report has a chart.

Dashboards
Dashboard = visual display of data from reports which are very useful in analyzing data,
keeping track of changes.
• Relationship between a dashboard component and report is 1:1
Each dashboard component shows data from one underlying report
Can use the same report in multiple dashboard components on single dashboard
• Every dashboard is stored in a folder: to view dashboard components, you need
access to the underlying reports as well
• Follow a dashboard in Chatter: get updates about dashboard posted to your feed
Classic <> LE:
• When create a dashboard in LE, you can’t edit it in Classic
• When create a dashboard in Classic, then edit and save it in LE, not edit it in Classic
Dashboard components
Depend on source report and up to 20 components
Perfect Sales Dashboard should have these 12 metrics

• Gauge: have a single value to show within a range of custom values


How far a user is from reaching a goal eg. target revenue of sales user
• Table: show a list of records in row and column format
eg. list the top 5 sales performers
• Chart: show data graphically (horizontal bar, vertical column, pie, funnel, line,scatter)
• Metric: when you have one key value to display
eg. Total amount of all closed won opp
• Lightning table: don’t appear when you view dashboard in Classic
• Up to 10 columns and 200 rows
• Columns come from the source report’s report type
• Show Chatter photos and conditional highlighting
• Group and measure records eg. sum of amount/average probability by stage
• Legacy table: show columns and use color and scale to improve interpretation of
data (not be created in LE, only edited)
• Visualforce page: want to create a custom component
uses a Visualforce page to combine several chart components and their data.
• Snapshot: post a static image of component to dashboard feed
In LE: the smallest possible dashboard component that can be added is 1 row by 1 column

Joined reports: can be displayed in dashboard components but report’ chart must be used
Data filters and other settings will be disabled in the component

Dashboard Configurations
• From properties menu: change name, move into a different folder, and
set “view as” options (Me, Another Person, Dashboard Viewer)
• Dashboard Grid Size: by default use a 12-column layout with unlimited rows
• View Dashboard as dashboard viewer and allowed viewers: click on Change
• Click collaborate button: opens up Chatter eg. mention people and groups
• Share: expand > click collaborate button > create a post > Share
User permissions
 Subscribe to dashboards: schedule refreshed and send notifications by email based
on conditions that trigger the report run eg. ‘record count of open cases’ > 100
• Only users with access to the dashboard can be added as subscriber
• Dashboard subscriptions can be by user, group, role-based
 Create and customize dashboards in personal folders
 Create, edit, delete dashboards and manage their sharing in all public folders

Permission is required to let dashboard viewers choose whom they view dashboard as
results:
• View My Team's Dashboards: users view dashboard as any user below them in role
hierarchy
• View All Data: users can edit dashboard and view it as any user in org
• Enable Other User's Dashboard: users can edit any dashboard they have access to
(not need to be running user or View All Data permissions)
Types of dashboards
Each dashboard has a running user, whose security settings determine which data to display
Running User concept in Dashboard allows users to view data they normally cannot view
o Fixed Dashboard: ‘View dashboard as’/running user is fixed to a specific user:
all viewers will see dashboard data based on the access level of this user regardless
of their own personal security settings
Perfect for sharing the big picture across a hierarchy or motivating team
o Dynamic Dashboards: data is displayed on dashboard changes according to access
level of logged-in user who is currently viewing: according to their own access
Eliminate to create the same dashboard for multiple users
Enable Grant Access Using Hierarchies for the objects containing the report data
• Cannot follow components, therefore users cannot customize the dashboard
• Cannot save dynamic dashboards in private folders
• Dashboard subscription is disabled: cannot schedule refreshes automatically,
only manually

Dashboard Builder

Create a dashboard in Dashboard Builder


1. Select the running user
2. Select components
3. Select the data source

Dashboard Filters:
• Filters can’t be added to dashboards that contain Visualforce components
• It’s not possible to filter on bucket fields. However, it is possible to use a
report filtered on a bucket field on the dashboard page.
• Filters aren’t applied in refresh schedules or subscription email a dashboard.
• You can’t filter data on a joined report in dashboard view

Reporting Snapshots
Reporting snapshot lets you report on historical data
Authorized users can save tabular or summary report results to fields on a custom object,
then map those fields to corresponding fields on a target object

Eg. analyze how sales funnel is changing throughout the month. Wants to store detail of
open opportunities weekly, and forecasts and closes business monthly

The benefits of using reporting snapshots:


• Running faster reports by reporting on data that is already summarized
(from target object)
• Creating dashboards that refresh quickly by associating them with pre-summarized
data (from source report)
• Sorting specific data summaries via list views (if included on custom object tab)
• Viewing trends in data via custom object records
Setup Snapshot
Setup > Reporting Snapshot > New:
1. Choose Running User: determines the source report's level of access to data. This
bypasses all security settings, only users with “Modify All Data” permission can
choose running users other than themselves
Choose a custom source report that includes report results you want to load as
records into a target object
2. Choose a custom target object in which to store records loaded from source report
If a record used for reporting snapshot has no record type, the one of running user is
associated by default
• Create fields on target object that will receive the source report's results
when the reporting snapshot runs
Map the fields on source report to fields on your target object: when the report runs, it
automatically loads specific target object fields with data from specific source report fields
Edit on Field Mapping section > select a field from the source report to map to a custom field
in the Fields in Target Object
• Can assign the same source report field to more than one target object field
• For Summary reports: select the Grouping Level at which summary data is
extracted from the source report. The Grand Summary summarizes on the
total for all grouping levels.
Considerations
• Must map at least one field from source report to one field on target object or data
will not load when the reporting snapshot runs
• Only map fields with compatible data types eg. map a currency to a number field
• A custom summary formula can be mapped only if the grouping level in the reporting
snapshot and the grouping level in the custom summary formula match
• Cannot map fields from the source report to the following fields on the target object:
Created By, Last Modified By, Created Date, and Last Modified Date
• Some data may lose its context when loaded to the target object
Eg. map a date and time field from the source report to a text field on the target
object, the date and time load to the target object without the time zone
• If Running user does not have “read” or “write” access to a mapped field in target
object, that field is dropped from the mapping, but does not cause execution to fail
If a required field in the target object is not mapped, the execution fails
• Map a field in source report to a lookup field on target object, must map to ID of
object associated with the lookup eg. map to an opportunity lookup field, must map
to Opportunity ID (use a custom report type to include ID and other related fields)
Schedule snapshots
The number of reporting snapshots you can schedule to run is determined by your Edition

After a reporting snapshot has run, you can send an email notification that includes
• details about reporting snapshot run, such as the date and time it ran, whether it ran
successfully, and how many records were loaded into the target object
• a link to the reporting snapshot detail page in SF
Edit on Schedule Reporting Snapshot: Reporting snapshots run as scheduled only if the user
in the Running User field has access to the folder in which the source report is stored
• Email reporting snapshot:
o Me
o Other user: email addresses included on SF user records, not extern
• Select Frequency (Daily, Weekly, or Monthly)
If you schedule a reporting snapshot to run on a specific day of every month, the
reporting snapshot will only run on months that have that specific day
• Start and End fields: specify dates during to schedule the reporting snapshot to run
• Preferred Start Time > Find available options (run in time zone of selected user)
Runs within an hour of the time you select
Run History
Displays if a reporting snapshot ran successfully or when its fails

A reporting snapshot will fail during a scheduled run if:


• Source report
o includes > 100 fields
o Source report format must be tabular or summary:
Source report format was changed from tabular to summary, which made the
field mappings in the reporting snapshot incorrect
o selected grouping level is no longer valid
o contains too many fields, has a formula field with too many functions
o A record cannot contain multiple fields with different currency codes
• Running user does not have access to source report
o not access to the folder in which the source report is stored or to report type
o not have “Run Reports” permission
o read” or “write” access to a mapped field in target object
o not have “Create” permission on the target object.
If target object's status = In Development, running user must have “Customize
Applications” permission
• Target object
o has > 100 custom fields
o contains validation rules
o is included in a workflow
o is a detail object in a master-detail relationship.
o runs an Apex trigger when new records are created on it.
• Reporting snapshot is scheduled with frequency set as Monthly and the run date is
changed after the snapshot has run for the current month. The snapshot doesn't run
on new day for the current month unless the snapshot frequency is changed to Daily
Historical Trend Reporting
Historical trend reporting uses a special custom report type designed to highlight changes
between five snapshot dates, such as five business days or five business weeks
(can choose custom date, days ago, weeks ago, months ago, first day x weeks/months ago)
 Days or weeks is suggested duration
• SF retains historical data for the previous three months, plus the current month
• Can select Opportunities, Cases, Forecasting Items, and up to 3 custom objects
• Select up to 8 fields in an object

Show change:
• Format Change: highlighted in red (value decreases) or green (value increases)
• Show Change as 'None' or 'Value’  Change column for each snapshot dates

Examples
Eg. Report points out opportunity amounts and close dates that have changed since 3
months ago
1. Setup > Enable Historical Trend Reporting for Opportunities
2. Report > New > Opportunities with Historical Trending
3. Filter: Date range = Close Date
4. Click down arrow on Amount (Historical) and Amount columns > Summarize > Sum
5. Click down arrow on Amount column > Show Change > Value
Eg. Focus only on deals in pipeline > $5,000, not concerned about today’s fluctuations
Create historical trending report filters out any deal whose value < $5,000 yesterday
• Add filter: select Amount (Historical) greater than Value: 5000
• Add filter: Historical Close Date = Yesterday
Eg. Historical trending report gives you deals whose value yesterday > value today
Filter out any deal that wasn’t worth more yesterday than today:
Close Date (Historical): Yesterday greater than > Field

*Any Snapshot Date is selected for the historical date: the filter returns results when the
filter criteria are true for all of the snapshot dates

Create a historical report in matrix format of the amounts team members have assigned to
each forecast category. Changes in amounts reveal how accurately team is forecasting:
1. Setup > Enable Forecasting Items with Historical Trending
2. Report > New > Forecasting Items with Historical Trending
3. End Date > Current FQ
Historical Date > choose 3 Months Ago, 2 Months Ago, 1 Month Ago
4. To create a row grouping: drag the Owner: Full Name, Forecast Category
Drag the Forecast Amount (Historical) > Summarize dialog > Sum
Create chart: Sum of Forecast Amount (historical) for Y-Axis and Snapshot Date for X-Axis.
Group By: Forecast Category > select Cumulative

Opportunity Trends Report is a special historical trend report for Opportunity:


• Format: Matrix
• Groupings: The default report shows rows grouped by Historical Stage and columns
grouped by As of Date.
• Summary Fields: Historical Amount (sum)
Limitations
• Up to 5 million rows of historical trending data can be stored for each object.
Email is sent when any object reaches 70 % of limit, and again if limit is exceeded
• Each historical trend report can contain up to 100 fields. In Opportunities reports, the
fields include the standard preselected fields, which can't be disabled
• Not supported: Formula fields, Row limit filters, Summary Report format
• Can specify up to five historical snapshot dates in each historical trend report.
• Use up to four historical filters on each historical trend report
• Cannot subscribe to historical trend reports
• Historical trend reporting with charts is supported, but not tabular views

Formulas and Validations


Use formula fields
= read-only (non-editable) fields that automatically calculate a value within single object
based on field values (include fields in related objects) or a formula eg. $User.FirstName
• Merge fields can reference other fields to which he doesn't have access
child record fields populated with the parent record field info
eg. open a case from an account they need to fill all the account-related field info
• Formula: calculate mathematical output (up to 3900 character limit of size)
eg. sum of lead scoring fields, calculate how many days left until opp’s close date
eg. opportunities not been update in the past 20 days automatically be flagged:
calculate how many days since last update and display a red flag if criteria are met
• Recalculated automatically each time a user views the record
• Ensure data validation
• Even if the two dates span different months or years, the platform is sophisticated
enough to know how to handle that
Limitations:
• Not display on record edit pages: formula field is read-only
• They are not searchable
• Cannot reference field types: text area (long), text area (rich), picklist (multiselect)
• Not use Encrypted, Description fields
• The value of a field can’t depend on another formula that references it

Formula editor
• Simple formula: allow selection of fields from the same object and use operators
• Advanced formula: allow selection of fields from the parent object and use functions
• Text area:
- Whitespace doesn’t matter
- Formulas = case sensitive: pay attention to capitalization of field
- When working with numbers, the standard order of operations applies
- Add comments to formula (/*) comment (*/)
- If your formula references any number, currency, percent fields;
‘Treat blank fields as zeros’ or ‘Treat blank fields as blanks’

7 Formula fields types:


1. Number: Fahrenheit = 1.8 * Celsius__c + 32
2. Currency: Gross Margin = Amount - Cost__c (eg. Commission a salesperson receives)
3. Percent: Discount = (Amount - Discounted_Amount__c) / Amount
IF(Probability =0.9...) for 90% probability
4. Date: Reminder Date = CloseDate – 7 or Last Activity
 SF ignores any numbers beyond the decimal eg. CloseDate + 0.5 = CloseDate
eg. to display messages based on due date
5. Date/time: Next = NOW() + 1 or Created Date and Last Modified Date
 DATAVALUE function to convert a date/time field into a date field
6. Checkbox: eg. automatically ticket if annual revenue field is greater than a million
AnnualRevenue > 1000000
7. Text: Full Name = LastName & ", " & FirstName

Delete formula field


• Custom field allocation within 15 days after deletion
• If field is restored, it needs to be manually added back to page layouts and marked as
required/unique again if needed. The field history is available again.
If field was part of master-detail relationship, will be restores as lookup
• Cannot delete a field if it is referenced eg. field updates in workflow
FORMULA OPERATORS

Logical Operators
= and == (Equal)
<> and != (Not Equal)
&& (AND): Evaluates if two values or expressions are both true (logical function: AND)
|| (OR): Evaluates if at least one of values or expressions is true (logical function: OR)

Text Operators
& (Concatenate): connects two or more strings eg. a new field ‘Name’ that shows both of
these values ‘First Name’; ‘Last Name’ in one field (FN & ‘ ‘ & LN)

FORMULA FUNCTIONS
Functions can be used as-is eg. TODAY() function returns the current date
Functions require extra info = parameters eg. LEN(text) finds length of text you input

Picklist fields:
 ISPICKVAL: determines if the value of a picklist field is equal to a text literal
ISPICKVAL( Status__c , "Closed - Filled") = TEXT(Status__c) = “Closed - Filled”
IF(ISPICKVAL(picklist_field)) = CASE (picklist_field)
IF (OR (ISPICKVAL (Priority, “High”), ISPICKVAL (Status, “New”)),
ROUND (NOW ()- CreatedDate, 0), null):
returns the number of days a case has been open if the status is new or the priority is high. If
the case was opened today, this field displays zero
 CASE: Checks a given expression against series of values
If the expression is equal to a value, returns the corresponding result. If it isn't equal to any
values, it returns the else_result
eg. display an account's rating on all contacts related to that account:
CASE(Account.Rating, "Hot", "Warm", "Cold", "Not Rated") or Text(Account.Rating)
 TEXT: Returns a picklist value’s API Name so that you can work with a reference to the value
in functions that support text values, such as CONTAINS or
converts a percent, number, date/time or currency type field into text
Multi-select picklist fields:
 INCLUDES: any value selected in a multi-select picklist field equals a text literal
 ISBLANK: takes a single field – returns true if it not contain a value and false if it does
 ISNUMBER: the value in Custom Field called Salary is 50.000, formula return ‘True’
 IF: perform a test and return different values depending on whether result of test is T/F
Multiple IF’s to evaluate a condition with multiple outcomes
 NOT: Returns FALSE for TRUE and TRUE for FALSE
 AND: returns a TRUE response if all values are true, and returns a FALSE response if one or
more values are false  joins together multiple conditions
 HYPERLINK open in a new browser window by default and can be added to list views, reports,
related lists. Use a complete URL, including the server name and https://
eg. HYPERLINK("https://www.krefel.be/nl/p/" & Product_Reference__c, Name)

exp1 && exp2 && exp3: returns true when exp1, exp2, and exp3 are all true
exp1 || exp2 || exp3: returns true when any one of exp1, exp2, or exp3 are true
Eg. VR that Close Date has a value whenever Status field is Closed – Filled/Not Approved
ISBLANK(Close_Date__c) &&
(ISPICKVAL(Status__c , "Closed - Filled") ||
ISPICKVAL(Status__c , "Closed - Not Approved"))

Scenario’s
Example 1: Displaying an Account Field on the Contact Detail Page
Take a single field from an Account and show it on a Contact using a cross-object formula.
select a record from another object: Account  references fields from parent objects
Data type: formula > type: text > advanced formula editor > insert field: Contact | Account |
Account Number

Example: 2 Displaying the Number of Days Until an Opportunity Closes on a Report


1. Data type: formula > type: number
2. Find the difference between the opportunity close date and today’s date:
formula: CloseDate – TODAY()

Put new formula field in a report: New Report > Opportunities > enable ‘Update Preview
Automatically’ > add column: formula field

Example 3: Find Distinct Objects Using the Power of One


Count the number of unique objects in a report with hundreds of records
Create a Custom formula field on the User object > Type: Number > Decimal Places: 0 > in
formula text area: enter 1 (unique users = 1)
The number of distinct users appears at the bottom of the column: summarize > sum

Debugging Formulas
Syntax errors are an inevitable part of working with formulas  Check Syntaxtells you what
error it encountered and where it’s located in your formula.
 Missing parentheses: LEN (Name: This error most often occurs when the number of opening
parentheses doesn’t match the number of closing parentheses. Also see this error if you
forget a comma between two function parameters  doesn’t match with the syntax checker
 Incorrect parameter type: give a function a number parameter and expects text
 Formula result is incompatible with formula return type: select one data type when creating
the formula field but write a formula that returns a different data type. Eg. My Account
Formula (number) expects to return a number, but the TODAY() function returns a date.
 Incorrect number of parameters for function: ABS (-18, 2) If you input too many or too few
parameters into a function, the syntax checker alerts you.
 Field does not exist: This error indicates that you’ve included a field in your formula that
your object doesn’t support.
 Unknown function: In this case, check that SF supports the functions you’re using

This formula creates a hyperlink to an external website using the HYPERLINK() function. Add
hyperlinks to page layouts helps users access important info quickly from the detail pages.
Account website (text)
HYPERLINK(“http:/www.veryimportantwebsite.com”, “Very Important Website”)

Applying 12% discount and rounding result to two decimal places using ROUND() function.
Discounted amount (number)
ROUND( Amount – (Amount * 0.12), 2)

Checkbox formula that determines whether a particular opportunity is a “big” opportunity.


It checks whether the number of employees at the opportunity account’s associated
company is greater than 1,000 AND whether the opportunity amount is greater than
$10,000. If both statements are true, the field appears as a checked box on the Opportunity
page layout. Otherwise, it appears as a blank box.
Big opportunity? (Checkbox)
AND (Account.NumberOfEmployee > 1000, Amount > 10000)

Evaluate if the student has passed the exam if percent obtained > 50%:
Setup > fields or relationships > new > formula: Text > advanced formula > insert functions
“if” > ‘if total_percent__c > 0.50, value if true (‘Passed’), value if false (‘Failed’)’

Roll-up Summary field


While formula fields calculate values using fields within a single record,
roll-up summary field is custom field (read only) that calculate values from a set of related
records (up to 10 roll-up summary fields on object)
because it is custom field  field-level security to make it visible to HR users, not controlled
by the page layout

Define roll-up summary field on the master side of a master-detail relationship:


automatically display a value on a master record based on the values of detail records
Eg. how many applications (child records) if looking at the Job record (master record)
Eg. sum of the amount of opportunities on Account record
Eg. supported from an opportunity line item object to its opportunity object
INFO FROM PARENT  CHILD RECORDS = Cross-object formula field
INFO FROM CHILD RECORDS  PARENT = Roll-up Summary field

• Once created, cannot change detail object or delete any field referenced in roll-up
• Not use long text area, multi-select picklist, Description fields, system fields like Last
Activity, cross-object formula, lookup fields
• Because roll-up summary fields are not displayed on edit pages, you can use them in
validation rules but not as the error location for your validation
• If the master and detail records are in different currencies, the detail record value is
converted into the currency of the master record = advanced currency management
• Assignment rules can be triggered if roll-up summary field value is updated
• Calculating roll-up summary field values may take up to 30min:
 Automatic calculation (recommend)
 Force a Mass Recalculation on edit page: manually recalculate the value
(SF NOT recalculate the value of campaign roll-up summary fields when leads
or contacts are deleted)
Summary types
 COUNT: Totals the number of related records
 SUM: Totals values in field selected in Field to Aggregate (number, currency, percent)
– amount, expected revenue, quantity, probability (%)
eg. Total expected revenue of all the Opportunities related to Account
 MIN: Displays the lowest value of the field in Field to Aggregate for all directly related
records (number, currency, percent, date, date/time)
– amount, quantity, probability, close date, created date, last modified date
eg. Minimum List Price of an opportunity

Exercise:
1. Total Rating field on each Job Application record that shows the sum of ratings:
Setup > Account > F&R > New > Roll-up summary > Object to summarize: on detail side >
Summary type: SUM > Field to aggregate > Filter criteria:
Accept all remaining field-level security and page layout defaults
2. Counting the number of related detail records
Setup > Account > F&R > New > Roll-up summary > Object to summarize: on detail side >
Summary type: COUNT > select ‘All records should be included in the calculation’
 All records should be included in the calculation
 Only records meeting certain criteria
3. Average rating: divides value of the first roll-up summary field by value of the second
Setup > Formula: Number: Total_Rating__c / Number_of_Reviews__c  AVG: SUM/COUNT

Validation Rules
= verify data entered by users meet the standards to prevent users from saving invalid data.
If it doesn't, the validation rule will not save the record and the user sees an error message
to display to the user when the rule returns a value of “True” due to an invalid value
• Validation rules are always in effect, even if a field is invisible to a user with field-level
security and VR says that the record cannot be saved without entering value for that
field, then the user would never be able to save a record
• Validation rules apply to all new (save) and updated records for an object
• All editions support Validation rules
• users with custom profiles must have Read permission on an object to view
validation rules for that object

Data Validation:
• Ensures data integrity before record is saved in SF (not when data is exported in SF)
• Can prevent duplication of records
• Make fields required based on business logic
System validation rules: basic standard rules setup on field itself
BEFORE CUSTOM VALIDATION RULES
• Ensure data type is correct for the field
• Limiting field length on text, number, currency fields
• Make fields required eg. a field cannot have an empty value before saving object
• Make fields unique: ensure that there is no other record with that entry
>< Duplicate rule: used for the record as a whole when only one record should exist
• Error messages: describe cause and provide info to resolve them
Custom validation rules: complex, involve one or more fields and formulas or criteria
that determine if data can be processed/rejected: evaluates data with True/False
• Incorporate with functions and logic to meet more business-specific validation
requirements eg. ensure consistently fill out field: VR on field using ISBLANK function
• Message is displayed if right criteria is not met and field value needs to be corrected
• Apply to new or existing records even if fields referenced in a rule are not displayed
on a page layout or API call

• Make fields conditionally required, depending on the value of another field


eg. don’t want users to mark an Opportunity as Closed Won (Status field) if they
Account doesn’t have a Billing Address field
eg. email field on case form should be mandatory if phone field is not provided
>< page layout required fields: fields must be filled in prior to save Opportunity
• Make field unique: text, number, email can be marked as unique to prevent
duplicate field values on records
• Use a Boolean statement to evaluate data: ensure that numbers are within a
specified range, eg. discounts must not exceed 20%
 VR will give discount field an error if you save to record
• Enforce that date fields are correct chronological sequence
eg. start date before end date, value of Min Pay field < value of Max Pay field,
close date cannot be set in the past (VR check close date against current date)
Examples of validation rules with formula
Validation Rules have a formula limit of 5000 characters
VR with PRIORVALUE: prevent further changes to record when the ‘Status’ field on the
record is set to a specified value  returns prior field value
VR with ISCHANGED: only check whether the value of ‘Status’ field is changed
VLOOKUP: looking up value from a custom object  ONLY works in Validation Rule

Setup Validation Rule


Setup > account > Validation rules > new > name > Activate!
> error condition: LEN (Account Number) !=8
> error message: “Account number must be 8 characters long”
> error location: Top of Page or Field: validation rule is listed on the detail page of that field.
Automatically change to Top of Page: later deleted, read only, not visible on the page layout

Examples
Validation formula to make sure Phone & Email fields are filled in when converting a Lead:
IsConverted = TRUE && OR(ISBLANK(Phone), ISBLANK(Email))

Validate that a custom field contains a value of ‘1’


OR (ISBLANK (field__c), field__c<>1)

Makes a custom Project Start Date field required = filled whenever Stage is “Closed Won”
AND (ISPICKVAL(StageName, "Closed Won"),
ISBLANK(Project_Start_Date__c))

Checks to be sure an opportunity has opportunity products


NOT(OR(ISNEW(),HasOpportunityLineItem))

Conditionally Required field based on Opportunity stage


AND (ISPICKVAL(StageName, “Negotation”)),
ISBLANK(Delivery_Date)

Description: validates that Account Number is numeric or blank


AND (
NOT (ISBLANK (AccountNumber)),
NOT (ISNUMBER (AccountNumber)) )

Description: validates that custom date field contains a date within the current year
YEAR ( My_Date__c) <> YEAR ( TODAY())

Description: validate that the range between two custom fields, salary min and salary max, is
no greater than 20,000
(Salary_Max__c – Salary_Min__c) > 20000
Validation rule considerations
 VR exist for activities and you create an activity during lead conversion:
lead converts but the task isn’t created
 Campaign hierarchies ignore validation rules
 Validation rules run on individual records if owner is changed.
Mass Transfer: change ownership of multiple records, VR don’t run
 Web-to-Lead and Web-to-Case pass VR so VR is enforced but not show visual
confirmation: no response is provided to web user if any of the VR fails
SF runs validation rules before it creates records submitted via Web-to-Lead and
Web-to-Case and then creates records that have valid values
 Workflow rules and Processes can invalidate previously valid fields because update
records based on workflow rules and process scheduled actions don’t trigger VR
 Cannot create validation rules for relationship group members
 Can use roll-up summary fields in validation rules because the fields don’t display on
edit pages  not use roll-up summary fields as the error location

Validation rule formulas can’t refer to:


• Compound fields: addresses, first and last names, dependent picklists, lookups
• Campaign statistic fields: statistics for individual campaigns, campaign hierarchies
• Merge fields for auto-number or compound address fields, such as Mailing Address

Data Management (8%)


Data Migration
= transferring data from external source to SF

Data Migration Process

• Identification of Stakeholders: Identify who SH are, communicate with end users


about the migration and stuff
• Data analysis:
o Understand what data needs to be migrated
o Identify the business process
o Determine whether data needs cleanup
o Determine how objects are mapped in SF
o Identify the effect of data migration to minimize the negative impact
• Data and system preparation:
o Cleanup data as needed
o Order of migration taken into consideration based on object relationships
o Basic setup is done in this phase, such as creating profiles, adding validation
rules, workflows
• Data migration testing
o Sandbox used to test data migration after configuration is setup properly.
o Full data migration allows identifying issues from migration
• Final data migration and validation
o Data migration to production can be setup after a successful full data
migration to sandbox
o Log in as different users to ensure proper permission is set and no weird
behavior on end-user

Data Management Tools

Data being imported into SF is required to be in CSV format (= comma separated values)
= plain text file that contains a list of data (accepted by Data Loader and Data Import Wizard)

ID must be in csv file

Two main methods for importing data

Data Import Wizard—lets you import data in common standard objects and custom objects.
 It can import up to 50,000 records
 One import job can be done at the time.
 It provides a simple interface to specify the configuration parameters, data sources,
and the field mappings that map the field names in import file with field names in SF
Data Loader—this is a client application that can be downloaded to desktop (runs on both
Windows and Mac operating systems)
 Can import up to 5 million records, of any data type, either from files or a database
connection
 Command Line Interface (Windows only): configuration, mappings, actions in files
Enables you to set up Data Loader for automated processing
eg. 6PM daily imports OR use an AppExchange tool (Jitterbit Data Loader)
Select Command:
o Insert: create a new record
o Update: update an existing record. ID needs to be in csv file
o Upsert: update an existing record if a match is found; if not then insert a new record
o Hard Delete: delete records without moving to the recycle bin (Use Bulk API)
o Export all: export soft-deleted records (= in Recycle Bin)
o Automate operation: (Command Line) automate the loading process by setting up
configuration, actions and mapping from command line
o Batch operation: nightly imports

Data Import Wizard Data Loader


Accessed by end users and Admins Accessed by Admins (with ‘Modify All’ permission)
Available from setup menu Client application: needs downloading to desktop
load less than 50,000 records load 50,000 to five million records
(more: Third-party app in the AppExchange)
Accounts, Contacts, Leads, Solution, Campaign Support all objects and uploading attachments
Members, Custom objects allowed
Not automate process Automate import process: schedule data loads
Find duplicates/matching records No option to find duplicate
 Match Contact/Lead by Name/Email Used together with Duplicate Management:
 Match Account by Name & Site/External Id prevent duplicates from being created (Account,
Contacts, Leads and custom objects)
Running workflow rules and processes – optional Workflow rules, VR, triggers will fire – not optional
Insert, Update, Upsert Bulk Import, Update, Export, Upsert, hard delete
Not save mappings Save mappings

Data Import Wizard

1. Start the wizard: Data Import Wizard > launch wizard


2. Choose the data that you want to import: Click standard/custom objects: Lead >
Add New Records/Update existing records > upload CSV > character code >
Add New Records
 Assign New Leads to Source: Purchased List
 Assign All Leads using Assignment Rule: Standard
Update existing records
If a match is found based on criteria: email address
Unique values (ID, email) should be selected to ensure duplicate prevention
 Match Contact/Lead by: Email
 Match Account by: Account ID/External ID (uniquely identifying records from
eg. legacy system = system already in-use that is to be replaced/expanded by a
new system)

3. Map data fields to SF fields: Click Map to the left of each unmapped SF field
4. Import data: Review page > Click start import > If import is completed, email
notification will be sent containing summary of import job
5. Check Import status: Setup > Bulk Data Load Jobs: list of recent and in progress
import jobs and only admin has access to it

Import Articles tool:


Existing articles and translations can be imported into SF Knowledge
1. Create a .ZIP folder: .CSV file for each article + .properties file setting the article’s
parameters (data format, character encoding)
2. Articles must sort out by type and match its predefined Article Type in SF Knowledge
3. Field will be mapped, not support subfields
4. Article translations if org has enabled multiple languages for its Knowledge base

Help you integrate imported data into SF:


 New Values for Picklists and Multi-Select Picklists—If you import a picklist value that
doesn’t match an existing picklist value:
o Unrestricted picklist: Data Import Wizard uses value that’s in the import file
o Restricted picklist: Data Import Wizard uses the picklist’s default value
 Multi-Select Picklists—To import multiple values into a multi-select picklist, separate
the values by a semicolon in import file
 Checkboxes—To import data into a checkbox field, use 1 for checked values and 0 for
unchecked values
 Default Values—For picklist, multi-select picklist, and checkbox fields, if you do not
map the field in the import wizard, the default value for the field, if any, is
automatically inserted into the new or updated record
 Date/Time Fields—Ensure that the format of any date/time fields you are importing
matches how they display in SF per your locale setting
 Formula Fields—cannot accept imported data because they are read-only
 Field Validation Rules—SF runs validation rules on records before they are imported.
Records that fail validation aren’t imported. Deactivate VR before running an import
 Fail to import if a required field is missing
 Workflows: manually switched off before a data import job if any of these processes
may prevent records from being uploaded successfully
Data Loader
1. Login to Data Loader
2. Select query: Insert, Update, Upsert
3. Select object and CSV file
4. Map fields: automatically/manually match fields to columns
5. After operation is finished, view output files: success and error
Data Migration Order:
1. Users
2. Accounts
3. Contacts
4. Opportunities
5. Products
6. Cases
7. Leads
8. Campaigns
Different import wizards
Mass Transfer
Mass Transfer records: transfer multiple records (up to 250) from one user to another
within SF and the related records (for Accounts and Leads) as well. Objects that are available
for transferring are listed on the Transfer Tool.
If you want to transfer only 10 records of a custom object displayed in list view to another
owner: select the records in the list view and click on change owner

Mass Transfer > Transfer for objects: Accounts > Transform From – Transform To > criteria >
select records in the search results
 Accounts: open activities, open opportunities, contracts, notes & attachments
Leads: open activities
Custom objects
 User permissions: record owner or user above in role/territory hierarchy
 System permissions: users with ‘modify all data’ or ‘modify all’ can transfer
 Sharing rule, manual sharing access would be removed

Mass Transfer for approval requests:


a) Find records that are currently in approval process
b) Mass remove selected records or Mass transfer to another user
Mass Reassign: add, remove, and replace members in (opportunity) teams
Transferring Individual Records:
 User permissions: record owner or user above
 Receive a transferred record, user needs at least ‘read’ permission on object
 Leads can be transferred to users or queues (Queue is only available for Case,
Lead and custom objects)

Mass Deleting
Mass Delete records
Two best practices are recommended prior to Mass Deleting records:
Run and export a report to archive data before deletion or schedule a weekly data export
and download the backup zip files (Data Export Service)
 Accounts, Activities, Cases, Contacts, Leads, Solutions, Products, Reports
Also related records can be deleted
 Optionally permanent deleted bypassing the recycle bin
 Data Loader can be alternative to mass delete records but with small number of
records

Recycle Bin
Deleted records are stored for 15 days, after they are permanently deleted
App Launcher: All items  be added to navigation bar
 ‘Restore’, ‘Delete’ or ‘Empty Org Recycle Bin’ (permanent deletion of all items)
 Storage limit: 25 x org storage (MB)  if limit is exceeded, older records are
automatically deleted (been there for at least 2 hours)

Export data

Data is being exported can be CSV, XLS, XLSX


SF cannot guarantee the date and time the export will complete

Salesforce offers two main methods for exporting data/data backups

 Data Export Service—an in-browser service (Setup): Manually weekly (7 days) or


monthly (29 days) or Automatically at weekly or monthly intervals
o Weekly exports are available in Enterprise, Performance, Unlimited Editions.
o Monthly export are available in Professional Edition and Developer Edition

1. Setup > Data Export:


 Export Now: prepares files for export immediately. This option is only available if
enough time has passed since your last export.
 Schedule Export: schedule export process for weekly or monthly intervals
2. Select Images, documents, attachments to include in data
3. Schedule export: select Frequency, Start and End dates, Time of day
4. Select Types of data: include all data (recommend) or object-specific data
5. Click Start Export or Save. SF creates a zip archive of CSV files and send email
a. Large exports are broken up into multiple files.
b. Zip files are deleted 48 hours after the email is sent

 Data Loader—To bulk export data and only available in Enterprise Edition
Back up automatically: use the command line interface and schedule the export
Automatically store data on network server eg. local company server
o Export options: include (Export all) or exclude (Export) soft-deleted records
o Not support extraction of attachments
o Use SOQL queries to selectively export records that fit a certain set of criteria
o Support importing/exporting from Sandbox environment

1. Setup > Dataloader.io > launch > login with SF > Environment: Production/Sandbox
2. EXPORT > object
3. SOQL Query: Field – operation – value

Integration Patterns
Integration Patterns (strategies) are used to integrate SF functionality with 3rd party app

List of Integration Patterns

Batch Data Synchronization


• Data is imported into SF or exported from SF reflecting changes on a regular basis
(nightly or weekly)
• 3rd party ETL (Extract, Transform, Load) tool can be used for data export and import
• Benefit: imports and exports can be happened during non-business hours, such as
during midnight (suitable for processing large amount of data)
Remote Call-In
• Create, retrieve, update, delete data stored in SF using SOAP or REST API
• Eg. update order status in SF when order is finished processing in remote system
UI Update based on Data Changes
• Streaming API can be used to update in real time triggered by SF event
• PushTopic can be created to send notification to certain users based on data changes
in SF, which allows UI to be updated without refreshing the screen
• Eg. send notification to manager when an opportunity is Closed Won by sales reps
Mashup
• A remote system website might look like part of SF by adding it to a web tab or page
layout to access info from external system (not stored in SF)
• Salesforce Connect can be used to create external data source and external objects
for the records in external system
• Eg. Sales orders from remote system can be viewed and modified in SF
External Services: used to connect an external service provider and bring its logic into SF

Data Quality

Clean up data: Data quality (accuracy, usability, credibility, adoption)


By removing duplicate records: duplicate management controls whether and when
duplicated can be created

When setting fields to be unique:


 Sensitive: allow records: would be treated as different values
Records with duplicate values can be created
 Insensitive: records not be allowed and duplicate values not be created
Bad Data Examples
 Missing Records
 Duplicate Records
 No Data Standards eg. A regional breakdown shows customers in 87 states.
Geography class was a long time ago, but you seem to remember only 50 states. For
example, California is listed as: CA, Calif, Cali, and, your favorite, “Surfin’, USA.”
 Incomplete Records: Nearly all accounts in the western region are missing key data.
Consumer accounts are missing data like phone and email
 Stale Data: At least half of all accounts in the western region haven’t been updated in
the last 6 months, so you don’t know how accurate the data is
Reports & Dashboards
 Age: What was the last time each record was updated?
Run a report on Last Modified Date of records
 Completeness: Are all key business fields on records filled in?
Run a report that shows the percentage of blanks for these fields
 Accuracy: Install a data quality app from AppExchange to match records against a
trusted source and tell you how your data can be improved
 Consistency: Run a report to show the values used for date, currency, state, country,
region, and language fields
 Duplication: Use Duplicate Management and install a duplicate detection app
 Usage: Use it or lose it
Data Management Plan
 Validation Rules eg. When records are saved, the data is checked to make sure that
phone numbers follows the format
 Workflow Rules: Automate standard internal procedures and processes to save time
 Page Layouts: create customized page layouts for different kinds of reps
 Dashboards
 Data Enrichment Tools: match data against a trusted source
Lightning Data packages includes integration rules which contain 'Match Score
Setting' to specify minimum match score that should be used to determine a match:
o New: matching record does not exist in Salesforce org yet
o In Salesforce: record imported in SF or SF record matches data service record
o Purchased: record has already been purchase from the data service
Examples:
• Enrich data signaling intent to purchase
• Find new leads who match the selling segment
• Monitor customers’ and leads’ NPS score (customer loyalty)
 Duplicate Management: prevent duplicates
 Custom Field Types eg. assign all custom date fields to Type = Date and all custom
currency fields to Type = Currency
 Data cleaning tool: ensure customer data is accurate eg. contact has moved to
another org
Duplication Rules

Matching Rules: identify duplicates by defining criteria to compare records:


Multiple fields can be used for matching in matching rules eg. Email
Activate Matching rules!
 Cross-object: two matching rules

Duplicate Rules: tell SF what action happens to duplicates: Allow or Block


Action on create (allow > alert/report) and Action on edit (block)
 Available for Accounts, Contacts, Leads, Custom objects
 Multiple duplicate rules can active at the same time on the same object
 Create reports based on duplicates
 Created with quick create or via community-self-registration, restored with
undelete, manually merged, added with Lightning sync
Duplicate Jobs/Duplicate Record Sets: used in LE with standard/custom matching rules to
scan existing accounts, contacts, leads for duplicates and merging them
Multiple jobs can be scheduled to run to find duplicate records from different objects

 Validation rules: ensure users meet org standards for data entry
 Org-wide standards for data entry
 Enforce naming conventions
 Merging records: records considered as duplicates can be optionally merged
Before merging select one record as the Master and keep some field values
 Data.com Clean: tool for updating Accounts, Contacts, Leads records by
matching them with Data.com database records by field mapping
D&B Optimizer: validate and update Accounts, Contacts, Leads info
 Mass Update Addresses ensure standard for address fields when there are
variations in spelling for country

Large Data Volumes

Loading LDV directly or through integration can impact performance:


eg. 10 million cases, 1 million accounts, 3 million contacts for importing
 Slow page loading, results, List view
 R&D run slowly or timeout
 Sharing rules take a long time to recalculate  defer sharing calculations to decrease
risk of lock errors
 Data will take extended time to import
Alternative to storing data: only stores metadata for the records, NOT actual records

Performance optimization
• Store large data volumes externally
• Segment/partition data with divisions
• Use custom indexes to improve query performance:
o Enabled by contacting Salesforce Support on certain field types
• Use Skinny Tables: combining fields from the table that contains standard fields and
the table that contains custom fields into a new table to avoid joins
o Enabled by contacting Salesforce Support
o Created on Account, Contact, Lead, Opportunity, Case and custom objects
• Archive or remove obsolete/not used data
• Use of Bulk API: data records are loaded in parallel mode which allows running
multiple batches at the same time
• Optimize sharing rules: Recalculation takes a significantly long time to process if
there is large data volume to process or recalculation can even be suspended
• Optimize workflow and process builder: Prevent or remove unnecessary or
repeating/duplicated actions or operations.
• Report considerations: If there are millions of records, suggested to extract data and
report in a data warehouse
• Use filters on list view or R&D; avoid loading tons of data
• Prevent data skew
• Enable separate loading of related list
Deferred Sharing Calculations: large set of records and need update Sharing Rules
(Contacting SF Support), instead of very long sharing rule evaluation or time outs

Data skew happens when more than 10,000 child records are associated with the same
parent record within an org
Account Data Skew
Account have data relationships that maintain parent and child record access under private
sharing models eg. unassigned contacts and park them under one account:
 Record Locking: update a large number of contacts under same account in
multiple threads. For each update, the system locks both the contact being
changed and its parent account to maintain integrity in the database. Because all
the updates are trying to lock the same account, there’s a high risk an update will
fail because a previous one is still holding the lock
 Sharing Issues: like changing the owner of an account, you may need to examine
every one of the account’s child records and adjust their sharing
Ownership Skew
A large number of records with the same object type are owned by a single user can cause
performance issues due to sharing calculations required to manage visibility of records
 Ownership changes tend to be one of the most costly transactional changes:
o When skewed owner exists in the role hierarchy, operations like deletes or
owner updates must remove sharing from the old owner and all parent users
within the role hierarchy, and from all users given access by sharing rules
 In some cases an ownership skew simply can’t be avoided: best to ensure the skewed
owner doesn’t have a role
Lookup Skew
A very large number of records are associated with a single record in the lookup object
Every time a record is inserted or updated, SF must lock the target records that are selected
for each lookup field

Using External objects


External objects—no need to bring data into SF
 Avoid storing large amounts of data and performance issues associated with LDV
 External objects are similar to custom objects, except they map to data stored
outside SF org
 Always reflect the current state of external data: don't have to manage a copy of
that data in SF, so you're not wasting storage and resources keeping data in sync.
 External objects are best used when you have a large amount of data that you
can’t/don’t want to store in SF org, and only need to use a small amount of that
data at any time
 Files Connect uses external data sources to access third-party systems
External objects support standard lookup relationships, which use the 18-character SF record
IDs to associate related records with each other. But data that’s stored outside your SF org
often doesn’t contain those record IDs
Special types of lookup relationships are available for external objects:
• External lookup relationship when the parent is an external object:
For a child external object, the values of the external lookup relationship field
come from the External ID field on parent external object
• Indirect lookup relationship when the external data doesn’t include SF record
IDs: specify the parent object field and the child object field to match against
each other, selecting a custom unique external ID field on parent object to
match against child’s indirect lookup relationship field, whose values
determined by External ID field

Relationship Allowed child objects Allowed parent objects Parent field for matching
records
Lookup Standard, custom, external Standard, custom 18ch SF record ID
External Lookup Standard, custom, external External External ID standard field
Indirect Lookup External Standard, custom Custom field with External ID
and unique attributes

Conduct data queries and searches


For data to be searched, must first be indexed:
 SF will create an index on a number of fields for most objects, including Name,
CreatedDate, LastModifiedDate, Email, Record Id, External Id, most text fields to
build cross-object searches and quickly find records that contain strings of interest
 Custom Indexes can be created on custom fields by contacting SF support

Query building: the key for designing an org that can handle LDV. It’s important to design
selective list views, reports, and SOQL queries
• SOQL is Force.com's database query language, by using SELECT, similar to SQL to
query child-to-parent relationships (often many-to-one), and query parent-to-child
relationships (almost always one-to-many) (limit queries: 50,000)
• SOSL is Force.com's full-text search language, it can tokenize multiple terms within a
field by using FIND keyword. If you’re searching for a specific distinct term that you
know exists within a field, you might find SOSL faster than SOQL (limit queries: 2000)
• The Force.com query optimizer maintains a table of statistics about the distribution
of data in each index to perform pre-queries to determine whether using the index
can speed up the query. It works on the queries that are automatically generated to
handle reports, list views, and both SOQL queries and the other queries that
piggyback on them.
• Batch Apex: the best way to query and process large data sets in Force.com platform
(query up to 50 million records). Doesn't work in all use cases eg. Visualforce page
• Bulk Queries: can retrieve up to 15 GB of data, divided into fifteen 1 GB files.
Bulk API query supports both query and queryAll operations: returns records that
have been deleted because of a merge or delete and returns info about archived
Task/Event records.
o Content-Type: text/csv, application/xml, or application/json
o QUERY_TIMEOUT error: If query doesn’t execute within standard 2 min
timeout limit or retried more than 15 times
If the attempts succeed, the results are returned and stored for 7 days
Load data
Loading Lean: include only data, configurations need to meet business-critical operations
• Identifying business-critical operations before moving users to SF
• Identifying minimal data set and configuration required to implement those
operations
• Defining data and configuration strategy based on the requirements
• Loading the data as quickly as possible to reduce the scope of synchronization
When it comes to data loading, you can definitely be too lean: remove barriers to faster data
loading, but essential configurations during any data load:
• Parent records with master-detail children: you won’t be able to load child records if
the parents don’t already exist.
• Record owners: owners need to exist in the system before you can load the data.
• Role hierarchy: it would be considerably faster if you were loading portal accounts
Bulk API vs. SOAP API Data Loading
When you’re loading LDV, the API you choose makes a difference:

The standard Force.com SOAP API is optimized for real-time client apps that update a few
records at a time and requires developers, admins to implement complex processes to
upload data in bite-sized chunks, monitor results, retry failed records
 acceptable for small data loads, but becomes time-consuming with large data sets

Bulk API designed to make it simple to process data from a few thousand to millions of
records. Bulk API is based on REST principles and speed up the process as it runs
asynchronously and utilizes parallel processing of loading or deleting large data sets
 advantage: moves the functionality and work from client app to server

Data deletes and extraction


Bulk API is useful when it comes to deleting or extracting LDV. When there’s a process that
involves deleting one million

 Soft Deletion: data is flagged as deleted and visible through the Recycle Bin, it still
affects database performance because it’s still living in the org, and deleted
records have to be excluded from any queries
 Bulk API supports a Hard delete (enabled), which allows records to bypass the
Recycle Bin and immediately become available for deletion
 recommended strategy for deleting LDV to free up space sooner and keep
extraneous material from affecting performance
PK Chunking to handle extra-large data set extracts. Primary Key—the object’s record ID—
which is always indexed. PK chunking splits bulk queries on very large tables into chunks
based on the record IDs of the queried records

Truncation: a fast way to permanently remove all the records (sitting in Recycle Bin), object’s
history, related events/tasks/attachments from a custom object, while keeping the object
and its metadata intact for future use.
Setup > UI > custom object: object management settings > object’s detail page: Truncate

Limitations of truncation:
 Standard objects
 CO that are referenced by another object through a lookup field
 CO on the master side of a master-detail relationship
 CO referenced in a reporting snapshot
 CO have a custom index or an external ID
 CO have activated skinny tables
 When org has reached its limit on allowed CO

Big Data architecture

Relational databases dominated the landscape for decades


= split data across multiple related tables.
 Parent tables contain rows of unique identifiers called “primary keys.”
 Child tables reference those primary keys with other identifiers (“foreign keys”)

Ideal for complex data analysis and operations: follow a rigid structure, and data must fit

Access and manipulate data in a relational database using structured query language (SQL).
Transactions have four characteristics (which you can remember with the acronym ACID).
Relational databases value consistency over availability:
 Atomic: All tasks must succeed, or the transaction is rolled back.
 Consistent: state of database must remain consistent throughout the transaction.
 Isolated: Each transaction is separate, not dependent on others.
 Durable: Data from a failed transaction can be recovered
Non-relational Databases:
Share three qualities (BASE). They value availability over consistency:
 Basically available: The system is available, even in the event of failure.
 Soft state: The state of the data may change
 Eventual consistency: Consistency is not guaranteed at a transaction level because no
guarantee all clients see same data at same time but data is synced across all nodes
Types of Non-relational databases:
 Key-value pairs use the associative array model, meaning data is represented in a
collection of (key+value) pairs.
 Column-oriented stores use a table structure. Columns in a table can change from
row to row.
 Document-oriented systems save info for each document as a single instance in the
database. Documents can be nested.
 Graphs organize elements, the relationships between elements, and attributes
assigned to both elements and relationships.

Compare Data Storage Options

In SF data center: Standard objects, Custom objects and Big Objects


Data resides outside of SF data center: Salesforce Connect, External Objects, Heroku Connect

Standard and Custom Objects

Use standard or custom objects when you need to:


 Automate business logic with tools like Process Builder, flows, validation rules, and
Apex triggers. Support transactionality across multiple records.
 Store fewer than 20 million records per object
 Access the latest data in real time.

Salesforce Connect
Build external objects with clicks (not code), as long as your system has an OData 2.0 or
OData 4.0 adapter to make it possible to search, view, and modify data that lives someplace
else—all through Salesforce UI
Setup > External Data Sources > Sync: map to external tables > External Objects created in SF

Considerations:
• External objects has API name with suffix __x rather than __c
• Not allow user to share data with other org manually
Use Salesforce Connect when you want to:
 Avoid copying lots of data into Salesforce org
 Access small amounts of data at a time
 Get the latest data in real time
Other use cases of Salesforce Connect:
• external data source setup for another salesforce org that contains products, so Sales
users can gain on-demand access to products related to opportunities
• view and update leads from the primary Salesforce organization
• contacts may be stored in different organization, but they can be made visible on the
account page using indirect lookup.
Heroku Connect
Provides a bridge between SF and Heroku Postgres database, a managed SQL database-as-a-
service for developers
 Data replication with Heroku Connect can be one-way, from SF to Heroku Postgres,
or two-way.
 Data replication from Heroku Postgres to Salesforce can be configured to execute
with very low latency, but not in real time

Use Heroku Connect when you need to:


 Use a business-to-consumer app that can potentially change data stored in SF
 Store fewer than 20 million records per object.
 Automate business logic with tools like Process Builder, flows, validation rules, Apex
triggers

Big Objects
Store and manage a massive amount of data on SF platform
 We recommend it for anything over 20 million rows, into the billions
 Utilize a non-relational database to store data.
 Support real-time SOQL queries using primary key access: known as the index, which
is defined by custom fields in the big object. It’s important to consider which fields
are indexed, how they are indexed (ascending or descending), and in which order
Asynchronous SOQL is optimized to move, transform, and aggregate huge amounts of data
from Big Objects when regular SOQL doesn’t work. How it works: The query filters the data
into a smaller subset of data and aggregations, and stores it in a custom object

Tableau CRM for analyzing entire dataset limited to about 70 million rows from Big Objects.
Big Objects can be the source object in a dataflow. If the number of rows is too high for
Tableau CRM, use Asynchronous SOQL to filter and store a smaller subset of data in a
secondary Big Object or Custom Object for full Salesforce functionality

Use Big Objects when you need to:


 Handle data in the millions or billions of rows.
 Batch-process large sets of data and aggregations of the full dataset (with
Asynchronous SOQL)
 Analyze big data with operational reports or Tableau CRM
Client’s Data Storage Needs

Location
 If it does not need to live in Salesforce and it already exists on a database with an
OData adapter, Salesforce Connect is the best choice.
 If data is part of a customer-facing mobile app, Heroku provides a platform to host it.
You can also use Salesforce Connect to connect data on a Heroku Postgres database
with Salesforce following a data proxy strategy.
Volume
 Anything over 20 million records calls for a Big Object.
 Otherwise, a standard or custom object is the easiest route.

How Data Is Used


 If it needs to be exposed in a customer-facing mobile app, Heroku provides a
platform for app development. (The data is stored on a Heroku Postgres database
and is synced back to SF using a data replication strategy.)
 Otherwise, Big Objects is the solution.
Data Analysis Options
Dataset Size
 Use Asynchronous SOQL and custom objects to create smaller datasets and
aggregations
 Use Tableau CRM if the entire dataset needs to be analyzed at once.
 If you want to take advantage of SF automations over a smaller portion of the
dataset, use both Tableau CRM along with Asynchronous SOQL and custom objects
Examples

Frysco, a food distribution company, needs a data storage solution to track inventory,
orders, and deliveries. Its customers are large grocery stores, and there are thousands of
them. Frysco needs a mobile app for its delivery partners

Heroku with data replication: Designing a mobile app because users won’t have SF licenses
but sync data back to SF and may be without connectivity for long periods of time

Rockify needs a data storage solution for its customer data. They have 200 million individuals
across the globe listening to songs and “liking” or “disliking” each song. The company needs
to analyze data in meaningful ways, across different demographics and geographies

Big Objects with Tableau CRM: Analytics will need to be run on 50 million or more records at
a time. The data should be stored in Big Objects and analyzed with Tableau CRM.

Mango needs a data storage solution to track its inventory and assets. This needs to be
made available to thousands of Mango’s partners around the globe

Big Objects with Asynchronous SOQL and custom objects: Once stored in Big Objects, smaller
subsets of the data can be exposed in a partner community

ETailored use digital personal shopper accessible to customers in app. Its customer support
reps use Salesforce to deal with customer issues and solicit customer feedback via surveys.
Recently, the app has skyrocketed in popularity, and the data volume has increased with it

Standard objects, custom objects, and Big Objects: Stick with standard and custom objects,
but add Big Objects to archive the data that is 6 months or older

Salesforce-to-Salesforce
Need to be enabled
• Share and update records with partners that use Salesforce
• Share Account/Opportunity records with Salesforce orgs in different regions
• Share records with users who have access to different Salesforce org manually
Mean features:
• Objects and fields can be selected to publish with connected org.
• A connected org has a record that is connected to the record in the source org.
• If record is updated on one org, it will reflect on another org.
• Records can be forwarded to the connected org or assigned to a queue (can be
accepted by connected org).

Big Objects

Standard Big Objects are defined by Salesforce and are included in Salesforce products.
FieldHistoryArchive: store up to 10 years’ worth of archived field history data, helping you
comply with industry regulations related to auditing and data retention.

Custom Big Objects are defined and deployed in Setup.


Fields defined in a big object’s index determine big object’s identity and ability to be queried
 360° View of the Customer: loyalty programs, transactions, order, billing info
 Auditing and Tracking: Keep a long-term view of users’ SF usage for analysis or
compliance purposes
 Historical Archive: Maintain access to historical data for analysis or compliance
purposes while optimizing the performance of core CRM or Lightning Platform apps
Need to knows
 Big objects support only object and field permissions.
 Once you’ve deployed a big object, you can’t edit or delete the index
 SOQL relationship queries are based on a lookup field from a big object to a standard
or custom object in the select field list (not in filters or subqueries).
 Big objects support custom Salesforce Lightning and Visualforce components rather
than standard UI elements (home pages, detail pages, list views, and so on)
 You can create up to 100 big objects per org
 Don’t support transactions that include big objects, standard/custom objects
 To support scale of data in a big object, can’t use triggers, flows, processes, SF app
Custom Big Objects

Setup Big Objects


Setup > Big Objects
1. Add custom fields: store the data on your big object
2. Add an index: defines the composite primary key for a big object and is used for
querying and filtering the big object data
3. Save > change status to Deployed: can't deploy a big object until it includes an index
that contains at least one required custom field
Big objects support these field types:
 Lookup Relationship
 Date/Time
 Email
 Number
 Phone
 Text
 Text Area (Long)
 URL
Index defines the composite primary key for a big object. Fields defined in index determine
big object’s identity and ability to be queried (most relevant)
 Submit request to SF Support to enable custom index
 Must include at least one custom field and can have up to five custom fields total
 Custom fields included in the index must be marked as required
 Record is searchable only when it is indexed
 Index can be created on: External Id fields
 Standard fields automatically indexed: Name, Id, Email, CreatedDate
Indexes are created automatically when records are created or updated
 Index cannot be created on: multi-select picklists, text area (long/rich), formula fields,
encrypted fields
 Once you’ve created an index, you can’t edit or delete it
Index Position: to 1 for the most frequently used filter parameter
Index Direction: Ascending / Descending

Index Position 1: Account__c, Descending


Index Position 2: Game_Platform__c, Ascending
Index Position 3: Play_Date__c, Descending

Two main ways of populating a big object:


 Use .csv file with Data Loader or the API
 Entirely through Apex
Query Big Objects
Query big objects using:

SOQL
Using a subset of standard SOQL commands:
 Query will return a small amount of data
 Display the results in the UI without having the user wait for results
 Need the results returned immediately for use in Apex
Use SOQL
Have to build your query starting from the first field defined in the index, without skipping
any fields between the first and last field in the query

You can use these comparison operators =, <, >, <=, >=, or IN on the last field in your query.
Any prior fields in your query can only use the = operator.
!=, LIKE, NOT IN, EXCLUDES, INCLUDES aren’t valid in any query involving big objects
Async SOQL
 Help manage the millions of potential records in custom big objects
 Query can take a while to complete
 Don’t need to do aggregate queries or filtering outside of the index
 Schedules and runs queries asynchronously in the background (run over SF entity
data, standard objects, custom objects, big objects) so it can run queries that
normally time out with regular SOQL. Run multiple queries in the background while
monitoring their completion status
Use Async SOQL
Two main ways to use Async SOQL to get a manageable dataset out of a big object:
 Filtering: extract a small subset of big object data into a custom object
 Through coarse aggregations: finer control over what data extracted from big object.
Aggregate functions: AVG(field), COUNT(field), COUNT_DISTINCT(field), SUM(field),
MIN(field), MAX(field)
Query custom big object and direct the results to Target Object (a standard object, custom
object, external object, big object)

TargetFieldMap: Map the fields in the query to the fields in the target object:
If the source and target fields don’t match, these considerations apply:
 Any source field can be mapped onto a target text field.
 If the source and target fields are both numerical, the target field must have the
same or greater number of decimal places than the source field
 If a field in the query result is mapped more than once, even if mapped to different
fields in the target object, only the last mapping is used
To track the status of a query, specify its jobID with an HTTP GET request. T
the query’s status is returned in the status field. If you don’t specify a jobID, we return the
status of all your queries. The status can be:
 Canceled—The job was canceled before it could be run.
 Success—The job was successfully completed.
 Failed—The job failed after the system submitted it or because the request exceeded
the Async SOQL limits
 Running—The job is running successfully, and the org hasn’t exceeded any limits.
 Scheduled—The new job has been created and scheduled, but is not yet running.
Cancel a query using an HTTP DELETE request by specifying its jobId

Two different types of errors can occur during the execution of an Async SOQL query.
 An error in the query execution: eg. Submit invalid query, exceed Async SOQL limit
Response: status of Failed
 One or more errors writing the results into the target big object:
Because of the volume of data involved, capturing every error is inefficient.
Instead, subsets of the errors generated are captured in BackgroundOperationResult
object and retained for 7 days. Query this with Async SOQL query jobId to filter the
errors for specific Async SOQL query (Async SOQL job info is retained for a year)

You might also like