Workflow actions Guidance


Badge +5

Folks,

Looking for a little guidance to use the proper Workflow action. My company uses SharePoint 2010.

I am taking this workflow over from a previous tech that left our company, and yeah me, nothing is documented. I looked at his workflow and seems to be messy/chaotic.  He has 9 different "products" and then goes to a review process. I am thinking with the correct "if/else", "then do" statement it could be cleaned up to be a state machine with only one process to deliver the article review to the proper  group. I presume I would need to make SharePoint groups first and then use an action that based on product type deliver to specific group. Then I think it would clean up nicely and only have one article review process. What action or actions would I be "correctly" using in order to accomplish this?


10 replies

Badge +5

By the way this is what the entire workflow is now that needs to be condensed and cleaner

EntireWorkflow

Badge +8

Hi Pete Lamoureaux‌,

I do not hear you say it is broken, so why try to fix something that is not broken?

And imo, this workflow is not messy/chaotic. Could it be optimize? Perhaps. That depends on the e-mail text. If that can be standardized, then yeah, i think so. But I still have my first question.

Cheers,

Rick

my2cents‌

Badge +5

I was tasked to update the workflow with a new process and when coming into it I saw that it could be optimized by a lot. Every one of those departments has the identical process and email. The only difference is that the switch determines the product and then assigns to that product group.

I thought it would be better to:

  1. Use a statement/action that would look up the task's product and then assign it to the product group for the approval process. This should severely optimize the workflow.
  2. Instead of using a task like he as, but to use an approval process

Is the State Machine and variables to look up the Product Type and assign it to the product group any better than using the Switch action?

I have to document the entire process as well when done, it this is a nightmare to document 9 processes. I like short, sweet and efficient.

Badge +8

Perhaps this article (the answer) can give you inspiration for even a tinier workflow silly.png

Badge +5

Rick, the article did not help me, but......

I am finding the original author of the workflow process designed it wrong. They were trying to publish articles and were using the flexitask action instead of the approval actions. I found out my agents have to save the emailed document and upload the article rather than the approval action workflow to publish it when ready. So, looks like I have to redesign the entire process anyways with the correct actions being used. I still want to figure out a formula and/or action I should be using to have the workflow look the Product Type field and then based on that product type to set the assignee in the request approval action. Once I understand what action/formula I use to I can use the update Item action to set the assignee in the approval action, I believe.

Badge

Ideally, you would use a lookup to get the approvers from a list that contained such info for each approver. However, since person/group fields are not allow as lookup targets, that is not possible. To meet a similar need that I had, I created SharePoint groups named to match each Product Type name, and populated each group with the appropriate approvers for the Product Type. Then you can use the Product Type attribute of the item (converted to a string) as your assignee for whatever task action you decide to use. If the rest of the process remains the same no matter who did the approvals, you don't need the state machine.

Badge +8

What can be read from the article, is that you can use an extra list to contain the SharePoint group (and more info) per product type so you even do not need the state machine.

Have fun redesigning.

Badge +5

Becky,

I understand most of what you stated but got lost on "Then you can use the Product Type attribute of the item (converted to a string)". I do apologize I am more visual in learning, do you have an example I can see?

I totally understand about not using the state machine, but in my work environment I have to use one to go from level 1 approval (basically first level tech to review) then move to a level 2 approval (Specialist review), then to the publish phase. I have the states and workflow set now, just need to update the assignee appropriately.

GREATLY appreciated for your input.

Badge

Pete,

My list has a field called ExpenseType (equivalent to your Product Type). Available drop-down values are Travel and Equipment. I also have two SharePoint groups, one called Travel and one called Equipment, each populated with the appropriate approvers for that category. In the first screen shot below, you see my two step workflow, with the configuration of the first (Set Variable) step shown. The Set Variable step puts the value of the ExpenseType field (for this item let's say it's "Travel") into a single line of text variable called strExpenseType. Then I used that string variable in the Approver field of the approval task (second screen shot). The Approval task will recognize "Travel" as a SharePoint group name and send the Approval task to the people in the Travel group. Does that help?

Convert field value to string and use in approval task

Badge +5

I think this does make better sense (after I re-read it a few times). I will play with this in the next couple days and let you know. Nothing like hands on to learn even more. Thank YOU

Reply