I’m looking for a simple way to set up an automated report for workflow results. Basically, every day or once a week, a report is created and emailed to me that has a file with the status of all runs of a specific workflow.
Does anyone know of a simple way to do this, or something like it? Can it be done through a saved search? Or do I have to use Access Intelligence Center? Any help is appreciated.
ISC doesn’t have the Search feature for Workflow executions, it only Search Workflow definition events. I would use APIs to get the results and use any programming language like PS script to store the results in a file and send email.
For example, perform the below operations in PS scripts.
Based on your requirement, you can either store each Workflow execution results in different files or all in one file.
Use Send-MailMessage with -Attachments command in the script to send email to the recipients. You need to ensure the successful SMTP connection with your infra.
Set the script in a Scheduler task to execute it weekly.
You could also look at doing this via SailPoint Workflow if you do not want do a lot of custom coding to get your report.
The Trigger you would want to look at is the Scheduled Trigger and use the HTTP action to send the api call to ISC. Then you would be able to use a number of operators to do any filtering and data clean up.
So, I’m using the List Workflow Executions API call to get the failed executions. I am running into a few inconveniences. There does not seem to be an option for specifying a time range filter or for searching multiple workflows at once. When I attempt to add a second path variable, it will not let me. Every syntax I have attempted in Bulk Editor has not worked either. It appears to ignore the extra workflow ID. I attempted:
Which works fine, but when I add any form of time filtering it gives me nothing. The documentation does mention "startTime” as a parameter, but none of the options I tried worked. I tried some of the following:
But it is not filtering as expected and always returns all the results. You may need to dig deeper into the documentation since the API definition says it’s a string datetime. So, I’m not sure whether it consider the date comparison when we pass these parameters.
I see what you’re saying. It allows the API call with the “Failed” filter to run, but like you said, it just returns everything. I tried a few different things, like keeping the entire string in the filter parameter, like this:
status eq "Failed"&startTime gt 2025-10-22T23:00:00Z&closeTime lt 2025-10-23T23:00:00Z
That didn’t make any difference. I also attempted adding quotations around the date/times, but nothing.
Yes, I did try the same before I posted and not seeing any differences. Even I used the same value what SailPoint used in the Workflow API documentation and still it returns the same result.