Update 2: Unfortunately LinkedIn removed the ability to grab the birthdays of your connections from its API a while ago, so this tool no longer works. 🙁 Sorry all! Tell LinkedIn you want this back!
Update: I recently reworked this tool and added some more options, and moved it to its own domain: http://www.linkedinbirthdays.com/ Enjoy!
Presenting a little tool to the world that others may find handy: my LinkedIn Birthday Reminders web app. It hooks into the LinkedIn API, grabs a list of your contacts, and generates an iCal file that you can import into your calendaring program and receive reminders throughout the year. (Can be imported into Outlook, Google Calendar, OS X’s iCal, etc.)
The motivation behind creating this? First, LinkedIn gives you no easy way of exporting the data yourself. Second, I needed an excuse to learn Node.js. A few hours and an entire RFC later, I had a nice working prototype.
How does it work? It begins with the official LinkedIn API, and the ability to do an OAuth sign-in from any site. When you click on the sign in button (and don’t worry, I never gain access to your credentials), LinkedIn authorizes the request, and then some Javascript extracts a list of your contacts’ names and birthdays. This is then sent to my Node server and script via AJAX, and for everyone that has a usable birth date, the Node script cycles through them and generates a .ics file to download. The link to the file is passed back to the browser and presented as a download button, and after the download is complete, the file is then scrubbed from the server. Fairly simple stuff, and when I get around to it, I’ll put the source on GitHub. If you spot any bugs, be sure to let me know!
I invite you to try it out and grab the downloadable .ics for your contacts, and then make everyone’s birthday a little bit brighter by sending them some special day wishes!
Resources used:
- http://oranlooney.com/json-round-trip/ – Only sane explanation of getting/sending JSON with node.js
- https://github.com/broofa/node-uuid – Great little node.js library to generate UUIDs
- http://icalvalid.cloudapp.net/ – Fantastic iCal file verifier, like W3C’s HTML validators. Thank you internets.
- http://arguments.callee.info/2010/04/20/running-apache-and-node-js-together/ – Simple explanation and code for doing small proxying from Apache to node.js
- http://tools.ietf.org/html/rfc5545 – The official RFC (whew!) on the iCal file format.
Small Aside
Want a reason why I think the OS X operating system is fantastic? Check out the icon for this .ics file that I downloaded using my app:
The fact that the date shown is Oct 7 and the text says “Christian’s Birthday” is no coincidence—that is the first event in the .ics file! Now how cool is that? 🙂
Man! This works really well. It’s great, I won’t be seen as the bad friend anymore 🙂 Just a suggestion:it would be even better if you could click on the man of the birthday person and it would direct you directly to the Send message to Mr X box in Linkedin
Great suggestions, thanks! I’ll see what I can do about that.
I actually threw the source up on Github not too long ago, so anyone can improve make changes to it if they’d like: https://github.com/jlyman/linkedin-birthday-reminder
Joshua, just discovered your app. It is great!!!!!!
I exported the birthdays of all my LinkedIn contacts, imported in my Google Calendar, and it works!!!!
I want to use your app not ping my business contacts, so that I can be positioned in their heads.
Keep the app updated, and I will definitely recommend it.
Greetings from Spain.
Great work with the app!!
Does this app still exist/work?
Unfortunately not. 🙁 LinkedIn removed the ability to grab birthdays from their API, so we’re out of luck.