Here's the best way to manage birthdays in Zoho CRM for sending automated "Happy Birthday" emails and other common use cases. It would also work well for dealing with any kind of annual renewal scenario.
First, create a Date field "Next Birthday". When entering a Contact's birthday for the first time, select the Contact's next upcoming birthday.
Then create a Workflow Rule that will perform two actions:
1. Send your "Happy Birthday" email.
2. Update the Contact's "Next Birthday" date field to +1 Year.
The Workflow trigger would look something like this:
Don't get hung up on the "Recur Once" part. No need to worry. Since we will be also changing the Contact's Next Birthday to +1 Year after the email is sent, the Workflow will again trigger next year too!
Conditions:
No need to set a Condition unless there is an Opt Out or other kind of restriction at play. All Contacts is fine.
Actions:
Two Actions to configure:
1. Send the Birthday Email, create a Task, or whatever you want here.
2. Use a custom function to set the Contact's "Next Birthday" field to next year.
Pass the Contact's ID and current Next Birthday values to the function as parameters:
And all you need is this single line of code for the function:
resp = zoho.crm.updateRecord("Contacts",ContactID,{"Next_Birthday":NextBirthday.addYear(1)});
That's it!
The Happy Birthday email will be sent to the Contact the morning of their birthday and the Next Birthday date will be pushed to next year, ready for next time to trigger again.