What we did was adding an enumeration ‘RecordState’ with the items ‘Active’ and ‘Inactive’. Every table has an before delete microflow with a false as result ( so the record will not be deleted ). In the microflow you can change the RecordState in ‘InActive’ and add a datatime stamp.
And don’t forget to do this also with ‘child’-records and give them the same datetime stamp as the ‘parent’ record.
A separate view is added with all ‘inactive records’, so you can retrieve back the ‘deleted’ record.
One problem, don’t forget to retrieve only ‘Active’ records in Views or dropdown boxes ect. To avoid you can choose ‘Inactive’ records.