← Al Davies, 250 High Street

Send an approval with attachments from a SharePoint list

Short answer: an approval does not read a list item's files by itself. Your flow has to fetch the file first with the SharePoint actions Get attachments and Get attachment content. Then you pass the file's name and content into the attachment fields of the approval. Also add a link to the list item, so the approver can always open the full record.

What happens

Someone adds a row to a SharePoint list and attaches a quote, an invoice or a photo. You build a flow with a "Start and wait for an approval" step. The approver gets the request, but the file is not in it. The approval only knows the fields you gave it: title, details, link and people.

The file is stored with the list item, apart from the columns. The flow must read it with its own actions and hand it over. For where those files live, see "Where SharePoint list attachments are stored, and when to use a library".

Signs this is happening to you

What the Microsoft pages say

Exact names may differ on your screens.

Before you start

You need a SharePoint list with attachments on, and a Power Automate account at https://make.powerautomate.com. Check with your admin which license your team needs for approvals.

One setup note. Every list has a Title column. Rename it to something useful, such as the request name, or turn off Require. If the flow later updates the item, the Update item step asks for Title, so fill it from the trigger.

Say your list is "Purchase requests" with these columns: Title, Requester, Approver email, Amount (Number) and Status. Status is a Choice column with the choices 1 Submitted, 2 Approved and 3 Rejected. Set a default value of 1 Submitted, so a new row never has a blank status and drops out of your status views. The number prefix keeps your order, because a Choice column sorts by its text.

Step 1. Start the flow when an item is created

Open https://make.powerautomate.com and start a new automated cloud flow. Choose the SharePoint trigger "When an item is created", then fill in the Site Address and List Name of your purchase list.

Step 2. Get the attachments

Next, add the SharePoint action "Get attachments" and point it at the same site and list. Hand it the new item's ID from the trigger's dynamic content. You get back a list with one entry per attached file, each carrying a name and a file identifier.

Step 3. Get the file content

For one file per request, add "Get attachment content" and set the site address, list name and item Id. For File Identifier, pick the Id of the attachment from Get attachments.

Our advice, not a Microsoft rule: if the form should only ever take one file, say so on the form and add a check that the count is 1, so the flow does not fail on empty or extra files. If requests can have several files, test how your approval step takes them before you build the rest, because the page above lists a Name field and a Content field and does not give a loop pattern.

Step 4. Build the approval

  1. Add the approval action "Start and wait for an approval".
  2. Choose an Approval type. Microsoft's attachments example uses Approve/reject - First to respond.
  3. Title: pick the list item's Title.
  4. Assigned to: pick the approver email column.
  5. Details: write the amount and the requester, using the picker. You can format it with markdown.
  6. Item link: pick the link to the list item.
  7. Item link description: type "Open the request".
  8. Select Show advanced options. Set Attachments Name - 1 to the attachment's name, with its file extension, and Attachments Content - 1 to the output of Get attachment content. Microsoft says: "The file content needs to be binary encoded." Exact names may differ in the new designer.

If two files share one name, the approval cannot be created, so rename one before it is attached. Our advice, not a Microsoft rule: add the file name and size to Details as well, so the approver can see what to expect.

Step 5. Act on the answer

  1. Add a Condition. Use the response from the approval, and test that it is equal to Approve.
  2. In the Yes branch, add SharePoint "Update item". Set Status to 2 Approved. Fill Title from the trigger.
  3. In the No branch, add "Update item". Set Status to 3 Rejected. Fill Title from the trigger.

Microsoft's tutorial uses the same shape: a Condition on the approver's response, then an Update item step in each branch, and it says the Site Address, List Name, Id and Title fields are required.

If you trigger on "item created or modified" instead, the Update item step changes the item and can start the flow again. Add a guard condition, such as Status is equal to 1 Submitted. See "Power Automate flow keeps running itself over and over".

Step 6. Test it

  1. Add a list item with a PDF attached.
  2. Open the run history and check that Get attachments returned one entry.
  3. Open the approval email, the approvals center or the app. Open the file.
  4. Reject one request and approve another. Check Status each time.
  5. Add an item with no file and see what the flow does. Fix it before real use.

If you also want the files sent by email

Approvals and email are different actions. To send files in a normal email, see "Email the files attached to a SharePoint list item".

Keep a record

Who approved and when matters later. See "Keep an audit trail of every approval". For the bigger picture, see "Approvals lost in email: how to stop chasing sign-offs".

What to avoid

Honest limits

Markdown in Details can look different in each client. Microsoft's markdown page says "Markdown isn't currently supported for the Approvals app on Microsoft Teams." Guests may need to act on the approval in the Power Automate portal, as the connector page states for Outlook actionable mail. Labels in Power Automate get renamed now and then, so match each step by what it does, not by its exact name.

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". Bring one example of the problem to a free call.

Tell me what's still manual

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

FAQ

Why does my approval email have no file?

The approval only holds what you pass into it. Get the attachment, get its content, and set the attachment Name and Content fields of the approval.

How big can the file be?

Microsoft's SharePoint connector page says list item attachments are supported up to 90 MB. For a big file, send the Item link and leave the file on the list item.

Can the approval carry a link to the file instead?

Yes. Point the Item link field at the list item, and the approver opens the file there. They need access to the site.

What if two files have the same name?

Microsoft lists this as a limit: approvals with multiple attachments of the same name cannot be created. Rename one first.

Where can the approver respond?

Microsoft says from the email inbox, the approvals center in Power Automate, or the Power Automate app.

Sources