How do I do a lazy approval workflow?

  • 19 June 2018
  • 7 replies
  • 33 views

Badge +4

Hello everybody, I want to do a lazy approval list workflow to request for an item using a form. How do I go about doing it? I have not created the form yet though, I am currently waiting for it to be installed.

These are the requirements: I need to Request for an item to the manager for approval, once it is approved it is then it will be sent to a 3rd party to be issued. Then the issue will be closed. If its rejected by the manager, it will be sent back to the requester for amendment. I need the issue status column to be automatically changed to issued once it is issued by the 3rd party. The 3rd party can only change the column to issue. The approval part is already done by the manager.

The issue status column will have 2 choices, Issued or Not issued.

This is my workflow, is it correct?


7 replies

Userlevel 6
Badge +12

Hi John,

I won't tell you how to do it exactly but I'll teach you how to fish happy.png

If I was going to build this kind of workflow, I'd use the flexi task for to assign people tasks.  This action also has the Lazy Approval you were asking about.  Read more on the Flexi task here and Lazy Approval here.

You can set your issue status using the set field value action.

Also you have described a situation where a manager may reject an issue and send it back to the requestor multiple times until they're finally happy.  I'd use a state machine for that.  Read about state machines here or if you prefer videos check out this one

Finally, here's a hint of what your workflow might end up looking like once you've done all that.

Good luck!

Badge +4

Hi thanks, will the 3rd party be able to set the column Issue Status to 'Issued' whenever they want? It will only send when the 3rd party is ready? Because it takes time for them to send out the particular item.

Userlevel 6
Badge +12

Hi John,

The flexi task pauses the workflow until it gets a response or until a time that you specify.  Then once an answer is retrieved, it's not actually the 3rd party "setting" the issue status, it's you via the set field value action.  Of course that action only gets executed if the 3rd party chose "approve".

By 3rd party, I'm guessing they do not have a login to your SharePoint environment?  If so, all of the above is possible but the only way the 3rd party will be able to respond is via lazy approval on email.

Cheers,

Chris

Badge +4

Hi Chris, how do make it so that it automatically sends an email to the person who created the item, to notify them if its approved or rejected? And How do I show it so when it is rejected or approve it appears in a new column showing the result?

Userlevel 6
Badge +12

Hi John, the fastest method would be to add another send notification action under both the approval and rejection branches.  In the To: box, scroll to lookup | Common | initiator.

Also if you're already showing the status column in your list, and you're using set field value like my example above, it will show the result in your list.

Cheers,

Chris

Badge +4

Ah I see, thanks. Regarding the 3rd party, how would they approve the item? As It is  just a message notification. Do I have to add a the form into the message? If so how would I go about it. Thank you!

EDIT: Oh for my previous question, I was referring to the Manager's approval column, not the 3rd party column. I just want it to be more detailed. So if the manager has not approved it, on the Manager Approval Column, it will say Not approved. I was doing some research and can I stored the outcome of the manager approval flexi task into a variable then use the Update item function? I got it from this link https://community.nintex.com/thread/3261. Thanks

Userlevel 6
Badge +12

Hi John,

There's an option in the flexi task to allow Lazy Approval.  Tick that and the 3rd party will automatically get the option to reply via email (assuming your server has been set up correctly to send external emails).

For the manager approval - same theory applies and you're on the right track - grab the outcome of the task and store the result somewhere using the set field value action.

Cheers,

Chris

Reply