
Announcements
Hi,
Completely new to Flow, know virtually nothing about programming/coding languages, so this is super frustrating.
I'm trying to use the Track Outlook emails in a Table. This works, but I need the flow to extract some data from the body of the text into a column which I can then filter. I don't want to whole email body to be entered into the column.
The only part which will differ is the "earning the XX badge", which is what I want it to extract.
Most of the other solutions listed are pulling text from the Body and don't use the original data - not keeping the 'From' 'Subject' etc, in the original Flow, so they don't help.
Any help is gratefully received as this is something which would be great for me to track!
Thanks,
Juli
Hi @elearning,
Do you want extract the info “xx badge” from the email body?
If the email body always has the same format, please take the following configuration for a reference.
Add the trigger When a new email arrives.
Add the action Html to text to convert the email body to text.
Add Compose action with the following code to return the starting position of “earning the”:
indexOf(body('Html_to_text'),'earning the')
Add Compose2 action with the following code to return the starting position of “'view my earned badges”:
indexOf(body('Html_to_text'),'view my earned badges')
Add Compose3 action to return the badge information:
substring(body('Html_to_text'),add(outputs('Compose'),12),sub(outputs('Compose_2'),add(outputs('Compose'),12)))
Then you could add the returned value into an Excel table.
Besides, there is connector MailParser could be used to extract data from emails. You could also take a try with it. More details about MailParser for your reference:
https://docs.microsoft.com/en-us/connectors/mailparser/
Best regards,
Mabel