Skip to Content
Product Information
Author's profile photo Dharmin Thakkar

Birthday and Anniversary alerts to the employees in SuccessFactors

Hello All,

Greetings of the day!

Most of the SuccessFactors customers are looking for this requirement – sending an email to employees on their birthday or anniversary. Personally, I know a few customers who use 3rd party paid tool to send birthdays and anniversaries alert. After a lot of analysis, I have figured out a way to send birthday or anniversary alerts to the employees of the company.

Prerequisite –

  1. Integration Center.
  2. Alerts and Notification.

How this requirement can be achieved?

  1. Create an MDF object – Example ‘Birthday’. Add two date fields in the object – ‘field-1’ (which will be DOB from biographical information) and ‘field-2’
  2. Convert ‘field-1’ date to current year (keeping date and month same) using business rule. For example – ‘field-1’ has a date as of 01/01/1989 than ‘field-2’ should be 01/01/2019 (current year – 2019).
  3. Configure an alert rule on ‘field-2’ (If ‘field-2’ equals today, trigger an alert)
  4. In the Integration Center, configure an integration schedule which will pick Date of Birth from Biographical information and input in ‘field-1’ under the MDF object created in Step-1.
  5. Thus, through integration center, ‘field-1’ will be defaulted (from biographical info > date of birth field). The rule will convert ‘field-1’ date to current year keeping date and month same as ‘field-1’ which sets in ‘field-2’.
  6. Schedule EC alerts and Notification job from provisioning. When the job will run, the alert rule will get a trigger and if ‘field-2 is today, and an alert will be sent to the employees.

 

Create an MDF object named ‘cust_birthday’. Configure two date fields. I have created cust_dobBiog and cust_customDOB. The ‘external code’ should be ‘user’ field. API visibility should be visible.

 

Configure a rule to convert ‘cust_dobBiog’ field to current year keeping date and month same. Example – ‘cust_dobBiog’ is 01/01/1990 then ‘cust_customDOB’ should be 01/01/2019 (taking current year – 2019). Below rule should be configured as ‘Save Rule’ under Configure Object Definition > Object ‘Birthday’

 

Configure an Alert rule in the MDF object ‘Birthday’. The rule should be under ‘Post Save Rules’. The rule will consist of a Workflow, Alert Message. The workflow will only have Cc role as Self. The Alert Due Date will be today.

The workflow should be configured under ‘Manage Organization, Pay and Job structure.

The alert message should be configured under Manage Data > Alert Message.

 

The workflow should be configured as below.

 

 

Alert Message should be configured as below. Alert Description can be changed as per the requirement.

 

Under Integration Center, schedule a daily job to fetch Date of Birth from Biographical information to MDF object Birthday > cust_customDOB. Prefer to run job during midnight (basically during low server load).

Give Integration name and Description

Configure Fields. Take Biographical Information as a base object. Use Field mapping tool to map :

  1. The date of birth from Biographical information to MDF object cust_customDOB field.
  2. External code to user id of the user.

Make sure the operation used is ‘Single Upsert’ and Purge Type is ‘Full Purge’

The configuration looks like below

Create a daily schedule with Start time (recommendation is to use when the load is minimal).

Set the schedule and review.

 

Example Below :

Today’s date is 03/07/2019. User Milan Bakker has a birthday – 03/07/1982 (Shown below). The business email id should be maintained.

Run the integration created in the above steps.

After the job has been run successfully, objects will be created under Manage data > Birthday. For the user Milan Bakker, an object will be created, Date Of Birth from Biog will be 07/03/1982 and custDOB will be 07/03/2019 (per the configured rule). The rule will compare custDOB with today’s date.

If the rule condition matches, an alert will get trigger after EC alerts and notification job has been run.

 

We can have the same configuration for the anniversary date :

  1. Create a date field under Biographical Information (say Anniversary date). You can do this from Manage Business Configuration.
  2. Create an MDF object – Example ‘Anniversary’. Add two date fields in the object – ‘field-1’ (which will be Anniversary date from biographical information) and ‘field-2’
  3. Convert ‘field-1’ date to current year (keeping date and month same) using business rule. For example – ‘field-1’ has a date as of 01/01/1989 than ‘field-2’ should be 01/01/2019 (current year – 2019).
  4. Configure an alert rule on ‘field-2’ (If ‘field-2’ equals today, trigger an alert)
  5. In the Integration Center, configure an integration schedule which will pick Anniversary date from Biographical information and input in ‘field-1’ under the MDF object created in Step-1.
  6. Thus, through integration center, ‘field-1’ will be defaulted (from biographical info > Anniversary date field). The rule will convert ‘field-1’ date to current year keeping date and month same as ‘field-1’ which sets in ‘field-2’.
  7. Schedule EC alerts and Notification job from provisioning. When the job will run, the alert rule will get a trigger and if ‘field-2 is today, and an alert will be sent to the employees.

The process is the same as birthday alert except to create a custom field in Biographical Information and default the MDF field to the anniversary date field value.

 

Kindly note – For a large number of employees, integration center will full purge the data and create new data on a daily basis. Thus might take time for the job to run hence it is recommended to schedule the job when the server load is minimal.

Thank you for reading the blog. I request your feedback on the above configuration. Kindly let me know in case of any limitation which I can try to overcome. I have tested in my demo instance and it works as expected.

 

Regards,

Dharmin Thakkar

 

 

 

Assigned Tags

      37 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Victor Zhouliang Ying
      Victor Zhouliang Ying

      perfect

      Author's profile photo Dharmin Thakkar
      Dharmin Thakkar
      Blog Post Author

      Thank you Victor!!!

      Author's profile photo Shubham Sharma
      Shubham Sharma

      Good Read!

      Author's profile photo Dharmin Thakkar
      Dharmin Thakkar
      Blog Post Author

      Thanks Shubham!!!

      Author's profile photo Neelesh Kamath
      Neelesh Kamath

      Excellent Blog Dharmin!

      Author's profile photo Kumaran Purushothaman
      Kumaran Purushothaman

      A very useful and often requested feature by customers. Thanks.

      Author's profile photo Ramesh Prabu
      Ramesh Prabu

      Great effort Dharmin.

      But the expectation from customers is to have a colorful image at the background and then have a stylish texts with their fonts! Lets see if SF enhances this.

      Author's profile photo Dharmin Thakkar
      Dharmin Thakkar
      Blog Post Author

      Hello Ramesh,

      Thank you for reading the blog. We can use rich texts in an alert message. Kindly go through the KBA 2663385 - Can we use Rich Text/HTML/Text Color in alert messages ?

      Regards,

      Dharmin

      Author's profile photo Rakesh Aluru
      Rakesh Aluru

      Hi Dharmin,

       

      But can we use image in the alert message? Eg - a happy birthday image in the email notification. The KBA talks about the color/Font only.

       

      Regards

      Rakesh

      Author's profile photo Allan Zeferino
      Allan Zeferino

      Does it work with the dependent date of birth? How would it work?

       

      Best Regards

      Author's profile photo Dharmin Thakkar
      Dharmin Thakkar
      Blog Post Author

      Hello Allan,

      I doubt this will work for dependents DOB. Integration center will fetch only the first value of the table hence MDF object will be updated with only one DOB which is in the first row of the dependent portlet. I will have to try but seems not possible.

      Author's profile photo Persio Tanga
      Persio Tanga

      Hi Allan,

       

      Could you find any workaround/ solution  for this scenario ?

      Sorry to ask almost two years passed.

      Thanks,

       

      Pérsio

      Author's profile photo Allan Zeferino
      Allan Zeferino

      Hello Persio,

       

      I still having problem with that, and I didn't find any solution yet.

       

      At this moment I'm working in a project with this request and we have an incident in the SAP to find out a solution.

       

      Any update I let you know.

      Author's profile photo Ellen Meister
      Ellen Meister

      Great stuff.  Thanks for this.

      Author's profile photo Dharmin Thakkar
      Dharmin Thakkar
      Blog Post Author

      Thank You Ellen!!

      Author's profile photo Alexandra Marcu
      Alexandra Marcu

      Can I ask you why you choose full purge with Upsert Single? I found the below note that says that full purge is not supported with upsert single.

      https://apps.support.sap.com/sap/support/knowledge/public/en/2670250

      2670250 - OData Operations and Purge Types For Inbound Integrations
      Author's profile photo Sohan Inamdar
      Sohan Inamdar

      Hi Dharmin,

      Great work. Very thorough and detailed blog. Easy to follow and implement. I could configure and business is happy with the birthday and anniversary alerts.

      Author's profile photo sfsupport sfsupport
      sfsupport sfsupport

      Hi Dharmin,

       

      Thanks for the Blog.

      One of the requirement w have is that the Birthday mail to be triggered to Employee and Copy(CC) to Manager.

       

      Copying manager, would this be possible. Note - He should be receiving the same mail as a CC.

       

      Thanks,

      Rijuraj

      Author's profile photo Sutong Shi
      Sutong Shi

      Hi Dharmin,

      Great work. Very thorough and detailed blog. Easy to follow and implement. I could configure and business is happy with the birthday alerts. But I cannot find the "Birthday" object if "Manage data",I have already configure the UI of "Birthday"

      Author's profile photo Magdaly Alejandra Quiem Bonilla
      Magdaly Alejandra Quiem Bonilla

      Hello Dharmin Thakka,

      That's a good solution for employee, but how can I notify to RRHH without create workflows? Can U help me

      Author's profile photo Ajay Kumar
      Ajay Kumar

      Hi Dharmin,

      I have this approach and able to create MDF object using IC but Alert is not triggering. Rule is correct as I am following this blog.

      I am getting below trace :

      Call function 'triggerMDFAlertEvent' with parameters [BirthdayAnniversary_AK (BirthdayAnniversary_AK), Wed Dec 11 00:00:00 CET 2019, BirthdayAnniversary (BirthdayAnniversary), Mark Taylor (100239), AlertAk (AlertAK)]. Result: 'null'. Duration: 1635 microseconds.

      Can you help me on this?

      Thanks.

      Regards,

      Ajay

       

      Author's profile photo Trudi Wang
      Trudi Wang

      Hi Dharmin,

      Thanks for the blog.

      I have got an issue when I checked the birthday object via “manage data”, for any System Administrators, the job didn’t update the “CurrentYearfromDOB” field, it stays Null, however all other employees have this field updated.

      Do you know why it happened?

      thanks

      Author's profile photo Mohit Kumar
      Mohit Kumar

      HI Dharmin,

       

      Thanks for sharing. this is quite cool.

      I was wondering why are you using Integration Center just to read the birthday (and +1 year date) of the employee. I quite certain that withing the Rule and using context you can read the birthdate and then using Date rules you can compare the date and month to today's date and month to determine if birthday is today. if that doesnt work, you can write a On-SAve rule at teh time of hiring and save this birth date in the MDF as CREATE works in the rule for MDF when you call it from JOB INFO. thus you can save on running one less job. just a thought.

       

      Author's profile photo Dharmin Thakkar
      Dharmin Thakkar
      Blog Post Author

      Hello Mohit,

      I don't think both the options will work

      1. It will be a cross portlet rule between biographical information and the mdf object
      2. Birthday alert will trigger only for one year. Next year you will have to again update the field.

      Regards,

      Dharmin

      Author's profile photo Tanya Garcia
      Tanya Garcia

      Hi Thank you for putting this together, it' very helpful!

      I'm wondering if there is a way to include the employees tenure in the email notification.

      For example: " Happy 3 year anniversary"

       

      Regards,

      Tanya

      Author's profile photo Aditya Sai Karuturi
      Aditya Sai Karuturi

      Hi,

      Thanks for the great blog. Is it possible to add custom theme and text customer specific in an alert message?I am trying that using the custom email notifications from the document generation but i am getting the standard text in the alert message.

       

      Thanks,

      Aditya

      Author's profile photo suleyman Eltutar
      suleyman Eltutar

      Hi,

      thanks for this useful information. I want to create custom mail via document genaration template but in this case mail did not triggered. Do you have any idea of limitation?

      Author's profile photo Madel Sumagang
      Madel Sumagang

      Hi Dharmin,

      Thanks for this. This has worked for me for a couple of months. However, yesterday, there have been multiple notifications fired by this configuration. What could possible be the reason?

       

      Thanks!

      M

      Author's profile photo alexandra marcu
      alexandra marcu

      Hello Madel, maybe you have wrong conditions in the rule.

      Author's profile photo Sonam Pandey
      Sonam Pandey

      Hi Dharmin,

       

      Thanks for the detailed blog.

      However, when i am trying to run the job i am not getting  data in Manage data  or any birthday message. please confirm if any steps are missing here.

      Thanks,

      Sonam

      Author's profile photo Joel McCoy
      Joel McCoy

      Thank you for this idea, I'm currently using this for a client and it works wonderfully.

      Author's profile photo Nadina Bodi Alcover
      Nadina Bodi Alcover

      Hi Dharmin,

      But why is it necessary to do this through the integration center? it would not be enough to create the alert rule and assign it onPostSave in Manage Business Configuration?

      Thanks,

      Regards,

      Author's profile photo Dharmin Thakkar
      Dharmin Thakkar
      Blog Post Author

      The rule will trigger only once and thus the notification will be sent for only one year and not every year. The birthday notification should be recurring meaning it should be sent every year.

       

      Author's profile photo Sampath Reddy Anumasu
      Sampath Reddy Anumasu

      Hi Dharmin

       

      Very insightful documentation, Any thoughts around the custom solutions to send congratulations mails for various scenarios, like work anniversary, festivals based on the holiday calendar, or national days.

      most of the customers expecting this solution.

      Thanks

      Sampath

       

       

      Author's profile photo Arijit Sardar
      Arijit Sardar

      Excellent Blog. I am also implementing this. Thank you Dharmin.

      Author's profile photo Aswini Aswini
      Aswini Aswini

      Hi Dharmin,

      I jus started learning Integration,And trying to implement this for my Client.

      can u help me on which all the feilds that u chose for this integration in the below page,

       

      Thanks,

      Aswini

      Author's profile photo Muhammad Ali
      Muhammad Ali

      Great work @Dharmin Thakkar