# My flow email goes out without the attachment

> For the full documentation index, see https://250highstreet.com/llms.txt

> Power Automate email arrives with no attachment or a broken file? Give the email a file name with its extension and the file content, not a link.

Short answer: Send an email (V2) needs the file name and the file content for each attachment, not a link or a file path. Add Get file content, then put the name (with its extension) and the content in the Attachments fields. The whole payload must stay under 100 MB, and the Outlook connector lists 49 MB for the content of one mail. If you send more than one file, build them into an array first and send one email.

## What happens

You build a flow that sends an email. You expect a PDF or a spreadsheet to come with it. The email arrives and the file is missing. Or the file is there, but it will not open. Or it opens as a blank page.

The reason is that the email step only sends what you hand to it. A file in SharePoint is not "in" the flow. The flow has to read the file first. Then the email step needs the file's content and a name for it.

## Signs this is happening to you

- The email arrives with no attachment at all.
- The attachment shows up, but it has no file type, such as "report" and not "report.pdf".
- The attachment is there, but Word, Excel or a PDF reader says the file is damaged.
- The email contains a long web address where you expected a file.
- One file works. Two or more files give broken results.

## What Microsoft says about the attachment fields

On the Office 365 Outlook connector reference page, the Send an email (V2) action lists two attachment parameters, and both are marked as required:

- Name, described as "Attachment name". Its type is string.
- Content, with the key ContentBytes, described as "Attachment content". Its type is byte.

Our advice, not a Microsoft rule: read "byte" as "the file itself" and not "a link to the file". A web address is text. A file is bytes. If you paste an address into Content, the email step has no file to attach.

The SharePoint connector page describes the action that reads a file: "Gets file contents using the file identifier. The contents can be copied somewhere else, or be used as an attachment." Its output is listed as File Content.

## Before you start

You need a flow that already runs, and a file you want to send. This guide covers the email part only.

## Step 1. Get the file content

1.  Open [https://make.powerautomate.com](https://make.powerautomate.com) and open your flow for editing.
2.  Add the SharePoint action "Get file content" before the email step.
3.  Set the Site Address to your site.
4.  For File Identifier, pick the file from the earlier step's dynamic content. Do not type a path yourself if the picker offers the file.

The action returns File Content. That is the value the email step needs.

If the file is attached to a list item and not stored in a library, use the list attachment actions instead. For that setup, see "[Email the files attached to a SharePoint list item](/guides/power-automate-email-list-item-attachments/)". For where those files are kept, see "[Where SharePoint list attachments are stored, and when to use a library](/guides/where-do-sharepoint-list-attachments-go/)".

## Step 2. Add the email step

1.  Add the Outlook action "Send an email (V2)".
2.  Fill To, Subject and Body. These three are required on Microsoft's page.
3.  Open the advanced options and find the attachment fields. In the designer they may appear as Attachments Name and Attachments Content.
4.  For the name, use the file's name from the earlier step. It must include the extension, such as .pdf or .xlsx.
5.  For the content, pick File Content from the Get file content step.

Our advice, not a Microsoft rule: use the dynamic content picker for both fields. Typing a step name yourself is where small typos creep in, and a typo can leave the field blank.

## Step 3. Fix the file name

A name with no extension can leave the reader with a file the computer does not know how to open. Check what the name field holds.

- If the name comes from a column that holds only the title, the extension may be missing.
- If you build the name yourself, join the text and the extension, for example the title, then a dot, then pdf.
- If the file is a picture, keep its own extension. Do not rename a .png to .pdf.

Our advice, not a Microsoft rule: after any change, send a test to yourself and open the file from the email.

## Step 4. Send more than one file

This is where broken files show up. Microsoft's page says: "In some cases when using Send an email V2 to send multiple attachments, the resulting files may be invalid." It then gives a workaround:

1.  Initialize a variable of type array.
2.  Use the Append to array variable action to add each attachment.
3.  Set the attachment variable using a dynamic expression that refers to the array.

In plain steps for a flow with two files:

1.  Add "Initialize variable". Name it varAttachments. Type: Array. Leave the value empty.
2.  For each file, get its content, then add "Append to array variable" with an object that has two fields: Name and ContentBytes.
3.  Add "Send an email (V2)" once, after the files are added. Switch the Attachments field to the mode that takes an entire array and pick varAttachments.

Our advice, not a Microsoft rule: keep the email step outside any loop. If it sits inside a loop, you get one email per file.

## Step 5. Check the size

Microsoft's Power Automate limits page lists a message size of 100 MB and says: "When you send files through a connector, the overall size of the payload and not just the file needs to be under 100 MB." Microsoft's Office 365 Outlook page lists "Maximum mails content length (in MB)" as 49. It also lists a total for send actions of 500 MB per connection every 5 minutes. A few big files can pass the size of one email. The SharePoint page says list item attachments are supported up to 90 MB, which is larger than the mail limit.

Your own mail system may set lower limits. Our advice, not a Microsoft rule: if a file is large, send a link to the file in the email body instead, and make sure the people who get the email have access to the site.

## Where the file comes from

The email step is the same each time. Only the action that fetches the file changes.

## A SharePoint list item attachment

Use two SharePoint actions. Microsoft describes Get attachments as returning "the list of attachments for the specified list item" and says you can add a "Get attachment content" step and use the "File identifier" property to reach the contents. Get attachment content takes the site address, list name, item Id and the file identifier. Put the attachment name and its content into the email. The email step goes inside the loop over the attachments only if you want one email per file.

## A Microsoft Forms response

The Forms connector trigger returns a response Id. Microsoft says to use it "with 'Get response details' action to fetch the content of the form response." Before you map an uploaded file, run the flow once with a real response and read the outputs of Get response details in the run history.

## A OneDrive file

Microsoft lists Get file content for OneDrive for Business as "This operation gets the content of a file." and a path version, Get file content using path, that does the same from a file path. Use the output as the Content of the attachment.

## A file created in a SharePoint library

Microsoft says the trigger "When a file is created (properties only)" returns only the properties stored in the library columns, and tells you to add a "Get file content" step and use the "File identifier" property returned by the trigger. Then add the email step as in Step 2. If you pick a trigger that also fires when a file is modified, add a guard so the flow does not send twice: a Yes/No column named Sent with its default value set to No, a check that Sent is No, the email step, then an update that sets Sent to Yes.

## An Excel workbook

To send the workbook itself, treat it like any other file in a library or OneDrive and use Get file content. Microsoft's Excel Online (Business) page lists actions that work on tables, rows and worksheets, such as Create table, Add a row into a table and List rows present in a table. It lists none that turns a table into a file. To send the data of a table as a file, the workbook has to hold that data and be sent whole, or you build the file another way.

## Include Attachments on email triggers

If your flow starts from an incoming email, Microsoft says the Include Attachments parameter "controls only attachments content, but not the attachments metadata (like Id, Name, Content Type, Size, and Is Inline)". With it off, you get the names but not the content. Microsoft also says that setting it to Yes can make the trigger time out when many emails with attachments arrive at once, and suggests setting it to No and adding the Get Attachment (V2) action to download the file.

## Step 6. Test it

1.  Run the flow with one small PDF. Open the email, then open the PDF.
2.  Run it with two files of different types, for example a PDF and a picture.
3.  In the run history, open the email step and check the name and content fields you sent.
4.  Test with someone other than yourself, such as a co-worker, to confirm it reaches them.

## If the flow was copied from an email trigger

The Outlook connector page lists a known issue for digitally signed emails: "the action output may contain incorrect attachment content, which can't be used as input in subsequent actions (for example, to create a new file with attachment content)." If your flow forwards attachments from signed emails, expect trouble. Our advice, not a Microsoft rule: test with an unsigned email first to see whether signing is the cause.

## What to avoid

- Do not paste a link into the attachment content field. It needs the file content.
- Do not leave the extension off the file name.
- Do not put Send an email (V2) inside a loop when you want one email.
- Do not attach large files and assume they will arrive. Check the 49 MB mail limit first.
- Do not test with one file only. Test with two.
- Do not email private files without thinking. Anyone who gets the email can forward it.

## Honest limits

This guide covers one cause: the email step was not given the file content and a name. Other things can also stop mail, such as a mailbox rule at your company or a blocked file type. Your admin can see those. If the email does not arrive at all, see "[Approver never gets the Power Automate approval email](/guides/power-automate-approval-email-not-received/)" for ideas that also apply to normal mail. If you get repeat emails, see "[Power Automate sends the same email two or three times](/guides/power-automate-email-sent-multiple-times/)". To send from a shared mailbox, see "[Send Power Automate emails from a shared mailbox](/guides/power-automate-send-email-from-shared-mailbox/)".

Exact names may differ on your screen.

## When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: \$5,000 for one, built in 2 weeks. See "[What a SharePoint tracker costs to build](/guides/what-a-sharepoint-tracker-costs/)". Bring one example of the problem to a free call.

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: [Tools I built](/portfolio/)

## FAQ

### How do I send a SharePoint list item attachment by email?

Use Get attachments for the item, then Get attachment content with the file identifier. Put the attachment name and that content in the Attachments fields of Send an email (V2).

### How do I attach a OneDrive file to a flow email?

Use the OneDrive for Business action Get file content, which Microsoft describes as "This operation gets the content of a file." Pass its File content and the file name, with extension, to the email step.

### How do I email a file when it is created in a SharePoint library?

Start with "When a file is created (properties only)", add Get file content with the File identifier from the trigger, then add Send an email (V2). Use a Sent flag guard if the trigger also fires on changes.

### Can I attach an Excel table as a file?

Microsoft's Excel Online (Business) page lists no action that turns a table into a file. Send the workbook with Get file content, or build the file another way.

### What is the largest email I can send?

Microsoft's Outlook connector page lists "Maximum mails content length (in MB)" as 49, and the Power Automate limits page says the overall payload must be under 100 MB. Your own mail system may set a lower limit.

## Sources

- [Microsoft Learn, Office 365 Outlook connector reference (Send an email V2)](https://learn.microsoft.com/en-us/connectors/office365/)
- [Microsoft Learn, SharePoint connector reference (Get file content)](https://learn.microsoft.com/en-us/connectors/sharepointonline/)
- [Microsoft Learn, Limits of automated, scheduled, and instant flows](https://learn.microsoft.com/en-us/power-automate/limits-and-config)
- [Microsoft Learn, OneDrive for Business connector reference (Get file content)](https://learn.microsoft.com/en-us/connectors/onedriveforbusiness/)
- [Microsoft Learn, Microsoft Forms connector reference (Get response details)](https://learn.microsoft.com/en-us/connectors/microsoftforms/)
- [Microsoft Learn, Excel Online (Business) connector reference](https://learn.microsoft.com/en-us/connectors/excelonlinebusiness/)

## Related guides

- [Save email attachments to SharePoint automatically](/guides/power-automate-save-email-attachments-to-sharepoint/)
- [Send an approval with attachments from a SharePoint list](/guides/power-automate-approval-with-attachments/)
- [Microsoft Forms file upload is greyed out for outside people](/guides/microsoft-forms-file-upload-greyed-out/)

Source: https://250highstreet.com/guides/power-automate-send-email-with-attachment-not-working/
