Something that I have come across a lot is solutions that require setting item level security after a particular occurrence on the list item (or in some workflow process). Specifically what I wanted to look at was how to do it using SharePoint Groups as opposed to AD users, though I will probably cover that later. This is going to be a two-part post as well because I am also going to do it with Microsoft Flow in my next blog. Moving forward, whenever I do a SharePoint Designer Workflow blog I am going to try and do a corresponding one for Flow as well.
I am sure we can all agree that at some point or another we had a need to email a user that did not have an account within our domain via a SharePoint Designer (SPD) 2013 workflow. And while attempting to set it up we were surprised to find out it wouldn’t work. Not only did it NOT send the email, but to add insult to injury the attempt actually would suspend the workflow if forced to try. If you have never had the need, well thanks for coming to my post anyways and let me tell you… it can’t be done. An easy workaround is to build a SharePoint 2010 workflow, which doesn’t have this limitation, but then you lose the other fantastic benefits of a 2013 workflow. Microsoft removed this ability as a security enhancement. Today I am going to demonstrate how to email an external user in a SharePoint 2013 Workflow.
Quick note: Microsoft Flow does NOT have this limitation. I am describing how to to it in SharePoint Designer because so many still use this tool
In my previous post I showed how to set up a flow to execute manually and not on an add or change event. I have a reason for that we will get to in a future post, but for today I am going to cover creating a multiple approver Microsoft Flow. In our requirements we have both a project\event approver as well as a manager approver. One thing you don’t see on the form, but was mentioned in the requirements is the need for communications to also approve. This will be going to a generic account (for now) that anyone in the communications team can deal with. The process is the flow will request approval from the project approver first, then the manager and finally communications cause they are not checking for content just grammar and such. No sense including them until the other approvers are ok with the message.
Posts in this series:
- Preparing SharePoint
- Integrating PowerApps as a Custom List Form
- Customizations All List Form PowerApps Should Have
- Setting a SharePoint People Picker Field Programmatically in PowerApps
- Cascading Drop-down Lists and People Picker in PowerApps
- Create a Flow to be Started Manually
- Creating a Multiple Approver Microsoft Flow (this one)
- Sending a Tweet from Microsoft Flow
- Starting a Microsoft Flow from a PowerApp
I had to build a fairly complex workflow not long ago. The workflow was built in SharePoint Designer 2013 and had a lot of moving parts to it. So many, that when I went to publish it I received the following error message: “Microsoft.Workflow.Client.ActivityValidationException: Workflow XAML failed validation due to the following errors: Activity “SomeXActivity” has 65 arguments, which exceeds the maximum number of arguments per activity (50).” This error message is actually telling us that our workflow has too many variables within it. Basically, this is happening because when the workflow is running the Workflow Manager has to manage more 58 (in my case) variables. Workflow Manager only allows there to be 50 variables in the workflow… by default.
While planning out a new series I want to do around PowerApps and Flow I realized one of the things I needed to do was get the value of a lookup field into a text field. Now we all know that using a calculated field for this isn’t going to work since they can’t see lookup fields. Yes I could use a choice field instead, but in this case I wanted a lookup field so that the users could easily update the choices from the lookup list. There are a number of examples of doing this with a SharePoint Designer Workflow. So I got thinking, but about Flow? I found a number of examples of users asking for ways to do this or having problems doing it, but nothing really concrete. So I decided to write something up quick as it really is very easy to do with flow.