User customised email updates - how do I?

I have many clients and many suppliers. Each client has many objects (shifts) available.

I would like a supplier to be able to set a preference for an instant email notification if a shift that meets their criteria (date, location, subject etc) becomes available.

Does anyone have any experience with this either within Knack or with a 3rd party service? I'd be grateful to hear your solution if so!