Approval Process

Salesforce: Approval Process - Who can approve ?

To build an approval workflow in Salesforce is simple, since Salesforce provide Approval Processes. You can find this under Setup - Create - Workflow & Approvals - Approval Processes.

In early blogs, we have discussed about Serial and Parallel Approval in Salesforce, in this blog, we would like to discuss in depth option of users can approve?

Manager Approval
In the approval process Step 3. Specify Approver Field and Record Editability Properties, there is option to determine next automated approver.

Notice that Next Automated Approver Determined By is not a mandatory field here.

Option available here:
  • Manager - a standard field in user object and has no relation with Role Hierarchy
  • All custom fields in user object with type = Hierarchy - in above sample: Boss and Sales Director.

If you select Manager as in above screenshot, when you set up Approval Step, in Step 3. Select Assigned Approver you will have option to select Automatically assign using the user field selected earlier. (Manager).


Once this approval step saved, if you go back to approval process Step 3. Specify Approver Field and Record Editability PropertiesNext Automated Approver Determined By become mandatory field.


Change the user field here will auto change Assigned Approver in Approval Steps.


Which Manager?
In Approval process Step 6. Specify Initial Submitters, admin can define who can submit for approval. We have option for the submitter: Record Owner, Record Creator, Public Groups, Role, Role and Subordinates, or specific User. This mean the Manager who approve could be Record Owner's Manager or Submitter's Manager.


How we configure this in Salesforce?

1. Submitter's Manager
This is default option, in approval process Step 3. Specify Approver Field and Record Editability Properties, just select Manager.


2. Record Owner's Manager
If we need the one who approve is not submitter's manager, which valid in many use case, you need go to approval process Step 3. Specify Approver Field and Record Editability Properties, just select Manager, also check Use Approver Field of Opportunity Owner.


Once save, we can confirm in the Approval Process.



Who else can approve?
In approval step - Step 3. Select Assigned Approver you will have option to automatically assign to approver(s)


  • User  --> a specific user to define
  • Queue --> only for object support Queue, such as: Case, Lead and custom object
  • Related User --> in this list, we have Record Owner, Record Creator, User who last modify the record, Lookup field to User in the object (example in Opportunity) - this is not related to custom field in User object.


================================================================================

Salesforce: Serial and Parallel Approval

Approval process has been introduced in Salesforce platform sometimes back. But when someone ask you, if Salesforce support Parallel and Serial approval process?

The answer is YES, although Salesforce do not implicitly said it is parallel or serial approval process.

The good thing is, this functionality available out of the box. So you do not need to write any code. Just with point and click configuration, you can build this process within hours.


Parallel Approval
Parallel Approval means you are sending multiple approvals out in one step of the approval process. Any approver able to approve without need to wait for other approvers to approve.

The approver can be specific usersa queue or related user in the record.

How to configure this in Salesforce?
When you reach Approval Steps - Select Assigned Approver, choose Automatically assign to approver(s)

In sample above, when user submit for approval, it will go to a user 'Maria Ann' and also go to 'Finance Queue' at the same time. Maria do not need to wait a user from Finance queue to approve, and the same for user in Finance queue can approve without have to wait Maria approval.

You also can specify whether only the first approval is needed or ALL approval need to approve, when all approved, it will move to the next step of approval process. It is configured in above screen at When multiple approvers are selected. When you select "Require unanimous approval from all selected approvers." the record is only approved if all of the approvers approve the request. The approval request is rejected if any of the approvers reject the request.

Note: approval assigned to a queue, it does not mean ALL users in the queue have to approve, when one of the user in queue approve, it is considered as Approve from the queue.

Here is a screenshot once user submit for approval, it will go to both user and queue for this sample.

This when Linda from Finance has approved


Serial Approval
Serial Approval means after a user approve, it will move to the next user to approve. Most use case for this when next approval is needed when it hit certain criteria, example:
1. When discount given < 10%, only Sales Manager need to approve, but
2. When discount given >= 10%, after Sales Manager approved, it also need to be approved by Sales Director. So, Sales Director only need to approve when it has been approved by Sales Manager.

How to configure this in Salesforce?
When you reach Approval Steps, you need to create multiple steps. Each steps may have different criteria. See screenshot below for the details.

When user submit for approval, he will only see the immediate approver only:

When Linda approve, because discount for this opportunity is more than 10%, it will go to the next approver


You can click View Diagram button in Approval Process to display the flow, you also can click each item to show the properties.



Last one, you also can combine both parallel and serial approval in an approval process. Example: after Sales Manager approve, it will go to Sales Director approval and also Ops Director approval, both user need to approve, so we select Require UNANIMOUS approval from all selected approvers.

Comments

Popular posts from this blog

Spring Batch 2.0 -Basic Concepts

Sending Mass Emails From Salesforce