Before every sales call, I used to spend 45 minutes researching the prospect. Now my AI dashboard does it in 8 minutes — and the research is better.
What It Does
Feed it a company name and it returns:
- Company overview (size, revenue, industry, recent news)
- Key decision makers with LinkedIn profiles
- Technology stack analysis
- Competitor landscape
- 3 talking points tailored to their likely pain points
- Suggested pricing based on company size
The Stack
- Python for the orchestration
- Claude API for analysis and synthesis
- Perplexity API for real-time web research
- Flask for the dashboard UI
Core Implementation
import anthropic
import requests
client = anthropic.Anthropic()
def research_company(company_name: str) -> dict:
"""Build a comprehensive research dossier on a company."""
# Step 1: Web research via Perplexity
perplexity_resp = requests.post(
"https://api.perplexity.ai/chat/completions",
headers={"Authorization": f"Bearer {PERPLEXITY_KEY}"},
json={
"model": "sonar-pro",
"messages": [{
"role": "user",
"content": f"Research {company_name}: company size, revenue, "
f"industry, recent news, technology stack, key executives. "
f"Include sources."
}]
}
)
raw_research = perplexity_resp.json()["choices"][0]["message"]["content"]
# Step 2: AI synthesis and analysis
analysis = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=2048,
messages=[{
"role": "user",
"content": f"""Based on this research about {company_name}, create a
sales intelligence brief:
{raw_research}
Return JSON with:
- company_overview (2-3 sentences)
- estimated_size (employees)
- estimated_revenue
- industry
- tech_stack (list)
- key_people (list of name, title, linkedin_url)
- recent_news (list of headline, date, relevance)
- competitors (list)
- likely_pain_points (list of 3-5)
- talking_points (list of 3, each tailored to a pain point)
- suggested_pricing_tier (based on company size)"""
}]
)
return analysis
def generate_proposal_draft(research: dict, service: str) -> str:
"""Generate a proposal draft from research."""
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
messages=[{
"role": "user",
"content": f"""Using this company research, draft a consulting
proposal for {service}:
{research}
Include: executive summary, proposed solution (3 tiers),
timeline, investment, expected ROI, next steps."""
}]
)
return response.content[0].text
The Dashboard
Simple Flask app with a search bar. Type a company name, get a full dossier in under 10 minutes.
The key insight: chain the research into the proposal. The same data that informs your sales call becomes the foundation of your proposal.
Results
| Metric | Before | After |
|---|---|---|
| Research time | 45 min | 8 min |
| Proposal time | 2.5 hrs | 18 min |
| Win rate | 23% | 41% |
| Calls/week | 5 | 12 |
The win rate increase alone justified building this. Better research = better conversations = more closes.
What I'd Do Differently
- Cache aggressively — same companies come up repeatedly
- Add CRM integration — auto-push research to HubSpot/Salesforce
- Track which talking points convert — feed results back to improve suggestions
This is one of 30 automation blueprints I've documented with complete implementation guides: wedgemethod.gumroad.com/l/ai-automation-playbook-smb
Top comments (0)