Copilot Studio FlowActionTimedOut: agent flows that run too long
Copilot Studio FlowActionTimedOut means your agent flow didn't reply in time. Respond to the agent sooner and move slow steps after the reply.
Copilot StudioFix a problem10 min read
Your Copilot Studio agent calls an agent flow, waits, and then shows FlowActionTimedOut with the message "The flow with id {FlowId} has timed out." The flow isn't necessarily broken. The agent waits only a limited time for the flow's reply, and this flow took longer than that. The fix is to send the reply sooner: put Respond to the agent as early as you can, move slow actions after it, and cut what the flow fetches before it replies.
- In the test pane, a tool or topic that calls an agent flow fails with the code
FlowActionTimedOut. - The message reads
The flow with id {FlowId} has timed out. Error Code: {FlowErrorCode}, with your flow's ID and an error code filled in. - In the classic or Teams experience you may see error 3002 instead: Power Automate didn't accept the request, and Learn says the flow might be taking more than two minutes to respond.
- A different message,
Something unexpected happened. We're looking into it. Error code: 3000., isn't about time. Learn's page on modifying a flow links it to a flow set to respond asynchronously; the error code reference lists 3000 as a general system error. See asynchronous response.
What the error means
Microsoft's error code reference describes FlowActionTimedOut as an agent flow that took more than 100 seconds to run and timed out. The clock that matters is the time until the flow returns to the agent, not the time the whole run takes.
To be added to an agent as a tool, a flow must meet these conditions, per Microsoft's page on adding an agent flow to an agent:
| Requirement | Why it matters here |
|---|---|
| The trigger is When an agent calls the flow and the flow replies with Respond to the agent | The reply action is what stops the agent's wait |
| The flow responds in real time, with asynchronous response turned off | Learn says a flow that runs in the background might cause error 3000 |
| The flow is published | Learn lists it as a condition for adding the flow as a tool |
| The flow responds within the action time limit | Miss it and you get FlowActionTimedOut |
The error page's fix calls the reply step "Return value(s) to Copilot Studio". Learn's agent flow pages, including the most recently revised one (adding an agent flow to an agent, June 2026), call it Respond to the agent, and this guide uses that name.
100 seconds or two minutes?
Learn's pages differ. They don't give one figure for the limit:
- 100 seconds: the error code reference. On its web app tab, it says FlowActionTimedOut means the flow took more than 100 seconds to run, and its fix talks about a flow that took more than 100 seconds before it returned to your agent.
- 100 seconds: three agent flow pages. Create an agent flow as a tool, Add an agent flow as a tool to an agent, and Modify an existing flow to use with an agent each say the flow must respond within the 100-second action limit.
- Two minutes: the express mode page (a preview). It says that, by default, a flow that an agent or app calls fails if it takes longer than two minutes to respond.
- Two minutes: the error code reference again. On its classic and Teams tab, error 3002 says Power Automate didn't accept the request and that the flow might take more than two minutes to respond.
Learn doesn't say which figure applies to your agent. Our advice, not a Microsoft rule: design for the shorter one. A flow that replies well inside 100 seconds meets every figure above.
Fix it step by step
- Microsoft Copilot StudioThe agent calls the flow
- Step 2The time limit starts
- Step 3Get only what the reply needs
- Step 4Respond to the agent
- Step 5Slow steps carry on afterwards
1. Find the slow step
- In Copilot Studio, open Flows and select the flow.
- Open its Activity tab. Microsoft's page on monitoring agent flows says it lists each run with its status and how long it took.
- Select a slow run and step through it to see which actions took the time.
The error page also tells you to check the flow for errors. In the agent flow designer, errors show in red, and Flow checker on the menu above the canvas lists them all.
2. Move the response earlier
Ask what the agent actually needs to answer the user. It might be a short result, such as a record ID, a status or a sentence. Put Respond to the agent straight after the steps that produce it.
Microsoft's documentation says actions placed after Respond to the agent keep running, up to the flow run duration limit of 30 days. So slow work that the user doesn't need to see in the reply can go there: writing to other systems, generating a file, sending a confirmation email.
If the flow branches, you can use the response action in more than one branch. Learn's rule is that it must return the same outputs in each one.
3. Tell the user what happens next
When the slow part matters to the user, reply with what you know now ("Your request is logged; you'll get an email when the report is ready") and let the steps after the response send the result later. That's our design suggestion, built on the documented behaviour above. Write the agent's instructions so it doesn't promise the finished result in the chat.
4. Make the slow part faster
The error page's own advice is to optimize the query and the data you return from the back-end system. In practice:
- Filter at the source, so a connector returns only the rows you need. Our OData filter query cheat sheet covers the syntax for many connectors.
- Ask for fewer columns, and return only the fields the agent uses.
- Keep loops out of the steps before the response where you can. Learn's advice for the related
ExecutionTimeoutcode includes checking loops and branches for inefficiencies.
5. Republish and test again
Publish the flow, then test the agent again in the test pane and watch the run on the Activity tab.
Check the asynchronous response setting
This is a different failure with a similar feel: the agent calls the flow and gets nothing useful back. Learn's page on modifying a flow says a flow that runs in the background, or asynchronously, might cause an error, and the agent then says "Something unexpected happened. We're looking into it. Error code: 3000."
Flows created from Copilot Studio have asynchronous responses turned off by default. A flow you changed from another trigger might have it on. Open the flow, select the Respond to the agent action, open its settings, and turn Asynchronous response off. Learn's two newest agent flow pages put the toggle under Networking in the action's settings; the older page on modifying a flow just says the Settings tab. Save and publish.
Try express mode (preview)
Express mode is a preview feature that runs agent flows faster. Microsoft says it makes it more likely that a flow finishes inside the two-minute window, and that the gain depends on the flow: it suits flows that do a lot of processing but don't move much data from connectors.
What it needs, per the express mode page:
- the agent or app trigger, and a response action;
- a Copilot Studio plan associated with the flow (there's no extra cost; actions are still billed under Copilot Studio metering);
- an environment on Power Automate's new architecture. Learn says that if the express mode toggle doesn't appear on the trigger card, your environment doesn't support it yet. Microsoft's environment architecture page shows how to check: in Power Automate, press Ctrl + Alt + A and look for
environmentFlowHostingType.SelfHostMultiTenantmeans the new architecture.
To turn it on, open the flow, edit the Details on its Overview page and turn on Express mode, or use the toggle on the trigger card in the designer.
Its limits are strict. Under express mode, Learn lists:
| Limit | Value |
|---|---|
| Run time | The flow must complete in two minutes |
| Actions per run | 100 is the safe limit, and each loop iteration counts as an action; Apply to each up to 100 items, Do until up to 100 iterations |
| Variable content | 1,024 characters |
| Data from one connector response | 64 KB |
| Not supported | Delay and webhook actions; automatic testing in the designer. Live activity isn't shown while the flow runs; inputs and outputs appear once the run ends |
If a run fails with an error about a data limit, Microsoft's advice is to turn express mode off for that flow.
Do
- Design every agent flow to reply well inside 100 seconds (our advice, since Learn's pages give different limits).
- Put Respond to the agent as soon as the reply's values exist, and slow work after it.
- Check run times on the Activity tab after every change.
Don't
- Don't turn on asynchronous response to dodge the time limit; Learn says it must be off for an agent to use the flow, and that it might cause error 3000.
- Don't put a long loop or a large list query before the response.
- Don't rely on express mode in production while it's a preview.
Related errors
| Code | What Learn says it means |
|---|---|
FlowActionBadRequest | The request to the flow was malformed, for example an input of an unsupported type |
FlowActionException | An error while the flow ran, such as outputs the agent expected but didn't get |
ExecutionTimeout | A tool or flow action went over its configured execution timeout |
The steps in this guide follow Microsoft's documentation as of 27 October 2026; we haven't run them in a tenant. Calling in the other direction, a flow that calls an agent, is covered in call a Copilot Studio agent from Power Automate. For which kind of flow to build, see cloud flow, agent flow or desktop flow?.
Sources
- Resolve Microsoft Copilot Studio agent error codes — Microsoft Learn
- Create an agent flow as a tool — Microsoft Learn
- Add an agent flow as a tool to an agent — Microsoft Learn
- Modify an existing flow to use with an agent — Microsoft Learn
- Speed up agent flow execution with express mode (preview) — Microsoft Learn
- Power Automate environments move to new architecture — Microsoft Learn
- Monitor your agent flows — Microsoft Learn
- Edit and manage your agent flow in the designer — Microsoft Learn
- Use agent flows with your agent — Microsoft Learn
Add LowCodeStacks as a preferred source on Google
Did this fix it?
Comments
No comments yet. Share what worked for you.
Sign in to comment. Comments show under a display name you choose, never your email.