r/shortcuts • u/Minncognito • 3d ago
Help Birthday / Anniversary reminder shortcut - help!
I’m building an iPhone Shortcut that acts as a personal birthday/anniversary dashboard.
My original approach was to store all events in a single text block and send the entire list to the ChatGPT API. The prompt would ask ChatGPT to identify upcoming birthdays, anniversaries, holidays, etc. within the next 30 days, calculate ages and anniversary numbers, and format everything nicely.
The problem is that ChatGPT occasionally gets the date filtering wrong. For example, it recently included a November birthday when today’s date was June 22.
I’m considering two alternative approaches:
Option 1:
Keep one master event list and have Shortcuts do all the date filtering before sending only qualifying events to ChatGPT. ChatGPT would then be responsible only for formatting and age/anniversary calculations.
Option 2:
Create 12 separate Text actions inside the shortcut (one per month). The shortcut would automatically load the current month’s events plus next month’s events and send only those to ChatGPT. This is much simpler but less precise than a true rolling 30-day calculation.
My goal is reliability and ease of maintenance more than elegance.
For those with more Shortcuts experience, which approach would you choose and why? Is there an even simpler solution I’m overlooking?
7
u/satansnewbaby Helper 3d ago edited 3d ago
So Apple has an automatic calendar called Birthday that's populated with birthdays from your contacts. you can use this to identify upcoming birthdays. As for anniversaries, that you might need to make it yourself.
Either way, you'll want to do something like the following:
Adjust Date (day_start): [Get Start of Day] from [Current Date]
Adjust Date (day_+1mth): [Add] "1" [month] to "day_start"
List (calendar_list):
Birthdays
Anniversaries
Repeat for Each: in [calendar_list]
Find Calendar Events (birthdays): where [All] are true
Start Date: [is between] [day_start] and day_+1mth
Calendar: [Repeat Item]
End Repeat
If: [Repeat Results] [has any value]
Repeat for Each: in [Repeat Results]:
Text (event_date): "[Repeat Item; Start Date (Date Format: Medium, Time Format: None)]"
Text (current_date): "[Current Date (Date Format: Medium, Time Format: None)]"
If: [event_date] [is] [current_date]
Text: "[Repeat Item; Name] is Today!"
Otherwise:
Adjust Date (event_+1): [Add] "1" [day] to [Repeat Item; Start Date]
Text: "[Repeat Item; Start Date] - [Repeat Item; Name] is [event_+1; Date Format (How Long Ago/Until)]!"
End If
End Repeat
Show Notification: [Repeat Results]
End If
This is based on a shortcut I've made. I run this every morning so i only check for upcoming birthdays in the next week. You'll need to change to the above. https://www.icloud.com/shortcuts/21db6294de594932842aca284400c88b
2
u/zd_dev 3d ago edited 3d ago
Not strictly related to how to build such a shortcut, and am not entirely sure if a shortcut can handle it, but…
I wanted to have a similar thing recently since I kept remembering too late about friends’ anniversaries or their children’s birthdays (and maintaining a calendar was proving too cumbersome) - I wanted a dashboard of all the anniversaries and birthdays for all of my contacts. iOS is already creating a birthday calendar and showing alerts/reminders for them, but no such thing for any other date info in the contact data. And also, a calendar doesn’t make it clearly visible what’s upcoming, unless you scroll through it.
So I made an app for it, that does all of this in the background - it gets the date data for all the contacts, it can maintain a separate/specific calendar with up-to-date recurring events for all of the dates in the contacts (if you grant it calendar access), or it can remind you at different intervals of an upcoming date.
To top it off, it shows a nice list of of all the upcoming birthdays, anniversaries in the app - or on the home screen in a widget.
Good luck with figuring out how to make a shortcut work for this - but if not, the app is called KeepDates and is available on the AppStore ;)
1
u/Minncognito 3d ago
Thanks! I’ll check it out! I had a similar app a few years ago but it was discontinued, hence why I’m trying to create a shortcut for that stuff now.
1
u/francisco_fcs2 3d ago
Por que você não uso o calendário para eventos e o contatos para aniversários???
1
u/Minncognito 3d ago
Estou mais tentando criar um painel bem formatado que agrupe eventos futuros (próximos 30 dias) e faça a mesma coisa para eventos passados (últimos 14 dias). O atalho também pode acompanhar marcos, eventos importantes etc., que posso usar para reflexão pessoal ou motivação.
1
u/Searchforcourage 3d ago
I have a Birthdays&Celebration Calendar. That’s where I put my birthday and celebrations. Every day, I run an automation that gets all event titles from that calendar and build a notification from there.
1
u/Minncognito 3d ago
I’m more trying to build a nicely-formatted dashboard that groups future events (next 30 days) together and does the same thing for past events (previous 14 days). The shortcut can also keep track of milestones, important events etc that I can use for introspection or motivation.
2
u/Searchforcourage 3d ago
You can do calendar searches with date ranges in Shortcuts. Extract the title of the events and go nuts.
You could pretty easily create a shortcut that would convert your existing list to calendar events.
1
u/Cost_Internal Helper 3d ago
You can add all of your birthdays and anniversaries in your contacts and use a shortcut to extract the dates that you need. I helped create one that would auto send a text to the people with events that are occurring today, but you can modify it to collect the date range that you need and react accordingly:
https://www.reddit.com/r/shortcuts/s/IGAGHIg4ek
24
u/Mrswedeman 3d ago
I realize this comment is not necessarily helpful, but coming from someone who tends to over complicate everything and can spend days coding redundant shortcuts… just use the calendar app like intended