Need Advise on my WF

Badge +11


I am currently working on a Form where the user can request some cash in advanced.
The request then needs to be approved by the manager, edited by the Finance and completed once money is collected.

Simple, isn't it happy.png
Well, maybe I am overthinking this tooooo much but somehow not able to get my head around it.

For simplicity, look at the document attached; I tried to provide a simple way to explain the process.
The part where I am not sure about is between the Accountant < > Collector

I like to make it so when the Accountant, edits the form (filling out some currencies etc.) then having on option to say "Notify the user" which then will trigger an email to the request asking for collection.

The next step is then, once the user is with the accountant, the Accountant clicking on a button "MONEY COLLECTED" which triggers the workflow to complete the request and at the same time updating two fields

- AccountantsName

- CollectorsName

Initially, I was tempting to add FlexiTask for each step but it didn't make sense to me ... confused :/

9 replies

Userlevel 5
Badge +13

I would use a status field for this.

Have it start out "Pending Manager Approval." Then, once the manager approves it, email to user to let them know to pick up cash and notification to Accounting (if needed) to let them know it's been approved. Status is now "Pending Cash Pickup." Once the user picks it up, Accountant changes it to "Cash Pick Up Complete" or something similar.

If you want the accountant to get the email before the user once the manager approves, then you can have a status called "Notify User to Pick Up Cash" and have the accountant change to that status to trigger notification to the user.

I would have this status column as well as an identical "WFStatus" column that you can use to verify. Then you have a workflow with a run if that is like "if status = Pending Cash Pickup and WFStatus != Pending Cash Pickup" [send notice to user] then [set WFStatus to Pending Cash Pickup].

******If you're on-prem, I think you can set a Workflow to start conditionally on a particular field change rather than using the WFStatus column which is hidden***

I can draw it out more if you need more assistance! I do think the Flexi Task is fine for the manager though.

Badge +11


Thanks for your reply.

I am trying to implement your suggestion... would appreciate if you could draw it out or build a temp. WF.

Userlevel 5
Badge +13

Hey Bim Bimi, does this help:

So, in the end, you'll have two workflows. One that runs on new, and one that runs conditionally and handles your middle parts. Let me know if this helps!

Badge +11


Thanks for the feedback and I am working on it but struck with another problem.
The approval process consists of 3 steps: Manager Approval + Exec + MD

User raised the form: Manager > Exec > MD = Approval process

If the request is a Manager (Requester = Manager) then it should go to Exec and then to MD for approval.
If the requester is an Exec (Requester = Exec) then go to MD for approval
If the requester if the MD then approve it automatically.

- otherwise follow approval process Manager > Exec > MD

At the moment I got this Run Parallel Actions with 3 Set Conditions but somehow does not make sense to me because the way I am imagining it, the WF will then split the same actions to all branches and the set condition is support to run only if the condition is met:

if Requeser is equeal Manager

if Requeser is equeal Executive

if Requeser is equeal MD

Maybe, I should run RUN IF action instead?!
any advise how to make it more efficient otherwise I will have a lot of the FlexiTasks for each section.

Userlevel 5
Badge +13

How are you determining whether a user is a manager/exec/MD or not? I think your Parallel is fine, not all of those flexi tasks will get created because not all of your conditions should be met. If the person is below a manager, does it only go to their manager for approval, or does it have to go up the whole chain (manager --> executive --> MD)?

Badge +11

Normal route is always Manager > Exec. > MD
and yes the chain has to be followed; in simple terms all three have to approve for request to be completed.

Obviously; if the requester is the manager (without the Manager having to  approve its own request) then it goes to Exec  and then to MD for approval likewise if the Requester is an Exec then it goes to MD for approval and Manager approval is not required.

How will it know whether requester is a Manager / Exec / MD ?!
I got a query which fetches the data from a file and holds the information then the set condition checks the requester field with the Manager / Exec or MD.  Only thing what I am saying is that with the parallel action, to my thinking is that ; It makes me believe that all three actions will run in parallel because at the set condition I placed "If Requteser is equal to Manager" and obviously the action will run whether it is a NO or a YES.

In other words, eventually the WF will trigger the FLEXI TASK to all three members: Mngr / Exec / MD

Userlevel 5
Badge +13

I would have a state machine then. Before your state machine, figure out what kind of person you have so you know where to start. You can have a state machine start in a branch based on a variable. So, figure out what kind of person you have and set the variable to the branch you want to start in based on that. So if they're a manager, set the variable to "Executive" and if they're an Exec set the var to "MD" and if they're an MD set the variable to "Approved."

So, in each state, assign a flexi task to the relevant person. When they approve it, go to the next state. Have a state for each approval level essentially, and in each one you'll have a log (for debugging) a flexi task assignment, and then moving to another state. This workflow should only run on creation.

Is this what you're looking for? Each level of management has to approve a flexi task until it goes all the way to MD and then it's fully approved and the accountant gets a notification?



Badge +11

oh dear, my head is exploding lol
I need to sit back and re-think the whole process as it's getting complicated for me ... I'm not very skilled with WF's

Shall be posting the end WF if I get it to work happy.png 

Userlevel 5
Badge +13

Let me know if I can offer any more guidance!