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

Jackson Chung 31-08-2008

Birthday Alarms, Automated Email Notifications and iCal [Mac Only] ical iconMost 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.

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

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.

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

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.

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

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.


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

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.

Related topics: Calendar, Contact Management, Notification.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Marc
    February 8, 2010 at 5:46 pm

    Your article describes my problem EXACTLY so thanks for sharing your solution. I will try it now and see if it works for me...
    I hope this solution won't open every week...
    PS I didn't read all the comments, but I read the first and the last... I bet you that first Mulder guy is using Leopard or Snow Leopard now... i can't believe how resistant change and ignorant people can be...

  2. v3lvet
    December 28, 2009 at 12:27 am

    Hey Bill and glen, welcome to the world of what Apple is becoming... reminds me of Tiger to Leopard when Apple took out the Bluetooth ability from Address Book that allowed you to SMS your contacts... I find out later it was removed because of the iPhone... the removal of "Save as Plug-In" does not seem to be an accident. All my scheduled workflows are now useless, I'm going back to Leopard. I hate what Apple is becoming...

  3. Bill Martin
    October 28, 2009 at 1:51 pm

    There is NO "Save As Plug-In" in the Snow Leopard version of Automator, only Application and Workflow.

    And I can't find a folder called: iCalAlarm in the drop down menu, either.
    Do I just create the folder in the Application Support folder for iCal, or what?

    Care to update this.... I got all the way to the end before bumping my nose on the brick wall.


    • glen
      November 9, 2009 at 4:06 am

      i have also installed snow leopard and ical no longer works

      it says "Address Book got an error: Can't make missing value into type date"

      any help?

  4. carol
    October 4, 2009 at 8:27 am

    every time I put a birth date in address 5.0 it shows up 2 days before and how do you put the year in without starting at 0? Any assistance is appreciated

  5. glen
    June 12, 2009 at 12:15 pm

    hey jackson

    i have been trying to use the ical automator with a filter beforehand as an input so that my wife & i can keep our collection of birthdays separate (i don't need to know her workmate's birthdays & vice versa)

    i use the "get specified address book items" or "find groups in address book" to separate out our contacts, both of which work fine, but then ical birthdays doesn't seem to use the filtered input and instead accesses all of our contacts rather than just the selected groups

    i would ask the makers of the ical automator, but their website seems to be in german

    hope you can help

    • Jackson Chung
      June 12, 2009 at 12:58 pm

      The problem with the "Find People with Birthdays" action is it doesn't allow any input from other actions. It will search the WHOLE Address book, the filters have no effect.

      The only solution I see for this is to have separate accounts for you and your wife, so she gets her own Address Book. However, remember that she needs to log in so that the Automator plugin can run and send the reminder email.

  6. Blanche Connelly
    April 5, 2009 at 7:02 am

    I have switched to a mac and I need a calendar that will not only put birthdays in put will put the ages every year. Much like windows Calendar creator. To me it seem like it should be easy enough. It is called events in Calendar Creator. I have been making a family calendar for years and that is my Christmas gift to all of my family, which is quite large.

  7. Alan Miller
    February 21, 2009 at 3:38 pm

    Not to alter the topic, but does anyone have an idea for how to get birthdays of children, spouses, etc, into ICal? Do I need to set up a separate contact for each person?

  8. whimsygirl
    February 11, 2009 at 3:16 pm

    The fix is probably good and works beautifully like everyone says, but is there a quicker way? I found my head swimming somewhere in the middle ofit. Apple should just bloody address the problem. And, it wouldn't hurt in the iCal function to include notes, and task alarms much like Outlook.

    • Jackson
      February 12, 2009 at 7:29 am

      Apple is quirky that way. Instead of giving you what you need, they give you what they think you want. Well there is a quicker way but it isn't free. I think the application is called YABI, just Google for it.

  9. Omer
    December 5, 2008 at 1:08 pm

    This is great!!!

  10. Valla
    December 1, 2008 at 4:59 am

    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)

    • Valla
      December 1, 2008 at 10:18 pm

      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

      • Jackson Chung
        December 2, 2008 at 2:32 pm

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

        • Valla
          December 2, 2008 at 8:14 pm

          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!!!

        • Jackson Chung
          December 6, 2008 at 9:39 am

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

  11. Jackson
    November 11, 2008 at 1:19 am

    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.

  12. Katie
    November 10, 2008 at 6:41 am

    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??


  13. Cristiano
    October 19, 2008 at 7:29 pm

    I got an error message on the "get contact information" part... and it stopped at this point...

  14. mst
    September 19, 2008 at 2:02 am

    Brilliant script works beautifully....thanks!

    I'd also like a popup reminder rather than an email 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! :)

    • Jackson
      September 19, 2008 at 12:57 pm

      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.

  15. Micah
    September 17, 2008 at 10:44 pm

    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?


    • Jackson
      September 19, 2008 at 12:55 pm

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

      • Mosscow
        September 19, 2008 at 10:07 pm

        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?


        • Jackson
          September 20, 2008 at 2:10 am

          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.

        • Mosscow
          October 5, 2008 at 5:32 pm

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

 Uploaded with,!

  16. Trisha
    September 17, 2008 at 2:01 pm

    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.

    • Jackson
      September 19, 2008 at 12:54 pm

      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.

  17. Jackson
    September 1, 2008 at 10:46 am

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

  18. dave
    September 1, 2008 at 10:13 am

    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...

  19. Fred
    August 31, 2008 at 9:57 pm

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

    • Jackson
      September 1, 2008 at 12:30 am

      I'm glad that you liked it!

  20. Mulder
    August 31, 2008 at 4:44 pm

    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?

    • Jackson
      September 1, 2008 at 12:29 am

      I'll look into a solution for Tiger.

    • Jackson
      September 1, 2008 at 6:19 am

      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.

    • Mackenzie Morgan
      September 1, 2008 at 9:38 am

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

      • Jackson
        September 1, 2008 at 10:47 am

        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.