Not sure if there is a plugin that does this automatically, but you can build a small module that accomplishes this. Since it should run automatically in the background, I would create the functionality as a custom console command and then execute that command regularly in a cron job (for example, daily or hourly).
The command would do the following:
As far as I know there is no plugin that has this feature. If there is none you would have to write a custom module for that.
The module would have 4 main responsibilities.
get all users that are subject to get notified
compose a notification for each of them
send them (in a sync manner or as queue jobs, if you expect to have a lot of inactive users)
Still not quite sure I understand the problem completely, but here are some ideas to get you started. Your workflow requires three steps:
Fetch the XML data from the external API.
Parse the XML (the SOAP namespace may require some attention) into a usable format.
Filter and display the parsed data in your template.
I assume your existing code is based on ...