To link a SharePoint document library to a list, add a lookup column to the library that takes its values from a column in the list. Then put both on a page, turn on Dynamic filtering on the library’s web part, and selecting an item in the list filters the library to the documents tagged with it.
In my demo I used an invoices library and a master list of vendors. Each invoice gets tagged with a vendor from the list, and a Vendor Portal page shows paid and rejected invoices side by side, filtered to whichever vendor you click. It’s all built in the SharePoint interface, with no code or Power Automate.
Before you start
- Both the list and the library on the same site. Microsoft’s lookup column guidance says lookup columns should be created and used within the same site.
- Permission to change the library. You need to be able to add columns and create views. Turning on relationship enforcement (restrict or cascade delete) needs Manage Lists permission.
- A source column of a supported type. The column you look up can be single line of text, number, date and time, or a single-value lookup. Choice, person, yes/no, currency, hyperlink, calculated and multiple lines of text can’t be used as the source.
- New to library columns? Start with adding metadata columns to a SharePoint library.
Create the master list
- On the site, select New, then List, then Blank list.
- Name it after the thing you’re tracking. Mine was Vendors.
- Add an item for each vendor in the Title column. I added Microsoft, Apple, Contoso and Fabrikam.
The list can carry more than names, like a contact person or website for each vendor, and you choose which of those the library shows when you create the lookup.
Add the lookup column to the library
- Open the library and select Add column, then Lookup, then Next.
- Give the column a name (mine was Vendor name).
- Under Select list as a source, choose your master list.
- Under the column selection, choose the column whose values people will pick from. Use Title.
- To show other fields from the list alongside it, open More options and tick the extra columns. Each one appears as its own read-only column in the library.
- Select Save.
- Tag your documents: select one or more files, open the details pane, choose the value from the new column and save. Selecting several files at once tags them together.
Once it’s filled in, the lookup column works like any other metadata column, so you can filter, sort and group the library by it. In the second video below I used the same pattern for a client dashboard, with a projects library (built on document sets) and a contracts library both looking up a Clients list, and the projects lookup also brought across the client’s primary contact name.
Build views for the page
Each library web part on the page shows one view, so create the views first.
- In the library, filter to what one web part should show (in my demo, Status is Paid).
- Select the view name, then Save view as, and name it (Paid). Repeat for each web part (Rejected).
- Trim each view with Show/hide columns so it fits the page, but keep the lookup column in every view, because dynamic filtering filters on it.
Connect the web parts with dynamic filtering
- Create a page (New, Page) and lay it out. I used a vertical section for the vendor list and a single column for the invoices.
- Add a List web part and choose your master list. In its properties pick a view that shows just the Title, and turn off the command bar and See all link.
- Add a Document library web part, choose the library and pick a view. Add a second one if you want another view of the same library.
- Select Edit properties on the library web part and turn on Dynamic filtering.
- Set Column in [library] to filter to your lookup column, List or Library containing filter value to the master list, and Column containing the filter value’s properties to Title.
- Select Apply. Repeat for each library web part, then Republish the page.
On my Vendor Portal, selecting Microsoft showed one paid invoice and no rejected ones, and selecting Apple showed a rejected invoice. Selecting two vendors at once showed both vendors’ invoices. The setting names match Microsoft’s connect web parts steps.
What to watch for
- The lookup threshold. By default a view can’t use more than 12 lookup, Person or Group and workflow status columns between them, per Microsoft’s guidance on large lists and libraries. Extra fields brought across from the source count too, so keep page views lean.
- Deleting from the master list. If relationship enforcement is off, deleting a vendor clears it from every invoice tagged with it, according to Microsoft’s lookup guidance. Turn on Enforce relationship behavior with Restrict delete if vendors shouldn’t be deleted while they’re still in use.
- Large lists. In a list over the 5,000 item list view threshold, SharePoint can block you from turning on restrict or cascade delete, and a delete touching more than 1,000 items is blocked.
- Other sites. A lookup can’t reach a list on another site. If several sites need the same values, a managed metadata column from the term store is the better fit.
Give the master list one owner
Every library tagged from the master list depends on the names in it being right, so I’d give the list one owning team (accounts payable for vendors, the account managers for clients), give everyone else read access, and keep a single list per site that every library looks up. Two vendor lists with slightly different spellings leave you with the same mismatched tags you’d get from typing vendor names in by hand.
I’d use a lookup over a choice column when the values change often or carry their own details. A choice column suits a short, stable set like a status. Vendors and clients come and go, and with a lookup you add the new client once in the list and every library sees it straight away, along with the contact details you’ve chosen to bring across. The list also gives you something to click on a page, which a choice column can’t.
Then I’d build the page around the question people ask, like “what do we have for this client?”. A page with the client list on one side and the projects and contracts libraries on the other answers it in one click. If you want the page to show charts and totals as well as documents, a Copilot-built dashboard on a Microsoft List is the next step up.
Frequently asked questions
Can a lookup column allow more than one value? Yes. When you create the column, turn on the option to allow multiple selections, so a document can be tagged with two vendors. A multi-value lookup can’t then be used as the source for another lookup.
Does the source list need to be on the same page? Yes. Microsoft’s steps start by adding the source list or library to the page in its own web part, and that web part is what people click to filter the others. Dynamic filtering isn’t available on classic pages.