My Dashboard Web Apps AI Agents Marketing Sales My Projects My Profile
← Dashboard
πŸ’° Track 4 of 4 Β· Sales with Claude

Sales
with Claude

Build a personal AI sales team. Use Claude to research prospects, write outreach, prep for calls, generate proposals, handle objections, and close deals β€” without a CRM licence that costs more than your salary.

Choose a project to start
0
Foundation
CRM & Sales Stack Setup Β· 1–2 hrs
One-time setup. Connect Claude to your CRM and prospecting tools via MCP, write your sales context doc, pull pipeline baselines, and define your ICP.
Claude Cowork HubSpot MCP Apollo MCP LinkedIn MCP Gmail MCP
Start Foundation β†’
1
Starter
Lead Research & Prospecting Β· 1–2 hrs
Use Claude to find and qualify ideal prospects. Pull company intel, enrich leads with buying signals, and build a scored lead list β€” without paying for a data tool.
Claude API Apollo MCP LinkedIn MCP Python
Start Project 1 β†’
2
Beginner
Cold Outreach β€” Email & LinkedIn Β· 1–3 hrs
Build an AI outreach engine. Input a prospect β€” Claude researches them, writes a personalised 3-touch email sequence and LinkedIn message, all in their language.
Claude API Gmail MCP LinkedIn MCP Python
Start Project 2 β†’
3
Intermediate
Discovery Calls & Follow-up Β· 2–4 hrs
Never walk into a call underprepared. Claude builds a pre-call brief from CRM data, generates smart discovery questions, and writes a follow-up email the moment the call ends.
Claude API HubSpot MCP Gmail MCP Python
Start Project 3 β†’
4
Advanced
Proposals & Pitches Β· 3–5 hrs
Generate custom proposals in minutes. Claude pulls deal context from your CRM, structures a tailored proposal with ROI framing, and writes executive-ready pitch copy.
Claude API HubSpot MCP Python Proposal Strategy
Start Project 4 β†’
5
Pro
Objection Handling & Deal Coaching Β· 2–4 hrs
Train Claude on your product and build a live objection playbook. Paste any objection β€” get a specific, honest response and follow-up question that moves deals forward.
Claude API Python Deal Coaching Objection Playbook
Start Project 5 β†’
6
Ninja
Full Pipeline Orchestrator Β· 5–8 hrs
Tie every stage together. Give Claude your week's pipeline β€” it researches prospects, personalises outreach, preps call briefs, generates proposals, and drafts follow-ups automatically.
Claude API HubSpot MCP Apollo MCP Gmail MCP Python
Start Project 6 β†’
Foundation
0
Foundation
Foundation β€” CRM & Sales Stack Setup
One-time setup. Connect Claude to your CRM and prospecting tools, write your sales context doc, pull pipeline baselines, and define your ICP. Every project in this track builds on what you configure here.
Claude Cowork HubSpot MCP Apollo MCP LinkedIn MCP Gmail MCP
πŸ”“ What you'll set up
Claude connected to HubSpot, Apollo, LinkedIn, and Gmail via MCP
A sales context doc Claude reads before every sales task
A pipeline baseline β€” active deals by stage, avg deal size, win rate
A defined ICP with buying triggers, objections, and decision process
πŸ’‘ Why this matters
Without context, Claude gives you generic sales copy. With your product, ICP, and live CRM data piped in via MCP, every output β€” outreach, proposals, call prep β€” is specific, on-brand, and ready to use.
βš™οΈ Step 1 β€” Install MCP Connectors in Claude Cowork β–Ύ

Open Claude Cowork (claude.ai or the desktop app). Go to Settings β†’ Integrations β†’ MCP and install each connector. You only do this once β€” they persist across all conversations.

1
HubSpot MCP
Search for "HubSpot" in the MCP marketplace. Connect your HubSpot account. Claude can now read and write contacts, deals, notes, and pipeline stages directly.
2
Apollo MCP (via Composio)
Install the Composio MCP bundle and connect Apollo. Claude can now search for prospects by ICP criteria and return enriched contact data including emails and company intel.
3
LinkedIn MCP
Connect your LinkedIn account. Claude will use this to pull prospect profiles, recent posts, and company news when building lead research and call briefs.
4
Gmail MCP
Connect Gmail via OAuth. Claude can now draft and send emails directly β€” you'll always review before sending, but the drafting happens automatically.
🧠 Step 2 β€” Write Your Sales Context Doc β–Ύ

Create sales-context.txt. You'll paste this at the top of every Claude sales conversation. Fill in the template below for your product β€” the GoLive Labs example is pre-filled.

SALES CONTEXT β€” GoLive Labs
============================
Product: GoLive Labs (goliveailabs.com)
What we sell: Online learning platform teaching non-technical people
to build and ship real software with AI. No coding experience required.

Pricing:
- Free: Project 1 in every track (no credit card)
- Creator ($10/mo): Unlocks all projects across all tracks

Value props:
1. You ship something live in your first session β€” no toy examples
2. Learn by doing, not watching β€” every project has a real URL at the end
3. AI as your co-pilot from day one β€” Claude Code, Supabase, Vercel

ICP:
Non-technical people who want to build real software using AI:
aspiring developers, career changers, entrepreneurs, marketers
who want to build their own tools. Age 22–45. Motivated by building
something real, frustrated by expensive courses that don't ship anything.

Pain points we solve:
- "I tried to learn coding but couldn't stick with it"
- "I want to build my idea but don't know where to start"
- "I've watched hours of tutorials but never shipped anything"

Competitors:
- Udemy/Coursera: we ship real things, they teach theory
- Bootcamps: we're async and 10x cheaper
- Solo YouTube: no structure, no projects, no support

Tone: Direct, honest, encouraging. No pushy sales tactics.
Speak like a senior dev who genuinely wants the prospect to succeed.
============================
1
Save and customise
Save as sales-context.txt in a /sales folder. Update every section for your own product before using it in the next projects.
2
Test it with Claude
Paste the doc into a new Claude conversation and ask: "Based on this context, what are the top 3 objections a prospect would have and how should I handle each?" The answer should feel specific to your product β€” if it's generic, tighten the context doc.
πŸ“Š Step 3 β€” Pull Your Pipeline Baseline β–Ύ

Before running any sales campaigns, capture your starting numbers. Paste the prompt below into Claude with your HubSpot MCP connected.

Use the HubSpot MCP to pull my current pipeline data:

1. Total number of active contacts
2. Deals by stage β€” name each stage and the count + total value
3. Average deal size across all open deals
4. Win rate over the last 90 days (closed won vs closed lost)
5. My 5 most recent deal activities (what was logged and when)

Format this as a pipeline baseline snapshot with today's date.
I'll use it to measure progress as I implement this sales track.
1
Save as pipeline-baseline.txt
Copy Claude's output into pipeline-baseline.txt with today's date. You'll compare against this in Project 6 β€” Full Pipeline Orchestrator.
2
No HubSpot yet?
Write your baseline manually: how many active prospects, rough conversion rate, and typical deal timeline. Even rough numbers give you a starting point to measure improvement against.
🎯 Step 4 β€” Build Your ICP with Claude β–Ύ

A sharp ICP makes every outreach email, proposal, and call sharper. Paste the sales context doc first, then use this prompt.

Based on the sales context above, help me build a detailed ICP for sales.

Starting point: [paste your brief ICP description here]

Expand it into a full sales ICP covering:
1. Job titles and seniority levels most likely to buy
2. Company size and industry profile
3. Trigger events that make them ready to buy NOW
   (e.g. new job, recent funding, hiring spike, competitor switch)
4. Their decision-making process β€” who else is involved
5. Top 5 objections before signing and the honest response to each
6. The exact phrases they use when describing their problem
7. Where they spend time online (communities, newsletters, events)

Format as a reference doc I'll paste into future sales prompts.
1
Save as icp-sales.txt
Save Claude's output as icp-sales.txt in your /sales folder alongside the other context files.
2
Foundation complete
You now have four files: sales-context.txt, pipeline-baseline.txt, and icp-sales.txt. Claude will reference these in every project. Start Project 1 β€” Lead Research.
1
Starter
Lead Research & Prospecting
Use Claude to find and qualify ideal prospects. Pull company intel, enrich leads with buying signals, and build a scored lead list β€” without paying for a data tool.
Claude API Apollo MCP LinkedIn MCP Python
πŸ”“ What you'll build
A prospect finder that searches Apollo by ICP criteria and returns scored leads
A lead enrichment prompt that pulls LinkedIn buying signals per prospect
A CSV export: name, company, title, LinkedIn, fit score, buying signals
πŸ’‘ What you could build next
Feed your scored lead list directly into the cold outreach script in Project 2 β€” it'll personalise each email based on the buying signals you just pulled.
πŸ” Step 1 β€” Build a Prospect Search Script β–Ύ

This script asks for your ICP criteria, uses Claude with Apollo MCP to find matching prospects, and returns a scored list with reasoning.

import anthropic

client = anthropic.Anthropic()

SALES_CONTEXT = open("sales-context.txt").read()
ICP = open("icp-sales.txt").read()

def find_prospects(industry, company_size, job_title, location=""):
    prompt = f"""
{SALES_CONTEXT}

{ICP}

Using the Apollo MCP, search for prospects matching:
- Industry: {industry}
- Company size: {company_size} employees
- Job title: {job_title}
- Location: {location or 'any'}

For each prospect returned, provide:
1. Full name
2. Company name and size
3. Job title
4. LinkedIn URL (if available)
5. Fit score (1–5) with one sentence of reasoning based on our ICP
6. One specific reason they might be ready to buy now

Return up to 10 prospects formatted as a numbered list.
"""
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=2000,
        messages=[{"role": "user", "content": prompt}]
    )
    return response.content[0].text

if __name__ == "__main__":
    industry = input("Industry: ").strip()
    size = input("Company size (e.g. '10-50'): ").strip()
    title = input("Job title to target: ").strip()
    location = input("Location (leave blank for any): ").strip()
    results = find_prospects(industry, size, title, location)
    print("\n" + results)
1
Save as prospect_finder.py
Save in your /sales folder. Run with python prospect_finder.py. Answer the prompts β€” Claude will query Apollo and return a scored list.
🧠 Step 2 β€” Enrich Leads with Buying Signals β–Ύ

For each prospect you want to prioritise, use this prompt to pull live buying signals from LinkedIn before reaching out.

I'm researching a prospect before reaching out. Here's their info:

Name: [full name]
Company: [company name]
Title: [job title]
LinkedIn: [LinkedIn URL]

Using the LinkedIn MCP:
1. Pull their last 5 posts or comments and summarise the themes
2. Check if their company has posted any recent news (hiring, product launch, funding)
3. Identify any job postings that signal growth or pain
4. Note any shared connections or mutual interests

Then give me:
- Buying readiness score (1–10) with reasoning based on our ICP
- The single best conversation starter for cold outreach
- One thing I should NOT mention (potential sensitivity or wrong angle)
1
Run for your top 5 prospects
Use this on the highest-scored prospects from Step 1. Paste the output into your lead list notes column β€” you'll use it to personalise outreach in Project 2.
πŸ“‹ Step 3 β€” Export a Scored Lead List β–Ύ

This script runs 10 prospects through the enrichment prompt and outputs a CSV ready to work from.

import anthropic, csv
from datetime import date

client = anthropic.Anthropic()
CONTEXT = open("sales-context.txt").read()

prospects = [
    # Add your prospects from Step 1 here:
    # {"name": "Jane Smith", "company": "Acme Corp", "title": "Head of Growth", "linkedin": "..."},
]

def enrich(p):
    prompt = f"""{CONTEXT}
Prospect: {p['name']}, {p['title']} at {p['company']}
LinkedIn: {p.get('linkedin', 'unknown')}

Score their fit (1–5) and buying readiness (1–10).
Return a single line: fit_score, readiness_score, top_buying_signal, best_opener
No extra text."""
    r = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=200,
        messages=[{"role": "user", "content": prompt}]
    )
    return r.content[0].text.strip()

filename = f"leads_{date.today()}.csv"
with open(filename, "w", newline="") as f:
    w = csv.writer(f)
    w.writerow(["Name","Company","Title","LinkedIn","Fit","Readiness","Signal","Opener"])
    for p in prospects:
        result = enrich(p)
        parts = [x.strip() for x in result.split(",", 3)]
        w.writerow([p["name"], p["company"], p["title"],
                    p.get("linkedin",""), *parts])

print(f"Saved: {filename}")
1
Add your prospects and run
Fill in the prospects list with names from Step 1, then run python build_lead_list.py. Open the CSV in Google Sheets and sort by fit score to build your outreach queue.
2
Beginner
Cold Outreach β€” Email & LinkedIn
Build an AI outreach engine. Input a prospect β€” Claude researches them, writes a personalised 3-touch email sequence and LinkedIn message, all in their language.
Claude API Gmail MCP LinkedIn MCP Python
πŸ”“ What you'll build
A 3-touch email sequence generator personalised per prospect
A LinkedIn connection note writer using their recent activity
Direct Gmail MCP integration β€” Claude drafts, you review and send
πŸ’‘ What you could build next
Connect this to your scored lead list from Project 1 β€” run all top-scored prospects through the outreach writer in a single batch script.
βœ‰οΈ Step 1 β€” Generate a Personalised Email Sequence β–Ύ

This script takes a prospect and their buying signals, then generates a complete 3-touch email sequence saved to a file.

import anthropic

client = anthropic.Anthropic()
CONTEXT = open("sales-context.txt").read()
ICP = open("icp-sales.txt").read()

def write_sequence(name, company, title, buying_signal, linkedin_url=""):
    prompt = f"""
{CONTEXT}
{ICP}

Prospect:
- Name: {name}
- Company: {company}
- Title: {title}
- Buying signal: {buying_signal}
- LinkedIn: {linkedin_url}

Write a 3-email cold outreach sequence. Rules:
- Email 1: Value-first opener that references {buying_signal} specifically.
  Subject line + preview text + body (under 100 words). CTA: 15-min call.
- Email 2 (3 days later): Follow-up with a relevant result or case study angle.
  Under 80 words. Different angle from Email 1.
- Email 3 (7 days later): Break-up email. Honest, no guilt.
  Under 60 words. Low-commitment CTA (a resource, not a call).

No generic openers. No "I hope this email finds you well."
Write in first person as a founder/sales rep.
"""
    r = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1500,
        messages=[{"role": "user", "content": prompt}]
    )
    output = r.content[0].text
    filename = f"outreach_{name.replace(' ','_').lower()}.txt"
    with open(filename, "w") as f:
        f.write(output)
    print(f"Saved: {filename}")
    return output

if __name__ == "__main__":
    name = input("Prospect name: ").strip()
    company = input("Company: ").strip()
    title = input("Job title: ").strip()
    signal = input("Key buying signal: ").strip()
    linkedin = input("LinkedIn URL (optional): ").strip()
    print(write_sequence(name, company, title, signal, linkedin))
1
Run and review
Run python outreach_writer.py. Always read the output before sending β€” Claude drafts, you approve. Tweak anything that sounds off for your voice.
πŸ’Ό Step 2 β€” Write a LinkedIn Connection Note β–Ύ

LinkedIn connection notes cap at 300 characters. Paste this prompt into Claude after your MCP pulls their recent activity.

Using the LinkedIn MCP, pull the last 3 posts or comments from:
[paste LinkedIn URL]

Then write a connection request note under 300 characters that:
- References something specific they posted or shared
- Does NOT say "I'd love to connect" or "I came across your profile"
- Feels like a genuine human response, not a sales opener
- Ends with a soft, natural question

Give me 3 options β€” I'll pick the one that fits best.
1
Pick the best option and send
Choose the note that sounds most like you. If Claude's activity pull returns nothing (private profile), ask it to write a note based only on their job title and company β€” it'll still be more relevant than a generic one.
πŸš€ Step 3 β€” Draft & Send via Gmail MCP β–Ύ

Once you're happy with Email 1, use Claude's Gmail MCP to draft it directly in your inbox β€” ready to review and send.

Using the Gmail MCP, create a draft email with:

To: [prospect email]
Subject: [subject line from Email 1]
Body: [paste Email 1 body here]

Do not send β€” save as a draft so I can review it first.
After creating the draft, confirm the subject line and 
first sentence so I can verify it looks right.
1
Always review before sending
Open Gmail, find the draft, read it in full, and only send when you're satisfied. Claude drafts β€” you're responsible for what goes out. This workflow keeps you in control while removing the blank-page problem.
2
Schedule follow-ups
After sending Email 1, ask Claude: "Remind me to send the follow-up for [name] in 3 days. Create a calendar event via [your preferred calendar MCP] with the draft text attached."
3
Intermediate
Discovery Calls & Follow-up
Never walk into a call underprepared again. Claude builds a pre-call brief from CRM data, generates tailored discovery questions, and writes a follow-up email the moment the call ends.
Claude API HubSpot MCP Gmail MCP Python
πŸ”“ What you'll build
A pre-call brief generator that pulls CRM history and LinkedIn intel
A discovery question bank tailored to your ICP and product
A post-call follow-up writer that goes from notes to sent email in minutes
πŸ’‘ What you could build next
Chain this with Project 4 β€” after a strong discovery call, run the prospect details through the proposal generator immediately while the conversation is fresh.
🎯 Step 1 β€” Pre-Call Brief Generator β–Ύ

Run this script 15 minutes before any discovery call to get a one-page brief with everything Claude knows about the prospect.

import anthropic

client = anthropic.Anthropic()
CONTEXT = open("sales-context.txt").read()
ICP = open("icp-sales.txt").read()

def pre_call_brief(name, company, linkedin_url=""):
    prompt = f"""
{CONTEXT}
{ICP}

I have a discovery call in 15 minutes with:
Name: {name}
Company: {company}
LinkedIn: {linkedin_url}

Using HubSpot MCP: pull all notes, email history, and deal stage for this contact.
Using LinkedIn MCP: pull their last 3 posts and any recent company news.

Generate a one-page pre-call brief:

1. BACKGROUND (2–3 sentences on who they are and their company)
2. WHAT WE KNOW (previous touchpoints, how they found us, any notes)
3. LIKELY PRIORITIES (based on their role, company, and ICP β€” what they probably care about)
4. 5 DISCOVERY QUESTIONS (open-ended, tailored to this specific person β€” not generic)
5. OBJECTIONS TO PREPARE FOR (top 2 based on ICP, with your recommended response)
6. RECOMMENDED NEXT STEP (what to propose at the end of the call)

Be specific. If you don't have data, say so β€” don't invent it.
"""
    r = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1500,
        messages=[{"role": "user", "content": prompt}]
    )
    brief = r.content[0].text
    filename = f"brief_{name.replace(' ','_').lower()}.txt"
    with open(filename, "w") as f:
        f.write(brief)
    print(brief)
    print(f"\nSaved: {filename}")

if __name__ == "__main__":
    name = input("Prospect name: ").strip()
    company = input("Company: ").strip()
    linkedin = input("LinkedIn URL (optional): ").strip()
    pre_call_brief(name, company, linkedin)
1
Run before every call
Save as pre_call_brief.py and run it 10–15 minutes before each discovery call. Print or keep open on a second screen during the conversation.
🀝 Step 2 β€” Discovery Question Bank β–Ύ

Generate a reusable discovery question bank tuned to your product and ICP. Run this once, then pull from it before every call.

Based on our sales context and ICP, generate a master discovery question bank.

Organise 20 questions into 5 categories:

1. CURRENT STATE (understand where they are now)
2. PAIN & IMPACT (surface the real cost of the problem)
3. DECISION PROCESS (understand who decides, how, and when)
4. TIMELINE & URGENCY (is this a priority right now?)
5. BUDGET & AUTHORITY (without asking directly β€” read the signals)

Rules:
- All questions must be open-ended (no yes/no answers)
- Each must feel natural in conversation, not like a survey
- Mark the 5 most important across all categories with β˜…
- Add a brief note on what you're listening for after each question
1
Save to question-bank.txt
Save Claude's output as question-bank.txt. Before each call, pick 4–5 questions from the bank that fit the specific prospect β€” don't use all 20.
πŸ“§ Step 3 β€” Post-Call Follow-up Writer β–Ύ

Immediately after your call, paste your notes and use this prompt to turn them into a follow-up email β€” then draft it straight to Gmail.

[Paste your call notes here β€” bullet points are fine]

Based on these notes, write a follow-up email that:
1. Thanks them (one line β€” not gushing)
2. Summarises the 2–3 main pain points they mentioned in their words
3. Confirms the next steps we agreed on
4. Includes one relevant resource, example, or result based on what they care about
5. Ends with a single clear ask or confirmation

Tone: warm but direct. Under 200 words. No fluff.

Then use the Gmail MCP to create a draft email to [prospect email] 
with this as the body. Subject: "Quick follow-up β€” [their company name]"
Save as draft so I can review before sending.
1
Send within 30 minutes of the call
The faster the follow-up, the better the response rate. Aim to have it drafted and reviewed within 30 minutes of hanging up β€” while the conversation is fresh for both of you.
4
Advanced
Proposals & Pitches
Generate custom proposals in minutes. Claude pulls deal context from your CRM, structures a tailored proposal with ROI framing, and writes executive-ready pitch copy β€” no template agency required.
Claude API HubSpot MCP Python Proposal Strategy
πŸ”“ What you'll build
A proposal generator that outputs a fully structured .md file per deal
A 10-slide pitch deck outline with talking points and visuals
A 5-sentence exec summary for stakeholders who weren't on the discovery call
πŸ’‘ What you could build next
Add a Notion MCP to push the proposal directly into a shared Notion page β€” the prospect gets a live link instead of a PDF attachment.
πŸ“„ Step 1 β€” Proposal Generator β–Ύ

This script takes the key details from your discovery call and generates a full custom proposal saved as a Markdown file.

import anthropic
from datetime import date

client = anthropic.Anthropic()
CONTEXT = open("sales-context.txt").read()

def generate_proposal(company, pain_points, solution_fit, deal_size, timeline):
    prompt = f"""
{CONTEXT}

Generate a professional sales proposal for:
Company: {company}
Their pain points (from discovery call): {pain_points}
How our solution fits: {solution_fit}
Investment level: {deal_size}
Their timeline: {timeline}

Structure the proposal as:
# Proposal for {company}

## Executive Summary
[2–3 sentences. Their problem, our solution, the outcome. Lead with them, not us.]

## The Problem
[Their situation in their language β€” reference the pain points above]

## Our Solution
[Tailored to their specific use case β€” not a generic product description]

## Why It Works
[2–3 results or examples relevant to their industry/size]

## ROI Estimate
[Rough time saved, revenue impact, or risk reduced β€” be honest about assumptions]

## Investment
[{deal_size}. What's included. What happens next.]

## Next Steps
[3 clear actions with rough dates]

Write in plain English. No buzzwords. Make it feel written for this company specifically.
"""
    r = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=2000,
        messages=[{"role": "user", "content": prompt}]
    )
    proposal = r.content[0].text
    filename = f"proposal_{company.replace(' ','_').lower()}_{date.today()}.md"
    with open(filename, "w") as f:
        f.write(proposal)
    print(f"Proposal saved: {filename}")
    return proposal

if __name__ == "__main__":
    company = input("Company name: ").strip()
    pain = input("Their main pain points (from discovery): ").strip()
    fit = input("How our solution fits their situation: ").strip()
    size = input("Deal size / investment level: ").strip()
    timeline = input("Their timeline: ").strip()
    generate_proposal(company, pain, fit, size, timeline)
1
Run right after the discovery call
The best time to generate a proposal is right after the call while you remember everything. Run python proposal_writer.py and use your call notes to answer the prompts.
🎀 Step 2 β€” Pitch Deck Outline β–Ύ

Paste your proposal into Claude and convert it into a 10-slide deck outline with talking points and recommended visuals for each slide.

[Paste your proposal here]

Convert this proposal into a 10-slide pitch deck outline.

For each slide provide:
- Slide title
- 3 bullet points (what to say, not what to display)
- Recommended visual or data display
- The one thing the audience should feel or believe after this slide

Slides:
1. The Problem (their words, not ours)
2. Why Now (why this can't wait)
3. Our Solution (one clear sentence + how it works)
4. Live Demo / How It Works (what to show)
5. Results (real numbers or honest estimates)
6. ROI Calculator (their numbers, our impact)
7. Pricing & What's Included
8. Objection Pre-emption (address the top 2 before they ask)
9. Next Steps (specific dates and actions)
10. Q&A (what to expect and how to handle it)

Keep it direct. No filler slides. Every slide must earn its place.
πŸ’¬ Step 3 β€” Executive Summary for Stakeholders β–Ύ

Deals often stall because the person you spoke to can't sell internally. Give them a 5-sentence exec summary they can forward.

[Paste your proposal here]

Write a 5-sentence executive summary for a C-level stakeholder
who was NOT on the discovery call.

Rules:
- Sentence 1: Their problem (specific, not generic)
- Sentence 2: What changes if they solve it (outcome, not feature)
- Sentence 3: Our solution in plain English (one sentence)
- Sentence 4: Why us / why now (honest, not salesy)
- Sentence 5: Single clear ask (a 20-min call, a trial, a decision)

Lead with their problem, not our product.
Write it so they can forward it to their CFO without editing.
5
Pro
Objection Handling & Deal Coaching
Train Claude on your product and build a live objection playbook. Paste any objection β€” get a specific, honest response that moves deals forward without manipulation.
Claude API Python Deal Coaching Objection Playbook
πŸ”“ What you'll build
A comprehensive objection playbook covering the 6 most common objections
An interactive CLI objection coach β€” paste an objection, get a response + follow-up question
A deal review prompt that diagnoses stalled deals and recommends your next move
πŸ’‘ What you could build next
Train Claude on your actual lost deals β€” paste the conversation history and ask what went wrong and what you should have said. It's the fastest sales coaching loop you've ever had.
πŸ›‘οΈ Step 1 β€” Build Your Objection Playbook β–Ύ

Paste your sales context doc into Claude, then use this prompt to generate a complete objection handling reference.

Based on our sales context and ICP, generate a comprehensive
objection handling playbook.

Cover these 6 objections:
1. "It's too expensive / we don't have budget"
2. "We already have a solution for this"
3. "I need to think about it / let me get back to you"
4. "Send me some information and I'll review it"
5. "Now's not a good time β€” maybe next quarter"
6. "I need to check with my team / get buy-in"

For each objection provide:
- The REAL underlying concern (what they actually mean)
- How to acknowledge it without being defensive
- The honest reframe (not a manipulation tactic)
- A specific response script under 60 words
- The follow-up question to re-engage after your response
- One thing you should NOT say in response

Format as a reference card I can keep open during calls.
1
Save as objection-playbook.txt
Keep this open during discovery calls and demos. When an objection comes up, scan to the relevant section β€” don't read it verbatim, just use the framing and follow-up question.
πŸ€– Step 2 β€” Build a Real-Time Objection Coach β–Ύ

A simple CLI tool β€” paste any objection and get an immediate, specific response. Useful for async objections that come in via email.

import anthropic

client = anthropic.Anthropic()
CONTEXT = open("sales-context.txt").read()
PLAYBOOK = open("objection-playbook.txt").read()

history = []

def coach(objection):
    history.append({"role": "user", "content": objection})
    system = f"""You are a sales coach for this product:

{CONTEXT}

You have this objection playbook:
{PLAYBOOK}

When given an objection:
1. Identify which category it falls into
2. Give the recommended handling approach in 2–3 sentences
3. Write the exact response script (under 60 words, first person)
4. Provide the follow-up question to re-engage

Be direct. No preamble. Lead with the response."""

    r = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=600,
        system=system,
        messages=history
    )
    reply = r.content[0].text
    history.append({"role": "assistant", "content": reply})
    return reply

print("Objection Coach β€” paste an objection and press Enter. Type 'quit' to exit.\n")
while True:
    obj = input("Objection: ").strip()
    if obj.lower() in ("quit", "exit", "q"):
        break
    if obj:
        print("\n" + coach(obj) + "\n")
1
Run during email follow-up
When a prospect replies with an objection over email, paste it into the coach, get the response, and edit it into your reply. The multi-turn memory means you can keep refining if they push back again.
πŸ” Step 3 β€” Deal Review & Next Steps Coach β–Ύ

When a deal goes quiet or you're not sure what to do next, paste the deal summary and let Claude diagnose it.

[Paste your sales context doc]

Here's a deal I need help with:

Prospect: [name, title, company]
Deal stage: [current CRM stage]
Deal size: [rough value]
Last 3 interactions: [bullet points β€” what happened, what was said]
Their stated objections: [list them]
Budget confirmed: [yes/no/unclear]
Timeline: [what they told you]
Decision makers involved: [who else is in the room]

Analyse this deal and give me:
1. The REAL blocker (not what they said β€” what's actually stopping this)
2. Likelihood to close in next 30 days (1–10) with honest reasoning
3. The single most important action I should take in the next 48 hours
4. The exact message I should send today (draft it β€” subject + body)
5. One thing I'm probably doing wrong with this deal

Be direct. Don't sugarcoat. I'd rather know the truth.
6
Ninja
Full Pipeline Orchestrator
Tie every stage together. Give Claude your week's pipeline β€” it researches new prospects, personalises outreach, preps call briefs, generates proposals, and drafts follow-ups. One script, all stages.
Claude API HubSpot MCP Apollo MCP Gmail MCP Python
πŸ”“ What you'll build
A weekly pipeline review prompt that flags cold deals and prioritises actions
A full pipeline orchestrator script β€” one command covers all active deal stages
A weekly performance review that compares results to baseline and recommends changes
πŸ’‘ What you could build next
Schedule the pipeline review to run automatically every Monday morning via a cron job β€” so you start every week with a prioritised action plan already waiting in your inbox.
πŸ” Step 1 β€” Weekly Pipeline Review Prompt β–Ύ

Run this every Monday morning. Paste into Claude with HubSpot MCP active β€” it turns your CRM data into a prioritised action plan.

Use the HubSpot MCP to pull my full active pipeline.

For each deal, retrieve: name, stage, deal value, last activity date, 
next scheduled action, and any notes from the last 7 days.

Then give me a Monday morning pipeline review:

1. COLD DEALS β€” flag any with no activity in the last 7 days.
   For each: draft a re-engagement message I can send today.

2. CLOSE THIS WEEK β€” identify the 3 deals most likely to close 
   in the next 5 days. Explain why for each.

3. ACTION PLAN β€” for every active deal, one next action.
   Be specific: "Send the proposal", not "follow up".

4. DRAFT MESSAGES β€” for the top 3 priority deals, draft the 
   exact message to send today via Gmail MCP. Save as drafts.

Format as a clean action plan I can work through in order.
1
Make it a Monday ritual
Run this before you open email or Slack every Monday. The pipeline review takes 5 minutes and you start the week with clarity β€” not inbox anxiety.
πŸš€ Step 2 β€” Full Pipeline Orchestrator Script β–Ύ

One script that pulls all active deals from HubSpot and generates the right output for each stage automatically.

import anthropic
from datetime import date

client = anthropic.Anthropic()
CONTEXT = open("sales-context.txt").read()
ICP = open("icp-sales.txt").read()

STAGE_ACTIONS = {
    "new_lead":      "prospect research and personalised outreach email",
    "contacted":     "follow-up email if no reply, or next touch if replied",
    "discovery":     "pre-call brief and discovery question selection",
    "proposal":      "proposal draft or proposal follow-up",
    "negotiation":   "objection handling response and deal coaching",
    "closing":       "final follow-up and next steps confirmation",
}

def orchestrate_deal(name, company, stage, last_activity, notes=""):
    action = STAGE_ACTIONS.get(stage.lower().replace(" ", "_"),
                               "assess status and recommend next step")
    prompt = f"""
{CONTEXT}
{ICP}

Deal: {name} at {company}
Stage: {stage}
Last activity: {last_activity}
Notes: {notes or 'none'}

Required action: {action}

Generate the appropriate output for this stage:
- If outreach: write the email draft
- If call prep: write the pre-call brief (abbreviated)
- If proposal: write the executive summary
- If objection/negotiation: write the response + coaching note
- If closing: write the follow-up and next steps

Keep each output under 300 words. Be specific to this deal.
End with: NEXT ACTION (one sentence, specific and actionable).
"""
    r = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=800,
        messages=[{"role": "user", "content": prompt}]
    )
    return r.content[0].text

# In production: pull deals from HubSpot MCP and loop through them
# For now: add your deals manually to test the script
deals = [
    # {"name": "Jane Smith", "company": "Acme", "stage": "contacted",
    #  "last_activity": "3 days ago", "notes": "No reply to first email"},
]

filename = f"pipeline_{date.today()}.md"
with open(filename, "w") as f:
    f.write(f"# Pipeline Action Plan β€” {date.today()}\n\n")
    for d in deals:
        f.write(f"## {d['name']} β€” {d['company']} ({d['stage']})\n")
        output = orchestrate_deal(**d)
        f.write(output + "\n\n---\n\n")

print(f"Pipeline plan saved: {filename}")
1
Connect to HubSpot MCP
Replace the manual deals list with a HubSpot MCP call to pull all active deals automatically. Claude can make that MCP call in the same script if you ask it to in the prompt.
πŸ“ˆ Step 3 β€” Weekly Performance Review β–Ύ

Run this every Friday afternoon. It compares this week's activity to your baseline and tells you what to do differently next week.

[Paste your pipeline-baseline.txt here]

Use the HubSpot MCP to pull this week's sales activity:
- Emails sent and reply rate
- Calls logged and outcomes
- Deals advanced (stage changes)
- Deals closed won / closed lost
- New deals added to pipeline

Compare to the baseline above and give me a weekly sales review:

1. WHAT WORKED β€” activities that moved deals forward
2. WHAT STALLED β€” deals that didn't progress and the likely reason
3. PIPELINE HEALTH β€” is the top of the funnel growing or shrinking?
4. WIN/LOSS INSIGHT β€” if any deals closed, what drove the outcome?
5. NEXT WEEK FOCUS β€” the single most important thing to prioritise

Format as a crisp 1-page review. Be honest β€” I'm trying to improve,
not feel good about a bad week.
1
Make it a Friday ritual
The weekly review creates a feedback loop. After 4 weeks, patterns emerge β€” you'll know which outreach angles convert, which stages stall, and where the biggest leverage is in your process.