Multiple Many to One
Example use case:
I have a custom object type for Software Licenses. We have many applications with group licenses so each user uses the same license key.
I want to be able to link multiple users to one software license. I can do this with lookup relationship fields. Now, since end-users use multiple applications, I want to link our users to multiple software licenses.
I also want to have fields for Application Owner and Approver, and I want these to be linked to a Zendesk User so I can set up things like automated approval workflows or set up alerts for when an application owners leaves the company. However, some applications have multiple owners and approvers, and some users are owners and/or approvers of multiple systems.
I can't seem to figure out how to set up what I'm calling "Multiple Many to One" relationships using lookup relationship fields. I hope I'm just missing something obvious and somebody could point me in the right direction. Do we have this functionality yet?
Thanks!
-
In the native UI , we currently have the ability to create Many:Many relationships. You can however create a Junction object to build these relationships.For example, An Order can include multiple Products .. And a Product can be associated with multiple orders. In such a scenario, you can create an Orderline object in the middle. The orderline object will have 2 Lookup field: one pointing to the Order and another pointing to the Product..This is however not a visually pleasing experience for a native UI. We will explore the options of making this experience visually more intuitive
-
Chris Curlett It might look something like this, but your use case may differ from my understanding
-
Thanks Ashwin Raju and Matthew W. I see this as a good solution as it allows us to maintain the history of licenses assignments after the license is no longer assigned, and/or when the employee leaves the computer. I just played around with it a little and there are some limitations I see that would make this a more viable solution:
1. The Name of the junction object. The two pieces of info that are most important are the User and the Application. This makes the Name redundant because I would want the name to be for example "Test Application A - CJ Curlett". Are there plans to add functionality with Automations and Triggers to target custom objects? I could instruct agents to just give it a random name and then have a Trigger automatically rename it using the two values as placeholders.
2. Are there plans to edit the columns on the Custom Objects that Agents can see? Right now we just have Name, Created at, and Last updated. I would like to be able to see details directly on this page rather than having to open the object itself. Additionally, being able to filter and pull a CSV would basically be required functionality for this to be useful.
3. Another use case for my original post is linking one ticket to multiple object records. An example would be a use submits a request for three pieces of software, or is having trouble signing in to two different systems. I would like to be able to link the ticket to both of them in a way that's easy for the agents to do. Can you think of a good solution for this?
-
Hi Chris.
For point 1: I had prepared an environment with a similar use case as yours for a demo. I also faced a similar question.. Given that you want to see list of softwares that were installed for John Doe, when you go to his profile, I'd recommend having the Name field as the name of the Application itself.
Can I automate it - We are exploring a new concept of Triggers that will run based on changes in custom objects (CC: @...) - but Placeholders on custom objects (not associated with tickets) is something we might have to think about .. That is great feedback .. Thank youFor point 2: I would like to be able to see details directly on this page rather than having to open the object itself. Which page are you referring to ? We do some exciting features coming in, which will enable you to see a subset of fields without getting to the record page every time to view the details.. CC: Tim McLean, Brett Elliott
For point 2: Could you elaborate on what you would like to do once you have pulled your data into CSV. I was planning to post a feedback request for the next set of features that we are working on - one of which is CSV bulk upload. CC: Carl Joseph
For point 3: If it is a finite set of softwares that you want to link to a ticket, a low code option would to use multiple lookup fields within ticket.. If you'd like, you can also add a checkbox that could bring up the next Lookup field based on condition. If you are open to building an app, then the above solution mentioned by Matthew might work out for you. -
Hi Ashwin Raju . Thank you for all of the responses!
Which page are you referring to ?
Just on the main Custom Object page, when you select an object, it would be great to be able to customize the columns on this page. As of right now, you just have Name, Created and Updated.
Could you elaborate on what you would like to do once you have pulled your data into CSV
Going back to the use case of Software Licenses, let's say somebody on another team requests a report on who are the System Owners and Approvers of all Finance applications. This person would not have agent access to Zendesk. In theory I would be able to go to Custom Objects, select "Applications: User Assignments", filter for "Application Category = Finance" AND "Owner = Yes" OR "Approver = Yes", then download CSV then Email it to them. I could think of a bunch of other use cases, but in general the ability to filter and export CSV would really come in handy.
Please sign in to leave a comment.
6 Comments