Case study: A Government App Built with Microsoft Power Apps and Flow

This post introduces Microsoft Power Apps and shows a real-world example of using it at a city government. Learn why you might want to consider the no-code solution of Microsoft Power Apps and Power Automate (previously called Flow) to automate redundant tasks.

About the Project

We’re working with the City of White Rock to improve an email workflow that the HR team uses to manage training.

The City of White Rock is a small-to-medium size organization with virtually no staff duplication, which adds an impetus for them to simplify and automate daily business processes. As an early adopter of cloud computing solutions, the City turned to Gravity Union for help using the power of the Office 365 ecosystem of tools and applications. When asked to identify a challenge suitable for this engagement, they chose the inside training registration process.

Challenges

In its current state, the process was cumbersome, time-consuming and prone to errors and inaccuracies. Specific challenges included:

  • Too many emails. To share courses that are open for registration, one person sends out course information by email to 200+ people. After this email is sent, the requests to enroll are sent back to that person — usually as a barrage of emails. It takes time to sift through all of them, and the volume becomes unmanageable as the course offerings expand. This is common with many workflows through email – it’s easy to generate hundreds of emails a day which becomes harder to manage over time.

  • Manual steps. To get the relevant data out of email, teams usually manually copy and paste data into another system, like Excel. This is the case at the city as well. When there’s a new registration for a course, the registrant’s information is manually added to a spreadsheet to figure out course capacity and waitlists.

  • Changes trigger more manual steps. Course information changes sometimes, such as who is attending, location and timing. If attendance changes or someone drops out, a notification is manually sent out to the next person on a waitlist. If other details change, emails are sent to registrants. Overall, without automation, changes add to the overhead and inefficiency of the overall process.

  • Lack of compliance tracking. It’s difficult to track compliance and adherence to policies through email. At the city, some training courses require certification, such as CPR. This also must to be manually tracked, and when certification lapses, someone sends email reminders to retake the course. This is inefficient and error-prone.

  • One person to manage it all. One person is responsible for managing the training workflow as part of their job at the city. This is typical - the staff at small-to-medium organizations are usually stretched thin, and little redundancy exists on teams. This is an issue when people take vacation or even depart the organization as the workflow either stalls or the work is added to someone else’s already overloaded task list. The process is fragile if people don’t have backups, and for complex workflows that require manual steps to remember, it’s difficult to build in redundancy.

The opportunity for the City of White Rock is primarily around automation and tracking. With a better system, they can move inefficient and error-prone processes out of email, and lessen the dependency on one person who manages the HR training process.

Benefits to using Power Apps

We worked with the city to launch an employee portal on SharePoint earlier this year. This included access to a suite of tools including Power Apps and Power Automate. These tools promise to give non-developers the power to build web and mobile applications without code. 

We recommended using this technology for the HR email workflow for a few reasons:

  • Cost and time benefit. With Power Apps and Automate, it’s faster and easier to hook up applications to various data sources and get going with simple forms compared to building an app from scratch. For simple applications, you can build an automated workflow in less than a day. Complex apps may take a few weeks.

  • Familiar tools and environment. Working with familiar tools means a greater chance of adoption/success. A Power App is essentially the interface to the data, which in this case is the course catalog and list of registrations. This data lives in SharePoint lists, which employees at the city are already familiar with and requires little training or ramp-up time. It’s a relatively straight-forward architecture as you can see below:

Diagram of the City of White Rock training application architecture

Diagram of the City of White Rock training application architecture

The other benefits include:

  • Easier testing. With custom applications, you need to test the overall application and individual components. With Power Apps, we’ve found that testing is easier because you’re really only testing connections to data, and the overall flow. You don’t have to test individual components which means less time spent debugging.

  • Easier sustainment. Besides the cost of the initial build, you need to plan for who can sustain the application over time. Typically, the original developer is not around to support a legacy custom application, and others don’t know how to update the code anymore. Power Apps and Power Automate are designed for the non-developer, which means that at the city a few people know how to build and update app as requirements change over time. One of the key benefits of this solution is that you’re not dependent on one person to manage it all.

  • Built-in security. Security management comes with Office 365, so people are already setup with accounts. PowerApps can plug right in, and provide an easy audit trail without development.

Gotchas

While Power Apps and Automate promise to be easy to learn and build, there are a few things to consider to avoid unpleasant surprises:

  • Licensing. It’s important to not only think about if it’s worth it to build an app, but also the cost to use the app. Not all O365 licenses are created equal - some levels don’t give permission to all employees to use Power Apps, so depending on your situation, the licensing could add significant cost. Licensing is changing frequently, and this blog has a good summary of recent changes.

  • A good understanding of the data sources and what you’re trying to achieve. SharePoint lists aren’t always appropriate as a data source, especially for more complex relational data. You want to consider a source that allows the admin to edit data, which triggers updates. For this case, the course data is relatively straight-forward, so a SharePoint list makes sense. The list combined with Power Automate will trigger the automatic emails when data changes.

  • Prioritize requirements. Like any software project, it’s easy for proposed features to balloon into scope creep. With the city, we did a prioritization exercise to focus on only the must-have functionality. It’s easy to skip this step because the technology makes it easy to build custom apps, but it’s critical to do this to create a manageable app that you can enhance over time.

  • Roles on your team. Similar to other software projects, you’ll still need people to play roles. Ideally you have one person who has some software dev experience and can help with the logic of the app, a licensing person to make sure access is there for employees, and someone who can lead and prioritize requirements. You may consider having a designer for simple branding and usability.

How the app works

The training app for the City of White Rock is built using Microsoft Power Apps, Power Automate (formerly called Flow) and SharePoint lists. At a high-level these are the components of the app:

Power App high-level architecture

Users access the app from their mobile device or computer. This directs them to the Power App, which is the interface to the training application itself. Here’s how it all works:

1. Power Apps

Power Apps is the interface for the user. Users can view available courses, see courses they signed up for, sign up for more courses, and withdraw from courses. We’ve designed this app to work on smartphones and computers for all City of White Rock employees.

2. SharePoint Lists

Several SharePoint lists are used to store course data and and registration info. These lists are:

  • a Courses list to save the historical list of all courses offered

  • a Course Catalogue list to display the currently available courses

  • a Registration list to store users and courses they have registered or been waitlist-ed for

3. Power Automate Flows

Flows for lists work in a couple of ways: flows are triggered when a change happens, or an automated flow can run at regular intervals. We used both types of flows for this app.

One Flow is used between the courses list and course catalogue when admins are making the list of courses currently on offer. This flow automatically copies the course data from the course list to the catalogue to reduce the need for manual copy and paste and chance of error. The admin can adjust course information if needed. A course can also be a catalogue more than once – e.g. offered in 2 different locations or different dates – so having this flow saves time.

Another flow sends a reminder a few days before a course starts to all the registrants. This is an automated, daily flow that runs on the Registration List which again, saves time and the chance of errors.

There are a few other parts that round out the app:

  • Emails – confirmation when an employee is registered and when they withdraw

  • Views – Employees can view details of the course in the catalog and choose to self-register or go on a waiting list

  • Personalization – The My Courses section shows what an employee has registered for and what they’re on a waitlist for. A calendar view allows them to add the course to their calendar.

  • Admin Views – Admins manage data through standard SharePoint views and list functionality. If they see a course is a full and they need to adjust for a high-priority request, they can bump someone off if needed. Emails are triggered when changes like this happen.

  • Admin Control – Admins have overall control of the system by being able to manipulate the data at the list level, and Power Apps display the current representation for the user and courses they are registered or waiting for.

  • Support – there is a FAQ area to address the key questions of how the app works

Screenshots

Here are a few images of the pilot app:

Getting to Launch

The City of White Rock piloted the app before launching it more broadly. We recommend this pilot period first to test the functionality and make sure the flow makes sense to the team. For the HR team, using SharePoint to manage training courses is a different way of working and getting the flow just right is important for the users.

Thanks to the City of White Rock for allowing us to share their app!

Recommended Reading

To learn more about Power Apps, here are a few articles that can help:


Sometimes it helps to have an outside when planning self service applications for your organization. Reach out to us for help or advice, or take a moment to learn about our workflow services.


Jas Shukla

Jas has over 15 years of experience in consulting, user experience design, and product management. Jas partners with clients on the strategic vision, user experience, requirements and the information architecture to ensure solutions meet both business and end-user needs.

Previous
Previous

Do we still need a SharePoint Intranet?

Next
Next

Verifying the completeness and accuracy of a document or records collection