Approval Process Not Respecting Else Approve Step

Question

Is there any known issue with the approval process steps that have criteria that enter if it evaluates to true, else approve, auto-rejecting records that don’t meet the criteria? If so, are there work arounds? (hoping to avoid a week of waiting on support just to have them tell me this bug is a “feature” they don’t want to change)

Background

I have a moderately complex approval process, which at a high level has these steps:

  1. If picklist is value A, send to User1__c on the record, else next step
  2. If picklist is value B, send to User2__c on the record, else approve
  3. If false (dummy step, should always be skipped in theory)

In testing I submit a record with a pikclist with value C. Based on my understanding the flow is:

  1. Evaluate criteria for step 1, eval = false, go to next step
  2. Evaluate criteria for step 2, eval = false, approve

But in testing, it always auto-rejects. Reviewing the logs confirms it skips step 1, hits step 2, then rejects. Also confusing is that when I edit step 2 it shows “else approve”, but on the approval process detail it just shows the criteria, with no “else” clause (see images). The view approval process also looks good to me.

Images

Process Detail Page

Process Detail Page

Step 2 Criteria

Step 2 Detail

Printable Process Diagram

Process Diagram

Answer

Quote from Creating Approval Steps section Important:

If you select go to next step in the first step and the record does not meet the criteria for any of the steps in the approval process, the record is rejected.

Suggested solution:

Create two approval processes.

  1. First with entry criteria for picklist equals A, B with two steps.
  2. Second with entry criteria for picklist not equals A, B with one
    step.

First approval process
Second approval process

Attribution
Source : Link , Question Author : Ralph Callaway , Answer Author : macslo

Leave a Comment