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

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Extracting part of an ...
Power Automate
Answered

Extracting part of an email subject line

(1) ShareShare
ReportReport
Posted on by 35

Hi all, I have a flow which extracts part of an email subject, currently the subject comes in as New red flag on [UNITNAME], and I have a compose action which extracts the unit name: trim(split(split(triggerBody()?['subject'],'New red flag on ')[1],'')[0])

 

This works, but the developer is changing the email to read as New '[FLAGTYPE]' red flag on [UNITNAME] i.e. New 'Insufficient staff on duty' red flag on Amber Ward

 

I'm getting stuck on amending the compose action to work with the new subject line.  Ideally I would like to extract both the unit name and the flag type, but I am happy to just get the unit name as this is sufficient for what I use it for currently.

 

Any help would be much appreciated!

 

Thanks in advance!

Categories:
I have the same question (0)
  • Verified answer
    creativeopinion Profile Picture
    10,508 Moderator on at

    @chrisisconfused You just need to use the split() function and split your subject line into two separate parts and split it again. 

     

    To help you better understand how the split() function works, refer to this section of my YT Tutorial: 

    7 Functions You Need to Know | ️Expression Essentials: Part 1

     

    In this section, I'll cover how to get dynamic content with an expression when the dynamic content you need isn't listed in the dynamic content menu.

     

    In the full tutorial I cover 7 functions you need to know when getting started with expressions.

    1️⃣ empty()

    2️⃣ coalesce()

    3️⃣ equals()

    4️⃣ if()

    5️⃣ concat()

    6️⃣ length()

    7️⃣ split()

     

    I cover how to use these functions in expressions and I’ll also cover common mistakes when it comes to writing expressions and show you a few tips and tricks along the way.

     

    As a beginner or even an intermediate flow builder—expressions can seem a bit complex at first, I’m going to try to simplify it for you. If you want to level up your flows by writing expressions—keep watching!

     

    IN THIS VIDEO:

     What is an Expression?

     What is a Function?

     What Does Wrapping a Function Mean?

     How Do I Insert an Expression?

     How to Use a Compose action

     How to Navigate the Expression Builder with Arrow Keys

     How to use the Expression Tooltip

     Common Mistakes When Writing Expressions

     How to differentiate a null from an empty string

     How to Get Dynamic Content When it’s Not Listed

     How to Use a Get Item Action to Verify Dynamic Content Output

     How to Convert Strings to Lower Case

     How to Troubleshoot the if() Function

     

    ----

    Start with a Manual Trigger and store your sample subject line into a Compose action. This will help you to better understand how the split() function works. 

    creativeopinion_0-1719931219052.png

    Split the Subject Line

    Add another Compose action to store the flag type. Insert the split() function. 

    creativeopinion_3-1719931450136.png

     

    The split() function takes two parameters:

    split([string],[separator])

    For this first example, insert the output from the Compose action holding the subject line as the string, add a comma and between single quotes enter your separator. In this case, use ' red flag on '. Ensure you are including the space before the word red and a space after the word on.

    creativeopinion_4-1719931465428.png

     

    creativeopinion_6-1719931539606.png

     

    Run a test. The split() function will output an array of items.

    creativeopinion_7-1719931581661.png

     

    Get the Flag Type

    To get items of an array you can use the first() function to return the first item of an array, or the last() function to return the last item of an array. You can also use an index number [0],[1],[2] etc to return a specific item in an array. The first item of an an array is [0], second is [1] etc

     

    In this case, we want to return the first item of the array. Add a Compose action to store the Flag Type.

     

    Add an expression and insert the first() function.

    creativeopinion_8-1719931696143.png

     

    Click on the dynamic content tab and insert the output from the Compose action with the split subject array. 

    creativeopinion_9-1719931753039.png

    Run a test. Review the outputs. The Compose action should output the first item of the array. 

    creativeopinion_10-1719931775050.png

    As before use a split() function. Click on the expression to edit it. Type in split with an opening parenthesis.

    creativeopinion_11-1719931810099.png

    Press the down arrow key to go to the end of the expression. Add a comma and single quotes. Between the single quotes enter the separator. In this case it's New with a space.

    creativeopinion_12-1719931860060.png

    Important: Don't forget to press update.

     

    Run a test. The split() function has converted the string to an array. Wrap your expression in the last() function to return the last item of the array.

    creativeopinion_13-1719931895254.png

    Click on the expression to edit it. Type in last with an opening parenthesis.

    creativeopinion_14-1719931981360.png

     

    Press the down arrow key to go to the end of the expression and enter a closing parenthesis. 

    creativeopinion_15-1719931995838.png

     

    Important: Don't forget to press update.

     

    Run a test.

    creativeopinion_16-1719932016123.png

     

    You can use another Compose action to store the unit name by using the last function on the Split Subject compose action. The Compose actions aren't necessary, however when you are working with expressions it can help you to better understand how to build an expression by using Compose actions and breaking it up into parts. It can make it easier to build the expression and edit it in the future.

     

    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!

    👉 Level up your Power Automate skills by checking out my tutorials on YouTube
    👉 Tips and Tricks on TikTok and Instagram
  • CU08101058-0 Profile Picture
    35 on at

    Thank you both for the replies, the first solution worked @creativeopinion and thank you for the tutorials they were a great help! 👍

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

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Vish WR Profile Picture

Vish WR 378

#2
Valantis Profile Picture

Valantis 329

#3
David_MA Profile Picture

David_MA 283 Super User 2026 Season 1

Last 30 days Overall leaderboard