Announcements
Hi @CU23030920-0, I have faced similar things while working with Copilot Studio, I used Variable for the Workaround, I will try to answer your questions based on my knowledge:
The recommended approach is to handle all outcomes inside the flow but return a single response at the end. Instead of exiting early, you capture the result (e.g., duplicate found) and return it through one Respond to the agent action.
Yes, this is the most reliable approach. You can use a variable like StatusMessage or IsDuplicate:
If duplicate found → set StatusMessage = “This report has already been processed.”
Else → set StatusMessage = “Report processed successfully.”
This keeps your logic clean and avoids schema issues.
Do not use Terminate or multiple Respond actions. Instead:
Let the flow complete normally
Use conditions, Like in True just Set the variable and in else perform full operations and then set the Variables.
Return the message via a single Respond to the agent action
In Copilot Studio:
Map the returned output
Add a Message node after the flow/tool to display it
In your flow:
Define a clear output schema (e.g., StatusMessage as string)
Call the flow
Use the returned field (StatusMessage)
Display it using a message node
So the pattern becomes:
Agent → Call Flow → Flow sets result → Respond (once) → Agent displays message If you need more Assistance in this, or still facing some issues you can mention me and ask again, If you solve the issue with any other thing try to give solution here also, so that we can also get knowledge of how you have find the Workaround. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Hope this helps.
If this helps resolve your issue, please consider marking the response as Verified so it can help others facing a similar scenario.
If you found this helpful, you can also click “Yes” on “Was this reply helpful?” or give it a Like.
The Scenario: My flow checks a SharePoint list to see if a report for a specific date has already been processed.
The Issue: Currently, my action is at the bottom of the flow. Even when the condition is (Duplicate Found) and the variable is set to the error message, the flow continues to the bottom and sends the email anyway.
The Constraint: I want to stop the flow from sending the email in the branch, but I . Every time I use 'Terminate', the Copilot Agent throws a generic SystemError or BadGateway error because it breaks the response contract before the 'Respond to the agent' action is reached.
My Question: What is the best architectural approach to ensure the email is sent during the "False" path, while still allowing the flow to reach the final 'Respond to the agent' action at the absolute bottom so the bot can display the status message?
Should I be moving all "Work" actions into the False branch , or is there a "Skip" logic or "Go to End" pattern recommended for Agent-led flows?
Thanks in advance for your guidance!
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
Jump in, show your community spirit, and win prizes!
Expanding mentorship, skilling, and AI innovation
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Valantis 302
Vish WR 240
Romain The Low-Code... 223 Super User 2026 Season 1