Enterprise Microsoft Dynamics consultants and developers should sit up and pay attention to Microsoft Graph, a briefing

If you are involved in business software then Microsoft Graph is a really big deal, so sit up and pay attention! Graph is quickly becoming the all pervasive API for access/control of the Microsoft cloud products and services. This is going to encompass Azure AD, Excel, Outlook, OneDrive, OneNote, SharePoint sites/lists, Planner, machine learning, business intelligence, Dynamics ERP products, cognitive services, users, Insights, Microsoft Teams and lots more, as they are added. I have noticed Microsoft Graph being mentioned more and more, so thought it about time I briefed other technologists working in or on behalf of enterprises about its importance.

What is Microsoft Graph?

Microsoft Graph Gateway

Microsoft Graph is the API of APIs, a key enabler of next generation computing with machine learning, BI and more. It is a single consistent API endpoint that provides access to a candy store of Microsoft cloud technology. It is a robust, well designed and strictly curated API, that is encompassing access to all the progressive Microsoft applications and services in the cloud. New services and applications are being rapidly added to Microsoft Graph all the time. Both end users and independent software vendors (ISV) have a need to integrate with the new fleet of cloud products and Graph can be thought of as a menu of services and products from which you may peruse, pick and choose from. From these selections, innovative solutions to your or your customers’ business needs can be devised. Microsoft Graph is your entry point to this world. Perhaps now you can start to see how important it is to keep an eye on Microsoft Graph as it matures and evolves.

Graph is one of those cases of the sum of the whole being greater than the individual parts. Graph enables consumers of the API to segue contextually and effortlessly between related data in the Graph, examine the Microsoft Graph graphic below to get the idea.

microsoft graph showing relationships between data

Some highlights of Microsoft Graph  include:

  • Office 365 Groups
  • BI Reporting
  • OneDrive
  • File storage
  • Excel and office
  • Sharepoint sites
  • Microsoft Teams
  • Insights
  • Outlook
  • People (users)
  • Dynamics products (e.g. Dynamics endpoints (NAV) coming soon…)


Access to the API is kept simple with straightforward (REST) HTTP endpoints with easy to process, familiar JSON responses, this makes it easy for different devices and platforms to consume services utilizing the API. To ensure traversal of the Graph is made easy, product teams implementing the Microsoft Graph for their product are required to; abide by strict naming conventions, versioning rules, philosophy and data typing. The result provides the consistency and quality required to enable effortless consumption of information from different facets of the Graph for single purposes.

In a session that I recently attended, the Dynamics NAV team were describing the experience of getting the NAV ERP product onto the Graph. It sounded like the Graph team expect a high standard from those wanting to be a part of it. For example there are performance targets to meet, responses to API calls within 20ms, that can be a challenge in ERP scale, breaking changes on the API between versions are certainly a no, no too!. Lets face it, the Graph team are in a position to call the shots, as a product is not a first class player on the Microsoft Platform if it is not on the Graph. Thus in the new era, for those at Microsoft, long term future of your particular product may depend on engaging with Microsoft Graph.

Leave and resume

Not only is the aim for Microsoft Graph to be central to the cloud services and products, indeed it looks like with Project Rome, this Graph also is to be central to windows operating system too. It becomes the technology used to hold state for the operating system to allow hand off between devices and instances of windows as users move between them. Thus allowing users to pick up on another devices where they left off on a previous device, no matter what the operation you were performing. It will also be the glue allows the devices to communicate instructions between each other, thus for example it could provide instructions from your laptop to your Xbox games console, binding disparate devices together. Applying these concepts to business this becomes very powerful with lots of potential. Think of typical workflows through a business and the movement of individuals in that business, but with Microsoft Graph coordinating the the information flows and performing operations on them. Talking of workflow, Microsoft Flow can be extended with the Microsoft Graph (see references). Multi-device experiences are now easily in reach of us all!

Microsoft Graph and the Enterprise

So as a end user or Microsoft Dynamics partner you may start to see how important it is to have an understanding of the Microsoft Graph! It is the key to the engine, enables integration and interaction with the Microsoft services. Business intelligence driven from cognitive services or machine learning will take on more business decision making as it matures. It will commonplace and essential due to companies striving to differentiate themselves or seeking competitive advantage, so the Graph will be critical in delivering those experiences and services to the business. ISVs will also need to develop competencies with integrating the Microsoft Graph, it will be key to developing new generation business solutions. We may see Dynamics NAV shortly becoming another part of the graph that may make it discoverable to more companies by them stumbling into using ERP while using the Graph. The distinction between products and services are bound to blur over time, leaving less distinctly defined products. It certainly brings us yet another step nearer to a world where CRM/ERP/Office/BI/Cognitive Services/Machine Learning/Office products/IoT blur together into one another now becoming a platform offering. I still see the need for “consultants” or “specialists” that can help companies navigate and translate best use of the open ended possibilities they will then be faced with into business solutions. There will also be spaces for the ISV to address verticals by adding thier own value and in other cases punch out of the graph into the “real world”. This is going to be a new shape of enterprise software solutions, keep up with the changes!

If you are a developer or interested in integrating with Graph please read on…

Extending Microsoft Graph

The Graph may also be extended by developers or technical minded users via extensions, with their own application data adding custom properties to Microsoft Graph resources without requiring an external data store. Examples are storing user profile information in the graph by extending the user resource.

  • open extensions: A good way for developers to get started.
  • Schema extensions: A more versatile mechanism for developers who care about storing typed data, making their schema discoverable and shareable, being able to filter, and in the future, being able to perform input data validation and authorization.

So it can be seen how consuming the Graph API is easy, compared to integrating with all those product APIs individually and dealing with trying to tie them together yourself. 

Getting Started

The excellent Graph developer site is here https://developer.microsoft.com/en-us/graph

It contains a wealth of information to get you started, such as samples and the explorer tool, the Graph explorer is an “in browser” tool for exploring the API.

Microsoft Graph Explorer

There are samples and SDKs available there too for different languages to get you running quickly along with plenty of documentation sections.

Microsoft Graph Samples and SDK


Graph formerly known as the Office 365 Unified API.

Reference material:

Microsoft Graph APIs: The Glue That's Starting to Stick

Build Intelligence with Microsoft Graph

Add custom data to resources using extensions

Extend Microsoft Flow with the Microsoft Graph

If you found this helpful or interesting then please comment as it helps motivate me to write more!

Uppercase in computer records–please no!

From time to time you encounter systems where the company style is to capitalise names in the system. I know of users who might as well glue the caps-lock on!

When to use a capital letter

If faced with the, we have always done it this way problem, fight it. Excuses come out like its for users with vision problems (there are magnifiers and system tools to help there), improves clarity for parcels going overseas to other cultures (I doubt it makes much difference in compter type, maybe for hand written?), etc.

Capitalisation is a lossy process

In the context of company names, street names, people names, the capitalisation can be important as it conveys information that is lost if it is presented in entirely uppercase. 

  • McKenzie vs MCKENZIE
  • O'Donnell vs O'DONNEL
  • MacBain VS MACBAIN

There are many others and in other cultures where the capitalisation conveys information that cannot be recovered again if lose, by the use of automated processing.

Mail Merge

It makes it look bad for mail merges later too


Thank you for your order."

Just looks bad.

Thus don’t shout at your customers with capitals, use your SHIFT keys!

Enterprise Software Podcast

If you are involved in ERP software, no matter what vendor, then the Enterprise Software Podcast is a good aggregator of news and views on the ERP software market. Informative and usually quite light-hearted.The content is product agnostic and is provides an easy way to keep in touch with the gossip, including who is moving to what company.

Go check out the old episodes and subscribe to the new ones here: Enterprise Software Podcast

Enterprise Software Podcast microphone logo

Little did I expect when I started listening, what was some time ago now, that one day I would get to talk on the podcast. While at GPUG Summit I was given the opportunity when I was asked for an interview. Luckily it stayed  very shallow and so I didn’t get to rant on any contumacious issues like Dynamics 365 or other subjects, in our market space, keeps me safe from putting my foot in it!

If you are interested it is going to be episode fifty two. I’ve listened to the rushes already, I understand that expected publication is 19th Oct 2016.

Project “Madeira”– Microsoft tackle cloud ERP threat

Project Madeira

The big announcement this week was Project Madeira, a new Cloud based ERP solution in Office 365, running as a multi-tenant,  from and managed by Microsoft. It is odd that this came a week after the Envision conference and perhaps the fact that the project has not yet got a RTM name says they just couldn’t keep it  under wraps any longer?

The product is initially only available for the US market, but I predict it will quickly roll out to the rest of the world. A demo site is available to give it a spin…
Madeira website demo signup

The product is possibly going to address the issue I blogged about earlier this year, where cloud based solutions such as Netsuite are causing disruption in the ERP market, forcing MS partners to diversify in order to win some new deals. It is also promoted as a bridge for smaller companies to move from the first small financial solutions software packages to grown up ERP. So the important point is that now MS partners have options of on-premise or much simplified SaaS subscription sales. Microsoft benefit from bringing the SaaS solution in house onto Azure, of guaranteeing the customer experience of the service is excellent.

Project Madeira is based on the Microsoft NAV code base and written to run on the Azure cloud platform, as a multi-tenant application, this means everyone will be provisioned with the same solution, unlike the managed service version of NAV that can be modified for a customers requirements and requires manual updating as new releases occur. Madeira can be extended with a plug-in extension system.

From the outset Microsoft are encouraging ISV’s to get on board and develop plugin extensions to the new product, already supplied is a migration tool for Quick Books and excel.  The product is aimed at smaller businesses (sub 100 seats), although that is a goal post I can see changing in the future as it gets established and those businesses grow. MS are bound to grow the product to avoid loosing those customers. As the solution is a cloud SaaS application, the maintenance and updates to the application will be forced from Microsoft to everyone on the platform, thus why custom modifications cannot be supported.

Trying it out

As a curious fellow, I had to take it for a spin. It is NAV but not as we know it. Error messages, menu options and help links all affirm that this product has been evolved from the NAV code base but written for cloud hosting and delivery. It is currently a much simplified, smaller in breadth and depth of features compared to its parent, but covering the basic needs of a small business that it is currently aimed at. There is plenty of time before the product goes to market for changes to occur too.

There are already places to get Web Service Access in the user interface and windows to configure extensions so this looks good for developers. There are also options to configure external services connections.

Web Serice Access config window for keysService Connections showing connectors to online servicesPlug in window showing paypal, quickbooks data migration

Item maintenance is a breeze and feels natural and familiar.
Item Card, showing the item setup for a chair with photo

By the end of my investigation I so wanted one of those Tokyo chairs!

Inventory Browsing showing selection of products with nice pictures

This announcement came out of nowhere for me, after taking the preview for a run, I was pleasantly surprised by how good it felt, this doesn’t feel like a rushed out marketing driven market positioning project that I expected. I do feel that the Acumentia and Netsuite et al have an advantage being born in the cloud, and having a number of years maturing there too, however this is looking like a credible product for small companies. Microsoft now have a large number of ERP solutions in its portfolio, something difficult for the marketing team and a burden for the developers, but with each having a good market share I can’t see any of them going anywhere soon.