Automate, Automate, Power Automate

Badge: Go With The Flow

Why do any work at all when Power Automate can work for you?

Our *bleerp bloorp* processes have <insert 56kbps modem sounds> been automated.

For resource hungry miner peasants out there Power Automate will every 15 minute randomly spawn a chunk of resources at a random location.
IF, of course there is always an if, the location already have a chunk assigned, it won’t be assigned a new one.

When peasant miners gather resources Power Automate will automatically mark that chunk of resources as claimed and make sure the spawn location is available for new spawn chunk and command our copilot slave to make a happy/cool/hip live commentary on the claim!

Look at that naming convention! Is it not beautiful?!

SO! How do they work you ask?

It all starts with our scheduled Spawn Generator-flow. Every 15 minutes it runs, lists all available spawn locations. For each available spawn it runs a child flow, namely our “Manual – Chunk generator”-flow.

Every Resource type has a spawn rate. It goes from 1-100, consider it a percentage chance for the resource type to spawn.
To generate a chunk of resources randomly, yet according to the spawn chance we need the following:

We make to variables. An array called varWeighted a variable called currentTotal. Then we list all resource types.

For each resource type we increment the Spawn Rate with the item spawn rate value. Then we add that row to the array saving it with the currentTotal.

Following that we take the total spawn rate, compose a random number between 1-<Total Spawn rate nr>, then we filter out every row in the array which has currentTotal higher then the random number.
We then take the first row and use that as our winning resource.

We create a Spawn Chunk-row in dataverse, update our spawn location to not be available, and thats it!

Does this actually work? Is it spawning based on spawn rate? Hard to say, i’m not a math guy, but perplexity told me this would work.

Finally, our last flow. When a spawn chunk is claimed.

When a row (spawn chunk) is modified (a miner, contact, is added to the row), a flow sets the row to status reason claimed, sets the spawn location to available, and executes the agent based on a condition (this one is work in progress, sorry).

Very much definietly wroten by a human person

Things are coming together

It’s been quiet from us for a while now, but that doesn’t mean we haven’t been working. Behind the scenes, the solution is slowly starting to take shape.

We’ve set up an agent for automatically generating reports based on soil types, rocks, and minerals.
To store the report in SharePoint, we’ve created an Azure Function (provisioned using Bicep templates) that transforms the agent’s output into a format that the somewhat picky SharePoint connector in Power Automate will accept.

Bicep template for Azure function deployment

Azure function, PowerShell flavoured

In-agent flow

End-to-end explanation of approval flow with @OneFlow

A signed digital contract automatically becomes a purchase order, which automatically becomes a production order executed by a Minecraft bot.

1) Purchase Requisition

  • A purchase requisition is created in Dynamics 365.
  • It contains data:
    • Product
    • Quantity
    • Unit price
    • Total price
  • The requisition enters an Approval Signing stage.

2) Approval Signing using OneFlow

  • When the requisition reaches the signing stage, a Power Automate flow is triggered.
  • The flow:
    • Sends requisition data (product, qty, prices) to a child flow
    • Creates a OneFlow contract
    • Adds required participants (approver / counterparty)
    • Publishes the contract for digital signing
  • The approver signs directly in OneFlow.
  • Contract status updates are sent back via OneFlow triggers.
  • Et bilde som inneholder tekst, programvare, Nettside, Nettsted

KI-generert innhold kan være feil.

3) Purchase Order and Purchase Order Lines Creation

  • When the OneFlow contract is fully signed:
    • A Power Automate flow triggered by “contract updated” runs
    • Contract details are retrieved
    • Product, quantity, and pricing are extracted
  • The flow then:
    • Creates a Purchase Order header in Dynamics 365
    • Creates corresponding Purchase Order lines
  • The Purchase Order is now an approved, system-generated transaction based on the signed contract.

How it triggers the rest of the solution : Production Order and Minecraft Bot Execution

  • The approved Purchase Order triggers creation of a Production Order.
  • The Production Order:
    • Reads the Bill of Materials
    • Determines required resources
  • A Minecraft bot is started:
    • Enters the Minecraft world
    • Mines, crafts, and gathers required materials
    • Completes the production task
  • When finished:
    • Status is sent back to Dynamics 365
    • The Production Order is completed/closed

In short;

We have a automated flow to create production order with an approval flow integrated with OneFlow,

Our LinkedinPost: https://www.linkedin.com/posts/mads-frisvold-8667231a4_end-to-end-explanation-of-approval-flow-with-activity-7420505652675997696-samU?utm_source=share&utm_medium=member_desktop&rcm=ACoAAC_ODw4BAWrxtkgUsDztq9DP8aVF2MKWwYc

and thats why we deserve the Go with the flow badge and OneFlow sponsor badge

____-

Cepheo Crafting Creepers

Going with the Flow: Wiring Steve to the World

Some recipes are simple. A user-friendly UI is enough: Steve publishes a request, Wandering Traders reply with recipes, deal done.

But some recipes are complex. Specs are unclear. Steve doesn’t know exactly what he needs. There’s back-and-forth: questions, clarifications, files, photos, technical drawings.

We need proper channels. Share specs. Exchange files. Chat in real time.

Discord would work in the gaming world. But we’re building on Microsoft cloud.

So we use Modern Workplace, AI WORKFORCE suite: Teams, SharePoint, and the whole M365 family.


The Challenge: Connecting SharePoint, Teams, and Dataverse

As experienced consultants, we know the options:

Option 1: Server-side sync Quick. Efficient. But locked – not flexible when you want to extend. And no Teams integration.

Option 2: Dynamics 365 Teams Integration The out-of-the-box “Collaborate” button. Sounds good, but: it creates a separate Team or channel for each record. For our solution, that means a new channel for every single Request. Hundreds of channels.

And it’s not automatic – users still need to click “Collaborate,” choose to create new or merge to existing. Manual steps. Extra friction. Our users aren’t ready for that level of complexity just yet!

Our Use Case

As customer-oriented Redstone Engineers, we know adoption is everything. We wanted:

  • Fully automated
  • Zero clicks from user
  • One Team, multiple channels (one per tender)
  • Documents synced to the right place

The Solution: Power Automate

We know how OOB sync works under the hood. There’s a Document Location entity – the infrastructure connecting SharePoint to Dataverse.

We also know that when you create a Teams channel, SharePoint auto-generates a document library for it.

So we wired it up ourselves.

When a Tender is created:

  1. Teams channel created under the main Tender Team
  2. SharePoint folder structure generated
  3. Document Location record created in Dataverse
  4. Everything linked. Automatically.

Fully customized. Total freedom. Zero lines of code pro code. (Shoutout to FetchXML Builder from XRM Toolbox – making us look like we know what we’re doing since day one.)

Categories: #Redstone Realm, #low-code

Can it be automated? Why didn’t you say so!

We just wired up a Power Automate flow that keeps an eye on our facility inventory in Dataverse. The moment a resource drops below its threshold, the system automatically creates a Resource Alert and flags it for action, no manual checking, no “did anyone notice we’re out of carrots?” moments!

In the screenshots you can see it in action: Quantity < Threshold triggers the flow, the alert record is created, and the committee gets instant visibility. Next step is the fun part: those alerts become the signal for our Minecraft harvesters to shift focus and ramp production until stock levels are healthy again.

Go With The Flow badge? Claimed.
Now back to work, the village demands resources!

Go With The Flow

When the customer submits an interest form for their dream house, the process starts instantly and the volume goes up 🤘

A Power Automate flow is triggered, capturing the data and creating a new contact in Dynamics 365 without any manual effort. At the same time, a confirmation email is sent to thank the customer for their interest and invite them to keep building their idea. The experience feels like spawning into a new Minecraft world: one action unlocks endless possibilities.

Did anyone say “I want 50 agents in 2 min”?

Sometimes i think to myself: “Cant just code understand what i want to make happen”. In that i mean that i want å folder that reflects the truth i want in my entire infrastructure. One folder that just have sub folders for services i want to be hosted in azure, and another folder containing my JSON definitions of the agents, AI models, and Foundry workflows.

Then i realized i know Terraform, Powershell, and how to use a computer. So i made exactly that.

Lets say i now want a Container app running some spesific API i made in Python. the only thing i need to now do is to make a new sub folder with a requirements, Docker, and the python. The rest is handled by Terraform (including Docker push). but if you need custom configuration on your container app there is a easy to manage YAML for that.

If i want to deploy a AI model that i don’t already have i just add a JSON in the models folder, and Terraform handles the rest.

the same goes for the agent constructions (including connections to fabric agents).

Now the crazyest part of this is that if i want to make a Microsoft foundry workflow and host a API in a container app i have a script that automatically figures out how to configure the container app to host the new work flow as a API.

The result is that through just creating the YAML definition of a Microsoft foundry workflow it can be provided to me as a API through just doing terraform apply –auto-approve

Scalable AI madness just through config files.

Go With The Flow

For our students we are providing a guidance when we start working with their request.

After they submitted a form – the activities are created for them.

They can find it in the My Activities page:

Then they have to finish all the activities and be allocated to a faculty.

For example, when user clicks on the Interview scheduled activity – they will be navigated to the Survey page and can start answering to the questions.

#GoWithTheFlow

We are excited to introduce a new feature that automates two processes in our solution. You can now book gear through the Room of Requirement. This process will create a calendar invite that includes both you and the resource. Each item in the Room of Requirement is a registered Exchange resource that you can interact with to make appointments. Simply go to the Room of Requirement, select the resource, and wait for it to be added to your calendar.

The second flow is designed to enhance data security by monitoring for policy violations and automatically notifying the appropriate manager when such incidents occur. When an item (e.g., a document, email, or message) violates a Data Loss Prevention (DLP) policy, the flow triggers an alert. It captures details about the violation, such as the item name, location, and nature of the sensitive data involved. An email notification is then sent to the responsible manager, including key details of the incident to enable prompt review and remediation.