I made a Semi Automatic Facebook multi birthday post.
With the help from Tasker, AutNotification and AutoInput.
No root and No google calendar import needed
First intercept the Facebook notification message. And make your own notification.
Profile: AN intercept FB birthday (672)
Event: AutoNotification Intercept [ Configuration:Event Behaviour: true
Has Reply Action: false
Notification Apps: Facebook
Notification Title: Facebook
Notification Text: jarig (<-- = Birthday in your own language)
Get All Fields : false
Get Internal Actions: false
Get Internal Actions Big: false ]
Enter: Anon (669)
A1: AutoNotification [ Configuration:Use HTML: false
Title: %FBtitle, %FBtext
Text: Automatische verjaardags notificatie (<-- = Automatic birthday notification in your own language)
Icon: android.resource://net.dinglisch.android.taskerm/hd_social_group
Status Bar Icon: ic_action_users
Id: com.facebook.katana
Priority: 2
Skip Picture Cache: false
Button 1: Touchactionbirthday
Label 1: automatic click
Icon 1: ic_launcher
Update Notification: false
Only on Phone: false Package:com.joaomgcd.autonotification Name:AutoNotification Timeout (Seconds):20 ]
A2: [X] AutoNotification Cancel [ Configuration:Cancel All: false
Notification Title: %FBtitle, %FBtext (exact)
Notification Text: %FBtext Package:com.joaomgcd.autonotification Name:AutoNotification Cancel Timeout (Seconds):0 ]
A3: Variable Set [ Name:%FBtitle To:%antitle Do Maths:Off Append:Off ]
A4: Variable Set [ Name:%FBtext To:%antext Do Maths:Off Append:Off ]
A5: Stop [ With Error:Off Task: ]
So now when your time is ready, you can click on your own Notification and put the task to work.
The profile starts with intercepting the click on your own notification.
Profile: AN intercept notif. touch (671)
Event: AutoNotification [ Configuration:Event Behaviour
Filter: Touchactionbirthday ]
Enter: Anon (668)
A1: Status Bar [ Set:Collapsed ]
A2: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A3: Send Intent [ Action:android.intent.action.VIEW Cat:None Mime Type: Data:fb://root Extra: Extra: Extra: Package:com.facebook.katana Class: Target:Activity ]
A4: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A5: AutoInput Action [ Configuration:Type: Id
Value: com.facebook.katana:id/notifications_tab
Action : Click
Is Tasker Action: false
Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A6: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A7: AutoInput Action [ Configuration:Type: Text
Value: %FBtext
Action : Click
Is Tasker Action: false
Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A8: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A9: AutoInput UI Query [ Configuration:Only Visible: false
Only Clickable: false
Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput UI Query Timeout (Seconds):20 ]
A10: Variable Set [ Name:%query To:%aitext() Do Maths:Off Append:Off ]
A11: Variable Split [ Name:%query Splitter:, Delete Base:Off ]
A12: Flash [ Text:%query6 Long:Off ]
A13: Variable Set [ Name:%triggerbirthdaytoday To:%query6 Do Maths:Off Append:Off ]
A14: Test Variable [ Type:Length Data:%triggerbirthdaytoday Store Result In:%lengthtoday ]
A15: Flash [ Text:%lengthtoday Long:Off ]
A16: For [ Variable:%bdnames Items:%query() ]
A17: Test Variable [ Type:Length Data:%bdnames Store Result In:%testlength ]
A18: If [ %bdnames ~ *%triggerbirthdaytoday* & %testlength > %lengthtoday ]
A19: Array Push [ Name:%bdnamestoday Position:50 Value:%bdnames Fill Spaces:Off ]
A20: Flash [ Text:%bdnames Long:Off ]
A21: End If
A22: End For
A23: For [ Variable:%bdname Items:%bdnamestoday() ]
A24: Variable Split [ Name:%bdname Splitter:%triggerbirthdaytoday Delete Base:Off ]
A25: Variable Search Replace [ Variable:%bdname1 Search:\A\s+|\s+\z Ignore Case:Off Multi-Line:On One Match Only:Off Store Matches In: Replace Matches:On Replace With: ]
A26: Flash [ Text:%bdname1 Long:Off ]
A27: AutoInput Action [ Configuration:Type: Id
Value: com.facebook.katana:id/events_dashboard_birthday_inline_textbox_layout
Nearby Text: %bdname1
Action : Click
Is Tasker Action: false
Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A28: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A29: Set Clipboard [ Text:Nog van harte gefeliciteerd %bdname1 Add:Off ] (<-- = your birthday message)
A30: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A31: AutoInput Action [ Configuration:Type: Focus
Action : Paste
Is Tasker Action: false
Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A32: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A33: AutoInput Global Action [ Configuration:Action: Back Package:com.joaomgcd.autoinput Name:AutoInput Global Action Timeout (Seconds):20 ]
A34: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A35: AutoInput Action [ Configuration:Type: Id
Value: com.facebook.katana:id/primary_named_button
Action : Click
Is Tasker Action: false
Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A36: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A37: End For
A38: AutoInput Global Action [ Configuration:Action: Back Package:com.joaomgcd.autoinput Name:AutoInput Global Action Timeout (Seconds):20 ]
A39: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A40: AutoInput Global Action [ Configuration:Action: Back Package:com.joaomgcd.autoinput Name:AutoInput Global Action Timeout (Seconds):20 ]
A41: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
A42: AutoInput Global Action [ Configuration:Action: Back Package:com.joaomgcd.autoinput Name:AutoInput Global Action Timeout (Seconds):20 ]
You can download this project and adapt it to your own language.

Facebook multi birthday post 2016-04-14
Semi Automatic Facebook multi birthday post