cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
tdbishop
Helper I
Helper I

Create Email from Filtered SharePoint List

Hi.  I have a SharePoint List that contains insurance expiration dates.  A row consists of the company name, General Liability expiration date, Auto expiration date, Workman's Comp expiration date and several others.  I need to filter based on each expiration date (where GLExp less than or equal to 'today + 8' OR AutoExp less than or equal to 'today + 8' OR....).

I need to do the following:

1. get items (sharepoint list)

2. select rows where date columns (using 'OR' statement) are less than or equal to today + 8

3. put into an HTML table

4. Send an email

 

I do not know what to use in order to filter the items - filter array does not work becuase the get items output is a string.  How do I get this to work?

I have had no training on Microsoft FLOW, just googling and figuring out as I go along.  However, we have a need to get this done quickly and I am stuck.  thank you so much for your help on this.

 

getitems.JPGselect.JPGCreateHTMLtable.JPG

1 ACCEPTED SOLUTION

Accepted Solutions
v-litu-msft
Community Support
Community Support

Hi @tdbishop,

 

  • Please add two single quotes on both sides of Expression addDays(utcNow(),8,'MM-dd-yyyy').
  • And please make sure the Date format is like the output Date formate.

Annotation 2019-08-26 101129.png

  • And the filter column name you input should be the SharePoint system name, you could get the system column name by these steps:Annotation 2019-08-26 101653.png

 

Annotation 2019-08-26 101718.png

 

Annotation 2019-08-26 101817.png

Best Regards,
Community Support Team _ Lin Tu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

25 REPLIES 25
edgonzales
Super User
Super User

@tdbishop 

Hey there!  Great job so far!  One way I was thinking you could do this was an OData filter on your Get Items action.  Check out Scenario #2 on Kent Weare's article for specifics, but I imagine if you put the following in your filter query, you'll get close, no?

 

<<whatever your date field is>> le addDays(utcnow('yyyy-MM-ddTHH:mm:ssZ'),8) 

 

Without the <<>> part, though.  What do you think?  This should look for anything where the date is less than or equal to today + 8 days.

-Ed-

 

 

If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

Unfortunately, did not work.  indicates it is a bad request in Get Items action: Status 400 with message: the query is not valid.

According to the documentation, when refrencing a DateTime value in a filter expression, the value must be delimited by single quotation marks and preceded by the word datetime, such as datetime'2010-01-25T02:13:40.1374695Z'.

This date field is a date only value.  Does this noted rule still apply?

I think the 'date only' is just how it's presented.  It should still be stored in the UTC format shown in the other post.  Can you post a pic of the current expression? That might get us closer.

 

Thanks,

-Ed-

Below is the current expression.  I will go back and add time to the expression and re-run to see if that resolves this error.

Expression.JPG

Using the format mentioned with datetime'mm-dd-yyyyT00:00:00.000Z' also failed.  See below screenshot.  Error = "The expression \"GL_Exp lt adddays(utcnow(),9,datetimeMM-dd-yyyyT00:00:00.000Z')\" is not valid.

ExpressionDateTime.JPG

try this:

 

GL_Exp lt addDays(utcnow('MM-dd-yyyy'),8) 

 

I think the formatting for the date should be inside the () for UTCNow() and the number of days should be outside.  Don't worry, though...if we can't get it to work with expressions, there are cool action steps that let us do all this too.

-Ed-

 

Thanks.  Tried that format and it failed: query not valid. 

ExpressionDateInsideUTCNOW.JPG 

 

 

Edit - nm, they're not.  Checking for other options...

Ok, it's the formatting of the UTCNow.  Leave that off for now so it's just ... adddays(utcnow(),8) - see what happens.

@tdbishop try matching the case, I think expressions are case sensitive.  I'll start building one like yours to try this out.

I successfully tested this expression on a date only column:

testdate ge datetime'2019-08-21T00:00:00Z'

Finding now way of escaping the single quote characters, I created a variable to store this char.

Then I used a flow expression to produce the above string dynamically:

concat('testdate ge datetime',variables('singlequote'),addDays(utcnow(),-3),variables('singlequote'))

And it worked!

 

Small variation to round down the time part of the current date:

concat('testdate ge datetime',variables('singlequote'),addDays(utcnow(),-1,'yyyy-MM-ddT00:00:00'),variables('singlequote'))

This expression is placed in the 'Filter' field of the Get items action. 

It produces this filter:
Image 117.png

@tdbishop @edgonzales 

Finally found how to instert quotes in the concat expression without the variable:

 

concat('testdate ge datetime','''',addDays(utcnow(),-1,'yyyy-MM-ddT00:00:00'),'''')

 

It failed (message: "The function operator 'concat' is not supported or its usage is invalid.")  when I put this in the filter field: concat('GL_Exp le datetime',variables('singlequote'),addDays(utcnow(),-1,'yyyy-MM-ddT00:00:00'),variables('singlequote'))

 

When you say you "created a variable to store this char.", do I also need to create this variable somehow in order for it work?

 

I appreciate your help on this. 🙂

BdArbonneau
Helper I
Helper I

Image 119.png

These are the steps to enter the expression in the 'Filter Query' field of the 'Get items' action

Image 119.png

LOL!  Since you showed it to me - it makes perfect sense.  

did that.  Filter Query shows correctly with 'GL_Exp lt datetime'08-31-2019T00:00:00''

However, it still failed - "The expression \"GL_Exp lt datetime'08-31-2019T00:00:00'\" is not valid.

 

It is as though the Get Items does not appear to recognize the fields in the referenced SharePoint list (i.e. 'GL_Exp', 'Auto_Exp'..).

FilterExpression.JPG

The datetime value is not formatted correctly. It should be '2019-08-31T00:00:00' and not '08-31-2019T00:00:00'.
Did you use this expression:

concat('GL_Exp lt datetime','''',addDays(utcnow(),-8,'yyyy-MM-ddT00:00:00'),'''')

I tried both formats.  failed both times.

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Users online (3,957)