Funding Signal Outreach
Detects recent funding events across a set of companies, qualifies them against your company's context, finds the right people to reach out to, and drafts personalized emails. The full chain from signal to outreach-ready.
When to Auto-Load
Load this composite when:
- User says "check if any of these companies raised funding", "funding signal outreach", "reach out to recently funded companies"
- User has a list of companies and wants to act on funding signals
- An upstream workflow (TAM Pulse, company monitoring) triggers a funding signal check
Architecture
This composite is tool-agnostic. Each step defines a data contract (what goes in, what comes out). The specific tools that fulfill each step are configured once per client/user, not asked every run.
┌─────────────────────────────────────────────────────────────────┐
│ FUNDING SIGNAL OUTREACH │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ DETECT │──▶│ QUALIFY │──▶│ FIND │──▶│ DRAFT │ │
│ │ Funding │ │ & Rank │ │ People │ │ Emails │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │ │
│ Input: companies + your company + buyer + signal │
│ Tool: web search context personas context │
│ or apollo (LLM) Tool: apollo (LLM) │
│ or crunchbase or linkedin │
│ or any or clearbit │
│ or any │
└─────────────────────────────────────────────────────────────────┘
Step 0: Configuration (One-Time Setup)
On first run for a client/user, collect and store these preferences. Skip on subsequent runs.
Company Source Config
| Question | Options | Stored As | |----------|---------|-----------| | Where does your company list come from? | CSV file / Salesforce / HubSpot / Supabase / Manual list | company_source | | What fields identify a company? | At minimum: company name + domain. Optional: industry, size, location | company_fields |
Signal Detection Config
| Question | Options | Stored As | |----------|---------|-----------| | How should we detect funding signals? | Web search (free) / Apollo / Crunchbase API / PitchBook | signal_tool | | How far back should we look? | 7 / 14 / 30 / 60 / 90 days | lookback_days |
Contact Finding Config
| Question | Options | Stored As | |----------|---------|-----------| | How should we find contacts at these companies? | Apollo / LinkedIn Sales Nav / Clearbit / Web search / Manual | contact_tool | | Do you have API access? | Yes (provide key) / No (use free tier or web search) | contact_api_access |
Outreach Config
| Question | Options | Stored As | |----------|---------|-----------| | Where do you want outreach sent? | Smartlead / Instantly / Outreach.io / Lemlist / Apollo / CSV export | outreach_tool | | Email or multi-channel? | Email only / Email + LinkedIn | outreach_channels |
Your Company Context
| Question | Purpose | Stored As | |----------|---------|-----------| | What does your company do? (1-2 sentences) | Qualification + email personalization | company_description | | What problem do you solve? | Email hook | pain_point | | Who are your ideal buyers? (titles, departments) | Contact finding filters | buyer_personas | | Name 2-3 proof points (customers, metrics, results) | Email credibility | proof_points | | What's your product's price range? (SMB / Mid-Market / Enterprise) | Funding stage qualification | price_tier |
Store config in: clients/<client-name>/config/signal-outreach.json or equivalent.
Step 1: Detect Funding Signals
Purpose: For each company in the input list, determine if they have raised funding within the lookback window.
Input Contract
companies: [
{
name: string # Required
domain: string # Required
industry?: string # Optional, helps qualification
size?: string # Optional
location?: string # Optional
}
]
lookback_days: integer # From config (default: 30)
Process
For each company (or in batches):
- Search for funding announcements using the configured
signal_tool: - Web search: Query
"{company_name}" AND ("raised" OR "funding" OR "Series") AND "2026"for each company - Apollo: Use company enrichment endpoint to pull funding data
- Crunchbase: Query funding rounds API filtered by date
- Any other tool: Must return the same output contract
- Extract funding details from results:
- Did they raise? (yes/no)
- How much?
- What stage? (Seed, A, B, C, D+)
- When? (exact date or approximate)
- Who led the round? (investors)
- Source URL (for verification)
- Filter: Drop companies with no funding signal detected.
Output Contract
funded_companies: [
{
name: string
domain: string
industry: string
funding_amount: string # e.g. "$15M"
funding_stage: string # e.g. "Series A"
funding_date: string # ISO date or "March 2026"
lead_investors: string[] # e.g. ["Sequoia", "a16z"]
source_url: string # Link to announcement
confidence: "high" | "medium" # High = multiple sources or official PR
original_company_data: object # Pass through all original fields
}
]
Human Checkpoint
Present results as a table:
Found funding signals for X of Y companies:
| Company | Amount | Stage | Date | Investors | Confidence |
|---------|--------|-------|------|-----------|------------|
| Acme | $15M | Series A | 2026-02-15 | Sequoia | High |
| ... | ... | ... | ... | ... | ... |
Proceed with qualification? (Y/n)
Step 2: Qualify & Prioritize
Purpose: Given funded companies + your company context, rank them by outreach priority. This step is pure LLM reasoning — inherently tool-agnostic.
Input Contract
funded_companies: [...] # From Step 1 output
your_company: {
description: string # From config
pain_point: string # From config
buyer_personas: string[] # From config
proof_points: string[] # From config
price_tier: string # From config
}
Process
For each funded company, evaluate:
| Criterion | Weight | How to Assess | |-----------|--------|---------------| | Stage fit | High | Does the funding stage match your price tier? Series A → SMB/mid-market tools. Series C → enterprise. | | Industry relevance | High | Is their industry one where your product solves a real problem? | | Timing urgency | Medium | How recent is the funding? <14 days = urgent window. 30-60 days = still viable. 60+ = cooling. | | Size signal | Medium | Post-raise team size estimate. Do they have enough people to need your product? | | Round size | Low | Larger rounds = more budget for tooling. But even small rounds trigger vendor evaluation. |
Scoring
Assign each company a priority tier:
- Tier 1 (Act Today): Stage fit + industry relevance + funded within 14 days
- Tier 2 (Act This Week): Two of three criteria met, or funded 15-30 days ago with strong fit
- Tier 3 (Queue): Marginal fit or funding 30+ days old. Worth reaching out but not urgent.
- Drop: No relevance to your product/market. Remove from pipeline.
For each qualified company, generate:
- Relevance reasoning: 1-2 sentences on why this company would care about your product right now
- Outreach angle: The specific hook connecting their funding to your product's value
- Recommended approach: Direct pain-point, aspirational growth, or operational efficiency framing
#