This is actually handy because in some instances you don’t want to delete all the data associated with the deleted thing…without it you wouldn’t be able to use a data type as a field for relations because you’d end up deleting things you didn’t want to because they were related.
Also, I’ve set things up in projects before where the User is an employee and all of their data is owned by the employer who pays for the platform, so if the user is going to be deleted we don’t delete all of their data, we simply reassign it to a different employee.
There are loops. In backend workflow you can do ‘recursive workflows’ which loops. I also recently learned of a free plugin that does loops…can’t recall name but something like “looper”.
There are lots of ways to go about this, but would probably be in the backend workflows section. I just set this up tonight in an app of mine for a User deleting their account and needing to delete all data associated for another 6 types of data. Did all in backend. Some used action to delete list of things and I just did a search with constraints using my parameter key values set on the backend workflow. Others I did recursive backend workflows to loop through the list I sent.