cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
chucksta
Helper II
Helper II

Creating Email Reply Flow to post item to a SharePoint List field

Hello All,

 

 

I have created a FLow for Problem Management. SO what the flow currently does is sends an email to our PM team letting them know that a problem management ticket needs to be created. Tis email is sent once a Sharepoint list item is created using the form below:

 

2019-06-24_13-02-04.jpg

 

It then sends an email to our Problem Management Team: with the response below:

2019-06-24_13-05-19.jpg

 

What I have done is added to the flow in the body of the email for the PM team to reply and place a Problem management number to the email in the body as below:

 

2019-06-24_13-11-52.jpg

I am lost on my next step as to what to do to my flow below. Once the Pm team replies and places the PRB # next to the "Problem Management ticket Number", Like in the screen shot above, I want this to be updated for the problem listed in the sharepoint list in the PRB#(Problem#) field.

2019-06-24_13-17-04.jpg

 

I am not sure how to setup the the flow to look for this newly added number based off the body of the email from the PM teams once they reply and place the PRB number from their reply. Can anyone help me with this? it seems easy trying to set it up but it gets a bit harder as it is not working for me at all.

 

 

My Flow so far:

 

2019-06-24_12-59-34.jpg

 

Any help would surely be appreciated.

 

1 ACCEPTED SOLUTION

Accepted Solutions

@chucksta and I got there. There were a couple of changes we made to the above Flow.

 

The first thing we did, to increase the likelihood of our expression getting the data we need, we ran the email body through the HTML to Text action to strip out all of the HTML. This meant that we were then only dealing with the raw content of the email.

 

We then tweaked our substring expressions to ensure that we were isolating the correct data. We however had a stray character space before the text we wanted. After a little bit of looking, we had a space in front of the expression in the action. One of those little spaces that are notoriously difficults to spot but give you a huge headache.

 

Once there, we tidied up the Get Items so that we were pulling back the correct record, and then updating it.

 

It was great speaking to  you @chucksta, if there's anything else the community can do, let us know.

View solution in original post

12 REPLIES 12
MattWeston365
Memorable Member
Memorable Member

Hi @chucksta the solution which I think may help is quite simple but would benefit if Regular Expressions become available for Flow rather than doing simple string matching.

 

If I understand you correctly, an email is sent back with the PRB code typed into the email (feel free to correct me if I'm wrong). I have approached this by creating a Flow which is triggered when a new email arrives.

 

From there I parse the body of the email and look for two key pieces of text: Jira, and PRB_

 

I can then use Flow Expressions to find the start of the key pieces of text, and then extract a number of characters from that point. E.g. my email looks like this:

 

Flow-Email2.PNG

So when my email comes in, I'll first of all look for the word JIRA and then get the characters after it. Once I've done that I'll knock off the JIRA part so that I'm just left with the code:

substring(substring(triggerBody()?['Body'],indexOf(triggerBody()?['Body'],'JIRA:'),15),6,9)

What this is doing is extracting the JIRA text by finding where it is in the email body (indexOf) and then taking the next 16 characters (substring). I then do that again by taking the substring, but this time starting after the JIRA: text (I know exactly how many characters it is this time).

 

From my email above, this will result in EFC-16171

 

I then do the same for the PRB reference, however I'm assuming that the code will always have PRB in it, so that is the string I'm going to try and find with my indexOf expression. I'm then going to take the 12 characters so that it will return the entire code.

substring(triggerBody()?['Body'],indexOf(triggerBody()?['Body'],'PRB_'),12)

From my email above this results in PRB_84209483

 

With those two pieces of data, I can now find the list item in SharePoint and perform the necessary update.

 

Flow-Email1.PNG

@MattWeston365  I am trying it right now. Thanks for your reply sir! But quick questions since I am looking for only emails labeled "Problem Management Issue Created" that arrive when setting up the subject filter, is it ok to use this expression i set up? I really suck at the dynamic content.

 

contains(triggerBody()?['Subject'], 'Problem Management Issue Created')

Hi @chucksta the subject filter is much more simple than that to use. Just put the string you want to match into the Subject Filter box and it will match it.

@MattWeston365  I really want to say thanks for your help on this!

 


2019-06-25_14-44-28.jpg So what I have done is in the value fields just for purpose of showing you my varibles to check is pasted them in the fields on the screen shots.

 

So instead of looking for JIRA ticket number which is not always setup there is always a EV Incident# so I used that to search for in the body for my first variable, I then used the next variable to search for the PRB_ which once the reply email comes back from the Problem management team, it should be in the field next to "Problem Mangement Ticket Number:" .

 

So i then added the Sharepoint-Update Item, but when I try to select the PRB field to update the sharepoint list, it states the other fields with the red stars are required. If so I understnad and dont mind updating them, but when I try to select them in the dynamic content, say for ID: all i see is "importance" (like in the screenshot). 

 

Am I not supposed to see the fields in the dynamic content to be able to ad them to be updated. I thought it was the browser, so I closed it and started fresh but still i dont get the dynamic content to work. Am I missing a step btween the last variable and the SHarepoint-Update Item or maybe I have my steps struturedincorrectly? 

Hi @chucksta this is one of the few things about Flow which grips me now and then, but I've got myself into a habbit now so that I don't hit this issue. I always make sure I have got the list item before I try to run an update. If my trigger is providing the list item e.g. the trigger is When an Item is Created or Updated, then I have all the details about the list item to start with. If I'm using another Trigger, then I just make sure that I use the Get Items action before my update.

 

Finally when I come to the update and need to provide values to the mandatory fields, I'll simply use the dynamic content from Get Items.

 

It's an extra step, but it's one which is needed.

@MattWeston365 

 

it seems to have worked, however it updated all the tickets, in the sharepoint list instead of the specific ticket pertaining that is it  prb field with "PRB_12345678 substring(triggerBody()?['Body'],indexOf(triggerBody()?['Body'],'PRB_'),12)". 

 

SO I just found out the ProblemManagement team wont be using the underscore.

They structure the tickets like this as of now, smh!!

PRB0058 - INC190613-032

 

My Code for the PRB variable is: 

substring(triggerBody()?['Body'],indexOf(triggerBody()?['Body'],'PRB'),24)
the PRB for some reason when this runs writes to every line in the PRB Problem field. 
 
My Code for the EV Incident# is:
substring(substring(triggerBody()?['Body'],indexOf(triggerBody()?['Body'],'EV Incident#:'),15),6,9)
 
For some reason my variables seem to post the data but incorrectly and to every tickets in the sharepoint list?
Can you see what I may be doing wrong or left out?
1.jpg2.jpg

@MattWeston365  So I was able to figure out the issue with getting the information to post to the field correctly, but not sure as to why it post to every field and how I structured it wrong.

 

POst perfectly, but now post to every field in  the SharePoint list.POst perfectly, but now post to every field in the SharePoint list.

 

I am wondering what i need to do to get it to post to the correct list item. The only differnece in the email identifier will be the EV Ticket number but not sure how to make it post to that particular list item once the reply comes through.

Its late here so hope to hear from you soon. Matt I really appreciate your help on this!!!

Hi @chucksta we're almost there. The only thing that is missing, is that in your Get Items action you need to provide a filter to determine which item you want to update. You'll notice that your update code is now wrapped in a loop, therefore without a filter it will loop round each item in your list and change identified field.

 

Filters require an odata query to tell it what to look at. So for example if I'm going to find the EV Ticket Number, it may be something like this:

 

EVTicketNumber eq 'MW365001'

The reason say it may be, is because the field name is the internal name of the SharePoint field, and will depend on how you named it when you created it. E.g. if you create a field with spaces in the name, then it will look like this:
EV_x0020_Ticket_x0020_Number

 

You can find out what the internal name is by browsing to your list setting, scroll down to the columns, and then click on the column you want to find the internal name for. The internal name is displayed in the URL as the Field querystring parameter.

 

@MattWeston365  GOod Morning Sir!

 

Thanks for the reply so see below for my results.

SO It ran successful but still updated every item in the table again.

When I look at my int variable for the EV Incident#: this is what i get, the value is not correct. Does this look right to you?

 

FYI: I forgot to mention also, usually when they create Problem Managment it is usually they just add the PRBXXXX - and then the EV Incident# equaling PRB0058 - INC190101-042, which is what is pasting to every PRB field in the table right now. 

 

Sample EV Incident#: INC190101-042

The code for EV Incident# Variable:

substring(substring(triggerBody()?['Body'],indexOf(triggerBody()?['Body'],'EV Incident#:'),15),6,9)

Like you say we are almost there but i think its just the variable that is messing up.

Results from test run.

Value is incorrectValue is incorrect

 

 

Let me know what I entered incorrectly and Thanks again!

 

 

If you are up for it, it will probably be more beneficial to do a screenshare on Microsoft Teams. If you want to do this, can you private message me a contact email and I'll send you a teams invite.

@chucksta and I got there. There were a couple of changes we made to the above Flow.

 

The first thing we did, to increase the likelihood of our expression getting the data we need, we ran the email body through the HTML to Text action to strip out all of the HTML. This meant that we were then only dealing with the raw content of the email.

 

We then tweaked our substring expressions to ensure that we were isolating the correct data. We however had a stray character space before the text we wanted. After a little bit of looking, we had a space in front of the expression in the action. One of those little spaces that are notoriously difficults to spot but give you a huge headache.

 

Once there, we tidied up the Get Items so that we were pulling back the correct record, and then updating it.

 

It was great speaking to  you @chucksta, if there's anything else the community can do, let us know.

@MattWeston365  This community is so positive and super knowledgable. Matt is a GODsend we got this knocked out in no time and this helped my process run smoothly and it is working as expected.

 

Again, Thank you @MattWeston365 for all your help sir!!

Helpful resources

Announcements

Exclusive LIVE Community Event: Power Apps Copilot Coffee Chat with Copilot Studio Product Team

It's time for the SECOND Power Apps Copilot Coffee Chat featuring the Copilot Studio product team, which will be held LIVE on April 3, 2024 at 9:30 AM Pacific Daylight Time (PDT).     This is an incredible opportunity to connect with members of the Copilot Studio product team and ask them anything about Copilot Studio. We'll share our special guests with you shortly--but we want to encourage to mark your calendars now because you will not want to miss the conversation.   This live event will give you the unique opportunity to learn more about Copilot Studio plans, where we’ll focus, and get insight into upcoming features. We’re looking forward to hearing from the community, so bring your questions!   TO GET ACCESS TO THIS EXCLUSIVE AMA: Kudo this post to reserve your spot! Reserve your spot now by kudoing this post.  Reservations will be prioritized on when your kudo for the post comes through, so don't wait! Click that "kudo button" today.   Invitations will be sent on April 2nd.Users posting Kudos after April 2nd at 9AM PDT may not receive an invitation but will be able to view the session online after conclusion of the event. Give your "kudo" today and mark your calendars for April 3, 2024 at 9:30 AM PDT and join us for an engaging and informative session!

Tuesday Tip: Unlocking Community Achievements and Earning Badges

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!     THIS WEEK'S TIP: Unlocking Achievements and Earning BadgesAcross the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. These badges each signify a different achievement--and all of those achievements are available to any Community member! If you're a seasoned pro or just getting started, you too can earn badges for the great work you do. Check out some details on Community badges below--and find out more in the detailed link at the end of the article!       A Diverse Range of Badges to Collect The badges you can earn in the Community cover a wide array of activities, including: Kudos Received: Acknowledges the number of times a user’s post has been appreciated with a “Kudo.”Kudos Given: Highlights the user’s generosity in recognizing others’ contributions.Topics Created: Tracks the number of discussions initiated by a user.Solutions Provided: Celebrates the instances where a user’s response is marked as the correct solution.Reply: Counts the number of times a user has engaged with community discussions.Blog Contributor: Honors those who contribute valuable content and are invited to write for the community blog.       A Community Evolving Together Badges are not only a great way to recognize outstanding contributions of our amazing Community members--they are also a way to continue fostering a collaborative and supportive environment. As you continue to share your knowledge and assist each other these badges serve as a visual representation of your valuable contributions.   Find out more about badges in these Community Support pages in each Community: All About Community Badges - Power Apps CommunityAll About Community Badges - Power Automate CommunityAll About Community Badges - Copilot Studio CommunityAll About Community Badges - Power Pages Community

Tuesday Tips: Powering Up Your Community Profile

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week's Tip: Power Up Your Profile!  🚀 It's where every Community member gets their start, and it's essential that you keep it updated! Your Community User Profile is how you're able to get messages, post solutions, ask questions--and as you rank up, it's where your badges will appear and how you'll be known when you start blogging in the Community Blog. Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile.     Password Puzzles? No Problem! Find out how to sync your Azure AD password with your community account, ensuring a seamless sign-in. No separate passwords to remember! Job Jumps & Email Swaps Changed jobs? Got a new email? Fear not! You'll find out how to link your shiny new email to your existing community account, keeping your contributions and connections intact. Username Uncertainties Unraveled Picking the perfect username is crucial--and sometimes the original choice you signed up with doesn't fit as well as you may have thought. There's a quick way to request an update here--but remember, your username is your community identity, so choose wisely. "Need Admin Approval" Warning Window? If you see this error message while using the community, don't worry. A simple process will help you get where you need to go. If you still need assistance, find out how to contact your Community Support team. Whatever you're looking for, when it comes to your profile, the Community Account Support Knowledge Base article is your treasure trove of tips as you navigate the nuances of your Community Profile. It’s the ultimate resource for keeping your digital identity in tip-top shape while engaging with the Power Platform Community. So, dive in and power up your profile today!  💪🚀   Community Account Support | Power Apps Community Account Support | Power AutomateCommunity Account Support | Copilot Studio  Community Account Support | Power Pages

Super User of the Month | Chris Piasecki

In our 2nd installment of this new ongoing feature in the Community, we're thrilled to announce that Chris Piasecki is our Super User of the Month for March 2024. If you've been in the Community for a while, we're sure you've seen a comment or marked one of Chris' helpful tips as a solution--he's been a Super User for SEVEN consecutive seasons!   Since authoring his first reply in April 2020 to his most recent achievement organizing the Canadian Power Platform Summit this month, Chris has helped countless Community members with his insights and expertise. In addition to being a Super User, Chris is also a User Group leader, Microsoft MVP, and a featured speaker at the Microsoft Power Platform Conference. His contributions to the new SUIT program, along with his joyous personality and willingness to jump in and help so many members has made Chris a fixture in the Power Platform Community.   When Chris isn't authoring solutions or organizing events, he's actively leading Piasecki Consulting, specializing in solution architecture, integration, DevOps, and more--helping clients discover how to strategize and implement Microsoft's technology platforms. We are grateful for Chris' insightful help in the Community and look forward to even more amazing milestones as he continues to assist so many with his great tips, solutions--always with a smile and a great sense of humor.You can find Chris in the Community and on LinkedIn. Thanks for being such a SUPER user, Chris! 💪 🌠  

Tuesday Tips: Community Ranks and YOU

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!This Week: Community Ranks--Moving from "Member" to "Community Champion"   Have you ever wondered how your fellow community members ascend the ranks within our community? What sets apart an Advocate from a Helper, or a Solution Sage from a Community Champion? In today’s #TuesdayTip, we’re unveiling the secrets and sharing tips to help YOU elevate your ranking—and why it matters to our vibrant communities. Community ranks serve as a window into a member’s role and activity. They celebrate your accomplishments and reveal whether someone has been actively contributing and assisting others. For instance, a Super User is someone who has been exceptionally helpful and engaged. Some ranks even come with special permissions, especially those related to community management. As you actively participate—whether by creating new topics, providing solutions, or earning kudos—your rank can climb. Each time you achieve a new rank, you’ll receive an email notification. Look out for the icon and rank name displayed next to your username—it’s a badge of honor! Fun fact: Your Community Engagement Team keeps an eye on these ranks, recognizing the most passionate and active community members. So shine brightly with valuable content, and you might just earn well-deserved recognition! Where can you see someone’s rank? When viewing a post, you’ll find a member’s rank to the left of their name.Click on a username to explore their profile, where their rank is prominently displayed. What about the ranks themselves? New members start as New Members, progressing to Regular Visitors, and then Frequent Visitors.Beyond that, we have a categorized system: Kudo Ranks: Earned through kudos (teal icons).Post Ranks: Based on your posts (purple icons).Solution Ranks: Reflecting your solutions (green icons).Combo Ranks: These orange icons combine kudos, solutions, and posts. The top ranks have unique names, making your journey even more exciting! So dive in, collect those kudos, share solutions, and let’s see how high you can rank!  🌟 🚀   Check out the Using the Community boards in each of the communities for more helpful information!  Power Apps, Power Automate, Copilot Studio & Power Pages

Find Out What Makes Super Users So Super

We know many of you visit the Power Platform Communities to ask questions and receive answers. But do you know that many of our best answers and solutions come from Community members who are super active, helping anyone who needs a little help getting unstuck with Business Applications products? We call these dedicated Community members Super Users because they are the real heroes in the Community, willing to jump in whenever they can to help! Maybe you've encountered them yourself and they've solved some of your biggest questions. Have you ever wondered, "Why?"We interviewed several of our Super Users to understand what drives them to help in the Community--and discover the difference it has made in their lives as well! Take a look in our gallery today: What Motivates a Super User? - Power Platform Community (microsoft.com)

Users online (4,322)