← Al Davies, 250 High Street

Create a SharePoint list item from an email

Short answer: start with the Outlook shared mailbox trigger "When a new email arrives in a shared mailbox (V2)", then the SharePoint action "Create item" to add one row per email, then "Add attachment" to copy each file onto that row. The place to build it is https://make.powerautomate.com. The flow fills the sender, subject and body. A person sets the owner and due date.

What the flow does

A team address gets requests all day. Someone reads each message and types the same facts into a list: who sent it, what it says, what was attached. The flow does that typing. Each new email becomes one row. The inbox stays the place where requests arrive. The list becomes the place where they are tracked.

The flow has four parts:

  1. A trigger that fires when a new email reaches the shared mailbox.
  2. A "Create item" step that adds the row.
  3. A loop over the attachments.
  4. An "Add attachment" step that puts each file on the new row.

Before you start

Step 1. Build the list

Create a blank list on your SharePoint site. Microsoft says: "A blank list opens with a standard "Title" column on the left." Exact names may differ on your screen. Add these columns:

Our advice, not a Microsoft rule: the number in front of each choice keeps your order in the choice list and in the flow. The Status value the flow writes must match the choice text exactly, including the number: 1 New.

Step 2. Add the trigger

  1. Start a new automated cloud flow in Power Automate.
  2. Choose the Outlook trigger "When a new email arrives in a shared mailbox (V2)". Exact names may differ in your version.
  3. In "Original Mailbox Address", enter the shared mailbox address. Microsoft describes it as "Address of the shared mailbox."
  4. Narrow the mail. The trigger offers these filters: Folder, To, CC, To or CC, From, Importance, Only with Attachments, Include Attachments and Subject Filter. Subject Filter matches text in the subject line. Leave "Only with Attachments" off, because you want rows for emails with no files too.
  5. Set "Include Attachments" to No. See Step 4 for why.

Large emails and protected emails can be skipped by the trigger, so a skipped email will not become a row. The details are on Microsoft's Outlook connector page, linked at the end. Keep a way to spot skipped mail, such as a quick look at the inbox each week.

Microsoft also lists this known issue: "The trigger won't work in cases of user-to-user shared mailboxes unless one of the users has full access to the other mailbox (which includes more permissions than just sending emails)." If your address is a person's mailbox that is shared with others, read that before you build.

Step 3. Add "Create item"

  1. Add the SharePoint action "Create item". Microsoft describes it as "Creates a new item in a SharePoint list."
  2. For Site Address, pick your site. Microsoft's example is https://contoso.sharepoint.com/sites/sitename. For List Name, pick the list from Step 1.
  3. The column fields appear after you pick the list. Fill them from the trigger's dynamic content:
    • Title: the email subject.
    • Sender: the sender's address.
    • Received: the received time.
    • Message: the email body.
    • Status: type 1 New.
  4. Leave Owner and Due date empty. Triage is a human job. One way to start: one person looks at new rows each morning and sets both.

The step returns the new row's Id. You need it in Step 5.

Step 4. Loop over the attachments

One email can carry no files, one file or many. Add an "Apply to each" action below "Create item". Feed it the list of attachments from the trigger output. If the email has none, the loop runs zero times and the row still exists.

Why "Include Attachments" is No: Microsoft's Outlook connector page lists a timeout known issue for the "When a new email arrives (V3)" trigger when many emails with attachments arrive together. Its fix is to set Include Attachments to No and add the Get Attachment (V2) action. For the full wording and the shared mailbox case, see "Save email attachments to SharePoint automatically". Test with a mail that has two files.

With Include Attachments off, the file name and the inline flag are still in the trigger output, so you can build the row before you download anything.

Step 5. Fetch each file and add it to the row

Inside the loop, add two actions.

  1. The Outlook action "Get Attachment (V2)". Its job is to fetch one attachment of one email. It needs a message Id ("Id of the email.") and an attachment Id ("Id of the attachment to download."). It also has the optional field "Original Mailbox Address", described as "Address of the shared mailbox to retrieve attachment from." Fill that field with the same shared address, because the email lives in that mailbox.
  2. The SharePoint action "Add attachment". Microsoft describes it as "Adds a new attachment to the specified list item." Its fields are Site Address, List Name, Id ("Id of the list item to attach the file to."), File Name and File Content ("Content of the file."). Use the Id returned by "Create item" from Step 3. Use the attachment name for File Name and the content from "Get Attachment (V2)" for File Content.

Microsoft also says: "This connector supports list item attachment sizes up to 90 MB."

Signature logos arrive as inline attachments. The attachment info carries an "Is Inline" flag. To keep logos off your rows, add a Condition inside the loop that tests this flag for false, and put "Get Attachment (V2)" and "Add attachment" in the "If yes" branch.

Step 6. Test it

  1. Turn the flow on.
  2. Send a test email with no file, then one with a file, then one with two files and a signature picture.
  3. Open the flow's run history and check that each run succeeded.
  4. Open the list. You should see one row per email, with the right subject, sender and files.

What to avoid

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

Can the flow read a personal inbox instead of a shared mailbox?

Yes. The Outlook connector has a trigger named "When a new email arrives (V3)" for your own mailbox. Microsoft describes it as "This operation triggers a flow when a new email arrives." The steps after the trigger are the same. Ask your admin before you point a flow at any mailbox.

Why did a row not appear for an email I sent?

Check three things. First, the trigger filters: a Folder, From or Subject Filter value may exclude it. Second, the size: the trigger can skip very large mail, as the connector page explains. Third, the run history, which shows whether the flow ran and where it failed.

Where do the files show up in the list?

They are list item attachments. Open a row to see them. For where they are stored, see "Where SharePoint list attachments are stored, and when to use a library".

Can the flow reply to the sender?

Yes, with a separate step. The Outlook connector has the action "Send an email from a shared mailbox (V2)". Your account needs permission on that mailbox. One way to start: send a short "Request received" message with the row's Id in it.

How do I stop two rows for one email?

Our advice, not a Microsoft rule: add a column for the email's message Id and, before Create item, use Get items to look for a row with that value. Set Top Count in Get items, and turn Pagination on if the list may hold more rows than Top Count. Two emails that arrive at the same moment can both pass this check, so review the list now and then.

Sources