Looking for PowerObjects? Don’t worry, you’re in the right place! We’ve been part of HCL for several years, and we’ve now taken the final step in our acquisition journey: moving our website to the HCL domain. Nothing else is changing – we are still fanatically focused on Microsoft Business Applications!

HCLTech Microsoft Business Applications Practice Blog

for Dynamics 365, Power Platform and the rest of the Microsoft technology stack

The Great Debate: Dynamics CRM Connections vs Lookups

Post Author: HCLTech |

Microsoft Dynamics CRM connections are an excellent way to establish relationships between almost any records in CRM without having to create custom relationships between the entities. The big question is whether or not connections are a better option than creating multiple lookups on a CRM form. It's a classic battle of connections vs lookups. We generally recommend using connections, and in today's blog, we'll talk about why connections are often more beneficial than lookups. Let's start the debate!

Out-of-the-box Connections are handy in situations where one entity record looks up multiple records from another entity or when there is a need to represent a many-to-many relationship between records. When designing your CRM solution, sometimes it's necessary to think about how NOT to create new lookups to fulfill the business need while still representing the same data.

For example, say you need relate four contacts (AuthorizedRep1, AuthorizedRep2, AuthorizedRep3, and AuthorizedRep4) to a custom "project" record. Instead of creating four lookups to the contact entity on the project form, it is a better idea to create one or more connection roles and then connect each of the four contacts to the project record using appropriate connection roles.

What are the Benefits of using Connections over Lookups?

1. Connections help keep your forms clean. For example, instead of putting four lookups to a contact on a form, you can instead create four connections and use a sub grid to display the contacts on the form.

2. Multiple records can be connected using the same role. Lookups do not allow more than one record to associate with one lookup, nor do they allow you to define how the records are related.

3. Connections eliminate the need to establish custom relationships between entities. Connections are an out-of-the-box feature and can connect almost any entity using a connection role. Lookup fields do create entity relationships behind the scenes.

4. Representing many-to-many relationships using lookups creates intersecting tables in the background. Using connections avoids intersecting tables, still enabling many-to-many connections.

5. When there are multiple departments or business units using the same entity for unique purposes, a business-specific custom lookup might mean nothing (or may be ambiguous) to other businesses units using that entity. Using connections eliminates the confusion caused by creating department specific lookups for an entity.

6. Connection roles can be categorized by specific categories and business. Doing this helps with data retrieval and reporting.

7. With connections, no custom SQL index is required since it is an out-of-the-box feature and the fields are already indexed.

As you can see, there are a lot more advantages to using connections over custom lookups in terms of data representation and the data model. However, one disadvantage of using connections over lookups is that with connections, data retrieval is a little less intuitive. Regardless, the advantages still make connections a CRM designer's choice over lookups.

That's all for the blog today! Hopefully you found this information useful when determining whether to use connections or lookups when designing your CRM solution. For more information about connections, check out these helpful articles.

Happy CRM'ing!

By Joe D365
Joe D365 is a Microsoft Dynamics 365 superhero who runs on pure Dynamics adrenaline. As the face of PowerObjects, Joe D365’s mission is to reveal innovative ways to use Dynamics 365 and bring the application to more businesses and organizations around the world.

8 comments on “The Great Debate: Dynamics CRM Connections vs Lookups”

  1. Good read! I feel as though there is not enough on using connections and the benefits. I have found them to be quite robust.

  2. Great article and I've been advising this for the longest time to my CRM users. Redundant lookups are inefficient and ugly but the main argument I get back as to why we shouldn't use connections is because it makes searching and reporting difficult. Our end users want to see all relationships for all records in a nice sheet view (a la Excel). Connections doesn't allow them to do this or at least we haven't found a way to do this.

    1. We really need to pull reports on our connections e.g. how many contacts/accounts have both connection A and connection B - is there any way of doing this?

      1. It's definitely still possible to "report" on Connections via Advanced Find, and therefore you can still build Views and Charts from this. It is a bit too tricky usually for end-users to wrap their heads around however. The query can end up looking a bit "mad scientist" with nested Regarding (Connected From) and (Connected To) statements.

  3. Hi, Great article altoughyou forgot the disadvantages of connections. Mainly microsoft forgot to include the new features of crm 2013-2016 over connections:
    1. You cannot use business roles or business process flow over connections, so js code is needed for that
    2. Forget about using rollup fields over connections
    3. When using subgrids, adding a new connection is not intuitive (done through connect button on the main toolbar rather than + sign (except for entities such as opportunity and quote where the editble connection subgrid is awsome.)
    4. you can not add a new connection from quick view from like any other subgrids.

  4. One additional restriction you need to keep in mind:
    Connections offer limited offline capability. The user will only his own connections offline and is not able to create new ones while offline in CRM for Outlook.

  5. Hi everybody,
    About the article:
    Statement 4 - Connection is exactly this intersecting table with some extra fields. No difference with N-N, i would even say N-N is faster.
    Statement 7 - please provide at least one example when it requires? N-N? I think I miss something.

    Extreme disadvantages of connections which are dissalowing me to use them:
    1. No quick creation form;
    2. Relatively big and very ugly new window for only few required fields with absolutely non-intuitive interface;
    3. No setLookupTypes or setEntityTypes api-methods for lookupfield in this Entity (this is insane) - almost impossible to find your record in search field
    4. Some bugs with ootb-javascripts (Mscrm.record2id_onclick - is not defined).
    Even using Relationship roles is way better, because at list there is small new window and only Contact and Accounts in search fields.
    All said is about on-premise version 9.0 of Dynamics.
    After realizing what "Connections" is, we decided to use N-N relationships.

PowerObjects Recommends