Data Importer Tool for PPTB – I did a thing!

If you’re not aware of the ‘I did a thing’ quote origin, it’s Jeremy Clarkson’s catchphrase from Clarkson’s Farm. Which I’ve been watching religiously for the last few years – it’s an amazing eye opener into the reality of farming (from a UK standpoint, though has wider principles too). When I decided to create my own PPTB tool, I just couldn’t resist using this as part of the opening. Whether the tool results are better than Jeremy’s farming attempts remains to be seen… 

This is the story of why I built a tool I’d never have dreamed of building a couple of years ago, what it does, and why I think you should go try it out and use it.

The problem/challenge

If you work with Dynamics 365 or Power Platform (specifically data in Dataverse), you’ll know this one. Someone hands you a spreadsheet, and it needs to be in Dataverse. Properly – with with lookups resolved and choices mapped, and ideally without losing a week (or more) of your life.

I’ve tried the usual suspects over the years, and each one fell short for me in some way: 

  • The data import wizard – no real way to preview your data before it goes in. You find out what went wrong afterwards. 
  • Excel import – the same sort of gaps, and fiddly when you need real control. 
  • Dataflows – yes, Power Query gives you a preview, but for what is often a fairly straightforward job it’s a lot more difficult than it needs to be. 
  • Lookups – I had serious challenges getting these set, particularly where alternate keys were involved. 
  • Option sets – where the name of the value wasn’t the actual value (for reasons I’m still not entirely sure about), it just errored. Constantly. I’m not sure what Microsoft holds against these – maybe because I decided against using SSIS?
  • SSIS – it would do the job, but that’s a sledgehammer, usually used for very complicated and large datasets. When you have flat files to import, surely it doesn’t need the full power of this.

I also couldn’t pause an import in any of the existing tooling I used. When you’re a long way into a big load and something looks wrong, that matters. And on top of all that, I wanted proper, verbose logging that was easy to read (if you’ve ever taken a look at the errors that the native import tool gives, you’ll know EXACTLY what I’m talking about). There was nothing on the market that did what I needed, so I decided to build it. 

Where the inspiration came from 

Well, I didn’t just decide to build it. I’ve been a major fan & user of XrmToolBox (XTB) for a number of years. The commitment by people in the community to build tools on their own time, for free, is incredibly amazing and inspiring. I’ve used many of the XTB tools over the years, so when I looked to see what could be done to solve my frustrations with data imports, my first port of call was to go look at what might be available in XTB.

Now there is a data import tool there, called ‘DataImport++‘. It’s still in use by people, and I went to try it out, but it wasn’t giving me all that I was looking for. I contacted the people who developed/support it, who said that it was mostly in support mode now, with no major releases being planned for it, but that I was welcome to fork & submit ideas for it.

I tool a look at doing this, but found that there were potentially limitations with what I was looking to do. Additionally, with the emergence of the Power Platform ToolBox (PPTB) on the scene, I was looking to see if I could do something with a much more modern influence, look & feel.

PPTB is a desktop application where you can discover, install and run community-built tools in one place, and it openly honours XrmToolBox as its foundation. It felt like the right place to see what I could do. I didn’t just look to copy & reskin DataImport ++ – my development went down a different pathway, with some different functionality. However, I want to give full credit to the developers for Data Import++ for the inspiration to create my tool – it simply wouldn’t exist without the idea that came before it. 

Giving something back 

Our community runs on people sharing what they’ve built. Every one of us has used a free tool, a blog post, a snippet or a workaround that someone else took the time to share, and it’s saved us hours. I’ve benefited from that for years, and I wanted to give something back. I’ve obviously been blogging for a while now (along with other community engagements), but always wanted to be able to be part of an effort to create a tool for the community.

Here’s the honest bit: I’m not a developer. Building something like this by hand would have been totally beyond my capabilities. What made it possible was AI. I used VS Code with GitHub Copilot, and combined it with two things I did bring to the table: knowing how to prompt it well, and knowing the scenario I wanted to build for inside out, because I’d lived with it on real client projects. 

That combination is what got me from “this should exist” to “this exists”. I’m genuinely grateful that this is now possible. Ten years ago, an idea like this would have stayed an idea, or a long wish-list item for someone else to build. If you’ve got a problem you understand deeply and have been told “that’s a developer thing”, my advice is to have a go, especially given what we’re able to do nowadays without coding ourselves!

What it does 

At its heart it’s simple: pick a CSV or Excel file, pick a Dataverse table, map your columns, and import. The detail is where it earns its keep: 

  • CSV and Excel (.xlsx/.xls) – choose your file and worksheet, and headers are detected automatically. 
  • Column-first mapping – the grid lists the Dataverse columns and you pick the source column for each. Columnsare auto-matched by logical and display name, so most of the donkey work is done for you. The reason for doing it this way (at least for the moment) is because I’ve seen scenarios where source values need to be mapped to multiple destination columns. I’m open to changing the way this works, based on feedback being received!
  • All the column types – text, numbers, currency, dates, GUIDs, Yes/No, choices, status/status reason, multi-select, lookups and owner. There’s even a Created On override. 
  • Choice mapping – confirm how each distinct value in your spreadsheet maps to a Dataverse option (local or global), with green/red badges so you can see at a glance what still needs attention. This one fixes my option set pain. 
  • Lookup resolution – by GUID, or by a column value queried in Dataverse. Polymorphic lookups are supported, and you don’t need an alternate key to match records. 
  • Preview – see what’s going in before it goes in. 
  • Create, update or upsert – matching on one or more columns. 
  • Verbose logging – live progress and a per-row failure report. It carries on past failures, so one dodgy row doesn’t wreck the lot. 
  • Pause the import – mid-run, whenever you need to. 
  • Save and load configurations – export your table, settings and mappings to XML and reload them later. If you do the same import across environments, this is a lifesaver. 
  • Light and dark themes – because we’re not savages. 

Speed 

This is very important and relevant. If you’ve ever done data imports at scale with the import wized, you’ll be more thna aware that not only are you looking at taking a coffee break, you likely need a breakfast & lunch break too!

The tool uses batching, with a configurable batch size, to speed things up. As an example, I ran it against a very large data set of 100,000 rows, and it took around 25 minutes. From experience, the out-of-the-box import takes a lot longer to get through that kind of volume. I know the pain, because I’ve sat through it more than once, watching a progress bar and questioning my life choices. 

Is this a conceptual tool?

Not at ALL!! I created it due to staring at needing to import circa 500K rows of data for a client solution – and having the standard import error, error & error on me I’ve now used it on more than 10 client engagements, and have colleagures using it as well.

It has now passed 100 downloads (which isn’t a major milestone, but has indeed prompted me to actually write this blog post!). For something that started life as “I just need this to work on my project”, I’m chuffed. Thank you to everyone who has installed it. 

FYI, it seems that some organisations restrict PPTB. If that’s you, I’d suggest working with your IT and governance teams to get it unblocked. It’s an extremely valuable tool, not just for Data Importer but for the whole ecosystem of community tools that now sit inside it. 

Go and try it 

You can find Data Importer in the PPTB tool marketplace here: Data Importer on PPTB. 

The code lives on GitHub, and that’s the place for feedback. If you find a bug, or you’d like improvements or extra functionality, please raise it there as an issue or feature request. This tool gets better when the people using it tell me what they need, and I’d love to hear what you’d like to see. 

Go and give it a spin, and let me know what you think. And if it all goes wrong, well, at least it’s not a barn full of cows!

FTRSA ’26/27 – Information to know

If you don’t know what FTRSA stands for – don’t worry! It’s a Microsoft acronym for ‘Fast Track Recognised Solution Architect’. This is an award that Microsoft bestows on people working for Microsoft Partners who have demonstrated clear technical expertise & understanding of the Microsoft Business Applications Platform at (enterprise) scale. There are currently around 175 FTRSA’s globally (across Dynamics 365 & Power Platform capabilities) from a little under 100 partner organisations!

To quote from the Microsoft documentation for the program:

The FTRSA program honors solution architects who consistently deliver high-impact solutions using Microsoft Dynamics 365 and Power Platform, recognizing technical excellence, customer success, and architectural leadership across Microsoft’s partner ecosystem.

As a Microsoft Partner, having an FTRSA working for you can (at times) give you the edge, given their exposure to Microsoft Engineering & Leadership, and the ability to ask questions directly into Microsoft about things. It’s also something you’re able to promote to clients

The application process starts by going to the FTRSA homepage (yes, the program now has its own URL!), and then following the instructions. I STRONGLY SUGGEST reading through the FAQ’s on the site in detail before starting your submission. Alternatively, have them open in another tab whilst you’re working through the application (as they’re not linked on the application pages). This will ensure you understand the KEY information as to how to fufill the requirements.

Broadly speaking, there are several stages to an application:

  1. The team carry out an initial review of the information provided, ensuring that it meets the program requirements. Applicants who have not provided the information to meet the program requirements/criteria, or who do not pass the initial review threshold as evaluated by the team (this is why applicants are recommended to ensure that they’re focusing on quality of information being submitted), are not progressed and are notified.
  1. Applicants who pass the first stage are then invited to an interview. This is carried out with one of the wider team members, based on region & availability. The interview usually lasts around one hour, and is an evaluation of the technical skills & expertise of the applicant. During this interview, candidates are required to present on a project that they have implemented, and to demonstrate their in-depth knowledge & role that they played on the project. Materials for the interview need to be submitted in advance by the person applying.
  1. Finally, the team reviews the interviews, and decides as to which applicants have successfully shown their skills & expertise. Applications who have not met the level required are notified, along with feedback and areas that they could look to work on for a future nomination.
  1. Successful applicants are notified as well directly, though the news is not publicised until May or so, when the public announcement takes place with the relevant FTRSA websites being updated with their information.

Note: Existing FTRSA’s will go through the same general process, though if they currently hold the category that they are applying for, they will not have to interview for the application. However if they are applying for a different category that they are not currently awarded in, they will have to interview for it. For example, a Power Platform FTRSA applying for a Dynamics 365 FTRSA recognition WILL need to go through the interview stage.

Note: Being an existing FTRSA is no guarantee for being able to renew successfully. Renewals are reviewed in the same general way (except for the interview stage, as mentioned above), to ensure that they’re at the same high quality level as new applications.

For the upcoming year, there have been some IMPORTANT changes in the program, which are very important to take note of:

  • Previously there are been separate categories under Power Platform (eg Power Apps, Power Automate, etc). For the upcoming 26/27 award year, there is just a SINGLE Power Platform award category. Dynamics 365 will remain as two award categories (Customer Engagement/Finance & Operations)
  • All product feedback (whether to product engineering, advisory boards, focus groups etc) have been removed from the submission consideration, and are no longer valid

Now there are a lot of questions that people may ask when considering to apply for it (or even for renewing their existing FTRSA status).

Over the last 2 months, I’ve had numerous calls with organisations & individuals to try to help them understand the program and the application process. Below I’ve included a list of commonly asked questions that have come up- though it’s important to note that the FAQ’s on the site are actually REALLY good, and answer most of the obvious ones already (thank you to the team for doing this!):

+ Do I need to be working at a Microsoft Partner, or can I be employed by the end user organisation?

You need to be employed by a Microsoft Partner. The application process will require you to sign in with your business domain email address, along with the Partner ID for your organisation.

+ Can I use my own personal email address? I already have access to the Microsoft tenant with it

No, you need to use your corporate email address, regardless of whether your personal email address has existing access to the Microsoft tenant. Personal email addresses are blocked from being able to be used in the application/renewals process.

+ Does the Microsoft Partner that I work for need to have the Business Applications solution designation, or be of a certain size?

No, there are no requirements for specific solution designations and/or specific size. As long as you’re employed by a Microsoft Partner (which to be clear, could be your own organisation, and have a total of 1 employee – yourself!), then that’s absolutely fine. During the application process, you will be required to provide the Microsoft Partner Number (MPN) ID.

+ How many people will receive the award for the upcoming year?

As mentioned at the beginning of this post, there are around 160 current FTRSA’s. Whilst I’m obviously not privy to the number of applicants, or the (ultimate) decision by Microsoft as to what the number for the upcoming award year will be, I’d venture to suggest that the number isn’t going to increase significantly. Microsoft (& the people owning the program within Microsoft) really want this to see seen as the ‘Best of the Best’, so having many more people is unlikely to achieve that.

+ Does the award belong to me, or my company?

The award belongs to you – it’s awarded in an individual capacity. What this means is that if you’re changing employment, it will go with you.

+ Do I need to be working in a Delivery capacity? I only do Pre-Sales?

Yes, you need to be actually working on/delivering the project. FTRSA is about people who are absolutely hands-on with the technologies, and implementing them. Pre-Sales is an important function (and to be clear here, pre-sales is part of my role), but if you’re not doing an implementation function, you can’t get FTRSA.

+ The project/s I’ve worked on are confidential, and I can’t share details of them (eg architecture etc)

This is something I’ve heard a few times. Firstly, I’d remind you that Microsoft owns the platform, and is aware of them. Secondly, the information that you need to share can be obfuscated (eg referring to the customer sector or vertical, rather than the customer itself), and doesn’t need to go into absolute detail for every single column & data point. I know of existing FTRSA’s who work on HIGHLY confidential/government projects, that have no issue with submitting enough information about the project to be able to get awarded FTRSA.

Alternatively, if this really WILL be an issue, then you can create & submit a Technical Sample instead (more information under Section 10 of the FAQ’s).

+ I don’t know what to include in my reference architecture – HELP!

DON’T PANIC! (yes, I do love this Hitch Hikers Guide to the Galaxy reference). Under Section 9 of the FAQ’s you’ll find links as to how to submit, but ALSO templates that the team has VERY helpfully & nicely created for you!

You don’t have to stick to the provided format, of course, but I’d suggest to strongly take the suggested sections/items within them as recommendations for what you’ll need to include. Think of it this way (in my opinion) – it’s not just about the actual architecture, but also about things like integrations, security/authentication, application lifecycle management, disaster recovery, data loads, reporting, scalability, usability, and the list goes on…and yes, AI is likely to be included too on that…

Note: Whilst I wouldn’t specifically expect licensing to be included, I tend to find that FTRSA’s are highly likely to understand & drive licensing considerations & conversations. It would do you well to include these as well if you’re handling this side too

+ Do the reference architecture & customer story need to be for the same project?

They are able to be for the same project, but you’re able to submit the information across different projects. For example, you may still be in the middle of delivering a project that you’re doing the reference architecture for, or the project has just finished, and therefore a partner/customer story wouldn’t yet be able to be done.

+ Can I wait until the last moment of the application window to submit?

Well you can, but I wouldn’t recommend it – plus the team aren’t likely to love getting an avalanche of last minute submissions. Given that there’s just under 2 months to go until the application window closes, I’d say to get everything ready & submit ASAP – this is especially relevant for the reference architecture it can take 6-8 weeks to go through the review process!

+ I’m too snowed under with work – can I get an extension to the timeframe?

No, unfortunately not. If you’re too busy with work (& that your employer doesn’t seem to understand the kudos of the award, and help remove some of the work), then wait & apply for next year. Don’t bother the team to ask them for an extension – they’re really busy enough as it is!

Hopefully this will be helpful to you – if you or others in your organisation are considering applying for this, and you have questions that aren’t answered above, I’d be more than happy for you to post them here, or feel free to contact me on LinkedIn directly if you’d prefer.

And finally, if you do decide to go for it – GOOD LUCK!!!

Exam AB-100: Agentic AI Business Solutions Architect

It’s always interesting when Microsoft release a new type of exam, especially when it’s not tied to specific functionality, but rather to an overall approach. The AB-100 exam (don’t pay too much attention to the ‘100’ designator, in my opinion) follows the approach that we’re seeing Microsoft taking – needing to use technology (& here, specifically AI in technology) holistically across multiple solution.

I took the exam in Beta as soon as it launched, though due to preparing for the Power Platform Community Conference (which I’m currently writing this at), it’s taken a bit of time to get this blog post up and published.

As an architect, AI isn’t new to us – we know of multiple different capabilities (spanning Microsoft 365, Copilot Studio & Azure AI Foundry), which we need to use appropriately to handle customer scenarios. AI isn’t new to exams either – there are multiple Azure exams with AI in them, we have multiple Business Application exams with Copilot Studio in them, etc.

However, exams to date focus on a specific part of the technology stack. For example, the PL-600 focused on Power Platform & Dynamics 365 Customer Engagement. The MB-700 focused on Dynamics 365 Finance & Operations, and so on and so forth.

This new exam is somewhat of a paradigm shift – needing to understand AI holistically as an architect across multiple parts of the technology stack, what & how it’s used for and where, etc. This is most definitely a new approach, and it will be interesting to see how it users react to it.

Truthfully, having taken it, I’d personally say that it feels a bit more like an enterprise architect exam approach (which also doesn’t exist in the Microsoft stack), albeit focused around Business Applications. Given the way in which Microsoft partners have specialists in each technology part of the stack, it will be interesting to see if this approach will pivot the way in which people are trained/skilled, and deliver projects. I think that there’s likely to be a lot of feedback to Microsoft that it’s not the way that the partner landscape currently works – though perhaps Microsoft is specifically trying to influence this itself to change. Only time will tell…

The overall information for the exam can be found at Microsoft Certified: Agentic AI Business Solutions Architect (beta) – Certifications | Microsoft Learn, though there is NO learning path that’s been created (at the time of writing). I think that this is because Microsoft may want to see the reaction to this new approach, and pivot appropriately, rather than needing to create a lot of content that may potentially need to be re-done.

The official description of the exam can be found at the link above (it’s too long to post here), so please go take a look!

So, as I’ve posted before around my exam experiences, it’s not permitted to share any of the exam questions. This is in the rules/acceptance for taking the exam. I’ve therefore put an overview of the sorts of questions that came up during my exam. (Note: exams are composed from question banks, so there could be many things that weren’t included in my exam, but could be included for someone else!). It’s also in beta at the moment, which means that things can obviously change for when it comes out of beta.

I’ve tried to group things as best together as I feel (in my recollection), to make it easier to revise.

  • Business usage of AI
    • Different agents usage and results
    • How to use appropriately for business/agent analysis
    • Different types of metrics and results
    • Best practices for building Copilot Studio agents, and using Copilot Studio agents
    • Looking at the ROI for using Copilot Studio agents
    • Designing the usage of different AI and agent capabilities for business needs
  • Building agents
    • What Copilot Studio agents need to work
    • Data types that agents can use
    • Data sources that agents can use
    • Use of knowledge sources for agents
    • Usage of custom connectors
    • Handling token usage with Azure AI Foundry
    • How to handle testing for Copilot Studio agents
    • Different testing types & approaches
    • Extending Microsoft 365 Copilot
    • Using Power Automate with Copilot Studio agents
    • Speech to Text/Text to Speech
    • Handing conversation to live customer service representative using Dynamics 365 Contact Centre
    • Using RPA within an agent
  • Models
    • Different types of models that could be used within Azure AI Foundry
    • Orchestration
    • Improving performance
  • Security
    • How to handle Copilot Studio security
    • Governance & compliance tooling (eg Purview)
    • Handling/restricting connectors for Copilot Studio agents
    • Ensuring user security when using agents (ie not able to retrieve data that the user cannot access directly)
  • Reporting
    • Monitoring tools for Copilot Studio agents
    • Metrics, usage & analytics for Copilot Studio agents
    • Investigating Copilot Studio agent transcripts
    • Monitoring tools for Azure AI models
    • Evaluating Azure AI Foundry model outputs
  • Application Lifecyle Management
    • Focusing on AI Agents for Dynamics 365 CE, Finance & Operations, and Power Platform
    • How/what components to use and include
    • What tooling to use for ALM

Overall, the exam seemed to me to be pretty decent – I was worried that it would focus just on Copilot Studio, with not much else in it, but there’s a good balance across other AI capabilities as well.

The big change, for me at least, were the questions around Dynamics 365 Finance and Operations – this isn’t an area that I’m an expert in generally, and most definitely not for AI tooling. I think that this, as I mention above, is what may get the biggest pushback/feedback into Microsoft.

I’m going to be quite interested in seeing how the exam is actually launched (as it’s currently in Beta of course). Having chatted with a few others who have taken the exam (whilst obviously respecting the NDA!), they also think that this is an approach pivot from Microsoft, and are wondering about the real world application of it.

I hope that this is helpful for anyone who’s thinking of taking it – good luck, and please do drop a comment below to let me know how you found it! I’d also be interested in your thoughts/opinions around the direction that Microsoft has taken for this!

Dynamics 365 Contact Centre – worth it or not?

As quite a few people are aware, my background is decently embedded in customer service capabilities. In fact when I launched this blog, I did a massive number of articles around the new Omnichannel capabilities that Microsoft had just released for Dynamics 365 Customer Service!

Since then, Microsoft have been releasing new & updated functionality over the last number of years, and it’s been really great to see the journey & roadmap that’s been implemented. It’s now absolutely possible to have a full customer service experience, across many different channels (first party provided by Microsoft, as well as through 3rd party solutions).

Last year, Microsoft brought out a new offering called ‘Dynamics 365 Contact Center’. This is an interesting angle on the products being offered by Microsoft. I’ve recently had the opportunity to dig deeper into the offering, and want to share my thoughts below as to whether it’s worth it or not.

Before I start, I’m going to be quite clear – having spent several weeks deep on this, including talking to various senior technical people at Microsoft, my general conclusion is that this is more of an outlier/edge case product, rather than being something that most organisations will look to adopt.

Personally I also think that this is more of a political consideration to be able to get on the analyst charts/reports for Contact Centre (given that organisations need to have their technology be able to connect into multiple platforms).

With that said, let’s take a look into WHY I say that (though I’m happy for my mind to be changed!).

Offering

The way that Microsoft pitches the product is as follows:

Deliver intelligence, automation, and efficiency across channels through a Copilot-first contact center that works with existing CRMs.

What does this actually mean? Well, it’s Microsoft offering communication capabilities across multiple channels, which is essentially the Omnichannel capabilities that Dynamics 365 Customer Service has already. What it doesn’t have is the actual underlying Customer Service functionality that service functions need.

For the eagle eyed amongst you, you’ll have noted the part of ‘existing CRM’s’. What this means is that Microsoft has enabled the technology to be be able to connect into third party CRM systems (eg SalesForce, Service Now, ZenDesk, etc). More on how this is being done further below.

The thinking behind this that this is now an offering for organisations to be able to use Microsoft as the Contact Centre solution whilst continuing to work with their existing systems. This is because larger scale customers are often not able to look at replacing/migrating for both CRM & CCaaS at the same time. Being able to have this as an offering therefore can enable organisations to make use of their Microsoft investment, and possibly using it as a ‘stepping stone’ to migrating to a full Microsoft CRM solution (ie Dynamics 365).

Other providers such as Genesys, NICE, Five9 & Amazon all have similar sorts of companion Contact Centre solutions as well, so Microsoft is obviously looking at competing with these now too.

Integrations

So integrating with other systems are at the absolute core of the product. This is because, as I’ve said above, this is not a complete customer service/CRM solution.

There are two types of integrations that are currently being facilitated by the product:

  • SalesForce. There is a native integration to SalesForce, using the Microsoft SalesForce connector. This is actually connecting directly from Contact Centre to SalesForce through the SalesForce API, without any other components needed
  • All other CRM systems. Connecting into other CRM systems, such as Zendesk & ServiceNow etc, use Power Automate. More specifically, a single Power Automate flow, which needs to be set up, connected & configured. It does allow the ability to use either one of the provided connectors or API calls through HTTP action, but there’s some manual work required. The drawbacks of course of using Power Automate is that it’s not actually a (proper) integration tool, and could possibly run into challenges when handling data at scale – throttling or timing out.

Note: Microsoft teams may also say that it’s possible to deploy Contact Centre on top of Dynamics 365. Though this is technically feasible, it does require its own environment to be deployed, and then using Power Automate (or another data integration/sync technology) to move data backwards & forwards, and is not the way that the product is actually being positioned.

Environment (& storage considerations)

When deploying Contact Centre, it requires its own environment to be set up in. It is not possible to deploy Contact Centre on top of an existing Dynamics 365 (Customer Service) environment.

It’s important to consider the amount of data that’s needing to be synced in to this environment, the ongoing data storage within it, as well as the storage that usage of Copilot will take up. One of the concerns that I’ve seen, especially when at scale in organisations with hundreds or thousands of users, as the amount of storage that the Copilot logs actually takes up (which customers are charged for). These can of course be cleared down, but then the analytics from these won’t be useful for longer periods of time.

Embedded Experience

It is possible to embed the conversation widget from Contact Centre directly into other CRM (or other) systems. This allows users access to this without needing to switch systems. It’s a very nice item to have – it’s something I wish that were possible with Dynamics 365 Customer Service, but unfortunately that’s not possible (at least not at this point in time)!

Licensing

From a practical perspective, I don’t believe that the numbers actually show a positive approach towards adopting Contact Centre on top of other applications.

If we take SalesForce as an example, there are possibly 3 licenses that larger organisations would have (all prices are current list price in USD):

  • Pro Suite – $100 per user per month
  • Enterprise – $165 per user per month
  • Unlimited – $330 per user per month

Adding on Dynamics 365 Contact Centre would then add an additional $110 per user per month. That means a minimum of $210 per user per month, though the likelihood is somewhat higher (as most large organisations would be on SalesForce Service Cloud Enterprise) at around $275 per user per month. Those prices also don’t include additional Dataverse storage that may be needed for large amounts of data being handled.

Compare that with the new Dynamics 365 Customer Service Premium offering (wrapping up Customer Service Enterprise, Voice & Digital Channels into a single SKU) at $195 per user per month. In my mind, going native Dynamics 365 all the way is a no brainer (especially as Copilot is native in the product – with SalesForce, you need to pay more for AI!).

Existing Dynamics 365 (Customer Service) deployment

To be clear – if organisations already have Dynamics 365 (Customer Service) deployed & in use, then the specific Dynamics 365 Contact Centre solution is NOT the solution for them. Customer Service is designed to be the complete end to end solution for CRM/Case Management/Ticketing/Omnichannel etc, and Customer Service Premium (as mentioned in the licensing section above) is bringing together Customer Service together with Contact Centre capabilities within a single environment.

Also as pointed out above under Environments, it’s not possible to deploy Contact Centre into an existing Dynamics 365 deployment – you need to set up another environment, and then syncronise the data backwards & forwards, leading to more storage costs, API calls, technical setup/infrastructure, etc.

Summary

In summary, I think it’s an interesting (lightweight) product, and will keep an eye on it to see how it possibly evolves. Time will tell as to whether it takes off at scale or not.

I’d also like to thank Peter Ruiter for his time & expertise on some of the finer nuances on the product.

If you’re considering deploying Dynamics 365 Contact Centre, or have any questions around it, please do drop a comment below – I’d love to hear!

Ignite ’24 – Power Platform Governance Announcements

Being at Microsoft Ignite ’24 in Chicago is an amazing experience. Even MORE amazing are the announcements that the Power Platform Governance team has come out with. I’ve been fortunate enough to have been given early access to some of the features, and they’re really awesome. Below, I’ve summarised what I believe to be the top picks to look at

Power Platform Admin Centre.

We’ve all been used to the PPAC experience that’s been around for a number of years. It’s been useful, but limited in various functions. Well, there’s not just been a facelift, but an entirely NEW PPAC experience for us. Here are some screenshots:

There’s a massive amount of stuff to look through (& play with) – my overall impressions are that this will definitely help move forward with security, governance & everything that’s needed. More importantly, especially with the focus & mentions of Copilot & Copilot Studio, there’s a section reserved for that, which is going to be critical for IT admins:

The new PPAC experience is also taking over the role that was previously played by the Power Platform CoE Starter Toolkit. Functionality is (slowly) being shifted into the main PPAC experience. One of these that’s already a great start is the Inventory capability:

Behind the scenes, this is data being captured at the tenant level, which is being stored in Dataverse (no, we don’t YET have access to the data natively, though I’m told it’s on the roadmap to be able to query). The performance of this works extremely well, though there are still a few little bugs that are being worked out 🙂

But more importantly, this also covers Copilot Studio components – to date there has not really been anything around to report on this properly…but now there is!

Managed Environments

We all know the conversation around Managed Environments, and sometimes needing to persuade organisations that premium licensing will actually give ROI to them. Well, with the new features that have been announced this week, this just got a WHOLE lot easier! Let’s take a look at some of these items

Environment Rules

Initially when Managed Environments launched, there were just a few rules that could be applied. We were told that more were coming….and indeed they are! Still more to come that the team is working on, but the number of rules has increased massively:

Some of my favorites here are the ability to manage Copilot – it’s going to be SO important as to how these are handled (especially with all of the emphasis on it coming out of Ignite). Being able to set/enforce authentication options, sharing options & various other settings is going to be KEY to proper Copilot governance.

It also now gives options for backup retention policies. I’ve written previously about how to ‘hack’ longer backups for environments (Environment types, capabilities & backups) – we’re now able to set longer backups for pure Power Platform environments within needing to enable Dynamics 365 applications within them (though of course you may still want to do this if you can see yourself using Dynamics 365 in the environment in the future – it’s still not possible to upgrade the environment type at a later point).

However there’s also something else new around environments. Previously if just looking at an environment from the main list of environments within PPAC, it wasn’t easy to see if it belonged to a Managed Environment group or not. Now it is – more so, you’re not able to tweak any settings on the general environment page that are being managed at the Environment Group level!

DLP Capabilities

One of the main challenges to date with DLP has been around the inability to block certain connectors (eg the Microsoft standard connectors). With Managed Environments, the team has now enabled organisations to be able to block ANY connectors that they wish to! If you’re not running Managed Environments, the existing limitations will still apply – you do need to be using Managed Environments for this! This will also be made available through the Power Platform API & Admin SDK tools in the coming weeks.

Preferred Group

Whilst we’ve had environment routing around now for a while (being able to auto-route new makers to a specific environments, which could be within a Managed Environment group), we haven’t had the ability to handle new environments being created & auto populated into an environment group.

Well, this is now changing. We’re now going to have the ability to auto set policies, so that when a new environment is created, it can automatically be added to a Managed Environment group. Obviously with this happening, the rules & policies applied at the group level will automatically be applied to the new environment as well! This will be a decent relief to Power Platform administrators – to date we’ve been able to set up things like DLP policies to auto-apply to new environments, but managing them otherwise needed to be done manually…well, no more!

Security Personas

Until now, security & governance within Power Platform have been a ‘one size fits all’ approach. Different types of people would access PPAC etc, but there wasn’t really a way to differentiate the different personas. This is now changing:

In summary, incredible steps forward, and I know that there’s a LOT more in the works that should be coming in the next weeks & months. I’m really excited about all of this, and using the capabilities to continue enabling & empowering organisations from a security & governance point of view.

Changes in the FTRSA Program

Firstly for those who are not aware, the acronym ‘FTRSA’ stands for ‘Fast Track Recognised Solution Architect’. This is an award that Microsoft bestows on people working for Microsoft Partners who have demonstrated clear technical expertise & understanding of the Microsoft Business Applications Platform at (enterprise) scale.

To quote from the Microsoft documentation for the program:

The FTRSA designation is awarded by Microsoft’s Business Industry & Copilot (BIC) engineering team to enterprise solution architects who exhibit outstanding expertise in architecture and deliver high-quality solutions. Recipients are typically nominated based on their exceptional skills, extensive experience with Microsoft products, relevant certifications, and leadership in projects.

The award covers two main areas – Power Platform & Dynamics 365, with different capabilities under each area.

The program has been around for 6 years now (since 2019), with people needing to submit for annual (re)award & recognition. On average, approx. 120 people are recognised with this award globally. It is definitely something that Microsoft Partners can place a large emphasis on if they have people with this!

Generally over the last few years, the categories for being awarded have included:

  • Power Apps
  • Power Automate
  • Power BI
  • Dynamics 365 (CE)
  • Dynamics 365 (ERP)

Changes over the last few years have included the Power BI category being retired. This is to be expected, I guess, given that Microsoft programs tend to flex/pivot over time.

The process for application is simple. By this, I mean that nominees need to fill in a form (located at https://aka.ms/FTRSANomination). In this form, they then need to provide various pieces of information, such as their personal information, the partner that they work for (including the Microsoft Partner ID), as well as submitting proofs to show that they currently fulfil the necessary requirements for the program. These requirements can vary based on the technology, and over the last few years I’ve seen a few different versions (based on the year).

The form is usually open for around 3 months or so, opening at some point in October, and closing at some point in January.

Once submitted, the information is then sent to the relevant Microsoft team who oversee & run the program for review. There are several stages to the review that is carried out:

  1. The team carry out an initial review of the information provided, ensuring that it meets the program requirements. Applicants who have not provided the information to meet the program requirements/criteria, or who do not pass the initial review threshold as evaluated by the team (this is why applicants are recommended to ensure that they’re focusing on quality of information being submitted), are not progressed and are notified.
  2. Applicants who pass the first stage are then invited to an interview. This is carried out with one of the wider team members, based on region & availability. The interview usually lasts around one hour, and is an evaluation of the technical skills & expertise of the applicant. During this interview, candidates are required to present on a project that they have implemented, and to demonstrate their in-depth knowledge & role that they played on the project.
  3. Finally, the team reviews the interviews, and decides as to which applicants have successfully shown their skills & expertise. Applications who have not met the level required are notified, along with feedback and areas that they could look to work on for a future nomination.
  4. Successful applicants are notified as well directly, though the news is not publicised until May or so, when the public announcement takes place with the relevant FTRSA websites being updated with their information.

Business Contributions

Having taken a look at the nomination form for this year, there are some new changes coming in that will be quite important (in my opinion) to pay attention to. These are being referred to as ‘Business Contributions’. Specifically, applicants will not only need to demonstrate technical/project expertise, but will also need to demonstrate one or more business contributions.

Depending on the technical area being selected for the application (Power Apps or Dynamics 365), these are the areas that contributions can be submitted for:

Power Apps

  • Published Microsoft Customer Stories or Microsoft Partner Stories, or evidence of nomination to be published
  • Contribution of product feedback to engineering teams, advisory boards, focus groups, communication forms or private preview programs
  • Published technical samples (e.g. code snippets, data migration templates, integration samples, etc) in the PowerCAT GitHub channel
  • Proof of escalation reduction in customer implementations
  • Reference architecture article/s used with a customer that leverages the Power Platform Well Architected framework

Dynamics 365

  • Onboarded customer implement project(s) in the Dynamics 365 implementation portal, leveraging Dynamics 365 guidance hub frameworks
  • Published Microsoft Customer Stories or Microsoft Partner Stories, or evidence of nomination to be published
  • Contribution of product feedback to engineering teams, advisory boards, focus groups, communication forms or private preview programs
  • Published technical samples (e.g. code snippets, data migration templates, integration samples, etc) in the Dynamics 365 guidance hub
  • Published contributions to the Business Process Guide Catalogue
  • Proof of escalation reduction in customer implementations (either partner led or FastTrack led implementation)
  • Submit additional reference architecture articles for review and potential publication

This is a significant change for the program – for the last 6 years, it’s been purely expertise recognised from client engagements. Now (in the 7th year, and I’d think very likely going forward), people considering nominating for FTRSA will need to prove that they’re giving back to Microsoft in some way, other than just running client engagements.

Overall, I think this is an interesting concept, and generally a good one. Let’s face it – being able to talk about technology (at scale) is something quite a few people can do, but it doesn’t meant that they’re necessarily good at it. I know of several over-architected projects that I was brought in on, where just because lots of technology components were used, didn’t mean it was doing well. Part of the skillset as an experienced/knowledgeable architect is also when less is more!

Additionally, being technically competent is of course important, but personally I believe that being able to be clear & communicative is also a very important role for a solution architect. Essentially having that functional view, as well as being able to engage appropriately with customers (as the owner of the project) is vital as well. One of the

I also think that Microsoft is wanting to see that the program in which they’re investing time, effort & resources (yes, FTRSA’s get a wonderful SWAG box – THANK YOU TEAM!) are providing ROI back into Microsoft in terms of feedback, input & other information. This way products can (hopefully!) get better, visions can be assisted with customer information, and others can be helped as well.

Some people may say that this is becoming more like the Microsoft MVP program. Given how much MVP’s are required to do, in terms of community (& Microsoft) engagement, I can understand the thoughts, but really don’t think that it’s anything anywhere near to that. My only note on this would be that I hope that contributions remain business/technical focused, which to me seems in line with the stated goals of the program, rather then also include (other) community contributions.

Of course, there are those people who may choose not to do such things, and just focus on the project/s that they’re working on. This is a valid scenario, and there is of course absolutely NOTHING wrong with this. Not all of us may wish to engage with Microsoft engineering teams, or provide information publicly. And that’s all fine. However I would politely point out that nothing remains static, and if you’re wanting to receive (or continue to receive) the FTRSA award, you may need to do some thinking around how you’re approaching it, with the change that’s come this year.

I’d also encourage people who are considering applying for the FTRSA award recognition to reach out to an existing FTRSA, who could possibly help mentor, review & guide you. They’ve already been through the process and are recognised as such, and therefore have a pretty good idea of what ‘hits the bar’ and what may not.

So if you’re thinking of going for it – I wish you the best of luck!

Error in Customer Insights – Data

Not a long blog post, but something that may come in handy for some people!

I was recently playing around with Customer Insights – both the Data & Journeys side of thing for a Proof of Concept I was creating for a customer. It’s definitively interesting to see how Microsoft have been evolving the product over the last year or so (which was the last time I played around with it).

One of the components that we were very interested to play around with specifically is the ‘Discovery’ part of Customer Insights – Data. As shown in the screenshot below, this is where you’re able to use natural language to query your data, to then get results using AI. This means that you don’t have to understand any specific query language (SQL, R, M etc), but rather just ‘converse’ with it as you would another person.

You’ll perhaps note that there’s NO mention of Copilot here, though perhaps Microsoft may at some point decide to call this Copilot functionality as well?

The team had loaded in the data – we had a fair few number of rows (multiple millions of them!), gone through the unification process, enrichment process, etc etc. All of this was set up & working properly.

However, when I tried to go to the ‘Discovery’ tab in my own browser, I was getting an extremely strange error:

As you can see, it’s incredibly informative…NOT!!! I mean, what does ‘Value cannot be null. (Parameter ‘key’)’ actually mean to the average person?

At first, I thought it was something to do with the underlying data, so went back to check that. However the data seemed fine. Furthermore, other people on the team were able to access Discovery in their own browsers without any issues.

Having no other option (turning it off & on again didn’t work), I raised a support ticket with Microsoft. This was responded to in a timely fashion, and I found myself working with Rohan, the Microsoft Support Representative.

In my initial ticket submission, I had included details of what was going on, what I had clicked on, that others in the team didn’t have the problem, the Organisation ID, URL’s – you name it!

Rohan jumped on a call with me, and it turned out to be the shortest support session I have EVER had. He asked me to change the system language to another language (I had been using English, to decided to change it to German). Once the language change had been applied, we navigated back to the ‘Discovery’ tab (all in German, I may add), and when the screen loaded, there was no error! Holding our breath, we then changed the language back to English (more complicated than I had imagined, with navigating in a different language).

Once this was done, and everything was back in familiar English, the ‘Discovery’ tab then loaded without issues (again!), and I was able to go ahead and start running queries in it using natural language. It was great!

In fact, it’s actually taken me longer to type out the above than the length of the support call – it was indeed that quick! Obviously lots of praise to Rohan (he did mention he had seen this once before, which is why he knew how to fix the issue).

The bigger question in my mind is what exactly was happening/going wrong underneath – I have asked this to Microsoft, but haven’t gotten a response. My guess is that something in the user/language settings hadn’t been populated properly, and therefore resulted in that error message. Updating/changing this forced it to then populate properly, and it worked.

Have you ever seen something like this, where changing a system setting (such as language) helped resolve an issue? I’d love to hear more about it –

MB-280: Microsoft Dynamics 365 Customer Experience Analyst

It’s been a while since taking a Microsoft certification exam, but with the new MB-280 exam being launched in the last few days, I’ve obviously needed to take a look at it! It felt a little strange, as I’m now used to the certification renewal process (which is why I haven’t taken any exams in a while), but thankfully things went alright with the overall exam.

For those who haven’t been following the news, Microsoft made an announcement a few months back that some exams would be retiring, and the new MB-280 exam would be the replacement for this. In short, this is supposed to replace the MB-210 (Sales), MB-220 (Customer Insights – Journeys) & MB-260 (Customer Insights – Data). Malin Martnes wrote a good blog post in June – I’d suggest to take a look at it at for more general information around it.

Now I’m all up for new certifications being created & made available. However, and I know this could be considered controversial, I have ABSOLUTELY NO IDEA as to why this exam was created in THIS specific way. If an exam had been created, for example, to bring together the two sides of Customer Insights (ie to cover both Data & Journeys in a single exam), I think that would have been quite good.

But with having taken this, my thoughts (& feedback to Microsoft directly) is that they should un-deprecate (if that’s a word/phrase?) the MB-210 exam, and continue it forward. There’s no reason that I can see having Marketing & Sales together in a single exam – it feels like two (or technically 3?) lego bricks lumped together without any rhyme or reason.

The learning path for the exam was also launched in the last few days, and can be found at Study guide for Exam MB-280: Microsoft Dynamics 365 Customer Experience Analyst | Microsoft Learn

The official description of the exam is:

As a candidate for this exam, you’re a Microsoft Dynamics 365 customer experience analyst who has:

  • Participated in or plans to participate in Dynamics 365 Sales implementations.
  • An understanding of an organization’s sales process.
  • An understanding of the seller’s perspective (user experience).
  • The ability to demonstrate Dynamics 365 Customer Insights – Data and Customer Insights – Journeys capabilities.

You’re responsible for configuring, customizing, and expanding the functionality of Dynamics 365 Sales to create business solutions that support, automate, and accelerate the company’s sales process. You use your knowledge of customer experience capabilities in Dynamics 365 Sales and Microsoft Power Platform to inform the following design and implementation tasks:

  • Configure Dynamics 365 Sales standard and premium features.
  • Implement collaboration features.
  • Configure the security model.
  • Perform Dynamics 365 Sales customizations.
  • Extend Dynamics 365 Sales with Microsoft Power Platform.
  • Deploy the Dynamics 365 App for Outlook.

As a candidate, you need:

  • An understanding of the Dataverse security model and features, including business units, security roles, and row ownership and sharing.
  • Experience configuring model-driven apps in Microsoft Power Apps.
  • An understanding of accounts, contacts, and activities.
  • An understanding of leads and opportunities.
  • An understanding of the components of model-driven apps, including forms, views, charts, and dashboards.
  • An understanding of model-driven app personal settings.
  • Experience working with Dataverse solutions.
  • An understanding of Dataverse, including tables, columns, and relationships.
  • Familiarity with Power Automate cloud flow concepts, such as connectors, triggers, and actions.

More can be found at the exam page itself, which is located at Exam MB-280: Microsoft Dynamics 365 Customer Experience Analyst (beta) – Certifications | Microsoft Learn

Now during my exam, I was looking forward to seeing the ‘new’ capability around being able to use Microsoft Learn during the exam (new to me – as I haven’t taken any other exams in the last year or so since it was announced!). However there didn’t seem to be any capability to launch Microsoft Learn – I’m not sure why it wasn’t available, as this isn’t a Fundamental level exam

Questions also used the older terms of references rather than the newer/accepted terms – ie using ‘field’ instead of ‘column’, and ‘entity’ instead of ‘table’. Again, I have no idea why this is – all other exams (including the renewals for them) are using these properly (in my summary below I have ensured I use the correct terms).

So, as I’ve posted before around my exam experiences, it’s not permitted to share any of the exam questions. This is in the rules/acceptance for taking the exam. I’ve therefore put an overview of the sorts of questions that came up during my exam. (Note: exams are composed from question banks, so there could be many things that weren’t included in my exam, but could be included for someone else!). It’s also in beta at the moment, which means that things can obviously change.

I’ve tried to group things as best together as I feel (in my recollection), to make it easier to revise.

  • Sales Apps
    • Configuring forms, columns & tables
    • Configuring security roles & access to records
    • Configuring relationships between records (including deletion properties)
    • Sales Mobile App – security & deployment
    • Forecasting – setting up & configuring
    • Configuring Goals
    • Configuring Opportunities
    • Handling currencies
  • Copilot for Sales
    • Setting up & deploying to users
    • Configuring access
  • Outlook App
    • Deploying & setting up
    • Configuring forms & information
  • Exchange
    • Connecting to mailboxes
    • Configuring folder permissions
    • Configuring multiple domains
  • Product Families & Catalogue
    • Creating & setting up
    • Configuring options
    • Adding items to be used
  • Price Lists
    • Creating & setting up
    • Configuring options, including discounts
    • Using time-restricted price lists
    • Handling currencies
  • Document Management
    • Different document management capabilities
    • Usage of SharePoint in different ways
  • Data Import
    • Usage of Power Query
    • Data manipulation
    • Handling duplicate records
  • SMS
    • Setting up & configuring SMS provider
  • Journeys
    • Different triggers to use based on scenarios & requirements
    • How to trigger journeys
    • How to set up emails to be used within a journey
  • Segments
    • Different types of segments
    • Creating & modifying segments
  • Searching/Filtering
    • Using Advanced Find
    • Setting up/modifying queries to include/exclude records based on conditions
  • Business Process Flows
    • Modifying business process flows
    • Handling conditions within business process flows

As a Sales exam, it seemed alright. But as mentioned above, the Customer Insights questions just seemed strange to me – I’d expect a consultant to be very technically skilled in Customer Insights, but not in Sales (& vice versa), so I’m not understanding bringing these two sides together.

I’m going to be quite interested in seeing how the exam is actually launched (as it’s currently in Beta of course). Having chatted with a few others who have taken the exam (whilst obviously respecting the NDA!), they also can’t really understand the landscape. Personally, I think that if it continues like this, Microsoft is going to hear quite a few complaints around it.

I hope that this is helpful for anyone who’s thinking of taking it – good luck, and please do drop a comment below to let me know how you found it! I’d also be interested in your thoughts/opinions around the direction that Microsoft has taken for this!

New Power Platform Security Role Editor

We’ve all been there. Security role wise, that is. It’s the point in any project where we start looking at configuring user security. To do this, we’ve used the Security Role section in the Settings area (once it’s actually loaded, of course):

Ah, the joys of this – dating back to CRM 3.0 (to my recollection – though it possibly might be 4.0). All of these lovely little circles, which fill up more & more as we click on them, whilst trying to work out what each one actually does:

And that’s not to mention the ‘Missing Entities’ tab (did anyone ever figure out what this was supposed to be used for), or the ‘Custom Entities’ tab which seemed like a catch all place. Plus the fact that non-table permissions (eg Export to Excel) were placed on random tabs that meant we needed to hunt through each tab to find the appropriate item.

Now many of us spend hours in here (then further hours once we started troubleshooting user issues that were down to security role misconfiguration). The absolutely ‘JOYS‘ of the header title row not being scrollable (though it was possible to hover over each permission, and it would tell you what it was). The power of clicking on the line item, and seeing ALL of the little circles fill up – if you haven’t ever done it, you’ll not have experienced the bliss that this could bring!

But all things come to an end(or as the Wheel of Time series says:’ The Wheel of Time turns, and Ages come and pass, leaving memories that become legend‘), and now we have a NEW security role experience.

First of all, the UI has changed. It’s cleaner, responsive, gives more information to users upfront….and the heading SCROLL!!!

We’re able to show just the tables that have permissions assigned to them (rather than wading through dozens or hundreds of entries that have no relevance), or show everything:

Oh, and those random non-table privileges that we had to try to find beforehand – these are now grouped very nicely. This is SO much easier to manage!

We can also take permissions that have been set on a specific table, and then copy them to another table (it promps us to select – and we can select MULTIPLE tables to copy to!):

But best of all is the way that we can now set permissions for items. There are several different ways of doing this.

Firstly, Microsoft has now provided us with the ability to select standard pre-defined options. Using these will set permissions across all categories for the item appropriately:

This is really neat, and is likely to save quite a bit of time overall. However if we’re needing to tweak security permissions to custom settings, we can do this as well. Instead of clicking on circles, we now have lovely dropdowns to use:

In short, I’m absolutely loving this. The interface is quick to load, intuitive, and works well without fuss.

Given how much time I’ve spent over the years in wrestling with security roles, I think this is going to be a definite timesaver for so many people (though we’ll still need to troubleshoot interesting error messages at times that testing will throw up, and work out how/what we’re needing to tweak for security access to work).

There are still some tweaks that I think Microsoft could make to get this experience even better. My top three suggestions would include:

  • The ability to select multiple lines, and then set a permission across all of them (sort of like bulk editing)
  • Being able to have this area solution aware. When we have various different projects going on, it would be great to have the ability to filter the permissions grid by a solution. This would be a timesaver, rather than having to wade through items that aren’t relevant
  • Export to Excel. Having a report generated to save digitally or print off is amazing for documentation purposes. There are 3rd party tools (thank you XrmToolBox!), but it would be great to be built into here

Overall, I’m really quite happy and impressed with it (it’s definitely taken enough time for Microsoft to pay attention to this, and get it out), and hope that it’ll continue to improve!

What have your bugbears with the legacy security editor been over the years, and how are you liking the new experience? Drop a comment below – I’d love to hear!