First point: Bringing contact’s properties to deal’s on lead’s qualification
It can be achieved with workflows nowadays. We have created a dropdown that actually works like a button. If selected, the workflow fires then the workflow sets back the button to empty value. A “button” property type would make the things cleaner but except than that, it works fine. Only challenge is that info is printed from contact to deal. So if one or the other gets updated, the other is not. If interested, the idea for the button is here: https://community.hubspot.com/t5/HubSpot-Ideas/Workflow-trigger-Button-click/idi-p/204893
Second point: having summarized value on one object based on another object
From a database design standpoint, this should not be needed. But flat design sometimes help. For example, filters can only be used on one object. So if the data is on another, it’s an issue. A use case we had was to know what is the most advanced deal stage of a contact when a contact has more than one deal. We tried to make this work with workflow but could not make it work due to re-enrolment reasons.
To fix that, I would suggest two things:
1/ To have hubspot improve re-enrolment logic
2/ To have hubspot develop a few, clearly defined fields that are syncronised. Some are already existing like “most recent amount” on contact