# Workflow rule on case when priority increases

I am trying to write a workflow rule on case when priority increases. We have 4 picklist values(P1,p2,p3,p4) on priority.

Example: When priority changes from p3 to p2 or p2 to p1. and using 2nd option on evaluation criteria.

OR(AND( ISCHANGED(Priority), ISPICKVAL(PRIORVALUE(Priority), "P3"), ISPICKVAL((Priority),"P2"))

OR( AND( ISCHANGED(Priority), ISPICKVAL(PRIORVALUE(Priority), "P2"), ISPICKVAL((Priority),"P1"))) )

If I am comparing with priority value with previous value there would lot of scenarios to be covered whenever priority is increased. Is there any other way to handle this scenarios in workflow rule ?

Once the formula is true i am doing a field update with NOW() value.

Any help is appreciated.!

If you labelled your priorities with numbers:

• 1 - Urgent
• 2 - High
• 3 - Normal
• 4 - Low

Then it's pretty simple:

``````VALUE(LEFT(TEXT(PRIORITY),1)) < VALUE(LEFT(TEXT(PRIORVALUE(PRIORITY)),1))
``````

This converts the current and previous values to text, takes the left character, converts that to a number, and finally compares the two.

If you're using a different labeling system, you can use CASE instead:

``````CASE(PRIORITY,"Urgent",1,"High",2,"Normal",3,4) <
CASE(PRIORVALUE(PRIORITY),"Urgent",1,"High",2,"Normal",3,4)
``````
• Thank you, I have changed to CASE(Priority,"P1",1,"P2",2,"P3",3,4) < CASE(PRIORVALUE(Priority),"P1",1,"P2",2,"P3",3,4) it worked when the priority is increased. Mar 28, 2018 at 23:24
• I am using this when Priority is decreased CASE(Priority,"P1",1,"P2",2,"P3",3,4) > CASE(PRIORVALUE(Priority),"P1",1,"P2",2,"P3",3,4), So priorty is decreased I am using a field update on Entitlement process start time the Case case created value Which is not happening. Can you please help.? Mar 28, 2018 at 23:27