The fact that custom object associations are only many-to-many is a big detriment. Two big reasons.
Cross object associations can't be display on views. For example, because company-to-contact relationship is a one-to-many. This means a contact can only have one company and thus there is no conflict when adding company information on a contact view - which is permissible by the system.
The same things applies to workflows that may be used to copy data from a property on one object to another. For instance, if you have data on a company and you want the contacts to inherit that data via a workflow, that's possible. But if you want to contact to inherit data from an associated custom objects, it's not possible.
Throwing support behind this. Being able to define the associations of custom objects (many custom objects to one contact) would be hugely beneficial for my team.
@JeffBantzyou mentioned you found a way of setting it via the API, is there any documentation for this? I don't see anything in the CRM Custom Objects API docs. I'm looking to create a manyToOne relationship from contacts to a custom object.
All - while I was able to manually change the property values via the API, when it connects into the UI it doesn't really function in a way that my "brute force" solution is worth documenting and using. Like any exposed data accessible via the API, I changed the property to be one-to-many, but there's no way to enforce that with the UI so it caused more problems than it potentially solved so I reversed it.
Honestly, this is very close to a "deal-breaker" in terms of being able to fully utilize the Custom Objects within HubSpot.
The other HUGE painpoint is the inability to disallow adding new values - it would be preferable to be able to disable adding in a new entry in some of our COs.
Our rep has heard the message and indicates that HS realizes there is still a lot of work needed with COs ... but they've demonstrated some pretty good responsiveness over the years.
You can add json similar to below using data from the first GET call. The important parts are the cardinality. In my case setting the inverseCardinality to "ONE_TO_ONE" achieved what I was looking for.
As JeffBantz stated the UI doesn't seem to fully support this as the Add buttons still appear on the one_to_one side when a record is already set however it actually just overwrites the existing record.
+1 Agree, would be great and beneficial for our customers to be able to define one-to-many, one-to-one or many-to-many associations for custom objects. In both cases - for associations between standard-objects and custom-objects as well as for custom objects themselves.
this would be huge for reporting/ visability. even if i could change it to a 1to1, shocking you still cant see that on a view. really limiting what you can do.