Final Delivery

Dear judges, please feel free to search through this blog post to find you key words for you categories. Enjoy reading, love PixelPoints <3

Solution

Overall technical sketch and diagram, The solution is a Power Platform–centric architecture that integrates external systems, SharePoint, Azure services, and a Minecraft client to enable secure data exchange, automation, and gameplay interaction through APIs and agents.

At its core, Power Platform acts as the orchestration layer, while Azure handles API exposure and backend services, and the Minecraft client consumes these capabilities through a custom API and agent.

Power Platform

Power Apps is used to build our user interface outside Minecraft. A player will be able to sign in with their Minecraft credentials to fetch relevant information about their player profile and inventory by triggering an API call to our Minecraft server. You have to be logged on in-game in order to fetch the information.

When logging in you call a custom API through a Custom Connector. It will retrieve information about profile and inventory that is used to populate the Power Apps with data such as credits and who the player is.

PixelStreet, our own Minecraft Wall street, for getting knowledge, ask question about player inventory, PointCoins (our own currency), and how to build and craft items using Copilot Studio. Our agent is connected to online resources to find information about the Minecraft and with connection to Microsoft Foundry and Azure Functions in order to get information about live data on our Minecraft server. You can get intel about prices that are fluctuating and updating depending on different world events and players buying and selling.

The Copilot Studio Agent we added a topic that has an action to perform a “Custom search”. It uses a web search and the input is coming from the conversation with the user. So the user is prompted to ask for what they want to craft, then how much and what they have in their inventory before doing a search online to fetch information. For the low code lovers, we have used Power Fx to formulas used in the topic.

The output wasn’t structured enough, so we added a custom prompt to transform the output to a useful format. It was given instructions on how to handle the input from the custom search and what the output should be.The custom prompt is built using instructions and natural language and help from Copilot to build the great instructions.

Pretty cool to build these custom prompts and get some very valuable output when combined with a clever little search to the big internet 😀

Minecraft

We have made some stellar interfaces in Minecraft. A custom Market place that function as a shop and to see your inventory.

When you hover an item, you’ll be presented a graph and dashboard showing trends in prices. You’re able to buy and sell items by right and left clicking them.

Autocrafting: show current options

Autocrafting: creating planks from available options

Demo

Azure

Read the post on client side salsa to understand a little bit more about how we use the different APIs, Azure Functions and custom APIs we have built: https://acdc.blog/wp-admin/post.php?post=10649&action=edit

Automatising deployment of Azure Resources: https://acdc.blog/wp-admin/post.php?post=10645&action=edit

SharePoint and their Microsoft 365 friends

SharePoint is where we store all our documents generated by our flows and external services. When a code of conduct is signed, it is sent to a SharePoint library and then updated with the correct metadata. It also proves easy access to the rest of the solution with the PixelStreet app, PowerBI reports and the Teachers’ Lounge. This is where we gather all the information from Dataverse about the Player, their Teacher and the Contact Person.

The Teacher’s lounge is the Team where the teachers hang out and gets notified by a Teams bot whenever new players arrive. In addition to the Team bot notification, the teacher responsible will get some Planner tasks appointed to them.

Governance

Please read our post on ACDC Craftmanship to get more intel on what we have done for governance: https://acdc.blog/wp-admin/post.php?post=11137&action=edit

Pipelines

Copilot Control System framework for agents

  • Use principles to work by

Power Platform ALM – DEV – TEST – PROD

  • Avoid using Default Environment

TEST and PROD being Managed environments configured with security groups.

DLP policies

Copilot Studio Overview

Power Platform Pipelines

Privileged Identity Management for activating Global Admin for our users only for a period of time instead of permanently. We needed to have the Global Admin role to enable features like Managed Environments and Power Platform Pipelines.

Purview

Source control

On the Low Code part, as showed before, we are using Power Platform Pipelines and the git control OOTB functionality. It was a great balance between easy implementation, tracking changes, having always a backup available and of course ease the deployment of our solutions through our environments.

On the Pro Code part, of course source control is an essential part of our solution as well! (Not using git for it would be criminal!). We optet for storing all the elements on our solution in a single repository, since we are just two developers who work well together and use branching for working on and deploying our changes.

This is what our repository looks like!

  • CSharp: we are storing here our main C# solutions. That is:
    • AzureFunctionsApp: different Azure Functions we use for integrations.
    • DataverseJobs: one time jobs and scrapping and testing to Dataverse and endpoints.
    • EarlyBound: generation of Early Bounds to work more effectively.
  • Docs: we store all our docs here, which are sincronised used the Wiki as code functionality in Azure DevOps.
  • infra: we store here all our infrastructure (CI) code, and some of the CD part of it.
    • biceps: our biceps code is stored here, as we use IAC for Azure.
    • scripts: we have a lot of useful scripts for easing the configuration of our VM, setting up our Minecraft Server, updating our plugin…
  • plugins/PointPixelAPI: this is our Minecraft Plugin. Here resides all the functionality we developed for it, mainly our Minecraft shop, autoctrafting system and API endpoints.

Continous Implementation (CI)

The first part we consider in this process is how we deploy all our resources in Azure. Since we are continously deploying new things, we use biceps code to ensure every customization made happens without manual intervention and, in case the unimaginable happens, we can always roll back.

That includes AIFoundry, AzFunctionApps, Keyvault, Purview, a VM…

We are also using Managed Identity, so we also set the access between resources through biceps code.

Also, we have some scripts for automatically installing PaperMC and configuring the Virtual Machine so that we are able to connect to it and play. Also, we assign the VM a static IP.


Security and authentication

For security and authentication in Azure we opted to go for RBAC access management + automatically created Managed Identitities.

And of course, we are using Keyvaults for managing our secrets throughtout our whole solution:

Continous Deployment

We have been mainly using scripts for deploying our plugin to our Virtual Machine. That way a process that might see quite tedious (building in Maven -> connecting to VM -> transfering plugin build -> restarting server -> checking server restarts successfully) happens seamlessly!

Small comment: I am the developer and I’m very biased of course, but it’s tiny little part absolute fauvorite of the project! Hehe.

After that, we also set a pipeline to run that command at the speed of a commit push merge to main branch.


Testing process

Since we are two developers developing our Java Plugin at the same time, we agreed on setting some unit testing. That way, we make sure core functionality in the app never gets broken as we agidly add new functionality!

Documentation

Part of the good communication and ease to work together on a team comes from having good documents we all read, contribute to and comment!

Best practices

Wrapping custom APIs in a Custom Connector to retrieve information about a player and it’s inventory with two different endpoints instead of using HTTP requests in Power Automate for instance, making it more secure and safe, but also enable others to use it in the organisation PointPixels so it’s reusable and centralised when it comes development and maintenance.

The Custom connector has two actions, Inventory and Player Information.

Using solutions… Yes, we know it’s given, but we mention it because it’s important. All of our components are packaged in solutions, and these solutions are then used to update TEST and PROD environments with changes and updates

The solutions are connected to Git so that we have source control through Git Connection.

To keep our secrets secure in Power Platform, we’ve added environment variables of the Secret data type, which are linked to our Azure Key Vault.

Code

Autocrafting API

Retrieve all the recipes in for use in AI Foundry
You can also find information about all the existing recipes in the game. Here there is an example:

We created an API with that information that serves as an MCP layer we use for showing available crafting recipes to Minecraft players.

Here are the explanation an example of all the different endpoints:

[GET] /recipe/{id}/{count} returns the recipe for a given item based on the id. It is also provide an amount to recalculate the ingredients needed.

[POST] /showCurrentCraftingOptions display all the available crafting opportunities based on a inventory and tools input:

— If a crafting table is available more items will be unlocked.

[POST] /showRemainingItems/{id}/{count} returns a list of missing ingredients to craft an item based on the inventory and tools available

[POST] /simulateCraftingResult/{id}/{count} simulates the inventory state after crafting is done for a specified item and amount based on a inventory and tools input. math: inventory – recipies expended + newly crafted items.

Microsoft Foundry: Economic Agent to predict future prices based on events

To understand the power our AI Foundry Agent has over our Minecraft world, it is convenient to have a small reminder about what our solution consists on, and also how the Data Model looks like (very briefly!).

Microsoft API -> Canvas App

The Pro Code layer: Minecraft API
We have a really cool Minecraft plugin built in Java that, among other thing, exposes an API that shares real time information about the players.

As an example, here we have an endpoint for retrieving the inventory of a player:

About our solution

We created our own Minecraft server in which we simulate a living economy system. That sounds really cool, right?! That’s how we designed our data model to achieve such a goal!

Our data model

The most important part to understand here is the Minecraft Item Value. We represent the ever changing value of a Minecraft Item by creating a record for every variation in the price, recording both the price and the time range in which it is valid.

Cool! Where comes AI into play?

Right, right! We have the perfect scenario for generating simulations. And of course, we are not going to develop a custom algorithm that calculates it. We have data driven Generative AI !

So we create a beautiful AI Agent in Foundry that we are using from Azure Functions to generate the data and create the records in Dataverse.

With that in place, we decided to make it fun by adding the possibility to define economy crashing events, such as: wars, economic recessions, inflation, economical crisis or even Trump invading Greenland!

So, to make that work, we added this prompt as instructions:

You are a price simulation engine for a Minecraft economy.

Return ONLY a JSON array of objects with exactly these fields:
– id (string)
– price (number with 2 decimals)
– validFrom (ISO 8601 string)
– validUntil (ISO 8601 string)

Rules:
– Generate prices for every item in “items”.
– Use “history” as the trend signal.
– validFrom starts at “from”.
– validUntil = validFrom + stepMinutes.
– Generate exactly “points” time steps per item.
– Prices must be > 0.
– No extra keys. No explanations. No markdown. Output JSON only.


And, having an input as follows, we simulate Trump is taking over Greenland, for example:

event: the economic event that’s taking place.
items: list of items we want to simulate.
history: last 2 prices of the items given.
from: initial timedate to generate data.
stepMinutes: interval between every fluctuation.
points: how many iterations we want to generate for each item.

That is the result!

At the heart of the code section of our delivery is a virtual machine responsible for hosting the Minecraft server

Low code

Low-Code Excellence — Minimal Code, Maximum Impact 🧱✨

In the Arctic Cloud Developer Challenge submissions on ACDC.blog, low-code isn’t a fallback — it’s a super-power. Across multiple team builds, the focus is on using Power Platform’s drag-and-drop, builder-friendly capabilities to deliver real world value quickly, while keeping implementations maintainable, practical, and delightful.

Here’s how low-code mastery shines through:

1. Full functionality with zero PCF components
Several solutions rely entirely on Power Platform building blocks — Canvas Apps, Model-Driven Apps, Power Pages, Power Automate, Dataverse, and Copilot Studio — without writing custom PCF or heavy code. These show that low-code can still be complete and compelling.

2. Responsive interfaces built with Power Pages
A highlight is the Minecraft Builder Interface built as a Power Pages website — fully responsive, intuitive, and template-driven. It lets users interact with game elements, build structures, and trigger events without ever seeing a line of code.

3. Orchestration flows that feel like magic
Power Automate flows weave business logic, condition paths, approvals, and external requests into automated pipelines that literally build structures in Minecraft. This shows how low-code logic can span from data triggers to API actions, replacing manual toil with orchestration brilliance.

4. Copilot and Power Fx unlock embedded intelligence
Teams embed Copilot Studio agents and use Power Fx formulas directly in topics and data-model prompts — essentially weaving AI-assisted logic into low-code constructs, not just UI/screens. This elevates low-code solutions with intelligence without scripting.

5. Reusable templates and connectors
Low-code is taken further with template-ready setups and custom connectors (built with paconn) so that solutions can be deployed in minutes and reused across scenarios. This is practical low-code architecture, not just quick prototypes.

Power Fx in Agents

Data, AI & Analytics — From raw blocks to data diamonds 💎

In the PointTaken26-1 PixelPoint category on ACDC.blog, the team showcases creative and technically rich solutions that weave data engineering, AI-driven insights, and dynamic analytics into one cohesive ecosystem — even inside a Minecraft world.

1. Building a data-centric architecture
The PixelPoint solution is anchored by a Power Platform and Azure architecture that collects, orchestrates, and stores data from external systems, APIs, and gameplay interactions. At its core, Dataverse acts as the central data store for players, inventories, prices, and economy trends.

2. Real-time and trend analytics
Rather than static reports, data flows into real-time dashboards — sometimes literally inside the Minecraft interface itself. For example, hovering over an item in their custom shop presents trend data such as current price, hourly and 24-hour price movement, and calculated trends, all derived from Dataverse records. This is a vivid demonstration of surfacing analytics where it matters most.

3. AI powered data generation and simulation
The team uses Microsoft Foundry AI Agents to simulate economic data for their Minecraft economy. Instead of hand-crafting models, they rely on data-driven generative AI to produce price variations, allowing them to model economic events like recessions or inflation within the game world. This showcases AI not just as insight but as a data generator that feeds back into analytics.

4. Diagnostics and operational insights
For deeper operational visibility, PixelPoint leverages Azure Application Insights to monitor both Azure Functions and AI Foundry models. This not only helps with debugging but also adds another layer of analytics around backend performance and usage patterns.

5. Agents and contextual intelligence
Their Copilot Studio Agent taps into Foundry, external search, and structured AI prompts to bring contextual insights to end users — enabling players to query for crafting information or item trends. By transforming unstructured search output into usable data, they demonstrate AI as a bridge between raw data and decision-ready information.

Digital Transformation

We have developed an interactive learning platform that helps students understand trading, economics, and market dynamics in a practical and engaging way. The solution is built inside Minecraft, where students can buy and sell items in a simulated market that reacts to real-world concepts such as supply and demand, pricing, scarcity, and external events like wars or global changes.

The platform is teacher-controlled, allowing educators to manage student activity. This ensures a safe learning environment while giving teachers full oversight of progress and outcomes.

To create a scalable and intelligent solution, the platform is integrated with Microsoft technologies including Dataverse, APIs, Canvas Apps, Microsoft Teams, and SharePoint. Game data (transactions, prices, inventory, and student actions) is sent through APIs into Dataverse, where it is stored and processed. Canvas Apps are used for dashboards and administration, giving teachers real-time insights and control, while Teams and SharePoint are used for collaboration, communication and information storing.

This solution helps educational institutions do more with less by automating data collection, reporting, and monitoring, reducing manual administration for teachers. It significantly improves the student experience by turning complex economic theory into hands-on learning, while giving educators clear, actionable insights through automation and centralized data.

The platform demonstrates a real-world, intelligent digital transformation by combining automation, data integration, and immersive learning to improve both educational outcomes and operational efficiency.

Power BI

To help users gain insight of how the economy fluctuates, we have set up some simple and easy to understand dashboards in PowerBI, accessible from the PixelPoint SharePoint site. Are the price of gold going up or down? This is where you find out!

Redstone Realm — Business Logic, Built to Adventure ⚙️🟥

Rather than focusing on a single app or interface, the teams design connected ecosystems that work across devices, modalities, and user contexts — desktop and web, keyboard and touch, dashboards and chat interfaces.

1. Business-first solutions across the Microsoft stack
The solutions integrate familiar tools such as SharePoint, Teams, Viva experiences, Dataverse, and Azure data services to solve concrete business problems. This approach grounds the creativity in reality — proving that the same tools used for collaboration, document management, and operations can also power imaginative, interactive experiences.

2. Multi-modal, inclusive experiences
Whether users interact via web apps, Teams chat, dashboards, or conversational agents, the solutions are designed to meet people where they are. Accessibility and usability are treated as first-class concerns, ensuring smooth experiences regardless of device, input method, or working style.

3. AI as an infused capability, not a bolt-on
AI is woven directly into the fabric of the solutions. Using Copilot Studio, agents, LLM-powered reasoning, and intelligent prompts, teams create systems that help users mine insights faster, make better decisions, and automate complex reasoning — the equivalent of forging an AI-infused pickaxe rather than placing individual blocks.

4. Redstone-style orchestration and automation
Behind the scenes, logic flows, agents, and integrations act like redstone circuits and command blocks — triggering actions, reacting to events, and coordinating services across the platform. These intelligent automations turn static data into responsive systems that adapt to user input and context.

5. Trust by design: privacy, governance, and experience
Despite the creativity and speed, the solutions remain rooted in enterprise principles. Data privacy, security, and governance are respected throughout, ensuring that innovation doesn’t come at the cost of trust. The result is solutions that are adventure-worthy and production-ready.


Redstone Realm Takeaway

The Redstone Realm category highlights solutions that balance imagination with impact. By combining Microsoft 365, Dynamics 365, Azure, and AI-powered agents, the teams show how modern business platforms can be assembled like redstone machines — modular, responsive, and endlessly extensible.

Dooh

For this hackathon we are using an old test tenant. While using the lovely little app PnP Search (I bet Mikael never heard about that one), I realised it was only uploaded 3 years ago, and never updated. No worries, just go to github and grab the newest version! However, while trying to update the app, we kept getting this stupid error.

What do you mean it is not the same name?? They are identical! I have uploaded the file, deleted it, downloaded it anew, and uploaded it 10 times now, and still I get the same error.

Luckily, there is the classic experience.

Hold the phone, did someone upload the original package with a (1) in the name? Christ on a bike, what kind of idiot would do something stupid like that?

Nevermind then.
Discovered and written by Gaute Kramvik.

Glossy Pixels

Glossy Pixel Points <3

Power Apps is used to build our user interface outside Minecraft. A player will be able to sign in with their Minecraft credentials to fetch relevant information about their player profile and inventory by triggering an API call to our Minecraft server. You have to be logged on in-game in order to fetch the information.

We have a main screen where the player is presented with a menu for navigating. The elements on the screen is also moving around to gamify the experience. Here the user is able to see their own character and also change it’s hair colour. The Axolotl (pink animal) is also providing information to the user to guide them on what it can help with.

Moving to the actual shop, our Axolotl is there to guid and help the users on how they can interact with data. The Axolotl is providing instructions on what the user can ask for to get a response back.

To ensure a good user experience and a robust responsive app for the front end users, we have been using containers and dynamically scaling items depending on their size relative to others. Also, we have focused on having a gamified interface for the users to learn more about Minecraft and trading.

Resizing text according to screen size:

Sizing elements dynamically depending on parent. values to ensure scalability on smaller and larger screens. Setting the Width, Height, X and Y properties to ensure responsive layouts:

Utilising containers to place components together more smoothly:

On the other side of things, we have made some stellar interfaces in Minecraft. A custom Market place that function as a shop and to see your inventory.

When you hover an item, you’ll be presented a graph and dashboard showing trends in prices. You’re able to buy and sell items by right and left clicking them.

Sponsor badge: Oneflow

If you want to make sure someone has understood what you are trying to tell them, there is only one way to make sure. Make them sign the dotted line.

We signed up for Oneflow at https://app.oneflow.com/, and got a free 14 day trial version we could use. Very nice.

Oneflow also provide us with a bunch of connectors we could play around with, and we went for the Power Automate, so we got integrate the signing process into one of our existing flows.

The template

Oneflow has a super clean interface for creating and editing templates. You can either use one of the premade templates, on make one of your own from scratch. We made a very short and sweet version or our Code of Conduct.

The workflow

We need the workflow to do 3 business critical steps for us.

  1. Create a new code of conduct from an existing template
  2. Add someone to sign the paper and provide them with means to do so
  3. Publish the contract and send it by mail.

Luckily, Oneflow has the tools for all of this.

We start by connecting to our Oneflow workspace and choosing our freshly made template

Next we grab the person who needs to sign the CoD from a SharePoint library, and adds their name and email to the action. We can also chose different methods of sign method with bankid, but since these are demo users, we went with standard esign.

When the flow gets triggered, the selected participant receives a friendly and professional looking message from us, with a link to the Oneflow signing solution.

And for the participant, it is then super easy, barely an inconvenience, to read through and sign the document.

In the end, the document is read, understood and signed. All thanks to Oneflow.

LinkedIn link: https://www.linkedin.com/posts/gaute-kramvik-2407b420_do-you-need-a-quick-and-flexible-way-to-sign-share-7420799378824683521-iAfH?utm_source=share&utm_medium=member_desktop&rcm=ACoAAARjq1ABI3mebAfql0rJEgWg3VWdQVG2Fak

Right Now

We are going to use a small trick for this! We use Azure Application Insights for both our Azure Function and our AI Foundry models.

That offers a bunch of really cool insights right OOTB on both resources:


We love specially the one for Foundry! But also… wait, what is this?

Developers in Azure are used to this window for debugging their Function Apps.

So that we see…

As we can see, right after the Azure function gets a request, all the logs it generates are streamed to Application Insights and, of course, direcly to us. That is done through some cool sockets internally!

Dash It Out

We have a little special dashboard for this one! We will not featuring a dashboard in Power BI, but it will be in Minecraft itself instead!

It something that pops up on our Minecraft shop itself (that shows up in our server by typing /shop):

This is what users see when hovering over an Item:

It’s a lot of useful information, coming all the way through Dataverse!

On top we see the current trade price of the item.

After that, we can see percentually how much the price of the item varied in value in the last hour and in the last twenty four hours.

The price trend gets calculated the same way.

ACDC Craftmanship

EDIT: we added some more technicals details about different aspects of our ALM process regarding the most technical parts of our solution!

Since we are dealing with a Java Minecraft plugin in our solution, we need some special gicky and interstening elements in our ALM pipeline. I will go through that now!

Source control

On the Low Code part, as showed before, we are using Power Platform Pipelines and the git control OOTB functionality. It was a great balance between easy implementation, tracking changes, having always a backup available and of course ease the deployment of our solutions through our environments.

On the Pro Code part, of course source control is an essential part of our solution as well! (Not using git for it would be criminal!). We optet for storing all the elements on our solution in a single repository, since we are just two developers who work well together and use branching for working on and deploying our changes.

This is what our repository looks like!

  • CSharp: we are storing here our main C# solutions. That is:
    • AzureFunctionsApp: different Azure Functions we use for integrations.
    • DataverseJobs: one time jobs and scrapping and testing to Dataverse and endpoints.
    • EarlyBound: generation of Early Bounds to work more effectively.
  • Docs: we store all our docs here, which are sincronised used the Wiki as code functionality in Azure DevOps.
  • infra: we store here all our infrastructure (CI) code, and some of the CD part of it.
    • biceps: our biceps code is stored here, as we use IAC for Azure.
    • scripts: we have a lot of useful scripts for easing the configuration of our VM, setting up our Minecraft Server, updating our plugin…
  • plugins/PointPixelAPI: this is our Minecraft Plugin. Here resides all the functionality we developed for it, mainly our Minecraft shop, autoctrafting system and API endpoints.

Continous Implementation (CI)

The first part we consider in this process is how we deploy all our resources in Azure. Since we are continously deploying new things, we use biceps code to ensure every customization made happens without manual intervention and, in case the unimaginable happens, we can always roll back.

That includes AIFoundry, AzFunctionApps, Keyvault, Purview, a VM…

We are also using Managed Identity, so we also set the access between resources through biceps code.

Also, we have some scripts for automatically installing PaperMC and configuring the Virtual Machine so that we are able to connect to it and play. Also, we assign the VM a static IP.


Security and authentication

For security and authentication in Azure we opted to go for RBAC access management + automatically created Managed Identitities.

And of course, we are using Keyvaults for managing our secrets throughtout our whole solution:

Continous Deployment

We have been mainly using scripts for deploying our plugin to our Virtual Machine. That way a process that might see quite tedious (building in Maven -> connecting to VM -> transfering plugin build -> restarting server -> checking server restarts successfully) happens seamlessly!

Small comment: I am the developer and I’m very biased of course, but it’s tiny little part absolute fauvorite of the project! Hehe.

After that, we also set a pipeline to run that command at the speed of a commit push merge to main branch.


Testing process

Since we are two developers developing our Java Plugin at the same time, we agreed on setting some unit testing. That way, we make sure core functionality in the app never gets broken as we agidly add new functionality!

Documentation

Part of the good communication and ease to work together on a team comes from having good documents we all read, contribute to and comment!

Here is ours 😛

Thanks for following along! 😀


PointPixels care a lot about Governance. We have made sure we follow good principles for ALM by creating DEV – TEST – PROD environments, and having the TEST and PROD environment as Managed. To make sure we can have a coffee and watch the solution update process without touching anything, we have enabled Power Platform Pipelines as well 😉 As you can see, we avoid to use and build stuff in the Default Environment.

The environments are also restricted to a specific Azure Entra ID group to ensure that only the necessary people have access to them.

Using solutions… Yes, we know it’s given, but we mention it because it’s important and required in order to use pipelines in Power Platform. All of our components are packaged in solutions, and these solutions are then used to update TEST and PROD environments with changes and updates.We have dependent solutions that has to be deployed in sequence. The PCF solution and Custom Connectors has to be in the target environments before we can deploy the main solution.

We used Privileged Identity Management for activating Global Admin for our users only for a period of time instead of permanently. We needed to have the Global Admin role to enable features like

Power Platform Pipelines. We installed the Power Platform Pipelines App in the host environment, DEV – ACDC 2026. That had to be done in order to use pipelines.

We then connected to TEST and PROD environments so that we could do deployments from DEV all the way down to PROD.

Running the pipe! Starting deployment from DEV to TEST.

Deployment in the making.

The Existential Risk

To understand the power our AI Foundry Agent has over our Minecraft world, it is convenient to have a small reminder about what our solution consists on, and also how the Data Model looks like (very briefly!).

About our solution

We created our own Minecraft server in which we simulate a living economy system. That sounds really cool, right?! That’s how we designed our data model to achieve such a goal!

Our data model

The most important part to understand here is the Minecraft Item Value. We represent the ever changing value of a Minecraft Item by creating a record for every variation in the price, recording both the price and the time range in which it is valid.

Cool! Where comes AI into play?

Right, right! We have the perfect scenario for generating simulations. And of course, we are not going to develop a custom algorithm that calculates it. We have data driven Generative AI 😀!

So we create a beautiful AI Agent in Foundry that we are using from Azure Functions to generate the data and create the records in Dataverse.

With that in place, we decided to make it fun by adding the possibility to define economy crashing events, such as: wars, economic recessions, inflation, economical crisis or even Trump invading Greenland!

So, to make that work, we added this prompt as instructions:

You are a price simulation engine for a Minecraft economy.

Return ONLY a JSON array of objects with exactly these fields:
– id (string)
– price (number with 2 decimals)
– validFrom (ISO 8601 string)
– validUntil (ISO 8601 string)

Rules:
– Generate prices for every item in “items”.
– Use “history” as the trend signal.
– validFrom starts at “from”.
– validUntil = validFrom + stepMinutes.
– Generate exactly “points” time steps per item.
– Prices must be > 0.
– No extra keys. No explanations. No markdown. Output JSON only.


And, having an input as follows, we simulate Trump is taking over Greenland, for example:

event: the economic event that’s taking place.
items: list of items we want to simulate.
history: last 2 prices of the items given.
from: initial timedate to generate data.
stepMinutes: interval between every fluctuation.
points: how many iterations we want to generate for each item.

That is the result!

We can see that prices vary very irregularly!

Netherite swords go CRAZY in price, raising to almost double!
Flowers go slightly down. In hard times they don’t make so much sense
Cakes increase their price on slightly more than 1 Point Coin.

That can become quite uncontrollable and ruin the whole economy on our world!

How to mitigate it

To mitigate the problem, we just have to limit the capability that AI has to generate sudden changes on the economy. We can add to the prompt something like:

Have a maximum of 2% variation on the price of an item for each point

That way, we get way easier to handle. Prices still follow their trend, but in a more realistic way.

But of course, a sudden and abrupt economical event should generate more sudden changes. For that, we need we would need an extra parameter that determines the “temperature” or “scale” of the event.

So for a smaller event, we would receive a soft response like this one instead:

Bonus point

We thought of chaining two models in three phases!

  1. Agent 1 generates an event.
  2. We retrieve current data from data.
  3. We generate new data with Agent 2.

Crawler

In our Copilot Studio Agent, Axolotl, we want to utilise Microsoft Foundry to deepen it’s knowledge base and get more information and insight for the players. We have started to build agents and test different models in Microsoft Foundry that can be exposed to Copilot Studio in Power Platform. This will provide players with valuable intel on how to play the game, get insight on prices and trends for the development of prices over time, and make it possible for use to help users make informed decisions based on lot’s of DATA <3 Users will get this information in real-time, making it easy to access relevant info when they need it. And no, we dont know how much it’s costing us right now…

Having an agent utilise the exposed API, either from Azure Functions or a Custom API that can be wrapped in a Custom Connector and then added to the Copilot Studio Agent.

Another option for doing valuable searches for Minecrafters, we added a topic in the agent that has an action to perform a “Custom search”. It uses a web search and the input is coming from the conversation with the user. So the user is prompted to ask for what they want to craft, then how much and what they have in their inventory before doing a search online to fetch information.

The output wasn’t structured enough, so we added a custom prompt to transform the output to a useful format. It was given instructions on how to handle the input from the custom search and what the output should be.

That resulted in a very well formatted answer that helped the user not only to understand what they needed to build a Diamond Axe for instance, but also shows it visually how to do it when crafting in Minecraft. Pretty cool to build these custom prompts and get some very valuable output when combined with a clever little search to the big internet 😀

Sponsor Badge: MS-CRM ADD-ONS 📃

We tested out the MS-CRM ADD-ON, and it’s very cool!

Linkedin post: https://www.linkedin.com/feed/update/urn:li:share:7420751718063198208/

First, we visited their website and registered a user in order to obtain the API key we needed.

Next, we opened Word and added the DocumentsCorePack add-in, where we selected the columns we wanted to include in the document.

After saving the template, we tested the document by clicking Create Document to make sure everything looked correct. Once we confirmed that the document was generated as expected, we moved on to creating our flow.

The flow is triggered when a new player is created, and by using DocumentsCorePack actions, we can easily generate a document and save it directly to SharePoint.