cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
JustJacob
Regular Visitor

Sharepoint update with email data

Hello everyone,

 

I'm quite new to the powerautomate app - I've managed to set up some basic automations but now I'm stuck and have no idea what to do now 😞

 

I have a dediacted folder in my O365 mailbox called "leads". Emails in this folder are going to have subject in format: ABC - Name Surname. Email body will include Phone (after words: "phone:"), Email (after words: "email), number (to two decimal places) after words "your number:" and some random text created by user.

 

I have also a Sharepoint list called "leads" in which there are columns as following:

Column#1 Project_name

Column#2 Name

Column#3 Surname

Column#4 Phone

Column#5 Email

Column#6 Your number  

 

I would like to:

1. extract from email subject Name and Surname

2. extract from email subject ABC (this is the project name so it doesn't change) 

3. extract from body Phone

4. get "from" email address 

5. extract from email body Your number

 

and use this data to update my Sharepoint list:

Column#1 ID: 1 ABC - Name Surname (and loop for incrementation the number at the begining for each new update)

Column#2 Name: Name from email subject

Column#3 Surname: Surname from email subject

Column#4 Phone: Phone from email body

Column#5 Email: email address ("from")

Column#6 Your number: Number from email body

 

I was trying to create some automation based on this post https://powerusers.microsoft.com/t5/General-Power-Automate/Use-variable-from-email-subject-as-the-ID...

however I receive an error that my ID should be integer not a text. 

 

Could someone please enlighten me why I get an error here ? Thank you in advance,

 

cheers,

Jacob

5 REPLIES 5

@JustJacob 

Hi there.  So, a couple of ideas... First (and easiest) would be a third-party tool like Parserr.  I use it all the time to do exactly what you're talking about.  Very easy to use and very worthwhile.

 

If that's not suitable for your scenario, then check out the split() function.  If you have consistent data, you can split off of the common delimiter (like ' - ') to get the name, and then split that on the space to get the first name separate from the last name.  Here's a video I did on it to get you started:

 

 

Keep us posted.

-Ed

 

If you liked this reply, please give it a thumbs up! If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

Thank you for your answer. As far as I could understand from error message, there is a problem with "ID" of the Sharepoint list item in "Get item" section. I cannot figure out how to choose correct ID of the row which I would like to update. 

 

Error details: Input parameter 'id' is required to be of type 'Integer/int64'. The runtime value '"Name"' to be converted doesn't have the expected format 'Integer/int64'.

@JustJacob 

Ok, I think I understand better now.  Is the flow getting the correct value now from the subject line but just throwing an error because it can't match to the SP list?  Can you post what you have so far?  It might just be a matter of wrapping an int() around the thing you're using to pull the number from the subject line of the email.

 

Let us know.

Thanks

-Ed

If you liked this reply, please give it a thumbs up! If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

@edgonzales Thanks. I've managed to rewrite the flow which looks now as following:

 

1. When new email arrives (specific folder)

2. Compose: last(split(triggerBody()?['Subject'],'-')) 

My subject is like Matter Signature-Name Surname

3. HTML to text - > body 

4. Compose: first(split(body('Html_to_text'),'--------------------------------------------------------------------------------'))

5. Initiate variable:

name= ID

value= 0

6. Apply to each (output: attachments)

A) Create Sharepoint element (chosen site nad list):

- Name Surname = compose from point 2

- Matter signature = ID from point 5

- Email = from 

B) Increment variable:

name = ID

C) Update Sharepoint element 

- Identifier = Identifier (Sharepoint)

- Name Surname = compose from point 2

- Matter signature = ID

 

And now flow creates new item in Sharepoint list whenever email action is triggered, however ID remains "1" 😞 

 

I'm not sure if it wasn't mistake to rewrite whole flow, but now it almost seems to work. I've no idea how to split email body properly in order to get some data but for now I'd be overjoyed if it started to work as it is 🙂

@JustJacob 

Progress!  That's awesome.  Keep at it and you'll get this sorted out soon.

  • First, the ID.  When you say "...however ID remains "1" ", do you mean the ID in SharePoint?  That should be automatically increasing on its own, right?
  • On the body of the email, You can use the same split() technique as the subject...but instead, use a delimiter of 'phone' or 'your phone' or whatever sets that piece aside.  Wrap a second split around that on whatever typically follows the phone value you want, and this time grab the first element.

 

If you can post a sample of the body, I can help write the expression if you'd like.

 

Keep at it!

-Ed

 

If you liked this reply, please give it a thumbs up! If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

New Ideas Forum MPA.jpg

A new place to submit your Ideas for Power Automate

Announcing a new way to share your feedback with the Power Automate Team.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Users online (3,551)