
To locate a flow run when investigating a failed process you need to navigate to this page and keep clicking the button at the bottom of the page to show more records until you find the time that you want.
In the situation that you know what day/time that the process failed roughly this can be frustrating – especially if there are hundreds/thousands of flow runs.

Another option is use the advanced find on the Flow Runs table to find it but getting the name and pasting it into the URL after the /runs/
Find the flow run name for the time

Export to excel to get the name out 08584458911850870049587535623CU47
Then update the URL by substituting in the name into the URL in the highlighted red below – by looking at an existing flow run.
…./runs/08584458911850870049587535623CU47/

An alternative
Here we suppose that we know that the flow failed around 18:54 on 20 August 2025 – 2025-08-20. NB it’s only matching text so you can use ’18:’ or ’18:5′ to search too.
Open up the flow that you want to locate a flow run history

Copy the guid after the /flows and paste in a text editor
Copy the below into a text editor, replace your flow id, change the date and time variable – note the MM-DD format, and then hit F12 after opening Dynamics 365 and then paste it into the console and press enter.
//Change these variables
const flowid = '3f4790ec-f27d-f011-b4cc-6045bd0c58a0'; // id after .../flows/flowid in make.powerapps.com
const date = '2025-08-20'; //NB YYYY-MM-DD format !!
const time ='19:51';
var fetchXml = "?fetchXml=<fetch> <entity name='flowrun'> <attribute name='flowrunid' /> <attribute name='name' /> <attribute name='createdon' /> <attribute name='starttime' /> <attribute name='workflow' /> <attribute name='callingproductrunid' /> <attribute name='callingproductresourceid' /> <order attribute='name' descending='false' /> <filter type='and'> <condition attribute='workflowid' operator='eq' value='"+ flowid + "' /> <condition attribute='starttime' operator='on' value='" + date + "' /> </filter></entity></fetch>";
Xrm.WebApi.retrieveMultipleRecords("flowrun", fetchXml).then(
function success(result) {
let allItems = [];
for (var i = 0; i < result.entities.length; i++) {
let tmp = [new Date(result.entities[i].starttime).toLocaleString(),result.entities[i].name];
allItems.push(tmp);
}
console.log(allItems);
const matches = allItems.filter(item => item[0].includes(time));
console.log("Flow run ids for "+time)
matches.map((match) => console.log(match[1]))
},
function (error) {
console.log(error.message);
}
);
It will then give you the id to use in the URL for the date/time matches

So the end of your URL is
../flows/3f4790ec-f27d-f011-b4cc-6045bd0c58a0/runs/08584458911850870049587535623CU47
Bookmarklet version
If you use chrome and bookmarklets then a version that can be run as a bookmarklet is below – you will get dialogs to add the input arguments and you hit F12 at the end to see the matches.
javascript:(function(){function findXrmWin(){const tryWins=[window].concat(Array.from(document.querySelectorAll('iframe')).map(f=>{try{return f.contentWindow}catch(e){return null}}));return tryWins.find(w=>w&&w.Xrm&&w.Xrm.WebApi)}
const xw=findXrmWin();if(!xw){alert('Xrm.WebApi not found. Open a record/list page in the Dynamics app (not just make.powerapps.com) and try again.');return}
let flowid=prompt("Enter Flow ID (GUID from make.powerapps.com):","3f4790ec-f27d-f011-b4cc-6045bd0c58a0");if(!flowid){alert("Flow ID is required.");return}
let date=prompt("Enter date (YYYY-MM-DD):","2025-08-20");if(!date){alert("Date is required.");return}
let time=prompt("Enter time (HH:mm) - uses string search so you can use 18: or 18:54","18:54");if(!time){alert("Time is required.");return}
var fetchXml="?fetchXml=<fetch> <entity name='flowrun'> <attribute name='flowrunid' /> <attribute name='name' /> <attribute name='createdon' /> <attribute name='starttime' /> <attribute name='workflow' /> <attribute name='callingproductrunid' /> <attribute name='callingproductresourceid' /> <order attribute='name' descending='false' /> <filter type='and'> <condition attribute='workflowid' operator='eq' value='"+flowid+"' /> <condition attribute='starttime' operator='on' value='"+date+"' /> </filter></entity></fetch>";xw.Xrm.WebApi.retrieveMultipleRecords('flowrun',fetchXml).then(result=>{console.log('OK',result);alert('WebApi call succeeded');let allItems=[];for(var i=0;i<result.entities.length;i++){let tmp=[new Date(result.entities[i].starttime).toLocaleString(),result.entities[i].name];allItems.push(tmp)}
console.log(allItems);const matches=allItems.filter(item=>item[0].includes(time));console.log("Flow run ids for "+time);let alertMatches=matches.map((match)=>match[0]+": "+match[1]).join("\n");alert("Flow runs found - press F12 for console to copy them \n"+"starttime: name\n"+alertMatches);matches.map((match)=>console.log(match[1]))}).catch(e=>{console.error(e);alert('WebApi error: '+(e&&e.message||e))})}())
https://github.com/chrismvnro/power-automate/blob/main/flowrun-finder-minified.js
Post on how to use bookmarklets here https://chrismvnro.com/run-javascript-via-bookmarklets-when-you-cant-install-browser-extensions/
