cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
RDolfing
Level: Powered On

Send 1 email with all attachments

Situation:

  • We have a sharepoint "tickets" list.
  • A ticket can contain multiple attachments.
  • We use a flow to send a status email about the changes to their ticket.

If we send a status update and there are no attachments, then my flow works perfectly.

If we send a status update and there is only 1 attachment, then it also works perfectly.

However, when we send a status email and there are multiple attachments in that ticket, then as many status emails are sent as there are attachments.

 

My current flow looks like this:Naamloos.png

I have read a lot and tried a lot, but the flow continues to send multiple emails equal to the number of attachments. I hope someone can say what I am doing wrong or has a solution for me.

1 ACCEPTED SOLUTION

Accepted Solutions
Harry_G
Level 8

Re: Send 1 email with all attachments

@RDolfing ,

for txt. file you have to convert content byte in Base64. Try to use this formula

{
  "Name": "@{items('Apply_to_each')?['DisplayName']}",
  "ContentBytes": "base64(body('Get_attachment_content'))"
}

Thanks,

Harry_G

12 REPLIES 12
Super User
Super User

Re: Send 1 email with all attachments

@RDolfing, your Send an email is inside the Apply to each so will; send an email for each attachment. Try moving it below/outside the apply to each.

Rob
Los Gallardos
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.

Harry_G
Level 8

Re: Send 1 email with all attachments

Hi @RDolfing ,

First of all get your send Email Action out of the Apply to each Section Like this;

1.JPG

Now Select Attachment in send Email action;

2.JPG

For Any Assitance feel free to Post.

Thanks,

Harry_G

RDolfing
Level: Powered On

Re: Send 1 email with all attachments

Thank you for the suggestion. I've tested that already... then it's giving me an error:

 

The template validation failed: 'The inputs of template action 'Send_an_email' at line '1 and column '5111' is invalid. Action 'Apply_to_each' must be a parent 'foreach' scope of action 'Send_an_email' to be referenced by 'repeatItems' or 'items' functions.'.

 

When I re-edit the Attachments Name - "DisplayName" and my variable "TicketAttachments" in Attachments Content within "Advanced Options" of "Send an email", hits [Save[ again... my flow is automatically adjusted and a message appears:

 

Based on the output parameters you selected, we've added a for each container for you. For each enables you to perform actions for each individual item in a set of values

 

So a new "Apply to each" appears:Naamloos.png

 

 

RDolfing
Level: Powered On

Re: Send 1 email with all attachments

Hi @Harry_G  (and @RobElliott )

 

I managed to configure the "Send an email" outside the "Apply to each" Section, by "Attachments" clicked to switch view and added my variable. Saved the flow again did a testrun. It fails now:

 

Error
Action 'Send_an_email' failed

 

Error Details
Parameter 'Attachment Content' cannot be null or empty.
clientRequestId: 7f04ead9-df5d-43d1-a879-5f1d9dc546f3

 

Note that the same variable was used before and was succesfull (ie only 1 email per attachment)

So why is the content now empty?

Harry_G
Level 8

Re: Send 1 email with all attachments

@RDolfing Kindly upload your screen shot of error with full Flow and expression written in append to variable action.

 

Thanks,

Harry_G

RDolfing
Level: Powered On

Re: Send 1 email with all attachments


@Harry_G wrote:

@RDolfing Kindly upload your screen shot of error with full Flow and expression written in append to variable action.

 

Thanks,

Harry_G


Hi @Harry_G ,

 

My full flow including the expression written in "append to array variable"Naamloos.png

 

The exact code:

{
  "Name": @{items('Apply_to_each')?['DisplayName']},
  "ContentBytes": @{items('Apply_to_each')?['$content']}
}

The error screenshot after a testrun:Knipsel.PNG

The exact error:

Parameter 'Attachment Content' cannot be null or empty.
clientRequestId: 88479fd5-2ee9-4ce7-bcc8-cb30495f9d99
RDolfing
Level: Powered On

Re: Send 1 email with all attachments

@Harry_G 

Another addition after moving the "for each" befor the "condition".

The array variable is filled with the (in this case 3) attachments but the ContentBytes is now "null"?Knipsel.PNG

 

Harry_G
Level 8

Re: Send 1 email with all attachments

@RDolfing ,

for txt. file you have to convert content byte in Base64. Try to use this formula

{
  "Name": "@{items('Apply_to_each')?['DisplayName']}",
  "ContentBytes": "base64(body('Get_attachment_content'))"
}

Thanks,

Harry_G

RDolfing
Level: Powered On

Re: Send 1 email with all attachments

@Harry_G ,

n advance, I am happy with the help you offer! So thanks for that!

However, I have pasted that code and then re-executed the flow, after which I received the error message below.

Unable to read message or attachment content.
clientRequestId: 5a94a6e2-2484-476b-a834-58dddfd64ae9
serviceRequestId: 898c1a6e-e25c-4f0d-a620-787213ca9838

Conclusion: it appears that my previous workflow already works as long as they are not TXT attachments.
Is there a solution for this? So what if I have a PDF and a TXT attachment in a ticket? Or only TXT attachments (what I used during testing ;-)

Harry_G
Level 8

Re: Send 1 email with all attachments

@RDolfing ,

You just have to convert .txt attachment in Base64, however rest of attachment extension already in base 64 format. Please apply condition for .txt file. first three images show how to tackle .txt attachments and other 2 images show how to tackle with other than .txt file.

1.JPG12.JPG23.JPG34.JPG45.JPG5

Thanks,

Harry_G

RDolfing
Level: Powered On

Re: Send 1 email with all attachments

@Harry_G 

 

I have solved the issues... the TXT files were solved with the expression 

base64(body('Get_attachment_content'))

But what if you have a TXT and another attachment (such as PDF)? The solution for that, a second "append to array variable" with "configure run after" on "have failed" selected. That did the trick (together with your solution to convert it to base64) ;-)
Knipsel.PNG

 

 

 

deanvirag
Level: Powered On

Re: Send 1 email with all attachments

This comment was the key for me!! Thx!

Helpful resources

Announcements
firstImage

Microsoft Business Applications Virtual Launch Event

Watch the event on demand for an in-depth look at the new innovations across Dynamics 365 and the Microsoft Power Platform.

firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

Power Platform 2019 Release Wave 2 Plan

Power Platform 2019 Release Wave 2 Plan

Features releasing from October 2019 through March 2020.

thirdimage

Flow Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Flow Community Video Gallery!

Users Online
Currently online: 282 members 3,884 guests
Please welcome our newest community members: