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:
- A trigger that fires when a new email reaches the shared mailbox.
- A "Create item" step that adds the row.
- A loop over the attachments.
- An "Add attachment" step that puts each file on the new row.
Before you start
- Ask your admin for access. Microsoft describes the shared mailbox trigger this way: "Your account should have permission to access the mailbox for this operation to succeed." The same page says: "After the permissions are granted for the account to access the shared mailbox, it can take about two hours until the permissions are replicated on the platform."
- Your admin knows which plan your company has, and that decides whether this flow is covered.
- Sign in to https://make.powerautomate.com with the work account that has access to the mailbox.
- Build the list first. For the shared inbox side of this problem, see "Requests lost in a shared inbox: add an owner and a status".
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:
- Title: the email subject goes here. Title is required by default. Keep it, or rename it to "Subject". You can also turn off the Require setting in the column settings.
- Sender: single line of text. The flow fills it with the sender's address.
- Received: date and time.
- Message: multiple lines of text. The flow fills it with the email body.
- Status: Choice, with the choices 1 New, 2 In progress, 3 Waiting, 4 Done. Set the default value to 1 New. A blank status hides rows from status views, so set the default.
- Owner: Person. A human fills this in.
- Due date: Date. A human fills this in.
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
- Start a new automated cloud flow in Power Automate.
- Choose the Outlook trigger "When a new email arrives in a shared mailbox (V2)". Exact names may differ in your version.
- In "Original Mailbox Address", enter the shared mailbox address. Microsoft describes it as "Address of the shared mailbox."
- 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.
- 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"
- Add the SharePoint action "Create item". Microsoft describes it as "Creates a new item in a SharePoint list."
- 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.
- 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.
- 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.
- 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.
- 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
- Turn the flow on.
- Send a test email with no file, then one with a file, then one with two files and a signature picture.
- Open the flow's run history and check that each run succeeded.
- Open the list. You should see one row per email, with the right subject, sender and files.
What to avoid
- Do not build this on a personal mailbox without asking. The flow reads whatever reaches the mailbox.
- Do not let the flow set the owner. A guess puts work on the wrong person.
- Do not skip the default status. Without one, new rows may be missing from your status views.
- Do not trust the list as a full copy of the inbox. Large or protected emails can be skipped by the trigger.
- Do not mix test mail with real mail. Delete the test rows before the team starts to use the list.
- Do not add a flow that edits these rows and triggers on "item created or modified" without a guard. See "Power Automate flow keeps running itself over and over".
Related guides
- To send replies from the team address, see "Send Power Automate emails from a shared mailbox".
- To save files to a document library instead of a row, see "Save email attachments to SharePoint automatically".
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.
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
- Microsoft Learn, Office 365 Outlook connector
- Microsoft Learn, SharePoint connector
- Microsoft Support, Create a list