SharePoint Designer Reminder Email Workflow

I was asked to design a workflow to extend the out of the box functionality to email meeting attendees 2 weeks before the meeting is due to start. Firstly create a SharePoint calendar list called ‘Events’.

The out of the box editable calendar columns are displayed below:

image

For the workflow you need to create two additional columns for the events list:

  • Calculated field called Reminder (Date and Time)
  • Person or Group called Attendees

The calculated column settings can be seen below basically offsetting the Start Time by 14 days (2 weeks) as [Start Date] – 14.

image

Then create the Person or Group column as shown below making sure that the ‘Allow multiple selections’ option is set to ‘No’:

image

If you create a new event now you will see an additional field for the Person or Group

image

Notice that the calculated field does not appear here as this is not an editable field and will automatically calculate in the background.

Next step is to open SharePoint Designer and create a new workflow (I’m assuming if your reading this post you have some level of understanding of SPD and will not be covering this step for step).

You will need 2 steps for the workflow. The first is to check date and pause the workflow if the date is not equal to Start Time – 14. The second step is once the Start Time does equal 14 days before event then send the email.

On the new workflow set the values as shown below:

image

Step 1 – Check Date

image

So the above basically checks if Reminder (14 days before event) is equal to today. If not then it pauses until the Reminder does equal today.

Step 2 – Send Email

image

In this step the action is again to check for the Reminder date equals today. Then send the email.

image

The email is where another blog post of mine discovered an issue and can be read here. The  workflow sends an email to the the current items Attendees. The subject is also the title of that specific meeting. I also added some text to the main body where you could customise the email further by adding lookup references specific to that event such as start time etc.

Once you’ve created the 2 steps click finish and navigate to the event list and enter a new event 2 weeks away and make sure you set it for 5 minutes ahead so you have time to save the event.

NOTE: MAKE SURE YOU DO NOT CREATE THE TASKS AS A SYSTEM ACCOUNT OTHERWISE THE WORKFLOW WILL NOT WORK SEE KB ARTICLE: http://support.microsoft.com/kb/947284

image

image

(This is not my actual diary!)

If you select the new entry created and select workflows you should see:

image

And if you click on ‘InProgress’ this will show you that the workflow is paused for 5 minutes and will then send the email:

image

That's it job done and expect to see an email in your inbox reminding you.

Hope that's of some use!

9 comments:

Malay said...

Hi, I think this is the one time only, how to make it recurring activity?

any thoughts...

Paul Grimley said...

Hi Malay, each recurring event should have a unique ID. You can create a new view to see each event separately namely 'Standard View, with Expanded Recurring Events'. This will show each meeting individually so theoretically the above workflow should work.

Jen said...

I'm not so sure it works for recurring events - are you sure? Even just my ping times don't come out right (e.g. [Start Date] – 14) if I look in the Standard View w/ Expanded Recurring Events. Some are correct, some seem way out of whack (and it's not consistently those that are all day recurring or specific time recurring). TIA.

Anonymous said...

Jen, if you add calcualted field for a reccurent events calender (my case is Birthday) which converts the Start Date to Month - day format: =TEXT([Start Time],"mmmm - dd". Then create calculated field, e.g. Reminder : =[Birthday]-5 it returns correct current year date. Not sure about next year.. will see.. but! still.. how can i make this workflow works automatically? Tamara.

Anonymous said...

i guess i am not clear... i have already list of employees and created the workflow. since the workflow can be started if item created or modified then i need to edit each existed employee. can it be started like now for everyone? Tamara

Paul Grimley said...

Hi Tamara, Thanks for your comment. The easiest way to modify all previous entries is to create a new column on the list then change the view on the list to datasheet view then populate each of the columns for each item which will trigger the workflow to change on item modified. Then finally remove the temporary column. Hope that helps!

gun awin said...

great post. However, what about if I want to be notified by email 10 mins before the task?

I cant really figure it out.. so far:

Reminder:
=[Start Time]-1/144

Flow:
If reminder is greater than Today
Pause until Calendar:reminder
then Email ....

after I created a new task/event, I straight away get the notification.. not 10 mins before

please help

cheers

Anonymous said...

I have the following ideas to share:
1. Why in step 1 and step 2 all said "If Reminder equals today"
2. "today" works only if you update the record
3. "Reminder" column can be set [End Date] - 14

dorean archuleta said...

Hi Paul. Thank you for the post! My workflow works. However, what if I need the reminder to go to more than one recipient? Why doesn't the workflow work when the "allow multiple selections" is set to "yes"? Is there any way around it?

Thank you in advance!

Post a Comment