Anda di halaman 1dari 9


Overview Process Builder can be utilized to automate all workflow actions (with
the exception of outbound messages). Traditional workflow can still be utilized in
parallel, however, Process Builder gives you the ability to do things that workflow
Process builder will work on multiple objects whereas workflow will work on
single object.
Below are main differences between Workflow and Process Builder:

Builder Workflow

if/then A single if/then
statements statement

Visual designer Yes No

Record is
Starts when Record is changed
Invoked by

Supports time-based actions Yes Yes

Supported actions by Process Builder and Workflow:

Process Builder Work flow
Call Apex code Yes No

Can create only task

Create records Yes

Invoke processes Yes No

Delete records No No

Launch a flow Yes Yes (Pilot)

Post to Chatter Yes No

Email Alerts
Send email Only Email Alerts Only

Send outbound messages

No Yes

Submit for approval Yes No

Benefits Here are a few of the bigger features of Process Builder that werent
possible with configuration before:
Create New Items Workflow was limited to just field updates, creating
tasks and email alerts. With Process Builder we get even more options.
These include:
Create Records Not just updating a record, but you can actually
create a record, and set the field values within the record. Very powerful
Create Chatter Posts You can push a Chatter update into a Group or
Create an Approval Always a little annoying that you needed a
trigger to automatically push a record into an approval process. With
Process Builder you can do this automatically based on the criteria of the
Easily Consolidate Workflow Have a bunch of workflow rules all trying to
do the same thing, but for different scenarios? You can consolidate that into
one Process.
Simple triggers like populating a lookup field based on certain criteria, can
now be automated in process builder without any code required.
Complicated business processes, such as renewal automation, can be
automated in conjuncture with Flow.
Launch a Flow Right from a Process, you can launch an automated flow

Call an Apex Class This wasnt in the beta and this is probably the scarier
of the new features. From the process you can now call an Apex class.
Process Builder vs. Workflow When should you use a Workflow vs. Process
Builder vs. an Apex Trigger? Well, its not as straight forward as it may seem. As a
Salesforce consultant we have the luxury of in-house developers, exposure to tons
of use cases, and our own in-house developed apps (i.e. BREeze). Because of this there
are a variety of ways we can skin the cat. While you may not have this luxury, there are multiple
scenarios which are common amongst all orgs and should be evaluated.
# Scenario Options Recommendation Reason
1 Populate a Process Process Builder Setting a lookup field value
lookup field has traditional been
on record Builder something that requires a
update trigger, with Process Builder
Trigger and administrator can do this
without the use of code
2 Set an Process Process Builder Process builder can be used to
Account Builder assign ownership on records
Owner based based on criteria on the
on Record Trigger object.

3 Process
Post a Chatter Builder Process Builder Process Builder can be used
message to post to chatter based on
based on Trigger record criteria.
record criteria
4 Submit a Process
Quote for Builder Process Builder 2 Processes would need to be
Approval built out. One to update the
when Trigger Quote based on the
Opportunity Opportunity stage and another
Stage = to Submit the Quote for
Proposal approval when the criteria on
the quote had been met.
5 Launch a Process
Flow via Builder Process Builder Process Builder can be used
record criteria to set record criteria and then
vs. a button or Trigger launch a trigger ready flow
link based on that. Only trigger-
ready flows can be selected.
See tips for more details.
6 Populate a Workflow
text field with Workflow or If it is a cross object and cant
object ID Process Process Builder be done with workflow, you
Builder may need to use process
builder. If it is part of a
Trigger complex trigger leave the
field set within the trigger due
to conflicts with the order of
7 Assign Process
Ownership to Builder Depends on Process builder can assign
a Custom complexity ownership based on object
Object based BREeze criteria and set an order of
on criteria . or Custom actions. However, processes
require a user to create a new
process each time a change is
needed. Administratively it
can become a burden to
administer these rules via
process builder. In addition,
the more rules you have, the
more unwieldy the Process
Builder will become. Once
you get too complex, you
need to either go custom, or
consider a rules engine type
like BREeze which weve
built for our clients.
8 Update fields Workflow
based on Depends on Either tool will work however
complicated Process complexity workflow may be the better
formula based Builder option right now. There is no
criteria . function help in process
builder so complicated
formulas may be difficult to
build out. Also picklist
formulas do not work in
process builder.
9 Clone an Process
opportunity Builder Trigger Process Builder cannot do
and change this alone right now, while it
field values. Trigger
can create a new record it
cannot reference any of the
values from the cloned
opportunity without the use of
a Flow to capture the
opportunity values. (It should
be noted that this can
probably be done with Flow
and Process Builder but the
quickest approach right now
is to use a trigger)

Note Process Builder is still currently in a private Beta program so not all
instances will have the tool enabled. You can check to see if you have Process
Builder enabled by navigating to Create > Workflows &Approvals > Processes.
If its not enabled and you would like it contact Salesforce support to have
activated in your Sandbox.

Note Process Builder is still currently in a private Beta program so not all
instances will have the tool enabled. You can check to see if you have Process
Builder enabled by navigating to Create > Workflows &Approvals > Processes
User Interface As mentioned in the Spring 15 write up, the UI is quite different
from traditional workflow and does require some getting used to. It has changed
slightly since the beta release, allowing users to manage versions of a process
rather than creating new process records each time a clone is needed. Salesforce
also got rid of all the different statuses in the beta version and simplified it with
Active or Inactive.

One of the frustrating limitations in beta was that not all the UI features (i.e. scroll
bars) were available in browsers other than Chrome and, while it appears to still be
the best option, users can now utilize Firefox and IE. While the UI changes in
Spring 15 are welcomed and needed there are still some notable UI items that can
be a bit frustrating. Here are some of the items to be aware of (if anyone has
figured out ways around these, please let us know):

Editing Users cannot edit a process once it has been activated. Therefore
much like with flow a new process needs to be created by cloning the initial
process and making modifications to that cloned record
Autosave While a nice feature it wont allow a user to cancel out of a
process when they have made unwanted changes (Autosave + Undo =
Troubleshooting UI does not allow an Admin to tell who created a Process,
when it was created, or the ID for that Process. Also all trouble shooting
must be done in the debug log
Validation Processes DO NOT trigger Validation rules and can therefore
invalidate data
Deletion Inactive Processes cannot be deleted for at least 12 hours after
inactivation and do not appear in the Recycle Bin
Error Messages You cannot specify error messages when creating a
process that doesnt trigger like you can with flow or validation rules
Formula Help When utilizing a formula in criteria there is no function help
preview next to the Syntax
Order You cant change the order of criteria nodes or actions, after you add
them the only way to reorder is to delete them and start over
Syntax Picklist fields are evaluated as text fields in process builder so they
wont support any picklist formulas like ISCHANGED or ISNEW. Note
with Spring 15 the formula ISCHANGED is now a function vs. a formula
and will work with picklists
Tips and Tricks We envision that a number of the Process Builder quirks will
be updated soon but until then some helpful tips for an administrator can be found
below. While they are not totally inclusive they cover a number of the scenarios we
came across during testing.
Deleting a Process with Scheduled Actions You cannot delete a Process
with unexecuted groups of scheduled actions. So if you have a process
which fires actions based on future dates like 3 days after opportunity close,
you will need to delete the scheduled actions before the process can be
deleted. To do so go to Workflow/Flows/Waiting Interviews the scheduled
actions will have a Flow name that corresponds to your Process name
Approval Processes Only the record that started the process will be
submitted. You cant submit any related records for approval. Therefore you
may need to create 2 processes, one that updates the object and another that
submits it for approval based on the criteria.
Setting field values You cannot populate a field with a formula in process
builder. You can only manually enter a literal or select another variable (i.e.
field). To populate a text field with a formula create a separate formula field
and then reference that in your process.
Not Retroactive Much like workflow, processes that are created after
records are saved dont evaluate those records retroactively. Note with
Spring 15 you can evaluate a record multiple times in a single transaction in
case other workflows or flows changed the record criteria of the record.
Validation Updates to records via Processes dont trigger validation rules.
This is a big one to watch out for as you might be creating records that
violate your own validation rules and then nailing the first user that tries to
edit the record.
Launching a Flow A user can only call flows that are trigger ready. A
trigger-ready flow is a flow that can be launched from a flow trigger
workflow action. Because trigger-ready flows must be able to run in bulk
and without user interaction, they cant contain Step, Screen, or Apex Plug-
in elements in any flow version.
Flow Triggers now = Process Builder. Note with Spring 15 this is now
called Auto-launched Flows
Troubleshooting Only the administrator who created the process will
received an emailed error message detailing the error in the process
Lead Convert Processes only evaluate converted leads if validation and
triggers for lead convert are enabled in the lead settings
Best Practices While testing the tool in Beta release we quickly realized that
some of the UI and troubleshooting limitations meant we needed to be extra careful
with our processes, particularly when they interacted with other processes,
workflows, or triggers. While each instance is slightly different, some cautions and
best practices that were helpful for us as we tested different scenarios:
Check to see if there are any workflows on the object doing the same thing
as the process. Also verify no active Apex triggers
Avoid interweaving Apex, Workflow, and Processes together for the same
process. As Workflows and Triggers dont always place nice together so
holds true for Processes. Even if you do get them to work, its just a bad
practice to spread logic over multiple methods. Keep it all together in one
place so you can see whats happening down the entire flow
Document Use the description field to populate information such as when
it was created by who and what the process does. In addition, if processes
work in conjuncture with each other, reference the other(s) process names in
the description field
Test And then test some more. Especially when youre first starting to use
this please practice in a sandbox first and really test out what youre trying
to do. Theres a lot of ability to impact users and data here if you do
something wrong
Well, thats our write-up for Process Builder. Its a lot to take in, but an extremely
powerful feature for salesforce. Take your time and really get familiar with it
before pushing anything to Production, but once you have this under your belt you
have a ton more functionality at your disposal. This is definitely a feature that
salesforce will continue to improve each release so well do our best to keep this
up to date as they do. Let us know if you find anything yourselves!