Human Capital Management Blogs by SAP
Get insider info on SAP SuccessFactors HCM suite for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
cancel
Showing results for 
Search instead for 
Did you mean: 
Dharmin_Thakkar
Product and Topic Expert
Product and Topic Expert
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

 

 

 
42 Comments
former_member17601
Discoverer
0 Kudos
perfect
former_member20574
Discoverer
0 Kudos
Good Read!
NeeleshKamath
Product and Topic Expert
Product and Topic Expert
0 Kudos
Excellent Blog Dharmin!
Kumaran_HXM_CSP
Product and Topic Expert
Product and Topic Expert
0 Kudos
A very useful and often requested feature by customers. Thanks.
former_member21729
Participant
0 Kudos
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.
Dharmin_Thakkar
Product and Topic Expert
Product and Topic Expert
0 Kudos
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
EMEISTER
Explorer
0 Kudos
Great stuff.  Thanks for this.
0 Kudos
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
Dharmin_Thakkar
Product and Topic Expert
Product and Topic Expert
0 Kudos
Thank you Victor!!!
Dharmin_Thakkar
Product and Topic Expert
Product and Topic Expert
0 Kudos
Thanks Shubham!!!
Dharmin_Thakkar
Product and Topic Expert
Product and Topic Expert
0 Kudos
Thank You Ellen!!
0 Kudos
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
former_member57627
Discoverer
0 Kudos
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.
former_member48525
Discoverer
0 Kudos
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
0 Kudos
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"

0 Kudos
Hello dharmin.thakkar,

That's a good solution for employee, but how can I notify to RRHH without create workflows? Can U help me
former_member19421
Discoverer
0 Kudos
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

 
Trudi1
Explorer
0 Kudos

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

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

 
Dharmin_Thakkar
Product and Topic Expert
Product and Topic Expert
0 Kudos
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
0 Kudos
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
0 Kudos
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
suleymaneltut
Discoverer
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?
Madel
Discoverer
0 Kudos
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
0 Kudos
Hello Madel, maybe you have wrong conditions in the rule.
SonamPandey
Explorer
0 Kudos
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
jmccoy
Explorer
Thank you for this idea, I'm currently using this for a client and it works wonderfully.
Nbodi
Participant
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,
Dharmin_Thakkar
Product and Topic Expert
Product and Topic Expert
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.

 
former_member109056
Discoverer
0 Kudos
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

 

 
ArijitSardar
Active Contributor
0 Kudos
Excellent Blog. I am also implementing this. Thank you Dharmin.
aswini1
Explorer
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
former_member765461
Discoverer
0 Kudos
Great work @Dharmin Thakkar
nuntawatworam
Newcomer
Hi Dharmin,

 

Thank you for the solution. This method has been working for me for almost 2 years. However, when I configure this method for my latest client, I noticed that the notification via workflow stop working if data has been imported via "import and export" or "Integration Center".

 

I've found this KBA 2834525 - Workflow not triggered via imports (API or UI) - SuccessFactors Integrations - SAP ONE Sup... which currently contradict with what we were able to do.

 

Is it still possible to trigger email notification with the method in this blog?

 

Thanks,

Nuntawat
PetrZeleznik1
Explorer
0 Kudos


Hi Dharmin,

Thank you for the solution and for this useful information.
We need to create a custom mail through the Document Generation Template, but in this case the mail did not start. Is there any possibility to trigger the workflow through an import means working with Document Generation Template?
Do you have any ideas or solutions please?


Thank you very much and have a nice day 🙂
Petr
saswati
Explorer
0 Kudos
I am getting the same issue. Does anyone know the fix?

 

dharmin.thakkar
hrrvic
Explorer
0 Kudos
Hi Dharmin,

 

A very good document to follow, it has helped us to congiure, but got stuck, I have got an issue when I checked the birthday object via “manage data”, for any System Administrators, the job didn’t update the “dobBiog” field, it stays Null,this is the error that shows while intergratrion process also.

Can you please help us on the same.

Looking forward for a reply from you.

Thanks & Regards,
Sridevi
robinkumar15
Discoverer
0 Kudos
you can use images as well in the alerts with HTML tags , you need to publicaly host it in sap and use the same hyperlink in the alert msg , you will get image in the alerts for the employees .
robinkumar15
Discoverer
0 Kudos
in the same way , if we want to send the work anniversary alerts to employees , i think alerts will support only limited tokens ,

how can we add , no of years in the alert subject or mail body ,

any workaround please suggest .
29012015
Discoverer
0 Kudos
Very Useful.Thank You.
aynur_onay
Explorer
0 Kudos
Hi Dharmin,

This is a very useful solution, thank you very much. I applied it and it worked for birthday alerts. I added an extra field to the birthday object for sending notifications to the manager 3 days before the birthday.

I want to ask for anniversaries, can I use the Original Start Date field in employment details instead of creating a field in Biographical info?

Thanks,

Aynur
aynur_onay
Explorer
0 Kudos
Hi,

I'm sure you find the solution but I wanted to share for the others who see this article later;

It should be like that: