In the past, I have used workflows for this kind of automation. I create a Contact Based workflow, and the trigger would be "number of sales activities is equal to 1". The action after the trigger would be "Set Property Value", and then you would select what property your 'accepted' and 'contacted' is under. So once a contact has any sales activity connected to its account, such as a call or email, you can have that contact automatically change to "contacted".
You can also specify what Pipeline you want these contacts to be in, for example, if you only want contacts to be affected in one pipeline, then specify in the trigger that the contact's deal must be in a certain pipeline.
I hope this helps and let me know if you have any other clarification questions!