Sales Call Prep

SkillDev tools

Pre-sales-call intelligence composite. Deep dives on the person AND their company before a sales call, then maps findings to your product to generate talking points, objection prep, and a call strategy. Goes beyond generic attendee research, this is sales-specific intelligence that helps SDRs, AEs, and founders walk into calls with a plan. Tool-agnostic, works with any CRM, research source, and calendar.

Use Sales Call Prep in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Sales Call Prep and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Sales Call Prep skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Sales Call PrepStart free

What this skill tells your AI

The instructions your AI receives, as published by gooseworks-ai/goose-skills in skills/sales/composites/sales-call-prep/SKILL.md and read by Ahel’s review.

The pre-call intelligence report that turns a 50/50 sales call into an 80/20 one. Researches the company (with a sales lens — not Wikipedia facts, but buying signals, pain indicators, competitive landscape, and budget context), researches the person (not just their bio, but their authority level, priorities, likely objections, and what they care about), then maps everything to your product to generate a specific call strategy.

What makes this different from meeting-brief:

Dimensionmeeting-briefsales-call-prep
FocusWho is this person?How do I sell to this person?
Company researchBasic overviewSales-lens: pain signals, budget indicators, competitive stack, decision process
Person researchLinkedIn + GitHub + newsAuthority mapping, buying style, priorities, likely objections
Product connectionNoneMaps your product's value to their specific situation
OutputBackground briefCall strategy with talk track, questions, and objection prep
AudienceAnyone with a meetingSDR, AE, founder walking into a sales call

When to Auto-Load

Load this composite when:

  • User says "prep me for my sales call", "call prep for [company]", "research [person] before our demo"
  • User says "I have a call with [person] at [company] tomorrow", "meeting prep for a prospect"
  • User has an upcoming meeting with a prospect (not an internal meeting, not a customer check-in)
  • An upstream workflow (meeting lifecycle, daily BDR rhythm) triggers call prep for sales meetings

Step 0: Configuration (One-Time Setup)

On first run, collect and store these preferences. Skip on subsequent runs.

Your Product Context

QuestionPurposeStored As
What does your company do? (2-3 sentences)Frame product-to-prospect mappingcompany_description
What problem do you solve?Identify if the prospect has this problempain_point
Who is your ideal buyer? (title, department)Map to the person on the callideal_buyer
What are your top 3 proof points? (customer, metric, result)Arm the seller with specific evidenceproof_points
What are the top 5 objections you hear? And how do you handle each?Pre-load objection handlingcommon_objections
What competitors do you run into? And what's your positioning against each?Competitive prepcompetitors
What's your pricing model? (ballpark)Budget qualification contextpricing_model
What does your typical sales process look like? (stages, timeline)Calibrate call objectives by stagesales_process
What discovery questions do you typically ask?Augment with prospect-specific questionsdiscovery_questions

Data Source Config

QuestionOptionsStored As
Where do you track deals?Salesforce / HubSpot / Pipedrive / Close / Supabase / Nonecrm_tool
Where do you track outreach?Smartlead / Instantly / Outreach / Noneoutreach_tool

Store config in the current working directory or wherever the user prefers.


Step 1: Gather Context

Purpose: Understand what this meeting is, who's attending, and what stage the deal is at. Pull any existing data from CRM/outreach history.

Input Contract

meeting_input: {
  # Option A: Calendar-driven (meeting already scheduled)
  calendar_event: {
    title: string
    date: string
    time: string
    attendees: [ { name: string, email: string } ]
    description: string | null
    meeting_link: string | null
  }

  # Option B: Manual input (user tells you who the call is with)
  manual: {
    person_name: string
    person_title: string | null
    person_email: string | null
    person_linkedin: string | null
    company_name: string
    company_domain: string | null
    meeting_type: string | null       # "discovery", "demo", "follow-up", "negotiation", etc.
    notes: string | null              # Any context the user provides
  }
}

Process

  1. Identify the prospect(s) from calendar or manual input. Filter out internal team members.

  2. Check ALL prior interaction sources (critical — do this before any web research):

    The goal is to reconstruct a complete interaction timeline before the call. Walking into a meeting without knowing you've already emailed someone, had a deal in pipeline, or that a teammate talked to their colleague is a credibility killer. Check every available source.

    A) CRM Records (Attio, Salesforce, HubSpot, Pipedrive, etc.)

    Check for BOTH the person AND their company. Pull:

    What to CheckWhat to PullWhy It Matters
    Company recordDoes the company exist in your CRM? What lists is it on?Shows if they're already a prospect, customer, or cold
    Contact recordDoes THIS person exist? Are there other contacts at the company?Tells you if a colleague already engaged with you
    Active dealsAny open deal for this company? Stage, value, owner, age?You might already be mid-cycle with them — don't restart the conversation
    Closed dealsAny won or lost deals? If lost, what was the reason?Lost deals = you know their objections. Won deals = upsell conversation.
    Deal notesNotes from previous calls, meetings, or interactionsRead every note — they contain gold for personalization
    Deal historyStage changes, timeline, velocityShows how fast (or slow) they move
    Other contacts at companyNames, titles, roles of other people you've talked toReference them: "I was speaking with [colleague] about..."
    Comments / activitiesAny logged calls, emails, tasks, or comments on their recordMay contain context that didn't make it into deal notes
    B) Outreach / Sequencing Tool (SmartLead, Instantly, Outreach, Lemlist, etc.)

    Search by email AND by name. Pull:

    What to CheckWhat to PullWhy It Matters
    Campaign membershipWere they in a campaign? Which one? When?You already reached out — don't pretend this is a cold intro
    Emails sentExact subject lines and email bodies you sent themKnow what you said so you don't repeat yourself or contradict it
    Their replyDid they reply? What did they say? Full reply text.Their exact words are the best conversation opener: "You mentioned X..."
    Lead categoryInterested / Not interested / Out of office / Bounced / etc.If they were marked "interested," you know their temperature
    Trigger signalWhat signal sourced this outreach? (hiring, funding, leadership change)Reference the original signal: "When we first reached out, it was because [signal]..."
    Sequence positionWhich email in the sequence did they respond to (or stop at)?Tells you what messaging resonated vs. fell flat
    Email account usedWhich sender mailbox was used?Know which "version of you" they interacted with
    C) Other Interaction Sources

    Check any additional places where prior contact may have occurred:

    SourceWhat to Check
    Client notes fileAny existing notes — may reference past conversations, call summaries, or decisions
    Previous content/outputsPast call preps, outreach drafts, or research that included this person or company
    CalendarPrevious meetings with this person or company
    LinkedIn messagesDirect messages or InMail exchanges (ask user if they recall any)
    Referral contextHow did this meeting come about? Warm intro from whom? Ask user.
    Shared Slack/email threadsAny back-channel conversations about this prospect
    D) Compile Interaction Timeline

    After checking all sources, build a chronological timeline of every touchpoint:

    interaction_timeline: [
      { date: "2026-01-15", type: "outreach_sent", detail: "Email 1 of hiring-signal campaign. Subject: 'The new CCO mandate'" },
      { date: "2026-01-18", type: "reply_received", detail: "Replied: 'Interesting, let's chat next month'" },
      { date: "2026-02-01", type: "deal_created", detail: "Deal created in Attio. Stage: Meeting booked. Value: $36K" },
      { date: "2026-02-10", type: "call_completed", detail: "Discovery call. Notes: 'Interested in outbound automation, evaluating Clay'" },
      { date: "2026-02-10", type: "deal_stage_change", detail: "Stage moved to Evaluation" },
    ]
    

    This timeline goes directly into the 30-Second Brief and Call Strategy. If you have prior interactions, the call type, opening line, and discovery questions all change:

    Prior InteractionHow It Changes the Call
    No prior interactionTrue cold discovery — qualify from scratch
    Outreach sent, no replyWarm-ish — they've seen your name. Reference the email: "I sent you a note about X a few weeks ago..."
    Outreach sent, they replied positivelyWarm — pick up where the conversation left off. Don't re-pitch.
    Outreach sent, they replied negativelyHandle carefully — they already said no. Understand why before re-engaging.
    Active deal in CRMYou're mid-cycle — this is a follow-up, not a discovery call. Read all notes.
    Lost deal in CRMRe-engagement — acknowledge the history: "I know we talked back in [month] and the timing wasn't right..."
    Colleague already engagedMulti-thread — reference the colleague: "I've been working with [name] on..."
  3. Determine call type and objective:

    Call TypeHow to DetectDefault Objective
    Cold discoveryNo prior deal, first meetingQualify: Do they have the problem? Budget? Authority? Timeline?
    Warm discoveryThey replied to outreach positivelyQualify + build rapport. They already showed interest — figure out why.
    DemoPost-qualification, scheduled demoShow value. Map product to their specific pain. Get next step.
    Follow-upPost-demo, they're evaluatingHandle objections. Introduce new proof. Advance to proposal.
    NegotiationProposal sent, discussing termsClose. Handle final objections. Align on timeline and terms.
    Champion callInternal champion, not decision makerArm the champion. Give them ammunition to sell internally.
    Executive meetingVP+ or C-suite involvedBe strategic, not tactical. ROI and vision, not features.

Output Contract

meeting_context: {
  call_type: string
  call_objective: string
  prospect: {
    name: string
    title: string | null
    email: string | null
    linkedin_url: string | null
    company: string
    company_domain: string | null
  }
  prior_interactions: {
    has_prior_contact: boolean           # Critical flag — changes the entire call approach
    interaction_timeline: [              # Chronological list of all touchpoints
      {
        date: string
        type: "outreach_sent" | "reply_received" | "deal_created" | "deal_stage_change" |
              "call_completed" | "note_added" | "linkedin_message" | "referral" | "other"
        source: "crm" | "outreach_tool" | "email" | "linkedin" | "notes" | "calendar" | "other"
        detail: string                   # What happened, in one sentence
      }
    ]
    crm_context: {
      company_record_exists: boolean
      contact_record_exists: boolean
      active_deal: {
        stage: string
        age_days: integer
        amount: number | null
        owner: string | null
        notes: string[]
      } | null
      closed_deals: [ { outcome: "won" | "lost", amount: number, reason: string | null } ]
      other_contacts: [ { name: string, title: string } ]
      comments_and_activities: string[]
    } | null
    outreach_context: {
      campaign_name: string | null
      campaign_status: string | null
      emails_sent: integer
      emails_sent_detail: [ { seq_number: integer, subject: string, date: string } ]
      their_reply: string | null         # Full reply text
      reply_date: string | null
      lead_category: string | null       # Interested, Not Interested, etc.
      trigger_signal: string | null      # What signal sourced the outreach
    } | null
    other_context: {
      client_notes_mentions: string[]    # Relevant mentions from notes.md
      previous_outputs: string[]         # Previous call preps, research, etc.
      referral_source: string | null     # How this meeting came about
    } | null
  }
  additional_attendees: [ { name: string, title: string } ] | null
}

Step 2: Company Deep Dive

Purpose: Research the prospect's company with a sales lens. Not a Wikipedia summary — focus on signals that indicate need, budget, urgency, and competitive landscape.

Input Contract

prospect: { company, company_domain, ... }  # From Step 1
your_company: { ... }                        # From config

Process

Research across seven dimensions. Use web search (always available) as the primary tool.

A) Company Overview (Quick Context)
What to FindWhere to LookWhy It Matters for the Call
What they do (1-2 sentences)Website, Crunchbase, LinkedInSets the context for everything else
Industry / verticalWebsiteDetermines which proof points to use
Company size (employees)LinkedIn, CrunchbaseMaps to pricing tier and complexity
HQ locationWebsiteTimezone, regional context
Founded yearCrunchbaseMaturity indicator
Business model (B2B/B2C/marketplace)WebsiteAffects how they think about tools
B) Financial & Growth Signals
What to FindWhere to LookWhy It Matters for the Call
Funding historyCrunchbase, web searchIndicates budget availability and growth stage
Last funding date + amountCrunchbase, press releasesRecent raise = fresh budget, evaluating vendors
Revenue estimate (if public or disclosed)Press, SEC filings, web searchBudget calibration
Growth trajectory (hiring velocity, office expansion)LinkedIn, job boardsGrowing = buying. Flat/contracting = harder sell.
Recent layoffsWeb search, newsBudget pressure — position as cost-saving, not cost-adding
C) Pain & Need Indicators
What to FindWhere to LookWhy It Matters for the Call
Job postings related to your product's domainLinkedIn Jobs, IndeedHiring for the role = they have the problem you solve
Complaints/challenges on social mediaLinkedIn posts, Twitter, RedditDirect evidence of pain you can reference
Industry-specific challengesIndustry reports, web searchCommon pain points they're likely facing
Recent company news that implies needPress, blog, LinkedInExpansion, new product, compliance change = new needs
Product reviews of their product (if applicable)G2, Capterra, app storesTheir customers' complaints may point to needs your product addresses
D) Technology & Competitive Stack
What to FindWhere to LookWhy It Matters for the Call
Current tools in your categoryJob postings (mentioning tools), website source, BuiltWithKnow what you're displacing or complementing
Competitor's product in use?Web search, job postings, LinkedIn mentionsPrepare competitive positioning
Tech stack (relevant parts)Job postings, websiteIntegration opportunities or blockers
Vendor evaluation signalsG2 comparisons, LinkedIn research postsActively shopping = high intent
E) Decision-Making Landscape
What to FindWhere to LookWhy It Matters for the Call
Organizational structureLinkedIn, website team pageWho else is involved in the decision?
Other stakeholders (above/below the prospect)LinkedInWho do they report to? Who reports to them?
Recent leadership changesLinkedIn, web searchNew leader = re-evaluating stack
Company culture signalsGlassdoor, careers page, LinkedInFast-moving vs. bureaucratic affects sales cycle
Procurement styleCompany size indicatorSMB = founder decides. Enterprise = procurement process.
F) Relationship Mapping
What to FindWhere to LookWhy It Matters for the Call
Mutual connectionsLinkedInWarm intro potential, reference-ability
Past interactions with your companyCRM, outreach historyDon't repeat what they already know
Customer of a partner?Partner recordsPotential warm angle
In your existing customer's network?LinkedIn, web search"Your peer [company] uses us"
G) Recent Company News (Last 90 Days)
What to FindWhere to LookWhy It Matters for the Call
Product launchesBlog, pressNew products = new ops challenges
Partnerships announcedPress, LinkedInNew partnerships = integration needs
Awards / recognitionWeb searchCompliment material, shows what they're proud of
Controversies / issuesWeb searchLandmines to avoid
Earnings / performancePress, SECBusiness health indicator

Output Contract

company_research: {
  overview: {
    name: string
    description: string
    industry: string
    employee_count: string
    location: string
    founded: string
    business_model: string
  }
  financial: {
    funding_total: string | null
    last_round: { amount: string, stage: string, date: string } | null
    revenue_estimate: string | null
    growth_signal: "growing" | "stable" | "contracting" | "unknown"
  }
  pain_indicators: [
    { signal: string, source: string, relevance_to_product: string }
  ]
  tech_stack: {
    known_tools: string[]
    competitor_in_use: string | null
    integration_opportunities: string[]
  }
  decision_landscape: {
    decision_maker_likely: string     # Title of likely decision maker
    other_stakeholders: string[]
    procurement_style: "founder_led" | "committee" | "procurement" | "unknown"
    estimated_sales_cycle: string
  }
  recent_news: [
    { headline: string, date: string, relevance: string }
  ]
  relationship_map: {
    mutual_connections: string[]
    peer_customers: string[]          # Your customers in their network
    past_interactions: string | null
  }
}

Step 3: Person Deep Dive

Purpose: Research the specific person on the call. Not just their bio — understand their authority, priorities, communication style, and likely concerns.

Input Contract

prospect: { name, title, email, linkedin_url, company }  # From Step 1
company_research: { ... }                                  # From Step 2
your_company: { ... }                                      # From config

Process

A) Professional Profile
What to FindWhere to LookWhy It Matters
Current title + departmentLinkedInAuthority level, budget ownership
Time in current roleLinkedIn<6 months = new, evaluating stack. 2+ years = established, harder to displace incumbent
Career trajectoryLinkedIn experienceMoving up fast = ambitious, wants tools to accelerate. Lateral = stable, risk-averse.
Previous companiesLinkedInIndustry experience, tools they've used before
EducationLinkedInConversation starter, common ground
Skills / endorsementsLinkedInTechnical vs. business orientation
B) Authority & Buying Power Assessment
FactorHow to AssessImplication
Title levelVP+ = likely has budget. Director = may have budget. Manager = influencer, not buyer. IC = user/champion.Determines whether to talk ROI (buyer) or workflow (user)
DepartmentDoes their department buy your product?If they're in engineering and you sell to sales, they might be evaluating for someone else
Reports to whomLinkedIn org structureThe person above them is likely the decision maker if they're not
Team sizeLinkedIn, company pageLarger team = more at stake, bigger deal potential
Budget indicatorsTitle + company size + funding"Does this person plausibly control the budget for our product?"

Authority classification:

LevelWhoHow to Sell
Economic buyerVP+, C-suite, founderTalk ROI, strategic value, competitive advantage. Don't demo features.
Technical buyerDirector, senior manager, tech leadTalk capabilities, integrations, implementation. Demo the product.
ChampionManager, senior ICTalk workflow improvement, daily life impact. Help them build the internal case.
UserIC, operatorTalk ease of use, time savings, learning curve. Get them excited to use it.
EvaluatorAnalyst, consultantTalk data, comparisons, proof points. Be thorough and transparent.
C) What They Care About
What to FindWhere to LookWhy It Matters
Recent LinkedIn postsLinkedIn activityWhat are they thinking about? What problems are they voicing?
Articles they've sharedLinkedIn sharesWhat topics interest them?
Comments they've madeLinkedIn engagementWhat opinions do they hold?
Conference talks / webinarsWeb search, YouTubeWhat are they publicly expert in?
Published content (blog, podcast)Web searchDeep insight into their thinking
D) Communication Style Signals
SignalHow to DetectHow to Adapt
Data-drivenPosts include numbers, references studies, shares reportsLead with metrics and ROI. Bring a business case.
VisionaryPosts about trends, future of industry, big ideasLead with vision and strategic impact. Don't get stuck in details.
OperationalPosts about process, efficiency, team managementLead with workflow improvement and implementation ease.
SkepticalPosts questioning tools/trends, contrarian takesAnticipate tough questions. Lead with proof, not claims.
Relationship-orientedPosts about people, culture, team winsSpend time on rapport. Don't rush to the pitch.
E) Likely Objections (Predicted)

Based on their profile, company situation, and your common objections:

Their SituationLikely ObjectionPre-Load
Using a competitor"We already have [tool]"Prepare competitive positioning, switching cost analysis
Recently hired"I'm still getting up to speed"Position as "quick win for your first 90 days"
Small team / early stage"We can't afford this right now"Prepare ROI framing, start small options
Large enterprise"Our procurement process takes 6 months"Prepare for a longer cycle, ask about process early
Technical role"Does it integrate with [our stack]?"Prepare integration story
Recently burned by a vendor"We tried something like this before"Prepare "what's different" narrative

Output Contract

Shortened here. Read the whole file on GitHub.

Signals

GitHub stars
1k
Forks
211
Last commit
Oct 2026
Advanced
Item type
skill
Key
sales-call-prep
Source
github.com/gooseworks-ai/goose-skills