Hi
Issue 1: Reading Date as a Date - Use the "Compose" action to parse the date from the Excel output: formatDateTime(items('Apply_to_each')?['Birthday'], 'yyyy-MM-dd')
Issue 2: Adding Line Breaks Between Rows in the Email - Use the "Append to string variable" action to build the email body dynamically. For each row, append the name and birthday with a line break (<br> for HTML or \n for plain text): concat(variables('EmailBody'), items('Apply_to_each')?['Name'], ' - ', items('Apply_to_each')?['Birthday'], '\n')
Issue 3: Comparing Dates: Parse today’s date and calculate the range: utcNow() addDays(utcNow(), 7)
Convert the birthday to a comparable date format: formatDateTime(items('Apply_to_each')?['Birthday'], 'yyyy-MM-dd')
Compare the birthday with the calculated range using a condition and(
greaterOrEquals(formatDateTime(items('Apply_to_each')?['Birthday'], 'yyyy-MM-dd'), utcNow()),
lessOrEquals(formatDateTime(items('Apply_to_each')?['Birthday'], 'yyyy-MM-dd'), addDays(utcNow(), 7))
)
let me know if you need more details.