Final Delivery

Solution Overview

At Hogwarts, we’ve revolutionized the administration of social events and classes, and student attendance tracking through a seamless integration of Dynamics Customer Insights Journeys, Pro-Code, Power Automate, Liquid, custom pages and Power pages.

By combining these technologies we have made both classes and social events easier to administer for the system users. The system users only have to create the events and there is no need for the users to create segments, emails or journeys. By combining technology from MappedIn, Power Automate and Power pages the status of the event registrations are handled by the system and removing a burden from the users since they no longer have to delete data (to cancel an event registration) or manually check in an event registration in a other table.

Navigating the vast and magical halls of Hogwarts can be quite the adventure. To make it easier for students and professors to find their way around, we’ve integrated Mappedin’s innovative search bar and routing functionality. Whether you’re looking for a specific classroom, common room, or office, Mappedin provides multiple ways to find your destination quickly and efficiently.

In addition to searching for rooms, Mappedin allows users to set routes to their desired destinations. Once a room is selected, the system provides step-by-step directions, ensuring that students and professors can navigate the castle efficiently. This routing functionality is particularly useful in a large and complex building like Hogwarts, where finding the shortest path can be a challenge. Whether you’re heading to the Great Hall for a feast or the Astronomy Tower for a late-night class, Mappedin has you covered.

By using MappedIn we’re able to send out real time communication as students approach classrooms, by using the Customer Insights Journey functionality. We’re using customer insights journeys to send communication that contains a link with utm parameters. When the students open up the link a customer journey using the trigger “When Marketing Site Visited”. We’re then able to get the link they open which also have the contact ID and The event Registration ID. By using a power automate and a custom trigger we can get the event registration and change the status to “Attended”.

Image of the process for classes:

Image of the process for Social Event:

User interface and landing zones

Students and professors are presented with a model-driven application where they open a landing page (custom page). From there students have a separate landing zone from the professors andhere they can navigate to other areas of the application. The custom page has three navigation points, the social events, the active classes for today and the Marauders map for getting a guide to show you around the school. The navigation points are connected to views, forms and other custom pages in the Model-driven app using PowerFx Navigation() function. From the Student landing zone, there is a PCF with a gamification aspect. Students can compete in fetching the Golden Snitch and score House Points and level up. Each time they level up the snitch moves faster.


See your classes and get guidance from the map. When approaching the class room you get a message that is based on location, registrating you for the class automatically.

Category Alignment

Fabric Fera Verto Our solution creates deep magical insights through:

POWER BI

In our Hogwarts App, we’ve conjured up some magical tools to make life even more exciting for our students and teachers. These enchanting features are designed to inspire, motivate, and bring a touch of wonder to everyday activities. Here is a list over our Magical Insights:

House Points Tracker
The battle for house glory just got more thrilling! We’ve introduced a House Points Chart, where students can keep track of the current standings and see which house is leading the charge. The bars shimmer in the house colors—scarlet for Gryffindor, emerald for Slytherin, sapphire for Ravenclaw, and gold for Hufflepuff—bringing the spirit of friendly competition to life.

Golden Snitch Leaderboard
Catch the Snitch, and claim your glory! The Golden Snitch Leaderboard highlights the top players in the beloved Snitch-chasing game. The rankings sparkle with magical hues: gold for first place, silver for second, and bronze for third. Will you be the next Seeker extraordinaire?

Class Attendance Tile
At Hogwarts, striving for 100% class attendance is a noble goal! To aid in this quest, we’ve added an Attendance Tile to the report. It reveals how each class fares in attendance, with fascinating insights. However, beware—the data shows a troublingly low turnout in Defense Against the Dark Arts! Could a bit of extra encouragement—or perhaps a strong Patronus—be the solution?

Students by House Chart
Curious about the balance of Hogwarts houses? The Students by House Pie Chart offers a delightful overview, showing the distribution of students across the four houses. Each slice of the pie is enchanted with its house color, providing a clear and colorful glimpse into Hogwarts’ magical diversity. This tool fosters greater understanding and unity among the houses.

With these mystical updates, we’re ensuring that every student and professor can dive deeper into the wonders of Hogwarts life. Keep exploring, keep competing, and most importantly—keep the magic alive!
A close-up of a graph

AI-generated content may be incorrect.

Low-Code Charms We’ve woven powerful low-code spells through:
Power Pages for event registration
Power Automate flows for attendance tracking
Custom pages with responsive design to enhance users’ experience
Enhanced date handling through PCF
Model-driven app to help teachers administrate the school

Marketing Events automation
To ease the task of creating new Subjects every Semester, we have decided to use some Power Automate automation 😊

This flow will run at the beginning of each year, and for every semester contained, it will iterate through all the subjects that take place during it and will create an event for every occurrence of the subject.

Finally, for every student that enrolled into the subject, it will create an event registration for every event.

Teachers can:
Assign points to the different houses.

Handle emails sent to the customer and check the events and event registrations created through our different automation processes.

Define the different rooms in which subjects can take place and link them to the interactive app


  

Power Pages


We used Power Pages to customize our event registrations and upcoming sessions – responsive and user friendly.

Through our Power Pages portal, where they can browse and sign up for both classes and social events. Upon registration, a Power Automate flow checks event capacity and automatically assigns the appropriate status, followed by a confirmation email containing event details, a QR code, and a cancellation link (Generated by power automate). Students receive timely reminders as the event approaches. Should plans change, students can easily cancel their registration through a personalized link, triggering another Power Automate flow that updates their status to “Cancelled”.

When a student is created in Dataverse a power automate triggers generating a unique url to an overview of their upcoming classes. The url is sent out with marketing emails to student as the semester start is approaching to all of the students. When a event is created a unique url to that event is created. The url is then connected to the buttons on each event card presented in the event gallery.

We used FetchXML to fetch data from Microsoft Dataverse. It allowed The Golden Snitches to query for complex queries with filtering, sorting, and aggregation, making it ideal for creating dynamic and interactive content in our Power Pages Portal for the students and Professors.
A screen shot of a computer program

AI-generated content may be incorrect.

Because we are getting the form dynamically trough fetch xml we can remove another burden from the user that would need to copy a script and add it to a page. But now we can display the form by using liquid:
A screenshot of a computer

AI-generated content may be incorrect.

Custom page – Responsive design

Using containers, horizontal and vertical, to structure the layout and have proper responsiveness to resize and adjust the layout according to user screen size. Utilizing the dynamic values of Parent to set the width and height of controls within the screen

HTMLtext, syntax and code principles:

Use of $ to reference dynamic values within a string.

Seamless navigation: Utilizing the custom page within model driven apps makes it possible for us to easily navigate to other areas of the model-driven app.

Custom page:

PCF control with map directions

Pro-Code Potions Our solution enhances low-code with:

  • Custom PCF component for mapping

We developed a PowerApps Component Framework (PCF) using MappedIn’s React-based SDK documentation. This allowed us to embed their robust mapping and navigation functionality directly into Dynamics 365. The solution enables users to visualize spaces, navigate between rooms, and even calculate optimal routes within buildings. Custom PCF for semester date management.

Map in action

PCf’s react fragment example.

  • Custom PCF with an animated catchable golden snitch
  • Azure AI implementation for voice recognition (Ask Cathrine)
  • Powershell for advanced pipeline deployment

To ease the deployment of our PCFs, we made a short Powershell scripts that updates the version of both the solution and the PCF automatically before its compilation.

  • Specialized field customizations: Integration with Resco components

We used DateRangeBuilder PCF from Resco to enhance the creation of new Semesters in our App.

Oneflow:
• Auto-dispatches contracts faster than a Nimbus 2000
• Tracks signatures with the precision of the Marauder’s Map
• Sends confirmation owls (emails) that would make Hedwig proud

Now Muggle parents can sign from their “mobile devices” (fascinating contraptions), while Professor McGonagall tracks everything from her enchanted dashboard. The whole system runs smoother than a well-brewed Felix Felicis!

Digital Transformation We’ve bridged operational gaps through:
Maximum event capacity field:

Power automate that updates the event registration status based on the maximum capacity of the event.

We are then using generic journeys to send out the event registration with a QR code. And reminders for the event. Point Taken also use Power Automate to generate a cancellation URL on the event registration that will be sent out with the emails in the generic journey.

Cancel url on the event registration:

Power automate that generate the cancel url for sending out with the marketing emails:

The students will then be able to click the link and be navigated to a site on the power page where they can cancel their event registration.

When the students click the button they trigger a power automate that changes the event registration to status “Canceled”:

Since the social events also is only for students and employees at the school we will be able to track when the students is getting near the room of the event. We will then again use generic journeys with emails to track the attendance. The administration will then be able to send out communication after the event like surveys or other content.

ALM Magic Our ALM strategy includes:

  • Git Connect integration

We used Power Platform’s new Git Connect functionality to automate the commit process for solution changes.

This feature allows changes made in Power Platform to be committed directly to an Azure DevOps repository, with the user who made the changes reflected as the commit author. This integration not only saved time but also ensured proper traceability and alignment with our team’s Git workflows.

1. Components contained in the solution separated by name
2. Authors of the commits.

  • DevOps pipelines for building PCFs

To handle the custom PowerApps Component Framework (PCF) components, we reused and adapted an existing pipeline. This pipeline automates:

  1. Version Updates: Using a PowerShell script, we increment version numbers to maintain proper versioning.

2. Solution Packaging: The pipeline packs the updated PCF into a deployable solution.

3. Deployment: The final step deploys the solution directly to our environments.
This automation reduced manual effort, minimized errors, and ensured smooth delivery of components across environments.

  • Solution segmentation
  • Entra ID security implementation

Microsoft Entra ID Security Groups
To simplify user administration and have better control of user access to the environments, we have created teams of type Microsoft Entra ID security groups.

We created a security group in Entra ID where we add the users we want to give access to the environment.

We then created a team of type Microsoft Entra ID Security Group in Power Platform where we assigned the Entra Group to the team. We then assigned the team the desired security roles:
A screenshot of a computer

AI-generated content may be incorrect.

We now only have to add users to the Group in Entra ID to give access and assign the users security roles.

Power automate – Force Sync users from Entra ID Groups
Now that we have automated and gotten more control of the granting access to users to the environment apps and automations, we need to force sync the users.

The users will not appear in Dataverse unless they have logged into the environment. But building a power automate flow we can solve this issue:


The flow will be triggered once a day and then it will get the members of the Entra ID group. The flow then uses the force sync action to sync the users.

Solution Strategy
The team have created a solution strategy that separates the different types of components in different solutions for easy deploy and a better development process.



Power Platform Pipelines
We have used Power Platform Pipelines to automate the deployment process between environments.

Power Automate Connectors – Service Principal:

A service principal is specific to Microsoft Azure and is used to grant applications access to Azure resources. We have used a Service Principal for our Power Automate connectors to make sure that the governance of the flows is exceptional.

Magic Matrix We’ve created an enchanting experience using:
If another pandemic hits or a troll attacks the school, teachers will be able to stream the classes to teams. With Dynamics Customer Insights Journeys and Microsoft Teams, the professor can easily plan, host, and follow up on live-streamed events, so that the students never miss a class.
A screenshot of a video conference

AI-generated content may be incorrect. 

Digital transformation

✨ Dash It Out Badge✨

In our Hogwarts App, we’ve conjured up some magical tools to make life even more exciting for our students and teachers. These enchanting features are designed to inspire, motivate, and bring a touch of wonder to everyday activities. Here is a list over our Magical Insights:

🎯 House Points Tracker

The battle for house glory just got more thrilling! We’ve introduced a House Points Chart, where students can keep track of the current standings and see which house is leading the charge. The bars shimmer in the house colors—scarlet for Gryffindor, emerald for Slytherin, sapphire for Ravenclaw, and gold for Hufflepuff—bringing the spirit of friendly competition to life.

🏆 Golden Snitch Leaderboard

Catch the Snitch, and claim your glory! The Golden Snitch Leaderboard highlights the top players in the beloved Snitch-chasing game. The rankings sparkle with magical hues: gold for first place, silver for second, and bronze for third. Will you be the next Seeker extraordinaire?

📚 Class Attendance Tile

At Hogwarts, striving for 100% class attendance is a noble goal! To aid in this quest, we’ve added an Attendance Tile to the report. It reveals how each class fares in attendance, with fascinating insights. However, beware—the data shows a troublingly low turnout in Defense Against the Dark Arts! Could a bit of extra encouragement—or perhaps a strong Patronus—be the solution?

📊 Students by House Chart

Curious about the balance of Hogwarts houses? The Students by House Pie Chart offers a delightful overview, showing the distribution of students across the four houses. Each slice of the pie is enchanted with its house color, providing a clear and colorful glimpse into Hogwarts’ magical diversity. This tool fosters greater understanding and unity among the houses.

With these mystical updates, we’re ensuring that every student and professor can dive deeper into the wonders of Hogwarts life. Keep exploring, keep competing, and most importantly—keep the magic alive! 🌟

ACDC Craftsman

Budget: ACDC Craftsman

We are very happy with the way we have collaborated together during this hackathon, specially considering we some of us didn’t each other in advance!

We firmly believe that a huge factor that helped us has been our way of work. Defining objectives, sharing tasks clearly and having a solid solution structure and ALM processes.

We will shortly describe them here:

1. DevOps backlog

We have worked using Epics and tasks to keep track on the process, what have to be done and who had to work on what.

2. Solution structure

We have been storing all our Power Platform elements for locating and importing them easily.

3. DevOps processes

They have been previously exposed in 2 different articles:

Retro Badge

The Golden Snitches using PowerPoint to alter and edit SVGs that are being used in Power Apps. We have some Hogwarts House Banners that were in the wrong SVG format, and we got advice from Scott Durow to use PowerPoint to alter the SVGs insted of altering the code itself in Power Apps.

Also, notepad is used to open the image and get the SVG code.

Power user love 2

Claiming the Power User Love for our app that helps teachers and administrators plan and execute classes for each semester. A combination of PCF component in a Model Driven app to help teachers set the end and start dates of semesters in one field.

Resco

Badge: Resco

For this badge, we had hard time deciding which PCF we wanted to use among the ones that are available!

PCFs available from Resco

In our experience, it’s hard to design PCFs for general fields as Microsoft provides with a very rich variety of them! So much that normally when a client requests something, it’s normally not reused on other projects.

We opted to use one that truly fits in our projects. We decided to make the life of our teachers at Hogwarts easier when defining a new Semester.

Entity for handling semesters in which subjects happen.
PCF that triggers on click of the field

The PCF merges two fields in one and makes it way easier to visually follow how many days/weeks are contained inside the range.

Glossy Pixels Badge

Our interface embraces the “less is more” philosophy while maintaining visual sophistication. Generous whitespace creates natural focus points, while carefully selected font sizes and color contrasts exceed WCAG 2.1 standards. Each element serves a purpose – no decorative clutter, just pure functional elegance at every breakpoint.

Testing across devices revealed our responsive design’s resilience. From wide monitors to compact mobile screens, the interface maintains its glossy appeal without sacrificing usability. This adaptability, combined with our accessibility-first approach, demonstrates that beautiful interfaces can be both inclusive and maintainable. The Glossy Pixels badge isn’t just about shine – it’s about creating interfaces that gleam with purpose on every device.

Client Side (Magic) Salsa

Badget: Client Side Salsa

Here in the Golden Snitches we love PCFs! We have one of them more centered on the frontend side, consisting on a flying golden snitch, of course, and another one heavier on the backend and operations side which loads a map and a route to the student’s next class!

Here can be both seen in action inside a Canvas App:

And here we have one of the elements written in React to see some code in action:

We have also made our code public here.

Happy catching!

Hipster

Power Automate is a trendy and relevant technology in the business world, especially for organizations aiming to streamline workflows and automate repetitive tasks. While it might not have the “hip” factor of cutting-edge AI like generative models or the latest blockchain developments, it holds a solid position as a practical, widely-used tool.

Microsoft Entra ID Security Groups
To simplify the governance of our users we have created teams of type Microsoft Entra ID security groups. We created a security group in Entra ID where we add the users we want to give access to the environment.

We then created a team of type Microsoft Entra ID Security Group in Power Platform where we assigned the Entra Group to the team. We then assigned the team the desired security roles:

We now only have to add users to the Group in Entra ID to give access to the environment. apps, automation and assign the users security roles.

Power automate – Force Sync users from Entra ID Groups
Now that we have automated and gotten more control of the governance of the users, we need to force sync the users.

The users will not appear in Dataverse unless they have logged into the environment. But building a power automate flow we can solve this issue:

The flow will be triggered once a day and then it will get the members of the Entra ID group. The flow then uses the force sync action to sync the users.

Governing the need relationship between data when users are added to the Entra ID Group

Need:
We needed to establish a connection between the logged-in user and the contact table. This way, we could retrieve the logged-in user’s Golden Snitch level and use it in the PCF, as well as access house names and house points for the app.

Solution:
We created a Power automate Flow that would get triggered when a user is added to the Entra ID group.


The flow then gets the user id in Entra ID:

We then list users and contacts with the matching email from Entra ID:

Then the flow uses the get row action to get the system user from the list row action. And a get row action to get the contact from the list row action:

The flow then updates the contact record and the lookup to the system user:


Results of adding the user to a Entra ID group:

Oneflow Sponsor Badge

🪄 From Parchment Chaos to Magical Efficiency

Gone are the days when owls cluttered the Great Hall delivering admission contracts! We’ve enchanted the whole process using Power Automate (think modern-day Charm work) and OneFlow (a spell so powerful, even Hermione would approve).

Our magical workflow:
• Auto-dispatches contracts faster than a Nimbus 2000
• Tracks signatures with the precision of the Marauder’s Map
• Sends confirmation owls (emails) that would make Hedwig proud

Now Muggle parents can sign from their “mobile devices” (fascinating contraptions), while Professor McGonagall tracks everything from her enchanted dashboard. The whole system runs smoother than a well-brewed Felix Felicis!

P.S. – The Weasley twins tried to hack it. They failed. That’s how secure it is! 🔒

The Digital Scroll Interface – Where Muggle Tech Meets Magic