This is a method to implement the Notifications API on any website through Google Tag Manager.
In order to limit notifications to one per session, you'll want to create a 1st Party Cookie Variable in GTM called "Session Alive" with Cookie Name set to "session":
You can then simply copy and paste the code in GTM as a tag.
This is based on freeCodeCamp.org's Desktop Notifications - Beau teaches JavaScript and Simo Ahava's Send Weather Data To Google Analytics In GTM V2 .