When a new email arrives in my inbox, I have it set to detect that email however, I want to parse a section of that email subject and remove the rest. The emails come in like Application for Jack joe from John Doe. I would like an expression that changes the subject to "Person: Jack joe" and nothing else. is this possible in flow?
FWIW,
not to take anything away from @max06net 's perfect answer, if you have a situation where you truly need a regEx, both Plumsail and Encodian have connectors with regEx actions (e.g. https://support.encodian.com/hc/en-gb/articles/360006764638-Search-Text-Regex ).
And, although I haven't tried it myself, if you can't manage the extremely reasonable costs of either of those 3rd-party connectors, Paul Murana has a dandy little trick using Excel Online Office Scripts connector to do regEx. https://www.tachytelic.net/2021/04/power-automate-regex/
Hi all!
just for the record: Instead of doing a lot of counting and mathematics in 4 fields, I found it easier to simply cut around the wanted text.
Same compose-action:
trim(first(split(last(split( triggerBody()?['Subject'], 'Application for' )), 'from')))
For readability:
trim(
first(
split(
last(
split( triggerBody()?['Body'], 'text before' )
),
'text after'
)
)
)
All in one function block.
Have a great day!
thank you for the solution!!
Hi @Anonymous,
Could you please share a sample of your incoming email?
Do you want to change the Subject of the received email to "Person: Jack joe"?
Further, do you want to use regex within Microsoft Flow?
The regex is not supported in Microsoft Flow currently, if you would like this feature to be added in Microsoft Flow, please submit an idea to Flow Ideas Forum:
https://powerusers.microsoft.com/t5/Flow-Ideas/idb-p/FlowIdeas
I assume that your incoming email shows as below:
I have made a test on my side and please take a try with the following workaround:
add(indexOf(triggerBody()?['Subject'],'Application for'),16)
sub(indexOf(triggerBody()?['Subject'],'from'),1)
substring(triggerBody()?['Subject'],outputs('Compose'),sub(outputs('Compose_2'),outputs('Compose')))
concat('Person: ',outputs('Compose_3'))
Image reference:
The flow works successfully as below:
More details about using expression in flow actions, please check the following article:
Use expression in flow actions
Best regards,
Kris
rpersad
16
David_MA
10
Super User 2025 Season 1
Michael E. Gernaey
8
Super User 2025 Season 1