2. #TargetXSummit
Introduction
● Approximately 4 years working within the Salesforce & TargetX communities
as a System Administrator
● Currently the Associate Business Analyst at The College of Global Studies
(TCGS, The College)
● Approaching 2 years with TCGS and I feel very fortunate to be working with
this group of people.
2
3. #TargetXSummit
Session Expectations
● This session is all about process builders and what we have built in our org
over the past 1.5 years.
● We went from 0 to 30 process builders very rapidly and found ourselves in a
bit of a mess that was preventing further development in our org and causing
errors on record saves.
3
4. #TargetXSummit
Session Expectations
● Curious to know who is here today?
● Who knows what a process builder is?
● Who has worked directly with process builders, either by creating new ones or
modifying existing ones?
● Who has plans to begin using process builders in their org?
4
6. #TargetXSummit
Our Story
● Began with the upgrade to utilize Application Requirement Manager
(ARM)
● Primarily a process to transition Application Requirements from Tasks
to Checklist items
● This was the best opportunity to audit existing Workflow Rules as we
were approaching limits
6
7. #TargetXSummit
Our Story
● First process builders implanted were to support the ARM upgrade
● The nerves were real!
● Process Builders introduced to me with statements like:
● “It is a very powerful tool.”
● “With great power comes great responsibility.”
7
8. Our Story
● Nerves shoved aside, we proceeded and had a very successful upgrade
Process Builder Implemented
Object Name
App Requirements V2 Add/Update App Requirement (v2)
Application Application AFs Complete
Application IDs_Master Rule_Post Acceptance Requirements
Checklist Item V2 Insert Checklist Item
Checklist Item V2 Conversion Only_Update Checklist Item
Checklist Item V2 Add/Update Checklist Item
Workflows Deactivated
Object Count
Application 8
Tasks 45
9. #TargetXSummit
Our Story
● Entered into the Honeymoon Phase
● Continued to build more process builder in our org because you can do so
much more with one process builder than with one workflow rule
9
10. Process Builders versus Workflow Rules
PROCESS BUILDER WORKFLOW
Complexity Multiple if/then statements A single if/then statement
Visual designer X
Browser support All (Chrome recommended) All
Starts when
-Record is changed
-Invoked by another process
-Platform event occurs Record is changed
Supports time-based actions X X
Supported Actions
Call Apex code X
Create records X Tasks only
Invoke processes X
Launch a flow X
Post to Chatter X
Send email (Email alerts only) (Email alerts only)
Send outbound messages
without code
Workarounds available to accomplish this but
not native X
Submit for approval X
Update fields Any related record The record or its parent
11. #TargetXSummit
Our Story
● Especially appealing features for our business needs:
● Multiple if/then statements
● Use of conditions when setting immediate actions
● We were able to replace multiple workflow rules with a single process builder
at a time
● Start Term Session Example (screen shots)
11
12. #TargetXSummit
Our Story
● Eventually, we hit our critical mass…
● Started getting hit with SOQL errors pointing back to process builders
● Realized just HOW MANY active process builder we had implemented in a
short period of time
● We knew we had an automation problem
12
13. #TargetXSummit
Our Story
● Application Object was
overloaded
● Application was the priority
with 12 process builders
● Student was secondary with
6 process builders
Before Beginning Clean Up
Object # of Flows
Application 12
Student 6
Checklist Item (v2) 3
Case 2
App Requirement (v2) 1
Base Program 1
Co-curricular Learning Certificate 1
Configuration 1
Programs 1
Task 1
User 1
Total 30
15. #TargetXSummit
Coming Back From The Edge
● Build process builders in one of four camps:
● Initiators
● Actions
● Processors
● Subprocessors
● Set ‘Advanced Options’ to ‘Yes’ when appropriate
15
16. #TargetXSummit
The Solution
● Process Builder Review
● One Process Builder
SHOULD NOT equate to one
set of updates or actions as
we are used to with
Workflows
● Maximized efficiencies along
the way
After Initial Round of Clean Up
Object # of Flows
Application 6
Student 3
Checklist Item (v2) 3
Case 1
App Requirement (v2) 1
Base Requirement 1
Co-curricular Learning Certificate 1
Configuration 1
Programs 1
Task 1
User 1
Total 20
17. Coming Back From The Edge (Before & After)
Before Beginning Clean Up
Object # of Flows
Application 12
Student 6
Checklist Item (v2) 3
Case 2
App Requirement (v2) 1
Base Program 1
Co-curricular Learning Certificate 1
Configuration 1
Programs 1
Task 1
User 1
Total 30
After Initial Round of Clean Up
Object # of Flows
Application 6
Student 3
Checklist Item (v2) 3
Case 1
App Requirement (v2) 1
Base Requirement 1
Co-curricular Learning Certificate 1
Configuration 1
Programs 1
Task 1
User 1
Total 20
18. 12 Application Process Builders to 6
Process Builders Merged into One: Online Application Updates
Name Advanced Set? Conditional Notes
Setting Start Term Session_Application No (Is Changed)
Update Supplemental Form Yes
Publish Decision Letter No (Is Changed)
Took original two decision diamonds to one
with conditional immediate actions
Hide from App Dashboard Yes
App Dashboard Field Updates No (Is Changed)
Took original two decision diamonds to one
with conditional immediate actions
Application AFs Complete/Incomplete No (Is Changed)
Took original two decision diamonds to one
with conditional immediate actions
19. #TargetXSummit
Coming Back From The Edge
● Creating efficient Process Builders:
● Including criteria where operator is set to ‘Is Changed’ is another way of
setting the Advanced Options to ‘Yes’
● Minimize the number of decision diamonds by using conditional
immediate actions
● Online Application Updates (Screen Shots)
19
22. #TargetXSummit
Lessons Learned
1. Unbox your Process Builders
a. We had too many processed doing one or two simple updates
b. Combine like automations (remember the four camps)
c. Break free of the Workflow Rule mentality
2. Set up Process Builders for Maximized Efficiencies
a. Use the ‘Advanced Options’ or ‘Is Changed’ criteria
b. Conditions are your friends!
22
24. #TargetXSummit
Lessons Learned
3. Modify Existing Process Builders With Care
a. Finding the right Process Builder to add to can be a challenge
b. We have adopted a loose naming convention to help ID what process to modify
c. Modifications effect THE WHOLE process; you’ve got to test the whole thing!
Name Object
Application Updates_Add Tasks Application
Application Updates_Update Contact Application
In Country Travel Processing In Country Travel
Contact Update - Alerts Student
Contact Update - Update Related Record Student
Examples of Loose Naming Convention
24
26. #TargetXSummit
Lessons Learned
4. Keep Tabs on Your Org’s Process Builders
a. We have a Google Spreadsheet to quickly access essential details of our process
builders at a glance
b. Details recorded here: Name, Object (triggering & updated), field (input &
updated), called apex
c. Two tabs: Active and Obsolete
26
27. #TargetXSummit
Lessons Learned
5. Tips for Deploying Process Builders into Production
a. Run Validation on Local Tests for change sets including process builder(s)
b. Not active when deployed to production, but validation helps to catch failures on
subsequent validations
6. Sometimes, you Just Have to use Code to get the Job Done
a. Shortly after clean up, we saw similar SOQL errors
b. Traced back to the Process Builder including the actions to set the Start Term
Session
c. The decision diamond and immediate actions were removed and replaced with
about 4 lines of code
27
29. References
● Which Automation Tool Do I Use?
https://help.salesforce.com/articleView?id=process_which_tool.htm&type=5
● Process builder - validation test classes - best practice
https://success.salesforce.com/answers?id=9063A000000e4DkQAI
● Salesforce Process Builder Best Practices
https://medium.com/@apeattie/salesforce-process-builder-best-practices-
24e674b2b2b1