Hello @RADical ,
you can follow these steps:
1. Filter the array based on these condition:
expiring date less or equal than:
formatDateTime(addDays(utcNow(),7),'yyyy-MM-dd')
expiring date greater than or equal to:
formatDateTime(utcNow(),'yyyy-MM-dd')
all the dates must have the same ISO 8601 format;
2. Add a Compose action in which put the following expression (instead of my sample data, put yours):
div(sub(ticks(formatDateTime(items('Apply_to_each')?['DueDate'], 'yyyy-MM-dd')),ticks(outputs('Compose-Today'))),864000000000)
The expression is useful to count the days between two dates (the expiring date and the current date).

3. Add a Condition control: if the previous Compose action is not equal to 0, send an email telling that "your password expires in X days" (instead of "X", put the Compose outputs), otherwise send an email telling that "Your password has expired.".

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
BR,
Marco