Most founders build an investor list first and figure out the tracking later. That order is backwards. The sheet's structure decides what you can see later, and columns you add in week six will be half-empty for every row you entered in week one.
Pick a fixed schema before you paste in a single name. There is no universal correct set, but the operating minimum is roughly fifteen columns, and every one of them should answer a question you will actually ask during the raise. If a column does not change a decision, delete it.
| Column | What it holds | Why it earns its place |
|---|---|---|
| Investor / firm | Person and fund, one row per person | Two partners at one fund are two relationships |
| Tier | A, B or C by fit | Sets outreach order and how much time each row deserves |
| Stage | One of six fixed values (below) | The only thing you sort on during review |
| Owner | One teammate's name | Unowned rows are the ones that rot |
| Next action | A verb and an object | "Send deck" is not an action; "send deck to Priya by Friday" is |
| Next action due | A date | Anything undated never happens |
| Last touch | Date of the last real contact | Feeds the aging count |
| Warm intro path | Person, relationship, exact ask | The single highest-leverage field in the sheet |
| Check size expected | A range in dollars | Keeps the coverage math honest |
| Source | How the name arrived | Tells you which channels actually produce meetings |
| Objection / concern | Verbatim, in their words | The input to your next update email |
| Notes | Free text, dated | Cheap memory |
Two rules make this schema work in practice. First, "next action" and "owner" are mandatory: a row cannot be saved without them, and if you cannot think of a next action, the honest entry is "close: no path forward." Second, dates are real dates in a date column, not text like "next week," so you can sort and filter on them.
OpenVC's guide to building an investor pipeline makes the same structural point: whatever tool you use, the pipeline should rely on clear stages with a clear gate at each one, and they warn against having more than about five because the middle of the funnel realistically holds only a dozen investors at a time the OpenVC pipeline guide.
You can set the mandatory fields up in a few minutes. In Google Sheets, put Owner and Next action on every row and use data validation plus conditional formatting to flag blanks in red. If you prefer a script, a short Apps Script trigger that emails you any row with an empty next action is enough.
function flagRowsWithoutNextAction() {
const sheet = SpreadsheetApp.getActiveSheet();
const values = sheet.getDataRange().getValues();
const header = values[0];
const nextActionCol = header.indexOf('Next action');
const ownerCol = header.indexOf('Owner');
const missing = [];
for (let i = 1; i < values.length; i++) {
const row = values[i];
const stage = row[header.indexOf('Stage')];
if (stage === 'Closed' || stage === 'Passed') continue;
if (!row[nextActionCol] || !row[ownerCol]) missing.push(i + 1);
}
if (missing.length) {
Logger.log('Rows missing owner or next action: ' + missing.join(', '));
}
}



