Automating the linking of records

We have a specific scenario, but the question is generic. We want to be able to link an existing record to another record based on certain conditions/events occurring. Ideally, it would be a BPM but we do not see that capability existing in BPM.

We can see there is a Record Link capability that could be used with a Logic Hook, but would prefer to avoid that if possible.

Here is an example scenario:  A case is created with a Primary Contact (which auto populates Contacts linked to the case - standard functionality). We want to link another EXISTING contact to the case based on specified criteria. Clearly we can do that manually, but we want to automate the process.

Any thoughts or do we need to create a logic hook ?