Recently, I wrote a blog about a new feature called the App Step, available for use in SharePoint Designer 2013 utilizing the SharePoint 2013 Workflow Platform. For those interested in learning more about the new advancements to workflow for SharePoint Server 2013, check out this link for an excellent Microsoft TechNet article. In addition to SharePoint Designer enhancements, it also discusses the new Workflow Manager Service, which is needed in order to create SharePoint Designer workflows on the SharePoint 2013 Workflow Platform. After Workflow Manager is installed and configured to communicate with your SharePoint Server 2013 farm, you will now have two workflow platforms available for use when creating workflows in SharePoint Designer 2013: SharePoint 2010 Workflow Platform and SharePoint 2013 Workflow Platform.
The intent of this blog is to describe a situation I ran into and how I used both platforms to resolve it. Confused?
Well, my workflow made use of the Workflow Interop Bridge for SharePoint 2013. Simply put, workflow interop allows you to trigger a SharePoint 2010 workflow from within a SharePoint 2013 workflow.
Why would you want to do this? Usually it is because the workflow activity has not been integrated into SharePoint 2013 or you have some existing SharePoint 2010 workflows that you would like to reuse on your SharePoint 2013 platform. I needed to use it for a different reason.
One step of my workflow needed to send an email to a Distribution Group. If you attempt to do this utilizing the 2013 workflow platform, you will run into the following error in SharePoint Designer:
This is actually normal. It’s a new security enhancement in SharePoint 2013 workflows. SharePoint is attempting to validate the users within the Distribution Group using REST services validation. There were only two solutions that I could see to work around this issue:
Solution 1: Add the group as a contact in Exchange.
Solution 2: Workflow Interop Bridge for SharePoint 2013
Due to time constraints and not having the access to create a contact in Exchange for this Distribution Group, I decided to go with Solution 2.
These steps describe how to trigger your SharePoint 2010 workflow from a SharePoint 2013 workflow. They begin with the assumption that you have already set up your SharePoint 2010 workflow to send an email to the Distribution group.
1) Design your 2013 workflow, then whenever you need to add your step to ‘Send an Email’, call the 2010 workflow you previously created. To do this, select ‘Start a List Workflow’ underneath Coordination Actions in the Action dropdown:
2) This will insert a step that looks like the following:
3) Click on ‘SharePoint 2010 list workflow’ and select the appropriate list and then select your SharePoint 2010 workflow that sends the email:
4) Select parameters. This is necessary even if you do not have any parameters to specify as is the case in our scenario. Simply select ‘OK’.
5) Finally click on ‘this item’ and choose ‘Current Item’. This should be the default selection:
6) The completed step in your SharePoint 2013 workflow should now look like this:
Now you just need to complete any remaining steps of your workflow, publish it, and you are good to go. As you can see, triggering a SharePoint 2010 workflow is as simple as adding one action step, selecting your target workflow, adding any parameters if necessary and selecting the list to perform the action on. This action can be placed anywhere within your SharePoint 2013 workflow. You can even call several SharePoint 2010 workflows within a 2013 workflow. Use of the workflow interop was the perfect resolution to my issue of not being able to send email to a Distribution Group.