VOOZH about

URL: https://www.grepular.com/Notifications_on_Calendar_Changes

⇱ Notifications on Calendar Changes - grepular.com


Skip to content

I released a new project recently which scratched an itch I've had for a while. I subscribe to a number of calendars, and I wanted to receive notifications about any changes to those calendars, as they happen. My new project to solve this problem is calendiff. It's open source, self hosted, and the idea is that you run it on a schedule from cron or a systemd timer etc. You point it at an ICS URL, and the first time it runs, it just collects the latest snapshot. On subsequent runs, it identifies any changes and exposes them.

You can use it in three different ways. Firstly as a golang library that you can import into your own applications. Secondly, as a tool which just spits out the differences to stdout, either human readable or as JSON. Thirdly, and most usefully to myself (and probably you), there is a tool called cal2email, which will send nicely formatted emails with the changes:

 

👁 Cal2Email Example Output

I added a suitable system for filtering out events. For example, you can choose to ignore the deletion of events from a certain distance in the past or future, or modification of certain event fields, or certain event fields for events that are suitably far in the past or future etc. It's all in the documentation, but an example minimal config might look like this:

source = "https://example.com/calendar.ics"
state = "/var/lib/calendiff/personal.json"
[email]
from = "cron@example.com"
to = ["mike@example.com"]
 [email.sendmail]
 path = "/usr/sbin/sendmail"

I hope you find this useful. Feel free to submit patches and feature requests.

Support my work:   PayPal   Patreon   Bitcoin Address Follow my work: RSS   Atom   Mastodon   Bluesky
← Read more

JavaScript is disabled. These keyboard shortcuts require JavaScript to function.

Keyboard Shortcuts

Open this modal
or
Focus on search field
Like this page
Close popup / blur field

Go to

Home
Blog
Search