In certain situations, I may have several approval steps for a Case which will be approved by several different users.

I need my Apex trigger to complete a CaseMilestone, if a particular step has been approved. I'm looking for the best way to check that the correct step has just been approved.

I've found this post in the Developer Forum which suggests a field update to a field which would contain the number of the approval step that's just been completed. But this would potentially require a lot of maintenance.

I could also create a field update, as an Approval Action, to tick a tickbox on the Case when a particular step is completed and check whether the tickbox is TRUE/FALSE in the trigger. But again this seems inflexible and if the same tickbox ends up being updated by multiple approval processes, there's the risk of confusion.

Do I have any other alternatives?

  • just curious...let us say a Case record C is undergoing an Approval Process A1..what is the use case in which the same case record C will also undergo another approval process (let us say A2..) while being processed in A1 ..Is it even possible ?..I could be wrong..just asking
    – Varun
    Commented Jun 3, 2015 at 4:21
  • I don't know whether it's possible but I wouldn't even want to use the same tick box on a separate Case with a different approval process..
    – Alex S
    Commented Jun 3, 2015 at 6:33

1 Answer 1


Have you considered using a picklist with different milestones?

For example: Stage__c

  First Step
  Second Step
  Third Step

And in your approval process, when you've reached a certain point you can field update this picklist to step it's currently on?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .