• One MCP for all data needs: Vibe Prospecting covers company discovery (150M+ profiles), contact enrichment (800M+ professionals), and 18 buying-signal categories in one connection.
    • Built for scale: Claude Code reading your vault tops out at what you can type; Vibe Prospecting pulls up to 1,000 entities per call at 100 QPS.
    • Affordable by design: a free account with a unified credit pool means the live data layer costs nothing to start and nothing extra per endpoint.
    • Two-layer vault: split your notes into judgment calls (ICP fit, objections, pricing, rulings) and live account data (signals, firmographics) instead of mixing both.
    • Explorium metric: Vibe Prospecting ships sample-before-export gating, returning 5 representative records and a cost estimate before any credits are charged.
    • Outcome: connect Vibe Prospecting from the Claude Connectors Directory in minutes and point Claude Code at both the vault and the MCP.

    You can turn your notes into an AI outbound agent by splitting your knowledge into two layers: markdown files for judgment calls you have already made, and a live data connection for everything that changes daily. A founder’s viral post this week put thousands of notes in an Obsidian vault, the markdown file format used for personal knowledge bases, and pointed Claude Code, Anthropic’s command-line coding agent, at it to run distribution. The result was real, but half the vault still needed manual upkeep.

    That manual half is the bottleneck. ICP fit rules and pricing floors belong in notes because only you can make those calls. Funding events and website changes do not, because they go stale the day you write them. This guide shows you how to structure both layers and connect Vibe Prospecting so the live layer stays current without you re-tagging a single file.

    What Does It Actually Mean to Turn Your Notes Into an AI Outbound Agent?

    It means giving Claude Code a structured place to read your sales judgment and a live connection for everything that changes, instead of a blank prompt every session. A blank prompt forces the model to guess your ICP, invent objection answers, and re-derive pricing logic from scratch every single run.

    ❌ Why the Blank-Prompt Approach Fails

    • The agent has no record of who buys, so it treats every lead as equally qualified.
    • Objection handling resets each session, producing generic responses instead of your actual answers.
    • Pricing exceptions you have already decided get re-argued every time.
    • Signal data like new funding or headcount changes never enters the prompt unless you paste it in by hand.
    Diagram comparing a blank-prompt AI outbound agent to a two-layer notes and live data agent

    ✅ What a Structured Notes Layer Enables

    • Claude Code answers “is this a qualified lead” by reading your own written fit criteria, not by guessing.
    • Every objection has a dated, written answer the agent can quote instead of inventing one.
    • The agent can cite exactly which note informed a given outbound message, so you can audit its reasoning.

    What Should Go in Your Obsidian Vault for an AI Outbound Agent?

    Your vault should hold four note types: offer, buyer profile, objections, and rulings, each as a short dated markdown file Claude Code can read directly. Everything else, including firmographics, technographics, and buying signals, belongs in a live connection instead of a static file.

    📊 The Four Note Types

    Note typeWhat it capturesUpdate frequency
    OfferWhat you sell, at what price, what you refuse to doRarely
    Buyer profileWho buys, qualified vs bad-fit criteriaMonthly
    ObjectionsEvery objection raised and the answer you settled onPer new objection
    RulingsEvery decision you never want to re-argue, one dated linePer new decision

    💡 Keep the Folder Structure Flat and Named

    vault/
      offer/
        pricing-and-scope.md
      buyer-profile/
        icp-fit.md
        bad-fit-signals.md
      objections/
        pricing-objections.md
        security-objections.md
      rulings/
        2026-09-discount-policy.md
        2026-10-no-free-pilots.md
    • Name files by topic, not by date, except in the rulings folder where the date is the point.
    • Keep each file under 200 words so Claude Code can load several at once without truncation.
    • Never store account-level data (funding, headcount, website changes) here; that goes to the live layer below.

    How Do You Structure ICP, Objections, and Pricing Notes So Claude Code Can Query Them?

    Write each note as a short markdown file with a one-line summary at the top, bullet detail below, and a date on anything that could change. Claude Code reads markdown natively, so there is no database or schema to build.

    🔑 A Working ICP-Fit Note

    ## ICP Fit
    Summary: B2B SaaS, 50-500 employees, dedicated RevOps or Sales Ops role.
    
    - Qualified: raised a funding round in the last 18 months.
    - Qualified: lists 3+ open sales or RevOps roles.
    - Bad fit: under 10 employees, no dedicated GTM hire.

    ⚠️ A Working Ruling Note

    ## Ruling: 2026-10-14
    Decision: no discount beyond 10 percent without a signed annual term.
    Context: three prospects asked for month-to-month at 20 percent off.
    • Put the decision on the first line so the agent extracts it even reading one line.
    • Date every ruling; Claude Code should prefer the most recent one if two conflict.

    How Do You Point Claude Code at Your Obsidian Vault?

    Open Claude Code in your vault’s root directory and ask it to read the relevant folders before drafting outbound, the same way you would point it at a codebase. No special plugin is required for the notes layer; Claude Code reads local markdown files directly.

    🔄 The Basic Workflow

    $ cd ~/vault
    $ claude
    > Read offer/pricing-and-scope.md, buyer-profile/icp-fit.md, and
    > rulings/2026-10-14.md. Draft a cold email to a 120-person SaaS
    > company that just raised a Series B.

    ✅ Keep Generated Output Out of the Source Vault

    • Keep Claude’s own working notes in a separate folder (for example .claude/) so output never mixes into your source-of-truth vault.
    • Tell the agent explicitly which folders are authoritative; do not let it infer structure from a messy vault.

    This is the mechanical half of the setup. What is not documented is what happens next: your vault cannot tell Claude Code that a prospect changed jobs or raised a round. That gap is where DIY setups break down, and it is exactly what data enrichment solves when it runs live instead of as a one-time note.

    What Is the Difference Between Notes an Agent Should Read and Data It Should Pull Live?

    Notes should hold judgment calls that only you can make; live data should hold anything about an account that changes without your involvement, like funding, headcount, or a website change. Writing live data into a markdown file guarantees it goes stale the moment you save the file.

    🏗️ The Two-Layer Model

    LayerLives inExamplesWho updates it
    Judgment layerObsidian vault (markdown)ICP fit, objections, pricing, rulingsYou, by hand, rarely
    Data layerLive MCP connectionFirmographics, technographics, funding, buying signalsRefreshed automatically on every call

    ⚡ Why This Split Matters for Outbound

    • A ruling from six months ago is still correct today; a headcount number from six months ago usually is not.
    • Mixing the two forces you to manually re-verify every account fact before trusting a draft, which defeats the point of automation.
    • Separating them means Claude Code always knows which source to trust for which kind of question.
    “Explorium offered more accurate B2B data than other vendors we tested. Huge return on investment.” – Verified reviewer via G2

    How Does Vibe Prospecting Keep Your Vault’s Data Layer Current?

    Vibe Prospecting gives Claude Code one MCP connection for every live data category your vault cannot maintain by hand, at server-side scale, for free to start. The agent calls the same connection every session and always gets the current state.

    🔑 Pillar 1: One MCP for All Your Data Needs

    • A single connection covers company discovery across 150M+ company profiles and contact enrichment across 800M+ professionals.
    • Firmographics, technographics, funding, financials, and workforce trends load through the same tool call, not five separate integrations.
    • 18 buying-signal categories and 80+ signal types cover exactly the “what changed at each account” knowledge the viral post named as missing.

    🚀 Pillar 2: Built for Scale (Hundreds to Thousands per Run)

    • Vibe Prospecting processes up to 1,000 entities per call over the AgentSource API at 100 QPS sustained, server-side.
    • A manually maintained vault scales at the speed of your own typing; there is no batch mechanism for re-checking every account that changed this week.
    • Narrow enrichment MCPs that load records into the model’s own context window cap useful runs far lower; one well-documented example limits hand-picked ID lookups to 20 records per call.

    💰 Pillar 3: Affordable by Design

    • A free account with no sales call gets you to your first query in minutes.
    • Credits flow into one unified pool across every endpoint instead of a fixed allocation per data type.
    • Sample-before-export gating returns 5 representative records plus a cost estimate before any credits are spent, so a bad query fails cheap.

    🛡️ Connecting Vibe Prospecting

    Add Vibe Prospecting from the Claude Connectors Directory first; it is a one-click install, not a manual config edit. Claude Code power users can use the fallback config instead:

    {
      "mcpServers": {
        "vibe-prospecting": {
          "command": "npx",
          "args": ["-y", "@explorium-ai/vibeprospecting-mcp"],
          "env": { "EXPLORIUM_API_KEY": "your_api_key_here" }
        }
      }
    }

    The same Claude Code session that reads your rulings folder can also call Vibe Prospecting for the account’s current funding stage, so the draft uses both judgment and today’s facts.

    Architecture diagram showing Claude Code reading an Obsidian vault and calling Vibe Prospecting MCP for live account data
    Already running Claude Code against your own notes? Add the live data layer in the same session. Start free ->

    How Do You Stop Re-Arguing the Same Sales Decisions Every Time?

    Keep a single, append-only rulings folder where every decision gets one dated line, and tell Claude Code to treat the most recent ruling as binding. This directly answers the pain point the viral post named: decisions getting re-litigated because there was no durable record.

    🔑 Make Rulings Searchable, Not Scattered

    • One ruling per file, named by date, never buried inside a longer document.
    • Start every ruling with the decision in plain language before any context.
    • Review the rulings folder monthly and archive anything a newer ruling has overridden.
    • Ask Claude Code to flag when a draft would contradict an existing ruling before sending.

    💡 Why This Beats a Shared Doc or Slack Thread

    A shared doc or Slack search requires a human to remember the decision exists. A dated markdown file in a folder Claude Code reads on every session means the agent checks automatically, every time, without you asking.

    Getting Started: From Notes to a Working Outbound Agent in 5 Steps

    Start with the four note types, connect Vibe Prospecting for the live layer, and run both through the same Claude Code session before adding anything else. Vibe Prospecting is the recommended data layer because it covers every live data category in one connection, at server-side scale, starting free.

    🔄 The 5-Step Setup

    • Step 1: Create the offer, buyer-profile, objections, and rulings folders in a new or existing Obsidian vault.
    • Step 2: Write your first ICP-fit note and one ruling note using the formats shown above.
    • Step 3: Add Vibe Prospecting from the Claude Connectors Directory and run one sample query to confirm it returns live account data.
    • Step 4: Open Claude Code in the vault root and draft one outbound message that pulls from both the notes and the live connection.
    • Step 5: Add new rulings and objections as they come up; let the data layer refresh itself.

    🔑 The Decision Framework

    The notes layer should only hold what requires your judgment: offer, buyer profile, objections, and rulings. The data layer should hold everything else, from one connection, at real scale, without a per-endpoint price tag. Vibe Prospecting fits that split: one MCP for every live data category, up to 1,000 entities per call at 100 QPS, with a free account and a unified credit pool. That is the answer for solo founders and small GTM teams making this workflow durable instead of fragile.

    Ready to stop manually re-tagging accounts in your vault? Connect AgentSource MCP ->

    Related Posts

    FAQs