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

when a new email arrives vlookup Subjectfilter

Hello,

how can I build a flow for following situation:

I work with "when a new email arrives(V3). I want to work with the subjectfilter. The subject Filter has: the latters a and b.

If the Mail has a "a", then persons A, B and C get a message/notification.

If the Mail has a "b", then person B, D and E get a massage/notifivation.

Thank you very much

 

26 REPLIES 26

Hi there, 

You're looking for a subject filter to work on ...letters? Not words, or a schema of some sort? I wouldn't recommend using letters, I'm hoping those are just a stand-in for a full word or at least a code like A03 or some such. 

Instead of "A" and "B", I will use the words "Apple" and "Batman".  🍎🦇

Since we are looking for two different words, I am not going to use "Subject Filter" - I am going to use the Ellipses > Settings > Trigger Conditions. In there, I will place this formula: @Anonymous(contains(triggerBody()?['subject'], 'Apple'),contains(triggerBody()?['subject'], 'Batman'))  These words are case sensitive.


Rhiassuring_1-1650386540075.png

 

Rhiassuring_2-1650386551025.png

 

 

Next, I am just going to use a "Compose" action to determine whether it was Apple or Batman that triggered the flow. I am using this formula: 

 

if(contains(triggerOutputs()?['body/subject'],'Batman'),'Batman','Apple')
 
I will initialize a variable to hold our emails in. We will use this instead of hardcoding so it is more flexible and we only need one email action.

Then, I will add a Switch that evaluates the Outputs from our "Compose - Apple or Batman" action.

I will set the variable in each "Case" according to my needs. (⚠️ I would recommend not hardcoding where ever possible - in a real world scenario, I would have a SharePoint list holding "Apple" and "Batman", with another column to identify the recipients - I would query this list based on the outcome. Let me know if you need help with this part.)

In this example, just for the demo, I am hardcoding in the emails to set the variable.

Finally, I will just create an email outside of the switch and set the email address to the variable. I can even reference the chosen word using my Compose output.
 
Rhiassuring_0-1650386525318.png
 
Does that help?

Cheers,
 
Rhia

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Thank you very much. 

The Problem is, that there are 132 "Apples;

, Badmans" and so on, not just two. And for the 132 "Apples,Badmans...." are around 300 Personen which gets a Mail/Notification. For Exemplar Apples- User 1,2, Badman - User 2,3,4..

 

Oh, I see - so you have a long list of 132 things to cycle through. In that case, I think you will need to have your email trigger regardless of each, turn your 132 items into an Array, and then loop through and do a "contains()" on each until you hit something - and then look it up from the list. 

Do you have scenarios where you might have more than one "Apple" or "Batman" in the subject? Or will it always be 1 of the 132?

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

I make an Other example: a House with 132 rooms. If the Windows get open, a Light Switched on or a door opens then some persons must get Infos.

Room 1: Person 1 and 2

Room 2: Person 2, 3 and 4

Room 3: Person 2 and 5

....

Room 132: Person 3, 299 and 300.

IT is always one of 132 rooms.

Thank yo

That is a good example 🙂 Okay, we got this, just a few changes.  And, there are a few clarifications needed to make this specific to your scenario .... and more elegant. I will comment on those at the bottom. 

First... We will need to store your columns somewhere, of course, so we can reference them. Excel or SharePoint. I will use SharePoint for my example.

Here is my demo data. In your scenario, your "Email" column would have people -- I am using fake email addresses in mine because I am the only person in my tenant. 

Rhiassuring_0-1650430269744.png

Step 1 - The same as before, we add a When a New Email Arrives trigger, but this time, no trigger condition. 
Step 2 - Create a "Get Items" SharePoint action. Point it at your Matrix in SharePoint.

Rhiassuring_3-1650430594996.png


Step 3 - Initialize variables:  1) booTitleFound (boolean - default "false") 2) txtEmail (string) 3) intIncrement (integer - default "0")

Rhiassuring_4-1650431667230.png

Rhiassuring_6-1650431916008.png

 


Step 4 - Add "Do Until" action and set it to run until "booTitleFound is equal to true". I've increased the Change Limits > Count to 132, given your requirements.

Rhiassuring_5-1650431716956.png


Step 5 - Inside the Do Until action, create a "Set Variable" action. Select your booTitleFound variable, then in the Value, click on the Expression tab. Enter the following: 

 

if(contains(triggerOutputs()?['body/subject'],outputs('Get_items')?['body/value'][variables('intIncrement')]?['Title']),true,false)

Rhiassuring_9-1650432635574.png
Step 6 - Add another Set Variable - this time pointed at your txtEmail variable. In the value field, click on the Expression tab, and enter the following: 

 

if(variables('booTitleFound'),outputs('Get_items')?['body/value'][variables('intIncrement')]?['Email'],'')

Rhiassuring_8-1650432625184.png


Step 7 - Add an "Increment Variable" action and set it to increment intIncrement by 1.

Rhiassuring_7-1650432615536.png


Step 8 - On the outside of your Do Until loop, add a "Send an Email" action. Use the "txtEmail" in your "To" field. Now you can use all the original elements from the incoming email to populate your email to the users.

Rhiassuring_10-1650432885622.png

 

Annnnnnnnd that's it. I used fake email addresses, so I won't send emails, but, here's the output from txtEmail when I send an email to myself with "Room 2" in the title. 

Rhiassuring_11-1650432940897.png


🏁Now, considerations for your requirements to make this a better flow:

 

1) If you can identify any sort of format of what you'd expect to come in - ie, the word "Room", or, a sequence of numbers... you'll want to user a Trigger Condition so this thing doesn't need to run every time.

2) If this is a personal mailbox that is usually monitored by a human, you could also use a Folder - ie, create a Folder called "Automated Maintenance" and drag incoming emails that need to be processed into it. This is more human action, though, so I get why you wouldn't want to do this.

3) You could also use Outlook rules to sort mail into the folder, if the requests come from specific email addresses, OR, you could create one rule per potential Subject word to automatically move them into folders. 

Hope this helps anyway, 


Cheers,


Rhia

 

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Thanks. 

At the end of the last Point I get by Test following message:

judoe007_0-1650437054330.png

What is wrong?

In this example are just three Do-Untils

judoe007_0-1650450666383.png

 

Ah, right, for the email variable - if it's going to end up coming out empty (ie, it finds nothing at all), then it would fail the flow because it didn't email (even though, really, that's a success.) To avoid the fail, you could put a condition in (after the Do Until loop) that says "Is bool true?" - on the Yes side, the email - on the No side, nothing. That'll avoid the fail.


______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Thank you. Could you Show What you mean please?

Rhiassuring_0-1650473694103.png

 

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Hello.

Thanks. But the problem/error-message is still the same:

judoe007_0-1650479851620.png

Is in the Sharepoint ApprovalMatrix anything what is important, for example the file-type?

For my SharePoint list (which I called ApprovalMatrix) in my example I am using a text field called Email ONLY because I have no other users in my tenant. In your scenario, you would use a Person field - and you would look at the "User Email" output from SharePoint.  (It would also show you User Displayname, User Department - but you'd want User Email.

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Thanks again. Now, I changed the Sharepointlist as you write to Person/Group. Now my next problem-message in the power automate in the last point send an email vs:

 

OpenApiOperationParameterTypeConversionFailed. The 'inputs.parameters' of workflow operation 'Send_an_email_(V2)_2' of type 'OpenApiConnection' is not valid. Error details: Input parameter 'emailMessage/To' is required to be of type 'String/email'. The runtime value '"[{\"@odata.type\":\"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser\",\"Claims\":\"i:0#.f|membershipxx@xx.de\",\"DisplayName\":\"XXX\",\"Email\":\"XXX\",\"Picture\":\"https://X.sharepoint.com/sites/TXXXX/_layouts/15/UserPhoto.aspx?Size=L&AccountName=XXX\",\"Department\":\"XXX\",\"JobTitle\":\"XXX\"}]"' to be converted doesn't have the expected format 'string/email'.

Ah, I'm sorry, Iet's back up a bit.

Put "txtEmail" back into your "To" field on your email -- that's my fault, I forgot what scenario we were looking at. I need to test, I'll be right back.

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



 To summarize, I've added in an intSharePointID variable, and then using a Get Items and Append to String to get the Email claims from each. Your txtEmail will work after this.

Rhiassuring_0-1650488628110.png


The formula for the 'set intSharePointID' variable is:

 

if(variables('booTitleFound'),int(outputs('Get_items')?['body/value'][variables('intIncrement')]?['ID']),0)


Inside the "yes" side of our condition, we are now getting a single item from SharePoint using the int variable, and then we select the "MaintenanceContact Email" in an Append To String against our txtEmail variable. This creates a loop, and adds each one.

 

Rhiassuring_1-1650488729408.png

 

Now you will be able to use txtEmail!

 





______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Thank you again.

The "Test" works without an error-message. But I do not get an email.

And I do not know from where is "MaintenanceContact Email".

And I do not understand what is with the "initialize variable intInvcrement" and "Set txtEmail".

judoe007_0-1650522764788.pngjudoe007_1-1650522788727.png

judoe007_4-1650522975964.png

 

 

Anonymous
Not applicable

Can me somebody help please?

"MaintenanceContact" is my example of a person field. Yours might be just "Contact" or "Person" or whatever else you have named it. That field comes with several automatically created fields: Person DisplayName, Person Department, Person Email, etc. You want to use the one that is like, "Person Email" because it will automatically pull the email from the user account.

Initializing a variable - you always must Initialize a variable before you can set it. So because we can use Increment, we need to initialize it.

Set txtEmail - we aren't using that, we are using Append to String variable. When I give screenshots, the left part before the hyphen is always going to be the original name of the action used in Power Automate.

______________________________________________________________


Did this answer your question? Please mark it as the solution.
Did it contribute positively towards finding the final solution? Please give it a thumbs up.

I answer questions on the forum for 2-3 hours every Thursday!



Anonymous
Not applicable

Thanks. Now, it works.

This example is a house with around 130 rooms with around 300 persons how get informed.

My question: How Can I set for example 5 cases for every of the 130 rooms.

"Room 1 ... light on"(or off); "Room 2 ... windows open"(or close); "Room 130 ... power off".

Important is, that the rooms and the cases doesen't stand always together, there are other words between this two parts of the Email-subject.

Anonymous
Not applicable

Can anybody help me?

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (5,460)