hope you could help me with the current challenge I am facing by answering or providing a link that might help me with my problem :) I created a custom object called "Match". It's private by OWD. Only users (called CSA -three in total) that I add in a field when creating a record of the object "Match" are allowed to edit the specific record. So I created a flow that creates records for every CSA on "Share: Match" (which is the share object of "Match") and thus grants the respective CSA access to edit a record on "Match". Everything works fine. However, once I delete one of the CSA from a record on "Match" it is still present on "Share: Match". What can I do to solve this problem? I tried working with "Delete Record" in the same flow but unfortunately failed. Thank you very much in advance.
I don't think Flows are appropriate here. You might consider using Apex Managed Sharing instead. Not only does it solve your immediate problem, it can also mass recalculate shares on demand.
As a Flow, your design is incorrect. You should first query for existing shares, then for each share, see if it matches any of the three fields, and if not, then add it to a list to delete it. Finally, create any new shares that are necessary. All of this is going to probably take close to 30-40 Flow elements to build.