web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Date from Excel is not...
Power Automate
Answered

Date from Excel is not ISO 8601 despite choosing option

(0) ShareShare
ReportReport
Posted on by 43

I'm trying to create events on an Outlook calendar from an Excel spreadsheet. I saw other answers here that say to use the ISO 88601 in the Advanced Options for the List rows in a table.  Except, it doesn't seem to work.

list rows block.png

Create Event.png

Error message showing bad dates.png

As you can see, the dates look like Excel number dates and not ISO 8601, despite my setting a custom format in Excel in addition to opening the workbook with the ISO 8601 option.

AVoraman_0-1705011248668.png

I have tried using the formatDateTime() function and that also errors. 

Categories:
I have the same question (0)
  • creativeopinion Profile Picture
    10,502 Super User 2025 Season 2 on at

    @AVoraman You need to use an expression to format your date. Use the formatDateTime() function.

    creativeopinion_0-1705016849629.png

    However, you'll notice that once you insert an expression, the only dynamic content you'll see in the list is body and value. 

    creativeopinion_1-1705016896597.png

    To get around this—use this trick. Exit out of the Expression tab. 

    Insert the dynamic content for the Start Time into the Start Time field. In my case I'm just using the TaskDueDate column from my Excel table. You'll need to select the appropriate dynamic content in your case. 

     

    Hover over the dynamic content label note the text between the single quotes. This is the dynamic content key. It's case sensitive.

    creativeopinion_3-1705017034292.png

     

    Delete the dynamic content label. Insert an expression. Use the formatDateTime() function.

    creativeopinion_4-1705017081343.png

    Insert this between the formatDateTime() function:

    item()?['']

    creativeopinion_5-1705017110733.png

    Between the single quotes, you'll want to type in the dynamic content key. In my case it's TaskDueDate

    creativeopinion_7-1705017204186.png

     

    Note the timestamp format in the Start time field.

    creativeopinion_6-1705017172707.png

    Add a comma and single quotes. Enter this timestamp format between the single quotes:

    yyyy-MM-ddTHH:mm:ss

    creativeopinion_9-1705017305934.png

    Press OK to insert the expression. 

    Repeat this for the End Time field.

     

    Hope this helps!

     

    If I helped you solve your problem—please mark my post as a solution .
    Consider giving me a 👍 if you liked my response! If you're feeling generous— ️  Buy me a coffee: https://www.buymeacoffee.com/acreativeopinion

    👉 Watch my tutorials on YouTube
    👉 Tips and Tricks on TikTok

     

     

     

     

     

     

  • AVoraman Profile Picture
    43 on at

    Unfortunately, this did not work.

    AVoraman_1-1705081695169.png

    When I hover the Start item, it shows this: @{items('Apply_to_each')?['Start']}

     

    I'm using this expression: formatDateTime(item()?['Start'],'yyyy-MM-ddTHH:mm:ss') to get the error pictured above.

     

    I tried to figure out how to get all of the important stuff from the hover text into that expression in a way that let me save and test. The only way I was able to get a valid expression was by assigning that and the Finish fields to String variables and building the expressions with the variables. That gets me the same error as pictured above.

    When I went to click [Reply] I got this message: "Your post has been changed because invalid HTML was found in the message body. The invalid HTML has been removed. Please review the message and submit the message when you are satisfied." I don't see any changes, so not sure where that came from. 

  • creativeopinion Profile Picture
    10,502 Super User 2025 Season 2 on at

    @AVoraman I would recommend that you use Compose actions to Compose your Start + End Dates first and run a test to ensure the output BEFORE you even add the Create Event action to your flow.

    creativeopinion_0-1705083848369.png

     

    Follow this YT Short tutorial where I cover how to convert the Excel numerical date to a proper date. Remember to rename your actions to keep your flow organized!

     

    For more flow troubleshooting tips—check out this YT Tutorial: 5 Power Automate Troubleshooting FAQs and Helpful Tips for Creating Better Flows

    In this tutorial I cover:

     How to troubleshoot a false Condition action result

     How to get dynamic content when it isn’t selectable from the list of dynamic content

     How to troubleshoot an Apply to Each action that isn’t looping through

     How to troubleshoot a skipped Apply to Each action

     How to troubleshoot a Filter Query

     How to use a SharePoint yes/no column in a Filter Query

     How to use Compose actions to troubleshoot a Power Automate flow

    How to troubleshoot multiple emails being sent

     How to troubleshoot multiple Teams messages being sent

     

    Once you confirm that your Compose actions are outputting a proper timestamp, insert the outputs of the Compose actions into the Create Event Action.

  • AVoraman Profile Picture
    43 on at

    New sparse flow

    AVoraman_2-1705087862878.png

    Same setting for ISO 8601

    AVoraman_3-1705087934896.png

    What else should I try?

     

  • creativeopinion Profile Picture
    10,502 Super User 2025 Season 2 on at

    @AVoraman Remove the Post message in a chat or channel action. You don't need that right now. You need to first convert your datetime into the proper format. 

     

    You need to define a datetime format in the addDays() function. 

    addDays('1899-12-30', int(outputs('Excel_field')), 'yyyy-MM-ddTHH:mm:ssZ')

    Run a test. Review the output.

  • AVoraman Profile Picture
    43 on at

    Did that.  Same thing.

    AVoraman_0-1705092580322.png

    The text in the error reads: Unable to process template language expressions in action 'Start_-_date' inputs at line '0' and column '0': 'The template language function 'int' was invoked with a parameter that is not valid. The value cannot be converted to the target type.'.

     

    It's saying the output (in this case 45236.7083333333) cannot be converted into an int. It's not even getting to the addDays() so lacking a formatting string doesn't matter at this point.

     

    What should I test next?

  • creativeopinion Profile Picture
    10,502 Super User 2025 Season 2 on at

    @AVoraman Can you screenshot what your timestamp in Excel looks like? In the cell?

  • creativeopinion Profile Picture
    10,502 Super User 2025 Season 2 on at

    @AVoraman I believe your issue might be with the format you've used in Excel. Can you try to use either a format from the Date or Time category?

    creativeopinion_1-1705095264882.png

     

    By selecting one of these options the output of the dynamic content from Excel should return a proper timestamp. 

    creativeopinion_2-1705095422481.png

     

     

    creativeopinion_0-1705095166095.png

     

  • Verified answer
    AVoraman Profile Picture
    43 on at

    The hot ticket is to use

    formatNumber(float(<field>),"0")

     

    and feed that to 

    addDays('1899-12-30',int(<output from above>),'yyyy-MM-ddTHH:mm:ss')
     
    Because these are always all-day (so they show as Free at the top of the calendar), if the start and end are the same, I add a day to the end-date by using 1899-12-31 in the formula. 
     
    I found the formatNumber() by using the Format data by example and plugging in 45142.3333333333 and 45142.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Automate

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 525 Super User 2025 Season 2

#2
Tomac Profile Picture

Tomac 324 Moderator

#3
abm abm Profile Picture

abm abm 232 Most Valuable Professional

Last 30 days Overall leaderboard