I think some of what you are asking is possible…
–For json, use Read Text File, then Deserialize Json. There is probably information online on how to use json files.
–For current xaml file running, you could hardcode it into a string for each file, or there is some vb.net that solves it here:How to get the current running Xaml file name dynamically
However, if that workflow fails, none of the arguments get passed back with that info, so you would need to surround each worfklow with a Try/Catch to ignore errors (but you can still store them into a variable like error=exception, inside the Catch)
Also, in version 2018, there are Job activities like Start Job or Get Jobs. I’m not sure if you get much info from it other than the available jobs (I have not used it yet).
–I’m not sure what you mean by the extra credit part. You can Get all the .xaml files in a project folder if you would like by using System.IO.Directory.GetFiles() and it let’s you filter it to only .xaml. – there are examples online
Hopefully, I answered something.