Birthday Alarms, Automated Email Notifications and iCal [Mac Only]

Aug. 31st, 2008 By Jackson Chung

Most things will work well on Mac but unfortunately, every operating system has its limitations. On Macs, we have what we call “quirks”. These quirks are random issues which are pretty simple to solve but Apple just won’t. OS X users will then rally on the Apple Support forums to try and unravel the solution. Some succeed, others aren’t so lucky. It mostly depends on the issue at hand.

Here’s one: iCal syncs your contacts’ birthdays from Address Book and creates a calendar for it. The problem is you can’t edit it to add an alarm in order to remind yourself about your friend’s birthday. It’s a simple issue, isn’t it? There just doesn’t seem to be a “fix” for it.

After vehemently browsing the Web for a free and simple solution, I got nothing. All I want is :

  • the ability to add reminders for each contact’s birthday
  • iCal to continuously sync with Address Book to update the Birthday calendar

Many users argue that the simplest solution is to manually add your contacts’ birthdays individually. True, it is the simplest but not the most time-efficient solution.

Then I stumbled onto what I’d like to think is the solution. It’s not very direct and requires the use of Automator but it does bring this whole birthday reminder conundrum to a temporary halt.

With the help of some existing Automator actions for iCal, I created my own workflow which in a nutshell, refreshes my contacts’ birthdays in Address Book, adds an editable Birthdays calendar in iCal (with alarms) and sends me weekly email reminders about upcoming birthdays. This workflow is set to run every week by adding it as an iCal plug-in so if there are any changes in Address Book, they will be reflected in iCal automatically after the workflow runs.

Sounds like a handful, doesn’t it? Don’t worry, I’ve written a short tutorial on how you can set this up for yourself. I’ve even attached the workflow at the bottom of this article for you to download and start using!

Step-by-step tutorial

I started by adding an Automator action called iCalBirthdays. This action searches my Address Book for the birthday of every contact and the results will automatically be added to a new calendar in iCal which you can name yourself. I aptly named mine “Birthday Reminder”. It also allows me to add an alert which can be configured to sound on a certain reminder date, the birthday itself or both. With that, technically, the issue is solved. But I went one step further.

Next, I added the Address Book action “Find People with Birthdays” and set it to find birthdays occurring in the upcoming week.

Brithday Reminder

Then, I added the action “Get Contact Information” and checked only the First and Last Names; and the birthday boxes. Make sure “Add Labels” and “Combine Names” are also enabled, this will provide a more pleasing format if you have multiple contact birthdays during that week.

After the information is fetched, it is sent to the next action: “New Mail Message“. Enter your own email address as the recipient and a suitable subject e.g. “Upcoming birthdays”. The content of that email will be the information sent by the previous action.

Upcoming Birtday Reminder

Keep in mind that you have to select a different account to send this email to yourself. What I mean is, you can’t send this mail and receive it with the same email address. The Mail application will not register any emails sent by your own email address back to itself.

The final touch is adding the “Send Outgoing Messages” action. Lastly, choose “Save as Plug-in” in the File Menu, set a name for it and choose iCal Alarm from the drop-down menu. That will launch iCal and automatically add this workflow as an event in the Automator calendar. Here is where you’ll need to decide when this workflow should run. Set a day and time when your computer will most probably be powered on. Then set it to repeat weekly.

There you go! You have a workflow which is automatically set to refresh your birthday calendar weekly (with alarms) and also receive weekly updates about whose birthdays are coming up that week. The workflow will take approximately 1 minute to complete, depending on how many contacts you have and how many of them have their birthdays inserted.

And here it is, the completed workflow for you to download: Birthday Reminder and Alarm Combo

After downloading, unzip and open it with Automator to configure the “iCalBirthdays” action and don’t forget to input your email address in the recipient field in the “New Mail Message” action. Remember to choose different sending and receiving email accounts. Then continue from “Lastly, choose “Save as Plug-in in the File Menu” as per the instructions above.

I would appreciate any comments about the workflow and how to improve it. Hope this helps those in the same situation as I was in!

(By) Jackson Chung is a full-time medical student attempting to perform a juggling act with relationships, studies and his future.

Enjoyed the article? Subscribe to MakeUseOf to get daily updates on new cool websites and programs in your email for free. You'll also get free printable cheat sheets to your favorite programs

Your Email:

29 Comments Add Comment
2008-08-31 16:44:15
Mulder

This would be more useful to more people if it actually worked on 10.4, since it also uses Automator. Instead, this specifically requires 10.5, which most people aren’t using, and I know I have no plans to start using it. With solutions like this that don’t work for most Mac users, why bother with Automator?

2008-09-01 00:29:26
Jackson

I’ll look into a solution for Tiger.

2008-09-01 06:19:29
Jackson

Actually, out of curiosity, why do you say that you have “no plans to start using it[Leopard]“? Yes, I admit the number of Tiger users is still higher than Leopard’s but its adoption rate is increasing as we speak.

2008-09-01 09:38:37

I believe birthdays can be auto-added to the calendar using one of the many AppleScripts available on apple.com

2008-09-01 10:47:02
Jackson

In Leopard, birthdays are automatically updated via a subscription from Address Book. If you read the article, this workflow address the issue where users aren’t able to edit subscribed calenders and thus, aren’t able to set alarms for the birthdays.

(Comments wont nest below this level)
2008-09-01 11:04:35
Jackson

Mulder,

You might want to check this alternative out. Let me know how you like it.

Btw, Leopard ain’t so bad :)

2008-08-31 21:57:53
Fred

This is great! I am glad I upgraded to Leopard because Automator gives me the ability to add functionality like this.
Thanks

2008-09-01 00:30:47
Jackson

I’m glad that you liked it!

2008-09-01 10:13:25

thanks - but even easier: export ical with birthdays to google calendar, set calendar at google to email AND sms reminders on day of and day before (or days before) - been doing this for ages and it’s perfect….i get an email of daily events and birthdays, reminders a week before (to give time to buy cards) and an sms day of bday to remind me to make call…

2008-09-01 10:46:22
Jackson

Cool! Does this method support automatic refreshes when the new birthdays dates are added into Address Book?

2008-09-17 14:01:31
Trisha

How do I modify this to only use the “alert” feature (message with sound) so it pops up the reminder on my computer, without sending the email? Do I just leave off the section beginning with “New Mail Message”?

The reason I don’t want the email is because I use MobileMe to keep my calendars synchronized between my laptop and desktop, and while it still has a lot of bugs/flaws to work out, it does a good job of keeping iCal items in sync. However, I only use Mail on my Laptop, not my desktop, and this keeps triggering Mail to open on my desktop, which is really screwing up my email. I really only want the popup reminder…..

Thanks for the automator script - this is really helpful. I don’t know why Apple doesn’t fix this glaring flaw in their applications for Address Book and iCal, but this certainly fills the gap.

2008-09-19 12:54:18
Jackson

If all you need is the alert feature, then in Automator remove every action except iCalBirthdays from the workflow. Also remember to configure the type of alert you prefer.

2008-09-17 22:44:19
Micah
Subscribed to comments via email

Hello - This looks totally brilliant… When I open it in iCal, it tells me:

“The action “iCalBirthdays” could not be loaded because it could not be located.”

Basically, it means the very first part of the Automator function (the alarm part) doesn’t load into Automator, but every other part of it does… Can you tell me why that may be?

Thanks

2008-09-19 12:55:05
Jackson

Are you running Tiger? It seems this script only works with Leopard.

2008-09-19 22:07:25
Mosscow
Subscribed to comments via email

Hi Jackson -

Actually, I’m running the latest and greatest 10.5.5 - do you simply open the provided Automator script in Automator, or do you manually create a calendar first in iCal, and THEN open the script?

Thanks

(Comments wont nest below this level)
2008-09-20 02:10:07
Jackson

Hmm. Let’s go through a couple of things:

First, delete the script you already have. Empty trash.

1. Do you have your contacts’ birthdays already set in Address Book?
2. Try turning on the Birthday’s Calender in iCal. Preferences -> General -> check Show Birthdays Calender.
3. Download and open the script in Automator again.

2008-10-05 17:32:02
Mosscow
Subscribed to comments via email

Yup - deleted the script, and double checked that I do indeed have the Birthday Calendar selected and visible in iCal…

Uploaded with plasq’s Skitch!

2008-09-19 02:02:34
mst
Subscribed to comments via email

Brilliant script works beautifully….thanks!

I’d also like a popup reminder rather than an email though….is this a possibility? Also do you know how to enable this alert functionality on other read-only iCal sunscriptions? I use Toodledo to organise my life and the items are effortlessly synced to my home desktop iCal, work desktop iCal, laptop iCal, iPhone calendar and the web. I’d love to be able to get a popup notification from iCal the day before each todo is due….

Thanks for all your efforts! :)

2008-09-19 12:57:22
Jackson

Yup, if you only need the alert feature, open the script in Automator and remove all the actions except iCalBirthdays.

I’m currently looking into alerts for iCal subscriptions. I have an F1 calender and would like to have an alarm go off a few minutes before each race. I’ll post the workflow here if I manage to get it to work.

2008-10-19 19:29:14
Cristiano
Subscribed to comments via email

I got an error message on the “get contact information” part… and it stopped at this point…

2008-11-10 06:41:40
Katie
Subscribed to comments via email

This doesn’t seem to be updating when I add new information via the address book. I’ve re-run the iCal plug in after changing info, shouldn’t the new birthdays appear? I changed a friends birthdate from the 2nd to the 5th and now it’s disappeared completely. Any ideas on what I might be doing wrong??

Thanks.

2008-11-11 01:19:34
Jackson

For those having issues, try downloading the appropriate versions for your OS (Tiger/Leopard). Install the action into Automator, open the Birthday Reminders workflow and replace the iCalbirthdays action with the newer one. Give it a try.

http://code.google.com/p/icalbirthdays/

2008-12-01 04:59:55
Valla
Subscribed to comments via email

Ok, I am getting completely lost at the “Save as Plug-In” part. I saved the sent e-mail as a Plug-In, but I can’t seem to find the dropdown menu that says iCal Alarm. When I run your program, everything works like a peach. However, I tried to get it to repeat with the iCal alarm settings as they are shown, but it’s not working. Can you walk me through the specifics in detail from the point where the e-mail pops up? PS I never actually see the Automator when I run the program. It just does it all itself; was it supposed to happen that way? Thanks, this program is going to save my life :o)

2008-12-01 22:18:18
Valla
Subscribed to comments via email

Hello Jackson,
I have been trying hard to figure this out. I opened the Automator and put together the chain myself and it works when I Run it, but it doesn’t work from iCal. Any ideas? :o) Valla

2008-12-02 14:32:21
Jackson Chung

Do you mind telling me exactly what you’ve done up to the point when you say it doesnt work in iCal?

(Comments wont nest below this level)
2008-12-02 20:14:33
Valla
Subscribed to comments via email

Ok, I think I followed your instructions to a T. However, once the alert is in iCal, the e-mail saves to “Outgoing Mail” but doesn’t send. When I run the Automator, the email sends. Any ideas? Thank you for responding!!!

2008-12-06 09:39:48
Jackson Chung

That sounds pretty weird. After cracking my brains, I can’t figure out why it will work in Automator but not in iCal.

2008-12-05 13:08:13
Omer

This is great!!!

Reply

You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.