DEV Community

Cover image for Power Apps Development in Fusion Teams
Justin Yoo for Microsoft Azure

Posted on • Originally published at devkimchi.com

Power Apps Development in Fusion Teams

Microsoft has published a learning path for fusion dev teams. In addition to that, they also published an e-book for it. We can see how an organisation can build up a fusion team and deliver services through this fusion development approach.

Gartner claims that 84% of organisations have at least one fusion team. According to the article, Gartner defines the fusion team as a "cross-functional team that uses data and technology to achieve business outcomes". Because of this nature, the fusion team's leader often comes from the business side rather than the IT side and makes decisions from the perspective outside of IT. In other words, the fusion team pursues the business achievement from the broader organisational aspects, although they use technologies. What can the fusion team deliver a service or product for their customers, then?

Lamna Healthcare Company is a fictitious company that provides health and fitness services for their members. They are about to build a mobile app using Power Apps. Throughout this post, I'm going to observe how they cope with it within the fusion team.

You can find the sample code used in this post at this GitHub repository.

Scenario

Lamna Healthcare Company runs a fitness centre in Korea. Ji Min is a team leader for personal trainers. The centre has built a system that the trainers put the workout logs for their members through a system. For their customer experiences, they at the same time also write the records to their members' journal by hand. Ji Min wonders whether it's efficient for both trainers and members because it seems they write the same log twice. Fortunately, she's willing to build a Power Apps app for those workout logs. When a trainer or member logs the workout details through the app, the centre stores the data to their data storage (Azure Cosmos DB) through their backend (Azure Functions and Azure Service Bus).

As the backend API has already been up and running, all she needs to do is to use the API within Power Apps via a custom connector. The end-to-end application architecture looks like:

GymLog Architecture

  • Azure Functions used as the backend API adds the OpenAPI extension, which increases discoverability.
  • A custom connector is generated by the OpenAPI document.
  • Through the custom connector, the Power Apps app sends the workout data to the backend system.
  • The backend system implements the Pub/Sub pattern that handles data asynchronously.
  • At the publisher's end, data from the Power Apps app keeps accumulated. Then it is aggregated when a workout routine ends and sent to Azure Service Bus.
  • At the subscriber's end, another Azure Functions takes the message from Azure Service Bus and finally stores it to Azure Cosmos DB.

Improving Backend API

As Ji Min is a part of the fusion team representing the personal trainers' team, she contributes many ideas to the team to achieve more business outcomes. Su Bin is a pro dev in the same fusion team who is responsible for the backend APIs. Ji Min asked Su Bin to make the API discoverable so that Ji Min can do something on her side. Therefore, Su Bin added the OpenAPI extension to the Azure Functions app by installing the NuGet package.

dotnet add package Microsoft.Azure.WebJobs.Extensions.OpenApi --prerelease
Enter fullscreen mode Exit fullscreen mode

By adding minimal efforts, Su Bin added a few OpenAPI-related decorators to the function endpoints. The following code snippets are just an example API for creating a routine when a workout begins. As it's over-simplified codes for brevity, you can check out the full codes at this link.

After the decorators being added, deploy the function app, and you will see the Swagger UI screen like:

Publisher Swagger UI

As the OpenAPI extension supports both V2 (Swagger) and V3, you'll see either V2 or V3 doc depending on your configurations when you visit https://<function_app_name>.azurewebsites.net/api/swagger.json. The screenshot above renders the V3 doc.

Create Custom Connector

The serverless API has now got better discoverability. Now it's time to create a custom connector for Power Apps to access the API. As Power Apps is a low-code app maker platform, Ji Min, as a citizen dev, can easily make the custom connector. Click the Custom Connector menu at the left-hand side, click the ➕ New custom connector button and select the Import an OpenAPI from URL menu.

Import OpenAPI from URL

Put the OpenAPI document URL to the field of Paste in the URL for the OpenAPI. Currently, the custom connector only supports the OpenAPI spec v2. Therefore, use the URL, https://<function_app_name>.azurewebsites.net/api/openapi/v2.json for import.

Import OpenAPI from URL Pop-up

Sometimes, you'll have the following error during the import. It's because the CORS setting is missing between the Power Apps Studio and Azure Functions app instance.

Import OpenAPI from URL CORS Error

To figure this out, add the URL, https://flow.microsoft.com, to the Azure Function's CORS settings.

Azure Functions App CORS

After the CORS configuration, go back to Power Apps Studio and create the custom connector again. It's now OK without an error. As the rest of creating the custom connector process is the same as this process, I won't repeat it here. Finally, you've got the custom connector for the Gym Logs.

Custom Connector Created

Connecting Custom Connector via Authentication

In order for Ji Min to use the custom connector within her Power Apps app, a new connection must be created beforehand by providing authentication details. As API keys protect Azure Functions API endpoints, give the key for the authentication. Click the button.

New Connection

Enter the API key to the field and click the Create button.

API Key Auth

Now, you've got the connection and can use the custom connector within the Power Apps app.

Connection Created

Accessing Custom Connector in Power Apps

Ji Min is now able to enter her members' workout logs through the Power Apps app instead of hand-writing them. Add the custom connector on your Canvas app.

Custom Connector in Power Apps

It's all done! Ji Min finally can manage all the workout logs through the mobile app! Here are a couple of screenshots while using the app.

Power Apps in Action #1
Power Apps in Action #2

All members' workout logs are stored into Azure Cosmos DB asynchronously.

Gym Logs in Cosmos DB

Now, Ji Min is happy, her trainer crews are happy, and all members are happy because they can easily record their workout histories.

You can download the GymLogs app directly from the GitHub repository and import it to your Power Apps environment.


So far, we've walked through how both citizen developer and pro developer can work together within a fusion team –

  • Citizen devs make Power Apps apps, and
  • Pro devs provide the citizen devs with discoverable APIs by adding an extension to the existing Azure Functions application.

After this collaboration practice, Lamna Healthcare Company can offer better customer experiences with the workout log apps, resulting in their business growth.

  • Members can freely record their exercises, and
  • Trainers can analyse the data and offer more personalised workout schedules.

In the next post, let's trace the end-to-end data flow through Azure Monitoring.

Top comments (1)

Collapse
 
max_services profile image
Max services

**Power Apps Development in Fusion Teams Unlocking Collaborative App Building
**In today’s rapidly evolving business environment, organizations need efficient and innovative ways to streamline processes and improve productivity. Microsoft Power Apps, a key component of the Microsoft Power Platform, enables teams to create custom business applications with minimal coding. The true power of Power Apps, however, emerges when it is used by fusion teams — cross-functional groups that combine business experts with IT professionals to deliver robust, user-centric solutions.

What Are Fusion Teams?
Fusion teams are multidisciplinary groups that integrate business users (often referred to as "citizen developers") and IT professionals. These teams leverage the strengths of both sides.
• Business users bring domain expertise and firsthand knowledge of challenges and requirements.
• IT professionals contribute technical proficiency, governance, and scalability.
By working collaboratively, fusion teams can develop apps that are both functional and compliant, ensuring alignment with organizational goals and policies.
Why Use Fusion Teams for Power Apps Development?
Power Apps is designed to be accessible to users with varying technical skill levels. This makes it an ideal platform for fusion teams. Here’s why.
Empowering Business Users
Business users can use Power Apps’ drag-and-drop interface to design app layouts, configure logic, and test prototypes without relying entirely on IT.
Bridging the Technical Gap
IT professionals ensure that the apps adhere to best practices, integrate with enterprise systems, and maintain security and compliance standards.
Accelerating Development Cycles
Collaborative workflows enable rapid prototyping and iterative development, reducing the time-to-market for applications.
Fostering Innovation
Business users can experiment with ideas, while IT ensures these innovations are sustainable and scalable.
Key Steps in Power Apps Development Using Fusion Teams
Define Roles and Responsibilities
• Business Users: Define requirements, create mockups, and validate app functionality.
• IT Professionals: Provide technical oversight, manage connectors, and implement governance policies.
Collaborate on App Design
Use tools like Power Apps Studio to work on app design collaboratively. Business users can focus on user interface and workflow, while IT ensures backend integrations are properly configured.
Leverage Prebuilt Components
Fusion teams can save time by using Power Apps templates, prebuilt connectors, and reusable components, minimizing custom coding.
Implement Governance
IT professionals should establish Data Loss Prevention (DLP) policies, manage environments, and ensure that apps comply with organizational standards.
Test and Iterate
Fusion teams should continuously test the app with end users and iterate based on feedback, ensuring it aligns with real-world needs.
Deploy and Monitor
After deployment, monitor app usage and performance with tools like Power Platform Admin Center. IT teams can also manage updates and address security issues.
Best Practices for Fusion Teams in Power Apps Development
Foster a Culture of Collaboration
Encourage open communication and knowledge sharing between business and IT. Use platforms like Microsoft Teams for collaboration.
Provide Training and Support
Equip business users with training on Power Apps and related tools. IT professionals should serve as mentors to help them navigate technical challenges.
Prioritize Security and Compliance
Ensure apps adhere to organizational security standards. Use Azure Active Directory (AAD) for secure authentication and manage permissions carefully.
Focus on User Experience (UX)
Build intuitive and user-friendly apps by involving end users in the design process.
Utilize Low-Code/Pro-Code Synergy
While business users rely on Power Apps’ low-code capabilities, IT professionals can enhance functionality using advanced tools like Power Automate, Power BI, or custom APIs.
Benefits of Power Apps Development in Fusion Teams
• Faster Time-to-Market: Collaborative development minimizes delays.
• Enhanced Business Outcomes: Solutions are tailored to real business needs.
• Scalability and Security: IT oversight ensures apps are robust and compliant.
• Increased Employee Engagement: Empowering employees fosters innovation and ownership.
Real-World Example
Imagine a retail company struggling with managing inventory across multiple stores. A fusion team could use Power Apps to develop a custom inventory tracking app.
• Business users design workflows for entering and viewing stock levels.
• IT professionals integrate the app with the company’s ERP system and ensure secure data access.
The result is a user-friendly app that improves inventory management without compromising data integrity.
Conclusion
Fusion teams are the driving force behind successful Power Apps development, combining the best of business acumen and IT expertise. By fostering collaboration and leveraging the power of Microsoft’s low-code platform, organizations can deliver transformative solutions that meet business needs efficiently and effectively. Empower your teams, embrace innovation, and unlock the full potential of Power Apps with fusion teams.