@Jici what I mean is this entire process will be done only with backend workflows. I am all wiring it up to a button click for convenience.
So, in the end, it will be a backend workflow that gets locked off initially by a recurring workflow or external API call into the site. Then it will process the records (query site, then category, then tag), and then store those values into a new record.
Hopefully that makes sense.