Skip to main content
This walkthrough builds a complete fundraising tracker: an Investors object type with relevant fields, a pipeline with fundraising stages, sample investor records, and pipeline analytics. You can follow this end-to-end in about five minutes.
1

Create the Investors object type

npx supersonic-cli objects create \
  --name "Investors" \
  --slug "investors" \
  --fields '[
    {"name": "Name", "field_type": "text", "required": true},
    {"name": "Fund", "field_type": "text"},
    {"name": "Check Size", "field_type": "number"},
    {"name": "Thesis", "field_type": "text"},
    {"name": "Contact Email", "field_type": "text"},
    {"name": "Partner", "field_type": "text"},
    {"name": "Notes", "field_type": "text"}
  ]'
This gives you fields for everything you’d track per investor: fund name, typical check size, thesis fit, and the partner you’re talking to.
2

Create the fundraise pipeline

npx supersonic-cli lists create \
  --name "Series A Fundraise" \
  --object-type-slug "investors" \
  --fields '[
    {"name": "Stage", "field_type": "select", "options": ["Inbound", "First Meeting", "Due Diligence", "Term Sheet", "Closed"]}
  ]'
Save the list_id from the output.
3

Add investors

npx supersonic-cli records create \
  --object-type-slug "investors" \
  --data '{
    "Name": "Sequoia Capital",
    "Fund": "Sequoia Growth Fund IV",
    "Check Size": 15000000,
    "Partner": "Pat Grady",
    "Contact Email": "pat@sequoiacap.com",
    "Thesis": "Enterprise SaaS"
  }'
npx supersonic-cli records create \
  --object-type-slug "investors" \
  --data '{
    "Name": "Andreessen Horowitz",
    "Fund": "a16z Growth",
    "Check Size": 25000000,
    "Partner": "Martin Casado",
    "Contact Email": "martin@a16z.com",
    "Thesis": "Infrastructure, dev tools"
  }'
npx supersonic-cli records create \
  --object-type-slug "investors" \
  --data '{
    "Name": "Founders Fund",
    "Fund": "FF VII",
    "Check Size": 10000000,
    "Partner": "Keith Rabois",
    "Contact Email": "keith@foundersfund.com",
    "Thesis": "Contrarian bets"
  }'
npx supersonic-cli records create \
  --object-type-slug "investors" \
  --data '{
    "Name": "Y Combinator Continuity",
    "Fund": "YC Continuity Fund III",
    "Check Size": 5000000,
    "Partner": "Ali Rowghani",
    "Contact Email": "ali@ycombinator.com",
    "Thesis": "YC alumni growth rounds"
  }'
Note the record IDs from each response.
4

Place investors in the pipeline

Put each investor at their current stage:
npx supersonic-cli lists add-entry \
  --list-id "LIST_ID" \
  --record-id "SEQUOIA_RECORD_ID" \
  --data '{"Stage": "Due Diligence"}'

npx supersonic-cli lists add-entry \
  --list-id "LIST_ID" \
  --record-id "A16Z_RECORD_ID" \
  --data '{"Stage": "First Meeting"}'

npx supersonic-cli lists add-entry \
  --list-id "LIST_ID" \
  --record-id "FF_RECORD_ID" \
  --data '{"Stage": "Inbound"}'

npx supersonic-cli lists add-entry \
  --list-id "LIST_ID" \
  --record-id "YC_RECORD_ID" \
  --data '{"Stage": "Term Sheet"}'
5

Move an investor forward

When Sequoia sends a term sheet:
npx supersonic-cli lists update-entry \
  --list-id "LIST_ID" \
  --entry-id "SEQUOIA_ENTRY_ID" \
  --data '{"Stage": "Term Sheet"}'
6

Check pipeline status

Get a summary of where all conversations stand:
npx supersonic-cli analytics pipeline --list-id "LIST_ID"
Returns counts and aggregate check sizes per stage. Useful for board updates.
7

Add notes to a record

After a meeting, update the investor record with notes:
npx supersonic-cli records update \
  --object-type-slug "investors" \
  --record-id "SEQUOIA_RECORD_ID" \
  --data '{"Notes": "Met 3/20. Interested in ARR trajectory. Want to see Q2 numbers. Follow up April 5."}'

REST API equivalents

Every CLI command maps to a single API call. Here’s the pattern:
curl -X POST https://mcp.supersonic.cv/api/developers/mcp/call/ \
  -H "Authorization: Bearer supersonic_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "records.create",
    "params": {
      "object_type_slug": "investors",
      "data": {
        "Name": "Sequoia Capital",
        "Fund": "Sequoia Growth Fund IV",
        "Check Size": 15000000,
        "Partner": "Pat Grady",
        "Contact Email": "pat@sequoiacap.com",
        "Thesis": "Enterprise SaaS"
      }
    }
  }'
Same structure for every tool: {"tool": "tool.name", "params": {...}}.
You can add fields to an existing object type at any time without losing data. If you later want to track “Warm Intro Source”, just add the field:
npx supersonic-cli objects add-field \
  --object-type-slug "investors" \
  --name "Warm Intro" \
  --field-type "text"