Daily birthday and anniversary digest from Google Contacts to Slack
Every weekday at 8am, get a Slack digest of today's birthdays and work anniversaries from your Google Contacts, with a personal draft message for each one.
Every weekday at 8am in my timezone, post a personalized birthday and work anniversary digest to a Slack channel I configure, sourced from my Google Contacts address book. Trigger is cron.
What the agent should do on each run:
1. Call Google Contacts List Contacts and request the names, birthdays, organizations, and emailAddresses person fields. Page through results if there are more contacts than one page returns.
2. For each contact, check whether today's month and day match either (a) the contact's birthday, or (b) the joinedDate of any organization on their record. Treat (b) as a yearly work anniversary at that company. Compute years elapsed since the joinedDate so the message can say something like '5 years at Acme'.
3. For each match, draft a short Slack message I can copy and send. Warm, friendly tone, two or three sentences. Reference the person's company or role from the contact record. For anniversaries, include how many years it has been. End each draft with the person's email so I can reach out directly.
4. Build a single Slack message led by a one-line summary header like 'Today: 2 birthdays, 1 work anniversary'. Below the header, include each drafted note grouped under a clear label such as 'Birthday: Sam Chen' or 'Work anniversary: Priya Rao, 5 years at Acme'. Post that message into the Slack channel I configure using Slack Send a Message (the slackbot integration).
5. If there are zero matches today, do not post anything. The channel should stay silent.
Quiet-day rule: skip Saturdays and Sundays unless I explicitly enable weekend runs. Make 'include weekends' a toggle I can flip later.
Configurable inputs I should be asked for: the Slack channel to post into, my timezone, and whether to run on weekends.
Additional information
What does this prompt do?
- Reads today's birthdays and work anniversaries straight from your Google Contacts address book, no spreadsheet or manual tracking required.
- Drafts a warm, two or three sentence message for each person, with their company, role, and email already filled in so you can copy and send.
- Posts a single Slack digest into a channel you pick, led by a one-line header like 'Today: 2 birthdays, 1 work anniversary'.
- Stays quiet on weekends and on days where nothing is happening, so the digest never adds noise.
What do I need to use this?
- A Google account with contacts that have birthdays and a current company filled in. Work anniversaries are read from each contact's 'joined date' on their company.
- A Slack workspace and a channel you want the digest posted into. A private channel or a DM to yourself both work.
How can I customize it?
- Change the time, switch to a different set of weekdays, or turn weekends on if you want them included.
- Send the digest to a public channel, a private one, or a DM with yourself. You can also route it to a teammate who handles outreach.
- Tune the message tone (warm, formal, short, playful), or change what details get pulled in such as role, company, mutual context, or anniversary years.
Frequently asked questions
Where do the birthdays and anniversaries come from?
What happens on weekends?
Does this send the message for me?
What if there are no birthdays or anniversaries today?
Can I use this with my work contacts in Google Workspace?
Never miss a contact's birthday or work anniversary again.
Connect Google Contacts and Slack once, and Geni posts a fresh digest with ready-to-send drafts every weekday morning at 8am.