Hello,
we receive automated Emails with an Event that i want to add to a Calendar via Power Automate.
The Email looks like this:
Name: Firstname Lastname
Start: 05.05.2021
End: 10.05.2021
I need the "Name" as Subject , "Start" as Start Time and "End" as End Time for the Event.
I have tried multiple flows with HTML to text and Compose functions but i cant seem to get them working. I also cant seem to wrap my Head around the Variables that i can use. What would a (i think relatively simple?) flow look like?
I do have the ability to change the automatic Mail if it is needed for a solution.
So I am trying to tweak the solution above for my purposes. What I have come up with has failed 3 times, though, so obviously I am doing something wrong. I am very new with creating Power Automate Flows, so please go easy on me.
The email coming in will always look like this with the name and dates/times being different each time, but the format will always be the same:
Doug Shipley,
The Leave Request you submitted for 12-29-2023 1:00 PM - 12-29-2023 5:00 PM has been APPROVED. Your approval is attached.
Thanks!
So the output I am looking for here is a calendar event titled "Doug Shipley" that would show up on the calendar for 12/29 from 1:00pm - 5:00pm.
Any help is appreciated!
Hi,
I have a following question on this flow, is it possible to auto-add an attendant to the calendar event base on a name, example if the email shows the location would be at a location in Las Vagas it would auto-add an email from a list that matches that loction?
I just managed to solve it with:
addDays(outputs('End Date'),0) (to get the output: "2021-05-24T00:00:00.0000000"
and then: addHours(outputs('Datum_Ende_+0'),17) to get the output: "2021-05-24T17:00:00.0000000"
This worked fine for me and now shows as wanted in the Calendar.
Thanks for the Help.
Hi, @v-duann-msft thanks for the Help so far, the formatting works just fine now,
but i encountered another small problem, i need the Event to show the last day Full but it stops on 24.05.2021 0:00 for me and therefore does not show the event on the 24th in my Calendar.
I think adding a Time, like 16:30 (HH:mm) would solve the problem. How could i add the Time to the Output of "End-Date" i tried "addHours(outputs('End-Date'),16)" but it does not work for me
Hi @LZA
Thank you for your responding.
If the Date in the automated mail is always in format dd/MM/yyyy and you can't change the format. You can split the date from email and than regroup it.
You could refer to screenshot below to modify the flow.
Insert Compose named Day under Start , the expression in the Day as below:
first(split(outputs('Start'),'.'))
The expression in the Month as below:
first(skip(split(outputs('Start'),'.'),1))
The expression in the Year as below:
last(split(outputs('Start'),'.'))
The expression in the Start date field as below:
concat(outputs('month'),'/',outputs('day'),'/',outputs('year'))
Use the same method to get the End date
Then save Flow and can test it. When receive the email as below:
The calendar can be created as below:
You can refer to this document to see how these functions are used.
https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference
Hope the content above may help you.
Best Regards
Anna
Hi, the format date has worked for me now. But i ran into a different Problem.
The Date in the automail is always in format dd/MM/yyyy and i cant change the format.
An input of 10.05.2021 Begin and 11.05.2021 End works just fine, but when i change it to for example 14.05.2021 Begin and 15.05.2021 End i get an error, since there is no 15.05.2021 in a MM/dd/yyyy Format.
Is there a way to solve this Problem?
Thanks for the Help so far
Greetings
Lorenzo
Hi @LZA
Thank you for your responding.
If you want Format the Date from MM/DD/YYYY to DD/MM/YYYY. You can use expression: "formatDateTime" in Start time and End time as below:
Expression:formatDateTime(outputs('Start'),'dd-MM-yyyy')
Expression:formatDateTime(outputs('End'),'dd-MM-yyyy')
When a new email arrives , the Calendar can be created.
Hope the content above may help you.
Best Regards
Anna
thanks a lot for the Help, i managed to get the Flow startet and so far everything works fine.
I was wondering, if there is a way to Format the Date to DD/MM/YYYY as it is in MM/DD/YYYY as far as i can tell.
I tried working with the expression: "formatDateTime" but i cant seem to work out where exactly i have to put it in my Flow.
Greetings
Lorenzo
Hi @LZA
You want to create an Calendar Event from an automated Email. You can combine the Last/First function and Split function to get the content of "Name" "Start" "End".
I created the flow according to your description and final test can create it. Please take a try with the following steps:
Expression:last(split(outputs('Compose'),'Name: '))
Expression:first(split(outputs('Compose_3'),'Start: '))
Expression:last(split(outputs('Compose'),'Start: '))
Expression:first(split(outputs('Compose_4'),'End: '))
Expression:last(split(outputs('Compose'),'End: '))
When a new email arrives, the calendar can be created.
You can refer to this document to see how these functions are used.
https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference
Hope the content above may help you.
Best Regards
Anna
Michael E. Gernaey
497
Super User 2025 Season 1
David_MA
436
Super User 2025 Season 1
Riyaz_riz11
244
Super User 2025 Season 1