Solution: Using a Yes/No checkbox in a Microsoft Flow condition statement

2017-09-17_13-59-37

It’s not uncommon to want to use yes/no checkboxes when building Microsoft Flow conditions. [Field] is equal to “Yes” or [Field] is equal to true won’t work because it reads the Yes or true as a string rather than a value. So when the flow runs, even if the checkbox is checked (true), the run history says the expression result was false.

Fortunately it’s a simple two-step fix. Follow these steps to be able to use yes/no checkboxes as conditions in your flows:

Continue reading “Solution: Using a Yes/No checkbox in a Microsoft Flow condition statement”

Speaking at SharePoint Saturday Kansas City on September 16

I hope to see some of you this Saturday at SPS Kansas City, where I’ll be sharing an overview and demos on using workflows to improve business processes. Here’s what you can expect from me:

spskc2.pngLet Microsoft Flow and SharePoint Designer Workflows Do the Work

Your team members would appreciate getting some time back. Give it to them in ten minute increments here, thirty minutes there by using Microsoft Flow and SharePoint Designer to build them thoughtful workflows that range from simple one-steppers to more complex and conditional multi-stagers, even across site collections. We’ll cover specific HR and Accounting scenarios in this session based on real-case experience at KU Libraries, including automation of some onboarding and off-boarding processes, simple automated management of otherwise complex item-level permissions, travel plan submission and approval, receipt submission and reimbursement tracking and more all through utilizing workflows to save you and your colleagues time.

SharePoint Calendar Cleanup: Use one workflow to remove Outlook “Copy:” prefixes, standardize location names and delete canceled events

headercalendar.PNG

We’ve all been there. One location on a shared calendar will be referred to by multiple people as 20 different things. Johnson Building Room 214 can be entered as “214,” “Johnson 214,” or “J214” to name a few. Canceled events stay on the calendar, sucking up real estate and waiting for someone to delete it manually. Items copied from another calendar make you pay for the convenience of a simple copy and paste by adding the “Copy: ” prefix to the item.

But with a single workflow, we can fix all of these and make our SharePoint calendars look more professional and polished without making more work for end users. This post will cover how we can use workflow to standardize naming of locations with workflow, delete events once they’ve been canceled and get rid of Outlook’s “Copy: ” prefix. You will need SharePoint Designer and appropriate permissions to create workflows to complete the following steps:

Continue reading “SharePoint Calendar Cleanup: Use one workflow to remove Outlook “Copy:” prefixes, standardize location names and delete canceled events”

Sending emails via SharePoint Designer workflow to external recipients using Gmail, Yahoo, Hotmail, etc. addresses

notbevalid

SharePoint Designer 2013 workflows verify email recipients as valid SharePoint users. If they’re not on your site they likely won’t be able to receive an email from a 2013 workflow depending on your setup. Even though the workflow publishes, the recipient could be removed before the message is sent. You may also get this error message when creating the workflow:

“The selected user(s) may not be valid on the site this workflow is published on. If a recipient is not a valid SharePoint user, he or she will not receive workflow emails.”

More often than not, this will be triggered by any yahoo, gmail, hotmail, etc. address but can also sometimes occur with addresses within your organization if they’re not in your AD and properly part of your site. I recommend copying yourself in testing to be sure the message is sent to external users if you think you’ve successfully made external addresses valid SharePoint users.

But to be certain you get around this 2013 obstacle, simply use a 2010 workflow. SharePoint Designer workflows built on the 2010 platform do not verify addresses. And if you’ve already built a complicated masterpiece in 2013, no need to fret. You can always create a 2010 workflow just for the email and start it within your 2013 workflow.

Update 9/1/17: If that still doesn’t work…

Most likely your recipients, then, aren’t being looked up in an item field (perhaps the same address will be used for all workflow instances). In your workflow before the email step, “Create a workflow variable” and set it to the person(s’) email address(es). If multiple, type as semi-colon delimited. Set the variable type to string. Then for the To: line in the email, use a workflow lookup to that new variable.

Use BCC field in SharePoint Designer workflow email actions

bcc20102

Yes, you can have a BCC field in your SharePoint Designer workflow emails. I didn’t know this until recently, and was pleasantly surprised. It’s quick and simple, so let’s get started.

Note: You can do this in both 2010 and 2013 SharePoint Designer workflows, using the exact same steps.

Continue reading “Use BCC field in SharePoint Designer workflow email actions”

SharePoint workflow “access denied” error sp.utilities.utility.SendEmail solution

If you’ve found this post by search, you’ve likely already gone into the workflow settings for a particular list or document library item and have clicked the info icon (infocon) next to “Internal status” and found that your workflow is “in progress”, but has an error: “Access Denied. You do not have permission to perform this action or access this resource.” Peering into the bulk of the message, you see a helpful tidbit that includes sp.utilities.utility.SendEmail. This could be from a number of causes, but here are the summaries of three possible solutions. Note that the first solution is still required even if you try B or C below. I’ve only included the second and third solutions as additional possibilities if the first doesn’t solve your problem.

A common question, before we begin, is what level of permissions any individual needs to be able to send an email or start a workflow generally. It doesn’t matter so much if you’re using Impersonation or App Steps, but the quick answer is a minimum of Contribute level permissions is good.

Continue reading “SharePoint workflow “access denied” error sp.utilities.utility.SendEmail solution”

Starting a SharePoint Designer 2010 workflow within a SharePoint Designer 2013 workflow

startaworkflow

Sometimes you’ll into situations where a SharePoint Designer (SPD) 2010 workflow is the only way to go in order to make something work. In May 2017, I gave a presentation at SharePoint Saturday Baltimore and shared the following slide of functions only possible by using a SharePoint Designer 2010 format workflow.

SPSBaltimore2017-Workflows.jpg

Unfortunately, you may have loads of conditions and stages already built in a SPD 2013 workflow by the time you realize you need some of this 2010-exclusive functionality. No need to fret, however, because we can start that necessary 2010 workflow from wherever we need to within our 2013 workflow, as if it were just another ordinary step.

Continue reading “Starting a SharePoint Designer 2010 workflow within a SharePoint Designer 2013 workflow”

Solution: Converting lookup values to text and working around SharePoint error “lookup list is in another web”

notsupportedinquery.PNG

Lookup columns aren’t friendly to a lot of things. Power BI reports, calculated columns, creating new items via workflow when both lists have lookup columns, if/then statements, etc. Especially when your lookup column is looking up to a list from another site, not the same subsite in which you’re working.

A previous scenario required that I create a new item in a different site’s list when conditions were met in the origin site’s list item. Both lists used the same lookup column, and I received the “lookup is in another web” error when trying to do a direct copy via workflow, from lookup column to lookup column. The solution ended up being creating a new item in a temporary, lookup-free list that received the lookup values just as text. Then SharePoint Designer copied those over to the final list, which received the text and happily converted it back to the appropriate lookup values. See the full solution here.

This post will focus on the same error message, but this time is triggered by a SharePoint Designer workflow in a different scenario where we just want to convert our lookup values to text so we can use them for various purposes.

To save you time, I also tried (and failed) at these potential solutions before finding success:

  • Setting workflow variables to the lookup values and trying to set the variables to text values, or use the variables in my if/then statements to create new text values (this defeats the purpose of using lookup columns, of course)
  • Using a number of combinations of Microsoft Flow and SharePoint Designer to get the data from the lookup column extracted then “pasted” back in as text

So let’s get to the solution. Feel free to comment with your scenario specifics – I’ve had a lot of experience with this error, and would be happy to help.

Continue reading “Solution: Converting lookup values to text and working around SharePoint error “lookup list is in another web””

Automating item-level permissions in SharePoint document libraries and lists

workflowitemlevelpermissions

Item-level permissions come in handy for a number of situations. Here are some examples and food for thought:

  • Travel plans are submitted to a list, but only those in people columns (supervisor, director, traveler) are allowed to see or find the plan by search.
  • Allow “content owners” to edit documents, and everyone else to view only.
  • Allow non-admin individuals to set editing permissions for documents or list items by populating a people column

Using a SharePoint Designer 2010 Workflow and an impersonation step, we can:

  • Add list item permissions
  • Inherit list item parent permissions
  • Remove list item permissions
  • Replace list item permissions

This tutorial will use the “replace list item permissions” action. Whenever you’re replacing permissions, you must remember to INCLUDE YOURSELF or admin individuals in the replacement permissions or you won’t be able to access the content or help with troubleshooting. Let’s begin!

Continue reading “Automating item-level permissions in SharePoint document libraries and lists”

SharePoint solution: “Coercion warning: user or group does not have a valid e-mail address”

CoercionWarning

While there are likely a number of causes to this problem, I’m writing in regard to a specific scenario in which a SharePoint Designer 2010 workflow automatically replaces item-level permissions for a document based on the contents of a people column. It’s possible this solution will apply to a different scenario, however, so read on.

The people column’s settings are multiple selection, people AND groups as can be seen here. This is absolutely fine (multiple selection, mixing of permission groups with individuals). You may just note the warning in red in the screenshot below:

“Earlier versions of client programs might not support a Person or Group field that allows multiple selections. Adding this field might block those programs from saving documents to this library.”

column.PNG

In your workflow, just make sure you’re returning your people column “As String” and not any of the semi-colon delimited options. That’s all there is to it. Publish the revision and run the workflow again (and you may need/wish to go in and end any workflows that errored out but are still “running”). Best of luck!

relatedpersonstring.PNG