Hello,
I have created a simple flow that is triggered once a day. The objective of this flow is to go and check, on daily basis, the expiry date and if any item meets that condition an email will be sent to the user.
So on the sharepoint list I have created a calculated column which calculates the expiry date based on the issuance date.
I know that Flow doesn't accept filtering calculated fields/column in Get Item action. Some suggest to create a Filter Array. I did but unfortunately the filter is not filtering and it is sending an email to everyone in the list on daily basis even though the expiry date is way far from today's date.
Any one can help please?
Thanks
i tried this but I am getting the error:
Unable to process template language expressions in action 'Compose' inputs at line '0' and column '0': 'The template language function 'formatDateTime' expects its first parameter to be of type string. The provided value is of type 'Null'. Please see https://aka.ms/logicexpressions#formatdatetime for usage details.'.
Not sure why, since I have already filtered the array to exclude null values for this column. Is it possible that the text in red is the issue?
I think what is happening is that the date values you are comparing in the Filter array action are not equal, even though they appear to have the same date in SharePoint:
The CertificateExpiryDate field is a calculated field and the value we see displayed in SharePoint in the above example is 14/09/2021. But internally SharePoint stores this calculated date value along with a time stamp (midnight) as 2021-09-14T00:00:00Z (UTC format):
So when you use the CertificateExpiryDate field in the Filter Array action and compare it with the formatted date from the UtcNow() function you are actually comparing two different values:
I suggest that you try formatting the CertificateExpiryDate as yyyy-MM-dd in the Filter Array action:
Try that and let me know how you get on.
Ellis
Hello,
Thank you for your response? Do you mean the formula that I used for the date field calculations? So basically, the date is calculated based on the another a number field called "Critical". The expiry date varies subject to the content of the Critical field.
Here's the formula I used to create the calculated field "CertificateExpiryDate" -
I would need to see some sample data for CertificateExpiry to help figure out why your filter is not working. In the mean time uou should add a condition to check if the Filter Array action returns any results. If not, do nothing, else process the results in your Apply to each loop:
Ellis