Skip to main content

Investment Memo Generation Automation

Build an intelligent workflow that automatically extracts information from deal documents, cross-references data, and generates comprehensive investment memos—reducing drafting time from 12 hours to 2.5 hours.

What You'll Build

An automated memo generation system that:

  • ✅ Ingests pitch decks, financials, and meeting notes
  • ✅ Extracts key metrics and company fundamentals
  • ✅ Cross-references information for accuracy
  • ✅ Generates structured investment memos
  • ✅ Flags discrepancies for analyst review
  • ✅ Exports in Word/PDF format

Time to build: 3-4 hours Difficulty: Advanced Best for: PE firms, VC firms, investment banks, corporate development teams


Blocks & Tools You'll Use

Core Blocks

  • Agent Block - For intelligent information extraction and memo drafting
  • Knowledge Base Tool - To store and query deal documents
  • Vision Tool - To extract data from charts, tables, and financial statements
  • Function Block - For custom data processing and formatting
  • Condition Block - To route edge cases for human review
  • Response Block - To return the final memo

Supporting Tools

  • File Tool - For document upload and export
  • Mail Tool - To send memos to investment committee
  • Thinking Tool - For complex analysis and reasoning

Use Case Scenarios

Scenario 1: Series B SaaS Company

Inputs: Pitch deck, 3-year financials, management bios, market research Workflow: Extracts ARR growth (150%), market size ($4.2B), competitive positioning → Generates 12-page memo → Committee-ready

Scenario 2: Growth Equity Manufacturing Deal

Inputs: CIM, financial model, site visit notes, due diligence reports Workflow: Flags EBITDA margin discrepancy (CIM says 18%, model shows 15%) → Analyst reviews → Corrected memo generated

Scenario 3: Early-Stage Biotech

Inputs: Science deck, clinical trial data, patent docs, founder backgrounds Workflow: Extracts IP strength, trial results, market opportunity → Flags high technical risk → Partners with human analysis


Implementation

Step 1: Set Up Document Ingestion

  1. Create a new workflow named "Investment Memo Generator"
  2. Add a Starter Block configured to accept deal documents:
Trigger Type: Webhook or Manual Upload

Input Schema:
- Deal Name (text, required)
- Deal Stage (dropdown: Screening, Due Diligence, Committee Review)
- Document Types:
* Pitch Deck (file, PDF/PPTX)
* Financial Statements (file, Excel/PDF)
* Management Presentations (file, PDF/PPTX)
* Market Research (file, PDF)
* Meeting Notes (text or file)
  1. Add File Tool to handle document uploads
  2. Store documents in deal-specific folder structure

Step 2: Create Knowledge Base

  1. Add Knowledge Base Tool

  2. Configure for each deal:

    Knowledge Base Name: <start.deal_name>_documents

    Document Processing:
    - Auto-extract text from PDFs
    - OCR for scanned documents
    - Parse tables and charts with Vision tool
    - Create searchable index
  3. Upload all deal documents to this knowledge base

  4. This becomes the "source of truth" for information extraction

Step 3: Build Information Extraction Agent

  1. Add an Agent Block for data extraction
  2. Configure with Knowledge Base Tool and Vision Tool:
Model: Claude 3.7 Sonnet (best for structured extraction)

System Prompt:
"You are an investment analyst extracting key information from deal documents.

KNOWLEDGE BASE: <start.deal_name>_documents

EXTRACTION REQUIREMENTS:

**Company Fundamentals:**
- Company name, founding date, location
- Business model and value proposition
- Products/services and customer segments
- Revenue model and pricing strategy

**Financial Metrics:**
- Revenue (historical 3 years + projections)
- EBITDA/Operating margin
- Growth rates (YoY, CAGR)
- Unit economics (CAC, LTV, payback period)
- Burn rate and runway (if early-stage)

**Market Opportunity:**
- Total Addressable Market (TAM)
- Serviceable Addressable Market (SAM)
- Market growth rate
- Competitive landscape
- Market positioning

**Team & Leadership:**
- Founder/CEO background
- Key executives and their experience
- Advisory board
- Prior exits or track record

**Investment Highlights:**
- Competitive advantages/moats
- Traction metrics
- Key partnerships
- IP/proprietary technology

**Risks:**
- Market risks
- Execution risks
- Competitive threats
- Regulatory concerns

OUTPUT FORMAT (JSON):
Return a structured JSON object with all extracted information, including:
- Source citations (which document + page number)
- Confidence level for each data point (high/medium/low)
- Flags for missing critical information

IMPORTANT:
- Only extract verifiable facts, never speculate
- Flag any discrepancies between documents
- Note when information is missing or unclear"

User Prompt:
"Extract all key information for <start.deal_name> from the knowledge base."
  1. Add Tools to the agent:
    • Knowledge Base Search - Query documents
    • Vision Tool - Extract data from charts/tables
    • Thinking Tool - For complex analysis

Step 4: Cross-Reference & Validation

  1. Add another Agent Block for data validation
  2. Configure:
Model: Claude 3.7 Sonnet

System Prompt:
"You are a data validation analyst. Your job is to cross-reference extracted information and flag inconsistencies.

EXTRACTED DATA: <extraction_agent.output>

VALIDATION CHECKS:

1. **Financial Consistency:**
- Do revenue numbers match across pitch deck and financial statements?
- Are growth rates calculated correctly?
- Do unit economics math out?

2. **Timeline Consistency:**
- Does founding date align with traction metrics?
- Are projections reasonable given historical performance?

3. **Market Size Validation:**
- Is TAM calculation methodology sound?
- Are market share assumptions realistic?

4. **Team Background:**
- Can claimed prior exits be verified?
- Do LinkedIn profiles match stated experience?

5. **Missing Critical Info:**
- Are there gaps in financial data?
- Is competitive analysis complete?
- Are risk factors adequately disclosed?

OUTPUT FORMAT (JSON):
{
'validation_status': 'pass' or 'review_needed',
'discrepancies': [
{
'category': 'Financial',
'issue': 'Revenue in pitch deck ($5M) differs from financial statement ($4.5M)',
'severity': 'medium',
'recommendation': 'Clarify with management'
}
],
'missing_data': ['Customer concentration metrics', 'Competitive win rates'],
'confidence_score': 0.85
}"

User Prompt:
"Validate all extracted data for <start.deal_name>."

Step 5: Add Discrepancy Routing Logic

  1. Add Condition Block after validation
  2. Configure routing:
// Check if manual review is needed
<validation_agent.validation_status> === 'review_needed' ||
<validation_agent.discrepancies>.length > 3 ||
<validation_agent.confidence_score> < 0.7
  1. If TRUE (needs review):

    • Add Mail Tool to notify analyst team
    • Include: Deal name, discrepancies list, missing data
    • Pause workflow for analyst input
  2. If FALSE (validation passes):

    • Continue to memo generation

Step 6: Generate Investment Memo

  1. Add final Agent Block for memo generation
  2. Configure with comprehensive prompt:
Model: Claude 3.7 Sonnet

System Prompt:
"You are a senior investment analyst drafting an investment committee memo.

DEAL DATA: <extraction_agent.output>
VALIDATION RESULTS: <validation_agent.output>

MEMO STRUCTURE:

**1. EXECUTIVE SUMMARY (1 page)**
- Investment recommendation (Pass/Proceed to DD/Invest)
- Key investment thesis (3-4 bullets)
- Deal terms and valuation
- Required capital and ownership stake
- Decision timeline

**2. COMPANY OVERVIEW**
- Business model and value proposition
- Products/services description
- Go-to-market strategy
- Current traction and key metrics

**3. MARKET OPPORTUNITY**
- Market size (TAM/SAM/SOM) with methodology
- Market dynamics and growth drivers
- Competitive landscape
- Company's competitive positioning and moats

**4. FINANCIAL ANALYSIS**
- Historical performance (3-year trend)
- Unit economics breakdown
- Projected financials with assumptions
- Path to profitability (if not profitable)
- Capital efficiency metrics

**5. MANAGEMENT TEAM**
- Founder/CEO background and track record
- Key executives and their roles
- Board composition
- Advisory board strengths

**6. INVESTMENT HIGHLIGHTS**
- 5-7 key strengths supporting thesis
- Proprietary advantages
- Strategic value beyond financials
- Unique positioning or capabilities

**7. RISK ASSESSMENT**
- Market risks and mitigation strategies
- Execution risks
- Competitive threats
- Regulatory or legal concerns
- Financial risks (burn rate, funding needs)

**8. VALUATION & DEAL TERMS**
- Proposed valuation and rationale
- Comparison to comparable companies
- Deal structure (equity, debt, convertible)
- Expected ownership and board seats
- Key terms and conditions

**9. RECOMMENDATION & NEXT STEPS**
- Clear recommendation with rationale
- Suggested timeline
- Additional diligence required
- Deal-breaker issues (if any)

FORMATTING:
- Professional, concise writing
- Use bullet points for clarity
- Include data tables where appropriate
- Cite sources for key claims
- Highlight discrepancies flagged during validation

TONE:
- Objective and analytical
- Balanced (pros and cons)
- Confident in recommendations
- Transparent about risks and gaps"

User Prompt:
"Generate a comprehensive investment memo for <start.deal_name>."
  1. Add Thinking Tool for complex reasoning
  2. Set output format to Markdown or HTML

Step 7: Format & Export Memo

  1. Add Function Block for document formatting

  2. Use Python or JavaScript to:

    # Convert memo to Word/PDF format
    from docx import Document
    import pdfkit

    def format_memo(memo_content, deal_name):
    # Create Word document
    doc = Document()
    doc.add_heading(f'Investment Memo: {deal_name}', 0)

    # Add content sections
    for section in memo_content.sections:
    doc.add_heading(section.title, level=1)
    doc.add_paragraph(section.content)

    # Add footer with date and analyst
    doc.add_page_break()
    doc.add_paragraph(f'Generated: {datetime.now()}')

    # Save as Word
    doc.save(f'{deal_name}_memo.docx')

    # Convert to PDF
    pdfkit.from_file(f'{deal_name}_memo.docx', f'{deal_name}_memo.pdf')

    return {
    'word_file': f'{deal_name}_memo.docx',
    'pdf_file': f'{deal_name}_memo.pdf'
    }
  3. Store formatted documents using File Tool

Step 8: Distribution & Collaboration

  1. Add Mail Tool (or Gmail Tool)
  2. Configure email to investment committee:
To: investment-committee@firm.com
CC: <analyst_email>
Subject: Investment Memo: <start.deal_name> - <memo_generator.recommendation>

Body:
"Investment Committee,

Please review the attached investment memo for <start.deal_name>.

**Quick Summary:**
- Recommendation: <memo_generator.recommendation>
- Investment Thesis: <memo_generator.key_thesis>
- Required Capital: <memo_generator.capital_required>
- Decision Timeline: <memo_generator.timeline>

The full memo is attached in PDF format. Please review and provide feedback by <deadline>.

Best regards,
AI Memo Generator (reviewed by <analyst_name>)"

Attachments:
- <format_function.pdf_file>
- Supporting documents (optional)
  1. Add Response Block to return confirmation:
{
"status": "success",
"memo_generated": true,
"deal_name": "<start.deal_name>",
"recommendation": "<memo_generator.recommendation>",
"files": {
"pdf": "<format_function.pdf_file>",
"word": "<format_function.word_file>"
},
"sent_to": "investment-committee@firm.com",
"discrepancies_flagged": <validation_agent.discrepancies>.length
}

Workflow Diagram

[Upload Deal Documents] → [Knowledge Base Tool]

[Extract Information] ← [Agent Block + Vision Tool]

[Validate & Cross-Reference] ← [Agent Block + Thinking Tool]

[Discrepancies?] ← [Condition Block]
↙ ↘
[Review Needed] [Validation Passed]
↓ ↓
[Notify Analyst] [Generate Memo] ← [Agent Block]
↓ ↓
[Analyst Input] [Format Document] ← [Function Block]
↓ ↓
└───→ [Send to Committee] ← [Mail Tool]

[Response Block]

Advanced Enhancements

1. Comparable Company Analysis

Add API Tool or Browser Use Tool:

  • Fetch public company financials from S&P Capital IQ
  • Pull recent M&A transactions
  • Generate valuation benchmarks automatically

2. Management Team Verification

Add LinkedIn Tool or Web Search:

  • Verify executive backgrounds
  • Check for prior exits and track records
  • Flag any discrepancies in stated experience

3. Market Research Integration

Add Serper Tool or Firecrawl:

  • Auto-fetch recent market reports
  • Pull competitor news and funding rounds
  • Validate market size claims

4. Historical Deal Database

Add Supabase or MongoDB Tool:

  • Store past investment memos
  • Compare new deals to historical patterns
  • Learn from past successes/failures

5. Real-Time Collaboration

Add Slack Tool or Microsoft Teams:

  • Notify analysts when memo is ready
  • Create deal-specific channels for discussion
  • Share findings in real-time during due diligence

6. Version Control & Audit Trail

Add GitHub Tool or database logging:

  • Track all memo revisions
  • Log which data points were auto-extracted vs analyst-added
  • Maintain audit trail for compliance

Testing Your Workflow

Test Case 1: Complete Deal Package

{
"deal_name": "CloudTech SaaS Series B",
"deal_stage": "Due Diligence",
"documents": {
"pitch_deck": "cloudtech_deck_2024.pdf",
"financials": "cloudtech_financials_Q4_2024.xlsx",
"market_research": "saas_market_report_gartner.pdf",
"meeting_notes": "management_meeting_transcript.txt"
}
}

Expected Result: 15-page memo generated, no discrepancies, sent to committee

Test Case 2: Missing Financial Data

{
"deal_name": "BioMed Early Stage",
"deal_stage": "Screening",
"documents": {
"science_deck": "biomed_technology.pdf",
"founders_bio": "founders_background.pdf"
}
}

Expected Result: Flagged for missing financials, analyst notified for data collection

Test Case 3: Financial Discrepancy

{
"deal_name": "RetailCo Growth Equity",
"deal_stage": "Committee Review",
"documents": {
"cim": "retailco_cim.pdf",
"financial_model": "retailco_model.xlsx",
"management_deck": "retailco_management_presentation.pdf"
}
}

Expected Result: Cross-reference finds revenue mismatch, flagged for review


Best Practices

Data Quality

  • Require source documents - Don't rely on secondhand information
  • Verify critical metrics - Always cross-check key numbers
  • Flag low confidence - Mark uncertain data points for analyst review

Memo Quality

  • Use consistent templates - Ensure every memo has the same structure
  • Cite sources - Include document name + page number for key claims
  • Balance perspectives - Present both strengths and risks fairly

Process Efficiency

  • Batch similar deals - Process multiple deals in parallel
  • Cache common data - Store market research that applies to multiple deals
  • Iterate on prompts - Continuously refine agent instructions based on feedback

Compliance & Security

  • Access control - Restrict who can view sensitive deal information
  • Data retention - Define policies for how long deal data is stored
  • Confidentiality - Ensure memos aren't inadvertently shared externally

ROI Metrics

Track these metrics to measure automation impact:

MetricBefore AutomationAfter AutomationImprovement
Memo drafting time12 hours2.5 hours80% reduction
Time to committee5-7 days24 hours5x faster
Memos per analyst/month4-512-153x throughput
Quality consistencyVariableStandardized100% consistency
Data accuracy85%98%15% improvement
Analyst satisfactionLow (tedious)High (strategic)Qualitative win

Deployment Checklist

  • Set up knowledge base storage (one per deal)
  • Configure agent prompts with your investment criteria
  • Create memo template matching your format
  • Test with 3-5 historical deals for accuracy
  • Train analysts on workflow usage
  • Set up email distribution lists
  • Configure access permissions
  • Create process for handling flagged discrepancies
  • Document edge cases and escalation procedures
  • Set up monitoring for workflow failures

Troubleshooting

Issue: Agent misses key financial data from tables Solution: Add Vision Tool to extract data from images/charts, or use OCR preprocessing

Issue: Memos lack investment committee's preferred tone Solution: Refine system prompt with example memos, add few-shot examples

Issue: Validation flags too many false positives Solution: Adjust confidence thresholds, add more specific validation rules

Issue: Knowledge base doesn't find relevant information Solution: Improve document chunking strategy, use semantic search, add metadata tagging


Next Steps

  1. Customize memo structure to match your firm's format
  2. Add your investment criteria to evaluation prompts
  3. Integrate with your deal management system (CRM, Airtable, etc.)
  4. Test with historical deals and compare to human-written memos
  5. Train your team on when to override AI recommendations
  6. Monitor quality and iterate on prompts based on feedback

Need Help?

Ready to automate your investment memo process? Start building in Klyntos today.