Achieving accurate and efficient time management? Isn’t there a ‘Canvas’ App for that?

You are here: >

Achieving accurate and efficient time management? Isn’t there a ‘Canvas’ App for that?

When your business goes through change and is faced with new challenges you need to be sure that your existing business software is up to meeting your ‘new’ needs. Traditionally, this would generally mean that you had to re-configure or even developing new functionality within your incumbent ERP or CRM. This can be both time-consuming and costly to the business.

Not so long ago, Microsoft introduced the world of business to Power Apps, part of the Power Platform offerings. Power Apps, if you aren’t aware, is a suite of apps, services, connectors and data platform that allows for rapid application development.
The introduction of the Microsoft Canvas Apps provides you with an easier, faster way to create no-code/low-code apps and user interfaces in a very flexible way – basically, matching your own specific requirements. Canvas apps enable you to build apps that can solve your business problems at speed without costing the earth.

With Canvas Apps you simply drag and drop different elements (on to your canvas, of course), change the settings, integrate with your required data sources (there’s over 200 out-of-the box options!) and then check it all works. You can then ‘embed’ it within Dynamics 365, as if it’s part of the core solution. Magic!

Solving complex timesheet requirements is an ideal use for embedded Canvas Apps. Here I’ll explain how a solution was first designed using Dynamics 365 – but with limitations. When we re-created it using Canvas Apps, it completely transformed the user experience, which led to more accurate client billing.

The challenge of managing time

Often legal businesses will charge by the minute and work across multiple cases throughout any given day. Managing time-keeping in this kind of environment can be challenging from a billing point of view.

Imagine dipping in and out of multiple pieces of work throughout the day and trying to remember accurately how long you have worked on each one. If you didn’t keep a running log in something like a spreadsheet or (heaven forbid) on a piece of paper on your desk, you’d probably really struggle to remember what you’d been doing all day and only able to make an educated guess at best. This could lead to inaccurate estimates and more likely, a missed opportunity to bill customers.

This issue can be addressed directly within Dynamics 365 by creating a new entity and form. You then use the out-of-the-box functionality to add this entity to a sub-grid on the parent entity form. In the example below, I added the timecard entity. By clicking ‘New Timecard’ it brings up the relevant form so the user can fill in the information and press ‘Save’. It’s OK but not ideal – you are relying on, a lawyer in this case, to remember to load up and save their timecard every time they finish working on a case.

Fig1: Here I added the Timecard entity to the Matter (case) form.

What if there was a better way?

While the way I explained above is all well and good and would meet the requirement, at DXC, we strive for the best solution, not just a solution. User experience is paramount. One of the key drivers of getting people to be active users of any tool or technology is by making things easy and quick. The easier it is for someone to use it, the more likely they are to do it.

So, what if there was a way that a lawyer could start a clock as soon as they came into a case record and this clock could run until they’d finished the work they were doing. Then, at the click of a button, register the time by creating a timecard record automatically. Given a quick, easy, usable feature like this, it’s much more likely that users would record their time accurately.

While as I explained at the top of this article, you could create some functionality within the core system to run in the background on the user’s machine, it’s likely to be complicated and expensive with a possible support overhead.

The simple answer to this particular problem came in the form of an embedded Canvas App. Being able to pass the context of a record from a Model App, where there’s less flexibility, to a Canvas App is a game changer. With a Model App, you are controlled more by the data and information you enter into it – what you input effectively decides the outcome. The layout, functionality and general design will therefore be more rigid than a Canvas App, where you have full control over every single aspect of the result. (for Microsoft’s definition of the two app types, go here).

Embed a canvas app

I won’t go into the details of creating the Canvas App here because there will be a more in-depth technical article following this shortly. Head over to and have a play, if you want. For now, you’ll just have to trust me that it’s quite simple and quick to design have something that looks great and is ready to use.

Fig 2: An example of the app in PowerApps designer.

By passing the context (basically the ID and all the information) of the record we’re starting from, in this case what the legal team call a ‘Matter’, we’re able to then use this information to create other records in Dynamics 365 at the click of a button. I used a few buttons such as; Start, Stop and Trash, so the user would begin counting up the time they’ve spent; a checkbox to indicate if the time should be chargeable; some information labels indicating when they started and stopped the clock; and the all-important ‘Create Time Entry Record’ button.

Possible Limitations

One current limitation with embedding Canvas Apps within a Model Driven App (such as Dynamics 365) is that you can only embed one per form. I personally don’t see this as much of a problem right now and think that if you need more than one per form, you might want to think about using a Canvas App as a complete replacement instead of a Model Driven App. Either that, or just roll the features of the separate apps into one and use that. There are going to be times when there is a need for more than one at a time, in certain business situations. Microsoft are working on that, so we should see it in one of their coming updates.

Microsoft are investing heavily in this area of the technology stack. Microsoft’s CEO, Satya Nadella, himself stated at Inspire 2019 that he believes there will be 500 million Power Apps out there within 5 years. You don’t get to that kind of market penetration without investing heavily in R&D and feature development to please the masses.


The Canvas App looks great within the Model Driven form in Dynamics 365 (shown below), as if it was always meant to be there. Now, users can quickly and simply click the Start button, count up the amount of time they worked and then create and submit the timecard, allowing for more accurate billing.

Fig 3: Showing the Canvas App embedded in the Model Driven form

What I love is that Canvas Apps allows you to create a totally customised experience for a variety of business challenges and then embed them within Dynamics 365 as if they are part of the core application.


Why not get yourself signed up to our ‘App in a Day course’ to gain a better understanding of what can be achieved with Canvas Apps. Please contact us at

Author: Matt Johnson, Dynamics 365 Consultant

DXC Technology

Get in Touch

Email or call us now to
discuss how Microsoft
Business Solutions can
improve your business

Upcoming Events - Register Now

Join our list

eBECS will invite you to webinars, events and keep you up to date with relevant news. You can unsubscribe at any time.

UK: +44 (0) 8455 441 441
Ireland: +353 (0)1 893 4831
USA: +1 (678) 701 5856
Saudi Arabia: +966 (11)920 007299

© 2023 eBECS Limited. All rights reserved.
Registered office: Royal Pavilion, Wellesley Road, Aldershot, Hampshire, England, GU11 1PZ