Hey there! I have an idea that I feel could help reduce friction for developers who are developing on HubSpot, while also adding a lot of value to the platform overall.
Goal(s):
Abilty to set an indexed array of associated custom objects to a contact record (or another custom object)
New hubl function(s) for developers to retrieve this associated object data in the same order/priority in which they were associated. (related: content_by_ids() post)
Example use-cases:
Pet store example-- A pet kennel has a custom object of 'Pets' that can be associated to their contacts within HubSpot. Let's say that the 'pet' records are associated to the contact based on what pets the customer is interested in when visiting the kennel...
Email-- Wouldn't it be great if the kennel could email the customer a summary of their visit, providing a list of the pets that the customer was interested in, with the same order that customer conveyed to the kennel? ie. their First choice/second choice/third choice. or...
Membership pages/Customer Feedback Surveys-- Perhaps it was too difficult of a process for the kennel to retrieve the customer's order/preference of pets during the customer's visit. The pet kennel staff could still associate the pet records to the contact record normally, then, create workflows that request the user to set their ordering/priority within Membership pages... "Tell us which pets were your favorite!". And same concept, but using Feedback Surveys to set the priority/indexing of the associated object records (instead of using Membership pages)
Manufacturing/dealers example-- You are a manufacturer with a network of dealers that sell your product. Using a 'dealers' custom object, you can define the dealer's address information/products they carry, etc. Using this data, you create a dealer locator tool for contacts to input their address, then receive a listing of dealers closest to them on a map (associating the custom dealer objects to the contact record)... It would be beneficial to have the ability to email this list to the customer, in the order of which objects are closest to them, etc.
I feel Association Labels were a huge step forward to this type of functionality, but it's not quite solving 100% of the issue.
Idea for how it could be implemented: I was initially thinking this would be best represented at the association level within HubSpot... however, this started to feel like it would be a heavier lift for HubSpot's dev team to actually implement. (I honestly wouldn't know for sure, it just felt like it would introduce a ton of side-effects to account for)
So, inspired by some other posts, I thought of: Setting the priority via a new custom property type... something like an 'Associated Objects' property type which will always reference active associated records of a specific object type--
When creating this new property, it would request the HubSpot admin to provide:
What custom object they want the property to reference for associated records
Whether the field is read-only OR
Whether the field can be 're-ordered' (ie... by admins in HubSpot, programmatically via custom widget for the user to self-serve and define the ordering within Membership pages, or via Feedback surveys).
Under the hood, I am imagining this field as being nothing more than an indexed array of associated object ids, with the ability to change the ordering of each object... however, this wouldn't have any actual effect on the associations of the objects, it's just a reference.
The real impact/benefit would come from having new developer functions that could receive the value of this new property type, then return the object data in the exact order as referenced in the field above.
It would also help solve similar requests, like this one (that helped inspire this idea)
Other considerations:
There are workarounds to make this possible currently (link), however:
Workaround introduces a lot of technical debt to watch out for
Workaround places more stress on HubSpots APIs... I'm running 30 subsequent Search API calls on some functions... just to receive object data in a specific order.
I feel my example use-cases hold merit, however, I also understand that change can happen really quickly at times... if there is some HubSpot feature that was already released to meet this need, please let me know!