To organize a source list, give every source exactly one row in a single structured table with a fixed set of columns, tag each row on two axes (topic, then role or status), and sweep the whole list once a week. A source list is a working database, not a bibliography: its job is to let you find, verify, cite and hand off any source later without redoing the research.
Most people get this wrong in the same way. They collect into a browser bookmark bar, a notes app and a folder of PDFs, then lose the trail when a link dies or a story needs two sources on the same claim. If you have more than about fifty sources in flight, the fix is structure, not a better app.
What follows is the setup I use with reporters: the fields to capture, the tagging rule, the verification routine and the fifteen-minute weekly sweep that keeps the list usable. It works the same for a student building a literature review or a newsletter writer chasing one story, and it does not depend on which tool you pick.
What You Need

You need one place to write rows down and a fixed list of what goes in each row. Everything else is optional. Before you open a tool, decide what a reporter has to know about a source so that a colleague could pick up the file cold.
The minimum viable set of details: full name or issuing organisation, role or title, one reliable contact route, the subject they can speak to with real authority, the date of the last conversation or access, and the story or claim each source supports. Two more fields decide whether the list is safe to publish from: whether the material is on the record or background, and whether the person consented to be contacted again.
Then choose your container. A spreadsheet is the fastest start and the easiest to hand off. Zotero or a similar citation manager earns its setup time once you are pulling in academic papers with metadata you would otherwise type by hand. A relational tool such as Airtable or Notion pays off when one source connects to several claims across multiple stories. A plain-text vault like Obsidian suits people who already live in Markdown and want search and backlinks without a database.
Whatever you pick, keep contact details separate from published attribution. A source’s phone number belongs in a restricted field, not in the note you paste into a draft.
Step-by-Step
Step 1: Define What You Need to Find
Turn the assignment into source criteria before you collect anything. Write down the subject, the geography, the role required, the time period the evidence covers, and whether you need primary evidence (the document itself, the person who signed it) or secondary coverage of it.
It worked when your criteria list can be read as a shortlist: “four procurement officers, county level, contracts signed in the last two fiscal years, primary documents preferred.” If the line reads “stuff about the budget,” you will collect twice as much and still miss the records you need.
Step 2: Create a Consistent Source Record
Every row in your source list should carry the same twelve fields. This copy-paste header row is the whole system:
| Column | What it holds | Required | Example |
|---|---|---|---|
| ID | Short unique key, never reused | Yes | BD-014 |
| Short title | Your own label, not the headline | Yes | County paving contracts, current fiscal year |
| Type | Document, dataset, interview, person, filing | Yes | Dataset |
| Author or org | Issuing body for records, person for interviews | Yes | County Purchasing Dept. |
| Date | Publication or record date | Yes | Recorded at capture |
| URL | Canonical link, not a shortened or redirect one | Yes | Full record URL |
| Access date | When you last opened it successfully | Recommended | Last weekly sweep |
| Topic tags | Two or three subject labels | Yes | roads; budgets |
| Supports | The story, section or claim this source backs | Yes | P2 — paving backlog |
| Verification | Unverified / checked / corroborated / refuted | Yes | Corroborated |
| Tier | Primary, secondary or background | Yes | Primary |
| Notes | Why it matters and the next action | Recommended | Ask about invoice 4412 |
The five that carry the most weight are ID, URL, Supports, Verification and Tier. The rest can start empty. It worked when you can sort by any one column and the list still means something — that is also the fix for the sorting complaints power users post on the Zotero forums, where a surname-only sort mixes up authors who share a last name.
Step 3: Separate Identity, Expertise and Availability
Record three different things for every person, and never blend them. Identity is who they are and how you confirmed it. Expertise is the narrow set of subjects they can discuss with authority. Availability is how you reach them, when they respond, and whether the contact route is current.
Add two flags for sensitive work: whether the contact is on the record or background, and whether you have permission to follow up again. It worked when you can answer “can I call this person today about that claim?” from the row alone, without re-reading four months of messages.
Step 4: Add Context to Every Lead
A bare link is worthless in six months. Capture why the source is relevant, what it actually said or contains, where it came from, and any conflict of interest you know about — an employer, a client, a pending case, a funder.
Write the next action into the row too: call back Tuesday, request the full record, send the questions in advance. It worked when someone who was not on the story could read the note and know whether the lead is live, what you still need, and what it would take to publish it.
Step 5: Verify and Qualify the Information
Verification is a value in a column, not a state of mind. Use four: unverified, checked, corroborated, refuted. Checked means you confirmed the identity and that the document or page exists as described. Corroborated means an independent source or a primary record backs it. Refuted means the claim did not survive checking, and it stays in the list so you do not re-chase it.
Run the routine in this order: confirm the source’s identity and credentials, then the claim itself, then dates and numbers, then the link, then a second independent source. Anything a generative tool gave you is unverified until a person has opened the original, because invented citations and wrong publication dates are the normal failure mode there. It worked when you can point at the row and name the thing that made it corroborated.
Step 6: Organize, Tag and Connect the List

Tag on two axes, never one. The first axis is topic: what the source is about. The second is role or status: what the source does for you — primary evidence, background, corroboration, dead lead, published. Single-axis tagging collapses after roughly fifty entries because every row ends up carrying a mix of subject and status in one field.
Keep a starter vocabulary of about fifteen tags and a hard ceiling of twenty active ones. Prune anything unused for two months. Group by story, beat or geography as well, but never nest folders more than one level deep and never create a misc or temp folder — those become the place everything ends up. It worked when you can filter to “primary evidence, roads, this quarter” without opening a single file.
Pick your container with the comparison below. There is no universal winner; there is only the mismatch that costs you time.
| Setup | Best for | Citation output | Watch out for |
|---|---|---|---|
| Google Sheets or Excel | Quick starts, team handoff, custom fields like verification and permission | Manual, style-formatted by hand | No automatic metadata; typing citations by hand is slow |
| Zotero or Mendeley | Academic papers, automatic metadata capture, style output | Automatic, one click per style | Setup time; custom fields are limited; sorting defaults to surname |
| Airtable or Notion | One source linked to several claims across stories; shared newsroom library | Manual or via an export | Permission hygiene gets harder as the base grows |
| Obsidian or plain Markdown | Search and backlinks over a personal archive; CSV and text portability | Manual, but with plugins | No built-in deduplication; discipline required |
For research that leans on published papers, users consistently point to the same trade-off: citation managers capture reference information automatically, which saves real time, but spreadsheets stay portable and easy to hand off. Pick the first and export to CSV regularly if lock-in bothers you.
Step 7: Review, Update and Back It Up
Book a fifteen-minute weekly sweep. Dedupe, test the links, update access dates and verification status, archive rows for closed stories, and prune tags nobody used. Link rot is silent and it is the single most common reason a source list becomes useless.
Then protect it. Restrict contact fields to the people who need them, keep the working list separate from any shared bibliography, and export a dated copy to a second location every week. A backup you have never restored from is a guess. It worked when you can restore last month’s list in under five minutes and see exactly what changed since.
Common Mistakes
These eight failures account for most of the mess I see in source files, and each one has a one-line fix.
- Bookmarks instead of rows. A browser bookmark bar cannot hold a verification status or a claim it supports. Every bookmarked item becomes one row the day you still care about it.
- Screenshots instead of links. A screenshot rots the moment a layout changes and it gives you nothing to cite. Save the canonical URL and the access date; keep the image only as a fallback.
- The PDF without the URL. You will need to cite it later and you will not be able to find the record page. Store the link and the file together, never one without the other.
- One giant undifferentiated list. Past roughly a hundred rows, everything is hard to find. Split by beat or story and tag from the start rather than sorting later.
- Duplicates with slightly different titles. Use a DOI or ISBN where one exists, or dedupe on URL plus author plus year. Duplicates quietly inflate your sense of how much evidence you have.
- Unverified claims treated as facts. Set the Verification column to unverified by default and change it deliberately. Anything an AI tool produced stays unverified until someone opens the original.
- Insecure storage. Phone numbers, home addresses and sensitive notes sitting in a shared sheet is a real risk for a newsroom. Split identity fields into a restricted view and publish attribution separately.
- Neglected follow-ups. If the next action only lives in your head or in a chat thread, it will be lost. Put it in the Notes field with a date.
One more worth naming: mixing contact details with published attribution on the same row. Keep the person reachable and the record publishable as two different things.
Frequently Asked Questions
How to properly list sources?
List every source in a single table with one row per source and the same fixed columns each time: a unique ID, short title, type, author or organisation, date, canonical URL, access date, topic tags, the story or claim it supports, verification status, source tier and notes. Properly means consistent and complete enough that a colleague can pick up the file and understand it without asking you anything.
How to make a source list?
Create one table with the twelve columns above, add a row the moment you save anything useful, fill the five mandatory fields before you close the tab, and tag each row with a topic and a role. Add a saved filter for your current project so you are not scrolling, and run a fifteen-minute dedupe and link check once a week. The tool matters far less than the fixed columns.
What are three ways to keep track of your sources while taking notes?
Three that work together: a reference manager such as Zotero for anything with formal metadata, a capture tool such as a browser extension or a share sheet that drops items straight into it, and a plain spreadsheet or database for the reporting-specific fields like verification status, permission and the claim each source supports. Most people end up using the first two continuously and the third only for interviews and documents.
How do I list sources in a blog?
Keep two lists. The working list holds everything you collected, messy and duplicated, and the published list is a clean deduplicated version formatted in one consistent style. For a blog, an end-of-post references section in a single style, or in-text links with a short source note, is usually enough. Never cite a link you have not opened and confirmed yourself.
Should I use a spreadsheet or a citation manager?
Use a spreadsheet when you are tracking interviews, documents, datasets and verification state, or when several people need to edit the same list. Use a citation manager when most of your sources are academic papers with formal metadata, because it captures authors, dates and DOIs automatically and formats citations for you. To organize a source list that mixes both, keep the spreadsheet as the system of record and export into the citation manager only when you are writing.
Conclusion: Start With One Reliable Source Record
Start with the schema, not the tool. Copy the twelve columns into a blank table, build one genuinely complete record for a source you already trust, and you have learned more about the system than an afternoon of reading about citation managers would have taught you.
Then add the two tag axes, put the weekly fifteen-minute sweep in your calendar, and export a dated backup every week. Two weeks of that habit and your source list stops being a place things go to die and starts being something you can publish from.


