OneFlow and LINK Mobility Sponsor Badge and more

We here by claim the badges:

  • Stairway to Heaven,
  • Thieving Bastards,
  • Power User Love
  • OneFlow Sponsor Badge
  • LINK Mobility Sponsor Badge

The components in the current solution:

We have created a solution containing both pro code and low code, AI, Microsoft APIs and third party tools.

  • Code App for collection Dream Project request
  • Power Automate that uses Dataverse, OneFlow, AI Builder, Outlook and Link Mobility actions
  • Model-driven app as an backoffice app to follow up project. Perfect low code app for managing dream project requests.
  • OneFlow Portal for managing contracts

A go through of the solution

The Code App is vibe coded using TypeScript and React and used for collecting Dream Project requests. This creates a Dataverse record that triggers a power automate flow that creates a contract in OneFlow. Pure pro code as far as the eye can see 👀

Further, we created a Power Automate flow that gets triggered when a new Dream Project is created and this automates our contract process by using OneFlows actions for creating the contract and adding the customer to the contract. LINK Mobility and Outlook action are used to send an SMS and email to the customer responsible for quick follow up and contract validation before sending it. This is a perfect combination of pro code and low code.

The flow looks like this.

The AI Prompt looks in the Power Automate looks like this and this is sendt til the AI Prompt.

The “Run a prompt” action sends the data to the prompt below and gets the outline for the contract details back. And, we are using this in the contract generation.

We used Template Groups in OneFlow to populate documents from power automate.

The fields are created in the OneFlow portal. These must be created and added to the template before they are available in the power automate flow.

The fields are added to the Template in OneFlow like this.

After sending the contract out from the OneFlow portal the customer gets and email that they can sign.

The contracts looks like this after been generated by the Power Automate flow. The description is generated using AI Prompts feeded with data from the dream project request from Dataverse.

The LINK Mobility

We are using the LINK Mobility Action in Power Automate that lets us send SMS with ease using a source number, platform id and partner id and a phone number to send the SMS to. This works like charm.

The SMS that is sent looks like this:

Business value:
The tools helps as stich our solution together and improve the value for our customers by providing faster contract creation and automation, and notification by SMS for quick follow up by customer success manager.

Claims:

Stairway to Heaven

In our contract generation flow we are using three Microsoft APIs for solving our business need

  • Dataverse API
  • AI Prompt API
  • Outlook API

Thieving bastards

Using OneFlow and LINK mobility as payable third party solutions to improve our business process by using existing tools in the marked that is developed by marked experts and that keeps being updated and improved.

OneFlow

Using OneFlow for contract generation and posted on LinkedIn

LINK Mobility

Using LINK Mobility for notification to customer success mangers and more SMS notification in an upcoming sprint. And posted on LinkedIn

Power User Love

By combining the power of pro code for more customizable look, feel and usability for collecting data and using low code apps for backoffice project follow up with a more fix look and feel with drag and drop.

Code App using TypeScript and React for more control over the user interface and interactivity:

Using Model-driven app as a backoffice with more “strict” look and field, but perfect for following up and adding data.

Proof of LinkedIn post

https://www.linkedin.com/posts/fredrikengseth_oneflow-and-link-mobility-sponsor-badge-and-activity-7420762390587166720-9Gl4?utm_source=share&utm_medium=member_desktop&rcm=ACoAACAQyBoBq-xtaRrmS1pVkkIip0jNA_TMbIo

Combining low‑code with pro‑code!

We’ve built our solution primarily using low‑code. But sometimes you hit a wall… Either the right connector doesn’t exist, or you’re looking at a third‑party solution you can’t afford—or simply don’t want to pay for. That’s when we build it ourselves 😀

We send geoJSON to our agent, which returns a large amount of text in Markdown. Markdown isn’t the ideal format for presenting text to our end users. We could probably have solved this in many different ways, but we went with the fastest route to the finish line.

We created an Azure Function that converts Markdown to HTML. We use Power Automate to call the Function App, which then returns HTML back to the flow, which in turn sends it to the Canvas App.

This is what we call Low‑code → Pro‑code → Low‑code.

acdc-badge-sniper / SKILL.md : An AI agent skill for Hackathon Strategy

We built an AI agent skill that helps ACDC teams identify their best badge targets and create action plans. It works with Claude Code, VS Code Copilot, and ChatGPT.

What it does

  • Fetches live ACDC data (badges, teams, claims, rankings)
  • Matches your project to optimal badge targets
  • Creates time-boxed checklists with evidence requirements
  • Generates 30-60 second judge pitch scripts

    Installation and usage

    Claude Code
    Drop the `acdc-badge-sniper` folder into your skills directory and invoke it.

    VS Code Copilot
    Copy `copilot-instructions.md` to `.github/copilot-instructions.md` in your project, or paste it directly into Copilot Chat.

    ChatGPT / OpenAI
    Use openai-system-prompt.md as your system prompt or Custom GPT instructions.

    Data sources
    The skill uses live ACDC data and updates regularly to reflect new badges and team standings!

    Quick start

    Tell your AI assistant:
    1. Your team name
    2. What you’ve built (2-6 bullets)
    3. Your stack (M365, Azure, Power Platform, etc.)
    4. Time remaining
    5. Constraints (no admin, no external APIs, shorthanded, etc.)

    It will return your top 5 badge targets with checklists, evidence requirements, and judge pitches.

    Get the skill
    https://github.com/Puzzlepart/ACDC-26/blob/main/skills/acdc-badge-sniper/SKILL.md

Screenshots!

META: creating the acdc-badge-sniper to snipe badges

By sharing this skill we aim for the following badges:

  • Sharing is Caring We made the badge-sniper available for other teams to use; it’s literally a shared tool.
  • Community Champion We didn’t just publish it; we’ll help teams set it up and use it, which is direct community support.
  • Hipster Agent skills + Claude Code / Copilot / ChatGPT workflows are bleeding‑edge dev tooling
  • Dataminer The skill fetches live ACDC blob data and converts raw JSON into ranked, actionable strategy.
  • Power User Love Tiny YAML + markdown config drives complex AI output: low‑code definition with pro‑code impact.
  • Plug N’ Play It plugs into VS Code Copilot via copilot-instructions.md, meeting “plugin/app” intent.

The Right Tool for the Right Comrade: Model-Driven Apps comes to play!

Central Planning doesn’t choose ideology. It chooses what works.

The CCCP Factory Portal started with Power Pages, combining low code blocks with pro-code templates, custom Liquid, FetchXML dashboards. Perfect for our public-facing production tracking. But our internal operations team needed something different.

Meet The Harvester!

We built a Dynamics 365 model-driven app for our back-office comrades. Same Dataverse foundation. Different interface. Different purpose.

What It Manages:

Orders: Production orders from procurement to fulfillment
Order Lines: Individual line items, quantities, status tracking
Resources: Wheat, potatoes, carrots, inventory levels and thresholds
Alerts: Automated notifications when quotas drop below targets
Harvesters: Equipment tracking, maintenance schedules, field assignments

The operations team doesn’t need flashy dashboards or Soviet aesthetics. They need forms. They need views. They need business process flows. They need to work with data efficiently without friction.

Model-driven apps give them exactly that, automatically generated interfaces based on our Dataverse schema. No custom UI code required. Point, click, configure. Low-code where low-code makes sense.

Internal workers operate in peace with the tools built for data management. External users experience the crafted interface designed for engagement. Both solutions leverage the Power Platform fully: low-code and pro-code working in harmony.

We didn’t pick a side. We picked both. That’s how you build comprehensive solutions.

Pro-code you ask?

Don’t think that we haven’t forgot about it, the whole portal has a bunch of templates build in with pro code. Have you seen our amazing dashboard? With custom fetch templates, bootstrapped to look sleek and implemented as a modern high-end webpage, we make sure that it has the highest of standards which can be a bit though when you don’t go a bit out of the low-code environment!

Remember that everything is responsive and works on all platforms!

Still not convinced we are pro-coding? We are going all inn inmplementing API calls!

As we speak, we have implemented API calls and lines on lines with javascript to make sure users will be able to speak to the dataverse backend apps we have designed with low code. Talk about smashing together the best of both world!

Above is just a snippet from one of the javascript files, here we do api call to dataverse to make sure order records are made in our order table.

Our end-user app!!!

T IN T, which is a shining glossy pixels app ✨✨✨😂
The app allows the user to get information about a selected area regarding geology, minerals, resources and more. This is to enable analysis of an area of interest related to mining, forestry, or other types of development. Furthermore, the users of the app can submit a request for consultancy assistance for area analysis and reporting.

The user selects an area withing the map and requests information and/or submit a request for consultancy

The app triggers a flow to get information from the Copilot agent

We hope our agents remain loyal to our company and don’t decide to run the show on their own 🤞🏻

Connecting Power Platform and Code with Dataverse!

Claimed Badges: Power User Love

Hello Everyone!

We now successfully connected some of our components created from yesterday – yesss some progress!!

Our goal was to leverage our expertise from both Power Platform and “Pro-Code” and connect these components into our solution. We are using Dataverse as our data storage to easily use Power Automate, Copilot Studio Agents, and Model-Driven App and connecting Dataverse to our API.

So, to the fun part, let’s provide an example!

When our game stats are changing – we are triggering our Copilot Studio Agent through a Power Automate flow.

The Agent access Dataverse data through the Dataverse MCP tool, extracts the newest data and create a fun comment.

We then use our API layer to get the newest comments from Dataverse to our game display screen!

By doing this, we can use all the fun juice from Power Platform and develop apps hosted in Azure!

On the judges request – more meat on the bone

Let’s break down our solution! First, we have the low-code part that consists of a Model-Driven App, data storage in Dataverse, an agent in Copilot Studio, and multiple Power Automate flows. Then we have a web app created with React, bundled with Vite, that is hosted in Azure. To connect these features together, we have created an API to get data from Dataverse into our coded solution. The Function App hosting the API is added as a system user to our Power Platform environment, so we can easily fetch data. While most of our setup is created in the low-code environment, e.g. the automation of spawn chunks, we also have data going from our application towards Dataverse. The reason for selecting both of these tools was for all of us to learn more and to make sure we use the appropriate tool for the right job!

The Dashboard

Visit our page: https://itera-scope-creepers.plankebyen.dev/

To follow along!

Power User Love

A low-code Power Apps canvas app paired with a pro-code PCF component. The canvas app manages configuration and UX, while the PCF pulls real-world gold prices from a third-party API and converts NOK into Minecraft gold nuggets, bars, and blocks.

Parameters flow cleanly between low code and pro code giving them a strong relation between the two.

In this solution, we also use external APIs #Dataminer

The API we use comes from an external API which gathers external data from exchange rate to add real life value to the resources we gather with our BOT;

Exchange rate : https://api.exchangerate.host/latest?base=USD&symbols=NOK

Gold Price, we used a metal API: https://api.metals.live/v1/spot/gold

____

Cepheo Crafting Creepers

We Review Together. We Fix Together. We Meme Together.

Between dashboards, badge-sniping and a suspiciously productive Village Golem Pyotr, the CCCP crew keeps on the vibe high, laughing, helping, and somehow still finding time to celebrate the small wins (and the big ones).

No lone-wolf coding in this republic. We move as a unit. We review together. We fix together. We meme together. This extremely high team spirit and good vibes is what makes us love what we do. #Remarkableteamspirit

Also: two more badges on the board today!

Glossy Pixels goes to the portal UI. We’ve been polishing the Power Pages experience so far, so it feels clean, fast, and actually pleasant to use! Sindre is all about that look and feel when it comes to a good user experience and that is why we have sat him on the case.

“I mean, what can I say – just look at it” – Sindre

Power User Love is for the way we’re building it: low-code where it makes sense (Power Pages, Dataverse, built-in components), and pro code where it counts (VS Code, custom templates/CSS/layout tweaks). Best of both worlds, and it’s starting to look like a real product.

“It is not as responsive at I would like yet, but I am coming for you Chameleon badge!” – Sindre

A HOT TIP FROM SINDRE TO ALL OF YOU PRO-CODERS!

If you want to pro-code your power pages solution, use PAC CLI in command lines to download your solution locally. From there you can keep on coding in your own editor and gain access to ALL extensions and the developer tools you love to use! #Sharingiscaring

Minecraft Procurement & Crafting Process 

This document explains the end-to-end process from the perspective of a player (Steve) using the Model-Driven App within the Minecraft-themed procurement and crafting system. 

1. Player Login (Steve) 

Steve is a player (user) who logs into the Model-Driven App. From here, Steve can manage Projects, Recipes, Crafting requests, and track all activities. 

2. Creating a Project 

Steve creates a new Project. A Project represents a request for a specific item or component that needs to be sourced or crafted. 

Within the Project, Steve specifies: 

  • Deadline (when bids should close) 
  • Budget (in Emeralds 🟩 / EM) 
  • Recipe or Component required 

3. Publishing the Project 

Once all Project details are complete, Steve publishes the Project, changing its status from Draft to Open. Publishing makes the Project visible to Vendors via the Power Page (Power Page will not be covered here). 

4. Vendors: Villagers & Wandering Traders 

Vendors are external parties who interact with the system via the Power Page. There are two types of Vendors: 

  • Villagers: Crafters and shippers who can manufacture (print) and deliver items. 
  • Wandering Traders: Providers of Recipes or Components, offering 3D-printable designs. 

5. Bids (Handled via Power Page) 

Wandering Traders can view published Projects on the Power Page and place Bids. A Bid includes the price for providing the requested Recipe or Component. 

Although Bids are created through the Power Page, all Bid records and statuses are visible to Steve in the Model-Driven App. 

6. Selecting a Winning Bid 

Once the deadline has passed, or earlier if Steve is satisfied, Steve selects a winning Bid. 

The selected Bid determines which Wandering Trader will provide the Recipe or Component. 

7. Contract Creation & Signing 

After a Bid is selected, a Contract is automatically created and sent to the winning Wandering Trader for signing. 

The Contract formalizes the agreement, including price, delivery expectations, and terms. 

8. Receiving the Recipe / Component 

Once the Contract is completed, Steve receives the Recipe or Component. At this point, Steve has two options: 

  • Print / craft the item themselves. 
  • Request a Villager to craft and ship the item. 

9. Creating a Crafting Record 

If Steve cannot or does not want to craft the item personally, they create a Crafting record. 

In the Crafting record, Steve specifies: 

  • The Recipe to be crafted 
  • The selected Villager 
  • Shipping details (not yet implemented) 

Villagers will charge an additional fee for crafting and shipping, which is tracked within the system. 

10. Visibility & Tracking 

Although Villagers and Wandering Traders primarily use the Power Page, all records, logs, and statuses are also visible to Steve in the Model-Driven App for full transparency. 

11. Recipes Management 

Recipes can be created in multiple ways: 

  • Automatically by selecting an item from the Minecraft API. 
  • Manually created by a player to define a custom Recipe. 

Recipes can be reused across Projects and Crafting requests. 

The Name column is implemented as a PCF control using Fluent UI React v9. When the magnifying glass is clicked, a modal window appears that calls the Minecraft API, allowing players to select a recipe and return its name, description, and icon. 

12. Summary 

This process creates a complete Minecraft-themed procurement and crafting flow. From Project creation, bidding, contracting, recipe sourcing, to final crafting and delivery. 

#low-code + pro code #category

Virtual potion ingredients: XR in PCF components

We already have access to MR (aka. Magic Reality) components in Canvas Apps. Implementation is straight forward, but as expected they come with a limited set of features. The components are based on Babylon.js, and make for a quick and easy way to place and view a 3D model in an augmented reality context.

For our solution, we wanted the user to also be able to interact with the virtual objects in front of them, which is not OOB features, so by expressing our power user love, we decided to explore the possibilities around custom XR enabled PCF components.

Being ACDC craftsmen, knowing the potential issues of going too far down the wrong path, we decided to do some proof of concepts, creating custom PCF components with third party XR libraries, acting like proper thieving bastards on the way.

First off, we had a look at AR.js, which is built on ARToolkit, a relatively old library. This library could provide us with wide device support, which really didn’t have that much value, considering the component would be running inside the Power Apps mobile app. We would also be forced to use either image target or marker tracking, with no modern AR spatial tracking.

Looking closer at the OOB components, we tried to find a way to leverage the OOB Babylon.js logic, hopefully being able to hook into the React Native part of the implementation, which would give great benefits in terms of access to device specific XR features (ARCore for Android and ARKit for iOS). We did, however, decide to leave this path, and focus elsewhere.