As a long time Emacs user, I never even tried Gnus, or used it as a calendar (except for some time tracking in org-mode). How would calendar invites work there? How well does it support shared calendars to determine busy/free information of others?
There is https://github.com/emacs-mirror/emacs/blob/master/lisp/calen... and https://github.com/dengste/org-caldav but that not much related to Gnus approach of "unifying messages in a single UI", it could be used to import from ics files to org-agenda or creating an ics file or sync org-agenda with Radicale/Baïkal/Davis CalDAV servers
There is https://github.com/emacs-mirror/emacs/blob/master/lisp/calen... and https://github.com/dengste/org-caldav but that not much related to Gnus approach of "unifying messages in a single UI", it could be used to import from ics files to org-agenda or creating an ics file or sync org-agenda with Radicale/Baïkal/Davis CalDAV servers