Sync property values between Contact, Company and Deal Records

I am looking to set up a two-way sync between Deals and contacts. There should be a way to create one global field that is shared across Companies, Contacts, and Deals such as:

  • Referred by
  • Owner

As well as other custom properties. This will ensure data integrity and improve ease of use.