GoogleContactsEventsNotifier
Receive automatic email notifications before your Google Contacts birthday and other events!
Install / Use
/learn @GioBonvi/GoogleContactsEventsNotifierREADME
Google Contacts Events Notifier

Receive customized email notifications to alert you about incoming birthdays or other events of your Google contacts.
Have you ever wondered why on Earth would Google Calendar provide a calendar to
remind you of your contact birthdays, but without letting you set up
notifications for its events?
I did. And after hours of fruitless searching and browsing I found [a post in
the Google Help Forum][Original Google Help Forum Post] which seemed to provide
a solution, however it did not quite work.
This project takes inspiration from that code to solve the problem of the missing notifications on Google Calendar Birthday Calendar.
Is your script not working? Take a look at the updated [installation guide][Setup and installation guide] and see #199.
<!-- TOC -->- Google Contacts Events Notifier
Note regarding Google Plus integration
This script used to include an option to extract additional info about your contacts from your Google Plus account. As Google Plus is scheduled to be killed between March and April 2019 (see [this blog post from Google][Google Plus closing] and [this follow up][Google Plus closing 2] for more details) this feature had to be removed.
If you are using any version of this script up to and including v4.1.0 you might
have received one or more emails from Google explaining this and asking you to
address this issue in your projects.
If this is the case the only action you need to take regarding GCEN is to update
your script to a more recent version (more recent than v4.1.0) and to remove the
dependecy from the Google Plus API by:
- Opening your script.
- Clicking on
Resources->Advanced Google servicesin the menu at the top. - Disabling the
Google+ APIin the list of available APIs. - Opening the Google Cloud platform API dashboard with the link provided at the bottom.
- Searching for
Google+ APIin the search bar at the top. - Disabling the API by clicking on the
Disablebutton.
Installation and setup
Follow [this guide][Setup and installation guide] to install and setup the script correctly.
Additional information
Stopping/uninstalling/deleting the script
If you just want to stop receiving the notifications, but want to keep the
script for future use just open your script and click Run->notifStop in the
menu at the top.
If you want to stop using the script and want to delete it completely follow these steps:
- Locate the script in [Google Drive][Google Drive website]:
- It should be in the folder you put it into when you created it.
- If you deleted the file you can look in the [trash folder][Google Drive trash] and recover it from there.
- Open the script and click
Run->notifStopin the menu at the top. - In the same menu click
Run->notifStatus, thenView->Logand confirm that the notifications were stopped successfully. - Close the script and open [this Google page][Google connected apps], find the the script (it should have the name you gave it during installation) and click on "Remove access"
- If everything went right it should be safe to delete the script file from
Google Drive.
If you want to be extra sure you can wait some days to confirm that no email is sent to you anymore and only then delete the script file: this is up to you.
Blacklisting specific events for specific contacts
There are three event-types for which notifications can be statically
enabled/disabled for by editing the settings.notifications.eventTypes
configuration variable at the top of the script:
BirthdayAnniversaryCustom
but you can also achieve more fine-grained control per-contact by adding a
custom-field when editing a contact (click Add->Custom...), setting the label
of that field to notificationBlacklist, and setting its content to a
comma-separated list of field-names. In the following example, the script would
notify about Fred's birthday but not his anniversary or his SpecialSecretDay due
to the blacklist:
Name->FredBirthday->1 January 1970Anniversary->31 December 1995SpecialSecretDay->15 June 2001notificationBlacklist->Anniversary,SpecialSecretDay
To minimize confusion the blacklist matches case-insensitively, so for example
ANNIVERSARY, Anniversary, anniversary, or AnNiVeRsArY being in the
blacklist will all succeed in preventing anniversary notifications for the
contact.
Translation
The text of the email notification can be translated into any language if a translation for that language is provided to the script. Some languages already have a translation, but you can easily add your own.
To learn more about translations (how to create your own one, how to share it with us so that it can be used by other users...) please read the [translation guide][Translation guide].
Bug and error reporting, help requests
First of all before submitting a new error, bug or help request, please, verify that you followed [the setup instructions][Setup and installation guide] to the letter.
To report a bug or an error or to request help with this script please use [this project GitHub issue page][Project issue page]: the collaborators will be notified immediately and will provide help as soon as possible.
Please follow the template provided (which you can also [preview here][Issue template file]) when opening a new issue and include:
- A meaningful description of the problem. What did you do? What happened? What did you expect to happen instead?
- A full copy of any error message you received or of the thing that went wrong. Please be advised that it could contain personal information such as your email: obscure or remove them as all the issues and relative messages are publicly visible.
These pieces of information are really necessary: without them nobody will be able to help you.
Unresponsive help requests
If you open a help request issue please do not abandon it until it's been solved and closed. If you want to close it before explicitly state this intention with a message in the issue.
Issues marked with the help request tag that are unresponsive will be sent a
reminder message after three days since the last message from the user and the
issue will be marked with the unresponsive tag. If the user still does not
respond to the issue, after a month the issue will be closed.
If you want to re-open a closed help request issue ask for this by commenting
on it.
Only the user which has originally opened the issue can ask for it to be
re-opened.
Updating the script
This script is constantly updated to fix bugs and add new features: keeping it updated to the latest version is really easy:
- Whenever a new stable version is released you will see a line of text at the end of your daily email notification telling you to click on a link to get the latest version;
- If you do so you will be taken to a page with a description of the new release;
- The description will contain a precise step by step guide on how to update the script to this version: follow it closely and you should not have any problem;
- You might want to follow the setup procedure again, because some steps might have been added in the new version since the previous one.
- After updating the code always click
Run->notifStopandRun->notifStartin the top menu to finish the update process.
Note: you might be asked to grant some new permissions to the script. There is
nothing wrong with this: it just means that the new version requires some
permissions that the previous version did not.
You can read the full list of the permissions and why they are required
[here][Permissions list]
Permissions required
When running the script for the first time or after an update you might be asked by Google to "grant some permissions" to the script. This happens because the script needs your explicit permission to access your data.
This is an exhaustive description of the reason the script needs each of the permissions:
- Manage your Google Contacts
This lets the script access information about your contacts (names, email addresses, birthdays). The script will not modify any of your contacts. - Manage your calendars
This lets the script access your birthday and events calendar. The script will get the events from this calendar only and will never modify any event or calendar. - Allow this application to run when you are not present
This is needed to run the script every day at the hour you specified. - Send email as you
Obviously this script needs your authorization to send you the email notifications. It won't send any other email to anyone. - Connect to an external service
This permission is needed to check for updates and to load the profile images of your contacts.
Contributing
Google Contacts Events Notifier is an open source project: if you want to know how to co
Related Skills
node-connect
336.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
336.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.9kCommit, push, and open a PR
