Create a cool CRM for SharePoint and Office 365 with Add-Ins

Why would you want a CRM for SharePoint or O365?

A lot of our clients are looking for CRM Systems on SharePoint and there are some solution approaches in the market. Most of those who want their CRM on SharePoint already run SharePoint or O365 and want to enjoy the easy integration of existing data, processes and workflows.Another advantage of these platforms is Single Sign On, the already existing integration with the corporate Active directory and of course the fact, that the platform already exists and does not need additional investments to have a base for a new business app like a CRM.

CRM is to complex to build it from scratch

If you try to build a direct competitor for CRM Systems like Salesforce, Microsoft Dynamics or SAP CRM, the headline is right. This is probably nothing anyone wants to do from scratch. But if I look at the average customers we deal with, their CRM processes almost always consist of simple business objects with master-detail relations. The more complex ones require some permissions and workflows. And the even more sophisticated ones need flexibility in the offer creation process, mostly in the offer editor.Even if somebody is heading for campaigns, requirements are mostly limited to a smooth integration with e-mail and some newsletter or campaign provider.

Designing a CRM datamodel from scratch

If we look at the basic object needed, we will find a repetitive pattern in almost all CRM systems. The typical business objects can be represented in SharePoint Content types that will be used in SharePoint lists. This is what you need:

CRM for SharePoint

You need the different content types for two reasons:

* If you have a lifecycle on data, like with prospect -> customer

* If you have different attributes for content variants, like activity and calendar item

The different content types in a list allow users to easily navigate in data and it allows you to create “search scenarios” that make it easy for users to navigate data.Here is an example: if you are looking for sales opportunities you might not exactly know if the sales opportunity is a lead, an opportunity, an offer or if it was just a forecast somebody

told you about. With content types you simply search in Opportunities and will get all relevant matches and each item will only display data that is relevant for this stage.

An even more elegant aspect from this approach is that you can now create lookups between the content types for all “relations”. As a contact is typically bound to an account, you will have a lookup field for accounts in the contact list. Repeat that for all relations that make sense in your scenario.

Connecting the dots

Now that you have the data model in place it is time to think about the views you need to have on your data. You typically need views for these scenarios:

* All data

* My data

* Active data

* Inactive data

* Import-export

* Compact

* Detail

While creating these views you will realize that you need some kind of status attributes or logic that is required in all lists. So you can create a website content column for such a status and reuse it in any content type you created, so that it will be derived to all content types and therefor the lists, too.

Designing the User interface

If you don´t use any tools, this is the most challenging part, as you need to build a pattern that allows you to display overviews of data in a page and to navigate to detail views with the context of these data.

A context means that a details view of an account should probably display account details, but also all contacts, activities, opportunities etc. of this account. If you want to ease the burden with the help of visual low code solution tools, you can use e.g. use the BPA Solutionbuilder ( or K2 Appit (

If you want to stick to native Microsoft technology, you can either wait for PowerApps ( – or start building your CRM interface with Search Display Templates (Search Display Templates), develop native SharePoint WebParts with Visual Studio – or you use the most elegant and future oriented technical approach available: Add-Ins.

Building the cream whip

The developer’s paradigm in software development on the Microsoft roadmap are for sure Add-Ins. With Add-Ins you can build any application hosted on any web platform – and use the application seamlessly integrated in your Office365, Office or SharePoint context. This is very elegant as you can use the Microsoft ecosystem and still develop your applications with slim and modern technologies like node.js, react.js, AngularJS or others.

Assuming that the challenge is not that much to technically build the frontend as described, the real challenge is a good usability design (UX/UI). Finding good ways to present data, to help users easily navigate in their systems, to display and require only relevant information is much more challenging than the technical implementation.

We highly recommend to take your time to really analyze the user workflows, ask business users the annoying “why” over and over again until all involved people really understand the relevant part of the data and the processes.

Once this is done you can start to build REALLY cool Add-Ins that help users to master even sophisticated offer creation processes, like e.g. with a WORD-Add-In that allows you to drag & drop text blocks, manually edit the document, apply corporate styling, add live data from SharePoint or O365 or to connect to customers directly through a Skype for business session from the Offer to discuss it together with the customer and apply required changes online.

Wrap up

What I wrote here is not limited to CRM systems, we do such things for all kinds of business applications, like quality management, recruiting, contracting, training management or whatever is required. The coolest thing with this approach and add-ins is that you are able to migrate from OnPremise to Cloud or stay hybrid however you like it. Add-In technology is built for that from scratch.

So, what are you waiting for? Start your Add-In project now.

About the Author: Rudiger

Rüdiger is an entrepreneur, startup founder of 1clicktrips, innovation nerd and a frequent writer for IT-Magazines like SharePoint Kompendium, Windows Developer and as speaker on tech-conferences like Basta! Rüdiger started his IT career more than 30 years ago and he is especially excited about O365 and Azure as the most exciting ecosystems to build the future for business and technology applications with IoT, Office Graph, Machine Learning and Big Data technology. 1ClickTrips is a Business Travel Startup built on Azure which won 2nd place at the Pioneering Award of Startup excellence in 11/2015. In 12/2015 1ClickTrips received a nomination for the BizSpark Plus membership. So, 2016 will be another exiting year for cool applications.

Follow on Twitter: @GrosOnAir

Would you like to become a full community member and have access to more great content such as eBooks, webinars, presentations and how to videos? Then simply click here to join the community.

It only takes a minute! 🙂

Latest blogs:

Share this on...

Rate this Post: