I need to relate Opportunities to other Opportunities. What is the best way to go about this?

  1. Lookup to itself?
  2. Create a custom object for a many to many relationship between Opps?

Eg a potential project with a customer might include several Opps, so the original Opportunity would be 'New hospital wing', with related Opps being '20 beds', another being '10 wheelchairs', etc.

  • Are there additional project-specific data points that you are currently tracking (or might in the future)? If so, where are you tracking them? May 19 '17 at 0:51
  • I also have Milestone+PM installed for any larger projects, but this is just for simple connecting Opps to other Opps.
    – Irene
    May 19 '17 at 2:09

Since this is only to link the Opps together, and other project data points are stored elsewhere, it sounds like you can create a lookup(Opportunity) field on the Opportunity and this will meet your requirements, and allow the child Opps ('20 beds' and '10 wheelchairs') lookup to the parent Opp ('New hospital wing'). This effectively limits you to a one-to-many relationship. If you go this route, keep this in mind.

If however, you anticipate needing a many-to-many relationship (as you mentioned in #2), I recommend creating a new object that functions as a junction, with two lookup(Opportunity) fields. It doesn't have to be many-to-many, as you could add logic enforce a one-to-many relationship. You may also want to define layouts for the parent and child Opps so that you can add the corresponding related lists.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.