cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Read custom field from email and create calendar invite

Hello all

 

i would like to extract the values from a string in one of our recurring emails of the following format:

 

Date Time : 30/03/2019 21:00:00 to 31/03/2019 09:00:00 GMT (dd/mm/yyyy)

 

In specific i want to take the start time and end time and create a calendar invite

 

Any ideas how i can do that ?

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @Anonymous 

There could be neater ways to achieve this but in order to add on to what we have already please see below:Capture-389.png

To get this, I have added the below after "Compose Start Time"Capture-390.png

split(outputs('Compose_Start_Date'), '/')
concat(outputs('Compose_Split_Start_Date')[0], '-', outputs('Compose_Split_Start_Date')[1], '-', outputs('Compose_Split_Start_Date')[2])
concat(outputs('Compose_Start_Date_With_Dashes_XX-XX-XXXX'), 'T', outputs('Compose_Start_Time'))

If you have found my post helpful, please mark thumbs up.

p.s. you may have to mark multiple parts of this thread as the solution in order for it to read well for someone who finds the thread in the future.

 

Any other questions, just ask.

 

Best wishes, Alan


Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


View solution in original post

12 REPLIES 12
AlanPs1
Resident Rockstar
Resident Rockstar

Hi @Anonymous , thank you for your post.

 

Edit: As an after thought and after re-reading this. I may have missed a bit from my initial post below. You have said "i would like to extract the values from a string in one of our recurring emails" To get the raw data from the email, you will need to use the action called "HTML to text". This get's you the raw data before you do anything with it, as you will see in the below image:

Capture-372.pngI have also created the following Flow to demonstarte a couple of ways you could handle the string now that you have the data from it's body.

Note: I am simulating your string "Date Time : 30/03/2019 21:00:00 to 31/03/2019 09:00:00 GMT (dd/mm/yyyy)" by adding it to a compose called "Compose Raw Data". You could also use "HTML to text" from above.

 

I will then use two functions, substring() and split() to target the values. This is to demonstrate the theory of what to do in order to get you started.

Capture-371.png

Date Time : 30/03/2019 21:00:00 to 31/03/2019 09:00:00 GMT (dd/mm/yyyy)
substring(outputs('Compose_Raw_Data'), 12, 31)
split(outputs('Compose_Raw_Data'), ' ')

Here is the output of each below:Capture-369.pngCapture-370.png

If you like this idea, and it meets your requirements I'd advise recreating the Flow above (it will take minutes) then you will be able to relate it to your own Flow and go from there.

 

Note: As "Split Raw Data" has now become an array, each value can be targeteed using value()?[0], [1], [2] and so on.

I hope it helps.

 

If you have found my post helpful, please mark thumbs up.

Any other questions, just ask.

Thanks, Alan


Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Anonymous
Not applicable

Hello alan

 

thanks for your reply i think i am getting there , still i need a bit of help , i managed to make your suggestion work , however the problem now is that i want to find this string inside the email in order to manipulate it and extract the information.

 

, So since the email has a lot of info,

 

how do we grep for a string that starts with :

 

'Date time : '

 

 

thanks !

Hi @Anonymous , I am glad you are getting there.

I sent myself this email:

Capture-374.png

I have located the 'Date Time : ' using the following method:Capture-375.png

substring(body('Html_to_text'),add(lastIndexOf(body('Html_to_text'),'Date time : '), 0),71)

Result below:Capture-376.png

Should you need to alter the substring in anyway please see:

https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#substring

 

If you have found my post helpful, please mark thumbs up.

Any other questions, just ask.

Thanks, Alan


Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Anonymous
Not applicable

Hello @AlanPs1

 

thanks again for your help , i still am struggling a bit with this language !

please bare with me !

 

I was trying to read from the array that is produced from "split raw data" but i had no luck.

  i was trying to take the start date and time and use them for my calendar invite. However the calendar was complaining that it cannot take an array as a value . I then converted the array into a variable and was trying to read the new variable values but every time i had the whole array returned!

 

array('myarray')[0] -> returns the whole array!
 
how can i return the values ?
 
thanks!

Hi @Anonymous 

In addition to what I posted last time around, please see the below:Capture-378.png

split(outputs('Compose_String_That_Starts_With_Date_time_:'), ' ')
outputs('Compose_Split_Raw_Data')[3]
outputs('Compose_Split_Raw_Data')[4]

Here is the output of the split broken down:

 

Capture-379.png

And the Start Date & Start Time

Capture-380.png

 

Helpful page on WDL: Functions reference for Workflow Definition Language

 

If you find my posts helpful, please mark them thumbs up.

 

Any other questions, just ask.

 

Thanks, Alan


Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Anonymous
Not applicable

Hello @AlanPs1 

 

i was able to read the values , i was incorrectly adding the output of my array + and the logical expression

variables('myarray')[3]
 
so i had the whole array + the value i was trying to parse!
 
when i saw that i hit my head in the laptop and continued 😛
 
Last question hopefully!
 
now i have 4 variables
start date
start time
end date
end time
 
when i use them for the calendar invite unfortunately it fails because the values
are not separated and as such they are returned as : 24/03/201922:00:00
 
so i get the obvius error :
String was not recognized as a valid DateTime
 
How can we put a space in the middle ?
also since this is a string , will it be recognised as time ? or we need to convert it ? (how??)
 
 
thanks !!!

Hi @Anonymous , Full details on the link in my last post.

concat() 

concat(outputs('Compose_Start_Date'), ' ', outputs('Compose_Start_Time'))

Capture-383.png

As a friendly tip, it is worth skimming through every function on here and looking at the syntax for each one - https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference

 

If you have found my post helpful, please mark thumbs up.

Any other questions, just ask.

Thanks, Alan


Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Having just the space may not meet your date/time format. You may have to use an ISO 8601 format to do so.

Here’s another handy link on date/time formats - https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings

I’ve just about run out of time for tonight but if still issues tomorrow I will revisit.

Thanks, Alan.

Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Anonymous
Not applicable

Hello @AlanPs1 

 

you are right about the time , it is not recognised   😕

 

i have to modify the time from 24/03/2019 22:00:00

 

to

 

2019-03-24T22:00:00

 

 

i will play now with it a bit , but if you reply to me i will follow you solution anyway

 

thanks!

Hi @Anonymous 

There could be neater ways to achieve this but in order to add on to what we have already please see below:Capture-389.png

To get this, I have added the below after "Compose Start Time"Capture-390.png

split(outputs('Compose_Start_Date'), '/')
concat(outputs('Compose_Split_Start_Date')[0], '-', outputs('Compose_Split_Start_Date')[1], '-', outputs('Compose_Split_Start_Date')[2])
concat(outputs('Compose_Start_Date_With_Dashes_XX-XX-XXXX'), 'T', outputs('Compose_Start_Time'))

If you have found my post helpful, please mark thumbs up.

p.s. you may have to mark multiple parts of this thread as the solution in order for it to read well for someone who finds the thread in the future.

 

Any other questions, just ask.

 

Best wishes, Alan


Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


Anonymous
Not applicable

Hello @AlanPs1 

 

thanks very much!

i actually made it up for this thing to work! , and create a new one also based on your suggestions.

Actually the second one was easier since the 'time' was already on almost the correct format and now flow

makes a bit more sense!

 

Some things regarding the actual event now.

 

a) is there a way for the organiser of the calendar event to receive also a calendar invite ?

(now is automatically created on my calendar  but i dont get an invitation (since i am the organiser  -))

 

 

C) is there another workaround for the previous question , like binding the flow to a shared email and as such the shared email account will sent the invite to all required atendees ?

Now in the create event2 -> calendar invite -- options on the right , the flow is bind to "my connections " as such someone has to own the flow and this person will not receive the invite.

 

Hi @Anonymous , thats great you have things working in the most and have learned a lot about Flow. I am made up about that Smiley Happy

At this juncture, let's take stock.

Can you please create a new thread, post pictures of your complete Flow and isues you are having or details of enhancements you want to make and either I or another will come in and help?

 

Happy Flowing.

Thanks, Alan


Did I answer your question? Mark my post as a solution!

Proud to be a Flownaut!


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 (4,907)