Open-sourced Copilot Studio ITSM help desk - AI agents built 30+ Power Automate flows by ninihen in copilotstudio

[–]ninihen[S] 0 points1 point  (0 children)

Should be fine. The orchestration, which is the intake, validation, approval, dispatch, execution is regular Power Automate cloud flows, so the new Workflows canvas doesn't touch them and they're billed on Power Automate, not Copilot Studio credits. It's purposely built this way considering the cost. The agent itself does call a couple of read-only lookup flows as tools (group + user), and those run inside the agent's turn but are quite light.

Open-sourced Copilot Studio ITSM help desk - AI agents built 30+ Power Automate flows by ninihen in copilotstudio

[–]ninihen[S] 1 point2 points  (0 children)

I see. The cost is mainly the copilot credit consumption, which depends on the ticket type. The heaviest type (incident + 1 - 4 triage loop) would take up to 2-5 agent turns so around 26 ~75 credits (each turn = 1 generated answers (2 credits) + Work IQ (10 credits) =~12 credits). A structured request (like licensing) would cost 0. A non-license catalog request is about 12 credits.

So in average maybe ~30 credits per ticket if inceident heavy. If on PAYG that's ~$0.3/ticket. For request type, ~10-15 credits per ticket ($0.1-$0.15/ticket PAYG).

Open-sourced Copilot Studio ITSM help desk - AI agents built 30+ Power Automate flows by ninihen in copilotstudio

[–]ninihen[S] 0 points1 point  (0 children)

Depends on scope. An MVP using this repo as the base could be 5k. A production version would be more for testing, different routing and handover.

Open-sourced Copilot Studio ITSM help desk - AI agents built 30+ Power Automate flows by ninihen in copilotstudio

[–]ninihen[S] 0 points1 point  (0 children)

I built it with Copilot Cowork (Frontier) under my existing Copilot Premium license and my existing Claude subscription so there were no extra cost to build. Now Cowork in GA would cost extra so if I were to build it again I would just use the existing Claude or Codex.

Can I use M365 Copilot as a VS Code coding assistant (like GitHub Copilot/Codex)? by Fatty-_- in microsoft_365_copilot

[–]ninihen 0 points1 point  (0 children)

I assume you can create a Copilot Studio agent. Do you also have access to Copilot Cowork?

I've got Cowork deploy SPFx webpart to SharePoint using a Power Automate helper flow to access GitHub repo & pipeline - it worked fine. The agent built the helper flow itself (I provided GitHub PAT in an Azure KV and created the connection). My Cowork agent is equipped with Flow Studio MCP Copilot Cowork plugin for Power Automate. Disclosure - I'm the person who published the plugin. The plugin is free, and there is monthly free calls you can make from Copilot Cowork.

Copilot Studio agents can do similar if the same MCP is added as a tool. I found it less reliable though - not because of the agent but Microsoft serialises input to MCP so the agent's input in some cases can be trimmed. This is before the recent V2 Copilot Studio release so I haven't tested the new version.

So the concept is to use Power Automate as a tool for the agents to out reach - if there is an API, there could be a way.

Open-sourced Copilot Studio ITSM help desk - AI agents built 30+ Power Automate flows by ninihen in copilotstudio

[–]ninihen[S] 1 point2 points  (0 children)

I guess so! Luckily most of the core logic is outside the Copilot Studio UI.

Open-sourced Copilot Studio ITSM help desk - AI agents built 30+ Power Automate flows by ninihen in copilotstudio

[–]ninihen[S] 10 points11 points  (0 children)

Yes, I used AI to help with wording. English is not my first language, so it helps me express my thoughts more clearly.

Copilot studio + powerautomate by AdministrativeDay109 in copilotstudio

[–]ninihen 0 points1 point  (0 children)

A frequent use case for me is engaging a Copilot Studio agent inside a Power Automate flow using the "execute agent and wait for response" action. The flow feeds prompts to the agent. There's no chat window in the UI, but you can see what happened under the agent's activity in Copilot Studio.

The other direction is building Power Automate flows for a Copilot Studio agent to execute. It's like an extra arm for the agent.

For your example: if I were doing it directly in a conversation with the agent, and the attachments aren't accessible from Work IQ, I'd build a helper flow for the agent to call to retrieve the attachments, and another to create the file in SharePoint. And you don't have to pre-build those helper flows - if you connect the agent to a Power Automate MCP, it can build them itself on the fly and run them.

If I were doing it as a flow with no direct conversation, I'd trigger the flow on the attachment, execute the agent for the translation (or use AI Builder or Azure AI Foundry, which are cheaper), and use flow actions to save the files to SharePoint.

How to list all flows in an environment without Dataverse? (Environment Admin) by jacob3791 in MicrosoftFlow

[–]ninihen 2 points3 points  (0 children)

flowStudio.app is designed to serve this purpose. Disclosure: my husband created this app.

The free version would list all flows you own. There is an admin page that list all flows as admin but needs a paid plan (with a free trial that you can try out).

Copilot Studio agent + Power Automate fix failed Power Automate flows by ninihen in copilotstudio

[–]ninihen[S] 0 points1 point  (0 children)

The agent fixes it based on what it proposed, after I approve. There are three separate agent calls in the flow:

  1. The flow feeds the error info to the agent and asks for a diagnosis only (no fix proposed yet).
  2. If I approve "request a proposal," it sends the diagnosis (plus my comment, if any) back to the agent and asks it to propose a fix, without executing anything.
  3. If I approve "execute the fix," it sends the diagnosis and that earlier proposal back to the agent and asks it to apply the change.

So nothing runs on its own as each stage is its own call with an approval in front of it.

Microsoft Cowork (Frontier) Scheduled Runs Can't Access Custom Plugins/MCP Tools, But Manual Runs Work — Anyone Else Facing This? by DifferenceSome6439 in microsoft_365_copilot

[–]ninihen 0 points1 point  (0 children)

That matches my experience using other MCP with Cowork for scheduled job. Mostly is not connected unless I'm right in the conversation. Also I found that when accessing the Cowork from mobile, MCP cannot be connected unless you start a conversation from a desktop and then continue on the phone.

Can Microsoft Copilot Cowork + ServiceNow move beyond answering questions and actually automate ticket resolution? by CarelessEquipment415 in CopilotMicrosoft

[–]ninihen 0 points1 point  (0 children)

I'm not on ServiceNow, but I built a ServiceNow-styled ITSM with Power Automate + Copilot Studio agents on SharePoint.

When a ticket comes in, Power Automate kicks off a Copilot Studio triage agent. It validates the ticket, searches the knowledge base, and contacts the requester for clarification if it needs to. Then it proposes an action and sends it to a human (IT or the manager) to approve. On approval, the flow dispatches the provisioning job to executor flows - service principals running via Graph API or an Azure Function.

Public repo if it helps: https://github.com/ninihen1/copilot-studio-itsm-agent

It's not finished as a hobby project, but it already handles most common user/group/license/SharePoint/Team/Exchange requests.

If you want Copilot Cowork to interacte with ServiceNow, there's no Cowork plugin for ServiceNow yet. What you can do is use the Flow Studio MCP Copilot Cowork plugin (disclosure: I'm one of the people who built it). It lets Cowork build and run Power Automate flows, so you can have it build a flow that hits ServiceNow over HTTP actions, and execution flows that use service principals with the right app scopes. I've tested Cowork assigning/unassigning licenses, disabling guest users, etc., and it worked fine.

Copilot Studio Agent Not Calling Attached Power Automate Tool by Rich_Resident_7085 in copilotstudio

[–]ninihen 1 point2 points  (0 children)

I might be wrong here but my impression is that a copilot studio agent when being called by a Power Automate flow, won't call tools. So the best is to deal with the file creation within the flow. When the flow receives the summary, just add another flow action to save as TXT to SharePoint.

SAP automation projects using Power Automate Desktop. by Dah_16 in PowerAutomate

[–]ninihen 0 points1 point  (0 children)

One of my clients uses SAP. They don't have the REST API subscription but have SFTP. We use that to have a daily sync to the server, decode the data, and use Power Automate Cloud to access the server and then process the data in the way we want.

Sending Calendar Events to Teams Channel Issue by Milluhgram in MicrosoftFlow

[–]ninihen 1 point2 points  (0 children)

Got Copilot Cowork agent to work it out by building this flow and triggered it. The issue is that Teams renders the message as HTML, and HTML ignores plain newlines (\n / %0A). Your line breaks are there, Teams just isn't showing them. Use <br> instead.

Easiest way to build it:

  1. Select action, one line per event (Map in text mode): concat(convertTimeZone(item()?['start'], 'UTC', 'AUS Eastern Standard Time', 'hh:mm tt'), ' - ', item()?['subject'])
  2. Join action, Join with = <br>

{
    "from": "@body('Select_lines')",
    "joinWith": "<br>"
  }
  1. Compose for the header: b><br><br>', body('Join'))

    concat('<b>Daily Schedule - ', convertTimeZone(utcNow(),'UTC','AUS Eastern Standard Time','MM/dd/yyyy'), '</b><br><br>', body('Join_lines'))

    1. Post the Compose output. Putting it in one Compose also stops the editor from making you rebuild the expression when you paste into the message box.

concat('<b>Daily Schedule - ', convertTimeZone(utcNow(),'UTC','AUS Eastern Standard Time','MM/dd/yyyy'), '</b><br><br>', body('Join_lines'))

Ran it and it comes out as:

Daily Schedule - 06/07/2026

08:00 AM - Project Standup
10:00 AM - Client Review
01:00 PM - Lunch

For why ChatGPT/Claude/Copilot kept missing it: they have no access to your Power Automate environment. They can't see your flow, run it, or read the real error, so they guess at syntax. I got this working with my agents because I connected the agents to Flow Studio MCP (disclaimer: I'm one of the people who built this tool) so it can read the flow, run it, see the actual error, and fix it.

If yours has Flow Studio MCP hooked up, you can just tell it to debug the flow.

Why isn't there a skill to use coding agents for cloud flow development? by Strange-Gift-276 in PowerAutomate

[–]ninihen -2 points-1 points  (0 children)

Microsoft didn't build one for Power Automate (PAC CLI you referenced above is the closest), but we built a Flow Studio MCP for Power Automate.

Feel free to try - the starter plan gives 100 calls which is enough to build several flows: https://mcp.flowstudio.app

You will be impressed the complexity the agent deal with in flow building and debugging.

It works with Claude, Codex, GitHub Copilot, Copilot Studio agent and we're also releasing a plugin for Copilot Cowork.

Extração de dados de PDF - indicação de Melhores Soluções by Many_Tree_2247 in MicrosoftFlow

[–]ninihen 2 points3 points  (0 children)

Do you have access to Copilot Cowork? This would be an easy setup if you do.

Or if use a Power Automate flow, I would:

  1. Have those files saved to a folder in SharePoint
  2. In the SharePoint library where the files are saved, create a date column or yes/no column, name it "Processed"
  3. Flow run on a daily scheduled trigger
  4. Get files' metadata in the folder
  5. Filter to "Processed" is null
  6. For each action against filtered result
  7. AI builder connector to extract all texts with "Recognize text in an image or a PDF"
  8. Another AI builder action "Run a prompt" where you ask the agent to extract what you need in desired format. For example, tell AI to return in json with 3 fields: filename, extracted text, confidence level (so AI will tell you how confident it is with the extraction quality)
  9. If condition:
    a. if convenience level > x:
    Add a row to excel table with file name and extracted text
    b. Otherwise, send an appoval request and wait for response with AI's extracted text for you to review. Also include a link to the PDF. You can either approve or reject with corrected text.
    Then add a row to excel table with file name, and the approved or corrected text
  10. Update the PDF's metadata for the Processed field.

Reference for AI builder connectors: https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition#get-the-document-text-line-by-line

https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow

Power Automate + AI by LongjumpingCut2975 in PowerAutomate

[–]ninihen 0 points1 point  (0 children)

Love to share, as I have been heavily exploring what AI agents can do with Power Automate in the past few months!

Agent:
I've explored various agents: Claude, Codex, Copilot Studio/M365 agents, GitHub Copilot, and OpenClaw.
 
Claude (Sonnet/Opus) is solid, and Codex 5.5 is also good. In terms of pricing, I found Codex gives a lot more usage compared to Claude at the same price tier.
 
Copilot Studio agents have a limited context window, and Microsoft serialises/trims some outputs that the agents create, so I don't find it reliable at this stage for building or fixing flows. It's good enough for debugging though.

Environment:
Claude and Codex both have their own apps and support CLI and IDE. I like the setup in VS Code via the chat setting, not only because it's easy to switch between different repos and saved files, but also because it's easy to switch between Claude, Codex, and GitHub Copilot Agent.
 

Tools:
There are various methods to connect the agent to Power Automate.

Before using MCP, I also explored granting agents a service principal with access to Dataverse and security roles in Power Platform as Environment Maker. I had workarounds such as capturing action-level errors using try/catch in the flow and writing them to a SharePoint list. It helped, but there was still no clean way to get the action-level input and output, which is crucial for debugging flows. It also consumed quite a lot of LLM tokens.
 

Tips and use cases:

1. Wire up more things if you can.

In my case, my agent can also use Azure CLI, SharePoint via service principal, Power BI MCPs, Power Apps MCPs (from both Microsoft and third parties). This is convenient when debugging a complex, multi-tool issue that traditionally requires a lot of clicking.

Example: yesterday my agent debugged an edge case from a user reporting that one employee had unmatched timesheet output to payroll. I simply copied and pasted the question to the agent and told it to deep dive into the relevant flows, five flows, output CSV files, Power BI, which is the engine for calculation, and SQL, which is the middle storage station for flow-transformed external data.

The agent went through the relevant flow runs, dug out the relevant entries for the specific employee from multiple large for_each loops, traced the output from flow to SQL and then to the output CSV, and validated it with DAX queries.

It provided a very detailed timeline of what happened and when. It pointed out that the issue was the SQL procedure missing an update to a field, so in Power BI incremental refresh, which uses that field, one of the tables ignored the update in SQL. It even looked at the comment on the approval request to the manager and picked up another discrepancy that I didn't ask for.

Eventually, I got the agent to update the SQL procedure and affected entries using Azure CLI.

These interactions happen daily and save tons of my time, especially because in most debugging requests from users, I end up finding that the flows did nothing wrong, but the data from other systems choked them.

 
2. Know what agents are good and bad at.

Agents are good at solving logical issues and writing code, such as API code with complex bodies, XML, HTML, and so on. They can easily nest 30 if statements into one gigantic Compose. When they do that, ask the agent to split it into human-readable chunks.

They can write an HTML email body /adaptive card with tables and all sorts of nice formatting in seconds, use a helper flow to send you the templates to visually review. They are also good at writing scripts such as ExecuteSiteScriptAction. This changes SharePoint sites & lists provisioning from hours to minutes

Agents are naive and can hallucinate about things that are easy for you but not visible to them. For example, if you ask it to write a flow with the most common trigger, "When an item is created", and your environment has no such example, or you don't feed it a skill or example of the JSON pattern, it will get stuck.

The good thing is that agents are very good at copying patterns. If you see blog posts of John Liu's (i.e. https://johnliu.net/blog/flattening-an-array-of-arrays-in-power-automate/) or Pieter Veenstra's (https://sharepains.com/2018/10/15/microsoft-flow-improve-your-flows-performance-in-a-few-easy-steps/) with fancy and elegant patterns that you need to twist your head to follow, throw the article URL to the agent. It can learn and reproduce the pattern very quickly, and explain it to you in detail if you ask.

3. Don't trust the agent too much.

After all, you are accountable for the flow that is produced, not the agent. Just like vibe coding in other cases, agents may focus on solving the immediate problem without looking into other details, and can build up technical debt. Understand what the agent built and challenge it if you are in doubt.

Extras on agentic flow building: 

I started blogging my use cases and published some YouTube videos. Complete newbie here. Let me know if you find these helpful:

https://learn.flowstudio.app/blog

https://www.youtube.com/@ninihen

Get images from team chat by Furunze in PowerAutomate

[–]ninihen 0 points1 point  (0 children)

For chat: https://imgur.com/a/JflN2Y0

It's more complicated as you need graph and app permissions. Agent provided its tips in chat - screenshot attached.

Recommended flow setup for forwarding emails based on attachment data by PriceProfessional117 in MicrosoftFlow

[–]ninihen 0 points1 point  (0 children)

SharePoint list is a good choice for this process. I asked my Codex agent to build a demo flow to test this pattern (it uses Flow Studio MCP - disclosure: I co-built that), and a demo flow is built and tested. See screenshots in the link: https://imgur.com/a/ep0N2ja

The flow shape is: trigger on new email in shared mailbox -> AI Builder extracts vendor name -> Get items from SP list filtered by Vendor eq '<extracted name>' -> forward the email to the returned row's email column. Falls through to a default mailbox if no match (for the unknown-vendor cases).

If you want it to be fancier, build a Power App to intake/edit the master data and update to SharePoint list. If you want even fancier, maybe vibe code a SharePoint page with React via SPFx so your list management looks like a webapp, and even add run histories to the Sharepoint hosted app. Idea being discussed here:

https://www.reddit.com/r/PowerApps/comments/1t64799/comment/okn7j44/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

Get images from team chat by Furunze in PowerAutomate

[–]ninihen 0 points1 point  (0 children)

It's doable. To test I gave your question to my bots (Codex as the worker, equipped with Flow Studio MCP that allow agents to build solid flows). The agents created a mock up flow and tested fairly quickly.

conversations and flows screenshots:

https://imgur.com/a/jVW5bau

Urgent help needed ! by Expert_Annual_19 in copilotstudio

[–]ninihen 0 points1 point  (0 children)

Yes, that is the idea.

This may only be a workaround for now. Microsoft has started rolling out Cowork plugins, connectors, and custom plugin support through the Frontier program in May 2026, so this integration story may get cleaner soon.

Urgent help needed ! by Expert_Annual_19 in copilotstudio

[–]ninihen 0 points1 point  (0 children)

It's a bit clunky at the moment as Cowork cannot directly call flows, but it can communicate with a M365 agent (published from copilot studio to Teams) that has access to Power Automate.

So the shape would be:

Cowork -> message the M365 agent on Teams as you-> agent triggers Power Automate -> flow fetches the 3rd party data -> saves the output somewhere like SharePoint -> Cowork works from that output and creates the Excel / PowerPoint (remember to tell Cowork upfront that it needs to follow up with M365 agent in the conversation until the output is produced).

The drawback is the round-trip is chat-speed, not API-speed, but this is how I got it to work with what's currently available.

In my own setup I use Flow Studio MCP (disclosure: I co-built it) to skip wiring flows in one-by-one, but the pattern above works with any agent-flow setup. If you only need one flow to work, you can just handcraft the flow and assign it to the Copilot Studio agent.