top of page

CRM Fundamentals in the Power Platform

Updated: Sep 19, 2023

There are so many customer relationship management applications available on the market today and each one will try and sell you on why theirs is unique and the best with all their cool shiny features, bells and whistles. But every single one of them is driven by a single core concept that defines the purpose of what a CRM application is and that's to understand your relationship with your customers. Now I've used the word customer because that’s what the C in the acronym CRM stands for, but you might not call your "customers" that. They could be patients or members or subscribers or students or viewers or any other word that you choose to use to represent the person or organisation that you want to better understand your relationship with. In this post we're going to take a look at the core components, that make up pretty much every CRM application on the planet, but we're going to look at them through the lens of the Microsoft Dataverse and the Power Platform, because hey, here at Praxiis we're a Microsoft partner and when it comes to customer relationship management and business applications Microsoft's shiny features, bells and whistles really ARE the best. So let's dive right in. What I have here is a very simple model driven Power App that contains 3 of the record types that are created when you provision a Power Platform environment with Dataverse.

Simple Power App containing Account, Contact and Activity tables

This only took a couple of minutes to create and it will help explain these 3 very important record types, but as it stands this is simple but workable CRM application with some very cool features. Lets start with a brief description of what each of these record types are.


An Account is typically used to represent a company or organisation, if I create a new Account you can see that the fields shown are the types of information that I might expect to record about a company or organisation, so we have things like their name, their address and their website.

Power app new Account form


So where Accounts represent companies or organisations, Contacts are typically used to represent people, so again if I create a new Contact, you can see the kind of information that you would want to collect about an individual such as their name, email address, telephone number and their contact preferences.

Power Apps new Contact form


Now each of these record types can exist in isolation, a company can exist as a stand-alone account and a person can exist as an stand-alone contact record, both of these are valid, but we can also map out the relationships between these record types. Looking at the Contact record I just created you can see there's an Account Name field, this field allows me to look up to an Account record and connect this Contact to an Account.

Account lookup on the Contact form

Now typically this is used to represent an employee / employer relationship, but that's not always the case. If I open the Advanced Lookup here that I could also connect the Contact record to another Contact, so this could quite easily represent a family relationship or any other kind of relationship you care to imagine, just make sure that it's understood in your organisation what this relationship represents.

Advanced Account Lookup on Contact form

After connecting my Contact to an Account, if I open up my Account by clicking on the Account Name on the Contact form, you will see a grid on the right hand side showing a list of the people that work at this company.

Contacts sub grid on the Account form

From here you can also add more Contacts to this Account, by either creating new Contacts or connecting existing Contacts to this Account.

Contacts sub grid context menu

These also aren't the only relationships that I can define, looking at the Account record I can also define a Primary Contact for this Account which is a look up to the Contact records that are already connected to this Account.

Primary Contact lookup on the Account form

This would typically be used to indicate which of the Contacts that are connected to the Account is the person we typically communicate with when working with this Account. On the Account I also have a Parent Account field that I can use to look up to another Account, which means I can build a hierarchy of Accounts, so I might use this for linking subsidiary organisations to a parent for example.

Parent Account lookup on Account form

So already with just these two record types I'm starting to build up the details of the people and organisations that I have relationships with and also their relationships with each other. But what about understanding our relationship with the Accounts and Contacts that we have in our system?

It's great that we can have all of the people and organisations we know well organised in our system, but when it comes to engaging with them how do we know what we have talked to them about before or when we should probably reach out to them in the future.

This is where the last of our 3 record types comes in and is the most important when it comes to understanding our customers and our relationship with them.


Rather than being a single record type like Accounts and Contacts, Activities are actually a group of record types with each one representing the different types of interactions that we could have with our Accounts and Contacts.

Out of the box these types include Emails, Phone Calls, Letters, Faxes, Appointments and Tasks and as we engage with our customers we use the different activity types to track our interactions, so not only can we keep track of the things we have done and need to do for our customers we can over time build up a history of the engagement that we have had so that we can understand our relationship with the Contacts and Accounts in our system.

Activity timeline context menu

As our system is also accessible across our organisation, we're sharing this history, so no matter who the customer engages with at our organisation that person has access to all of that history.

Now the benefits of capturing this information in a system is clear but quite often that's easier said than done, so entering this information needs to be as frictionless as possible and that's where the features, bells and whistles of the Power Platform really shine. Outside of the standard data entry options, let's take a look at the other ways we can work with activities. Let's start with Phone Calls, back on our Contact record you can see we have collected a contact number and you'll see a phone icon at the end of the field.

Mobile phone field with click to call icon

If I have telephony functionality installed to my PC, maybe as part of Teams for example, I can simply click to dial from within the browser and you can see that it's going to automatically open the new phone call form so that I can easily collect the information about the call I am making.

New Phone Call form in Power Apps web client

If I'm using the mobile app this works just as well, clicking the phone icon in the mobile app allows me to dial out from my phone and again opens a new phone call form for me to add the details of our conversation.

Making a call from the Power Apps mobile app

Once I'm done, I can save the phone call record and it appears in the timeline of the Contact record.

As this Contact is connected to an Account, all of the Activities for all of the Contacts associated to the Account can be seen in the Account's timeline so that when I am looking at an Account I can see a complete picture of all of the Activities across the entire organisation.

Next up let's take a look at the all important emails, now being a Microsoft product there is very good integration between the Power Platform and Office 365, so if you are using Outlook and Exchange for your emails then you are in luck.

As with phone calls I can click on the icon in the field in my app and it'll open a new email in Outlook, which I can then fill in and send.

I have the Dynamics 365 Outlook App installed, this means that before I send my email I can hit "Track without Regarding" and a copy of this email will automatically be recorded against my Contact record in the system.

What's even more impressive is that any response and subsequent email conversation is also automatically tracked into the system, until I decide to untrack it. The desktop version of Outlook is also not the only place where this app is supported, it also works in Outlook for the web and the Outlook mobile app, so even if I am working on my mobile device I can track emails into the system at the click of a button.

Tracking emails from the Outlook mobile app

Now the integration with Outlook is configurable so that if you choose to, certain mailboxes can even have all their emails automatically tracked into the system without any manual intervention at all. This is really useful for shared mailboxes for example. The Outlook App is also integral to how we work with Appointments in our Power App, just like we can track emails against our Contact records, we can also track Outlook calendar appointments, so that these appear as Appointment records in the timeline of the attendees.

And last but certainly not least we have Tasks.

New Task form in Power Apps

Tasks can be created in our Power App against a Contact or an Account and will synchronise out to our task list in Outlook and if you are a user of Microsoft To Do it will synchronise out to here as well.

Follow Up task in Microsoft To Do

So by using the tools you are probably already using you can quite easily build up a history of your interactions with your customers with very little additional effort. As I mentioned, this app took only a few minutes to put together and you can already see how powerful it can be and this is just the tip of the iceberg when it comes to the Power Platform which can be extended to do so much more and the best part, to do what you've seen here and much, much more costs less than 50p per user per day.

61 views0 comments


bottom of page