Google Calendar
Sales & GTM 20 minutes

How to Prep Sales Discovery Calls with Your ICP as Context

Build a discovery-prep agent in Claude Code that briefs you before every sales call. Wire holds your ICP criteria and call learnings, Calendar holds the meetings, and web research fills in the prospect context.

Wire Google Calendar

At a glance

  • You'll build a discovery-prep agent in Claude Code that reads your calendar, researches each prospect online, and scores them against the ICP criteria stored in your Wire container.
  • Wire holds what is NOT in your calendar: your qualification framework, competitor intel, product positioning, and learnings from past calls.
  • The agent outputs one prep brief per meeting, covering company context, ICP fit assessment, suggested questions, and what signals to listen for.
  • Run it Monday morning to brief the whole week, or the night before a single call. It reads your calendar and Wire container and never modifies either.
  • When your Wire container is org-scoped, the whole team preps from the same ICP and the same accumulated call learnings.

What you need

  • A Wire account with your ICP criteria, qualification framework, and any relevant call learnings added as entries.
  • Claude Code logged into claude.ai with the Google Calendar integration enabled.
  • External meeting invites on your Google Calendar with attendee names and emails visible.

Architecture

┌─────────────────────────────────┐   ┌──────────────────────────────┐
│ Google Calendar (via MCP)       │   │ Wire container               │
│ • this week's meetings          │   │ • ICP criteria               │
│ • attendee names and emails     │   │ • qualification signals      │
│ • meeting descriptions          │   │ • competitor intel           │
└────────────────┬────────────────┘   │ • product positioning        │
                 │                    │ • accumulated call learnings │
                 │                    └──────────────┬───────────────┘
                 │                                   │ Wire tools
                 ▼                                   ▼
          ┌──────────────────────────────────────────────────────┐
          │                    Claude Code                       │
          │  calendar scan  →   web research   →   Wire query    │
          │       ↓                  ↓                 ↓         │
          │   who + when       company context      ICP fit      │
          │                          ↓                           │
          │              one prep brief per meeting              │
          └──────────────────────────────────────────────────────┘

Walking into a discovery call with only the invite title and a name is the default. You have five minutes, so you search the company, skim their homepage, maybe pull their LinkedIn. Then the call starts and you are improvising qualification questions on the fly, hoping to remember your own criteria mid-conversation.

This guide walks through building a discovery-prep agent: a named workflow in Claude Code that reads your calendar each week, researches each external meeting, pulls your ICP criteria and call learnings from a Wire container, and outputs a tailored prep brief before each call. Once the agent exists, you stop doing manual research loops before every call. The agent does that work. You show up knowing who you are talking to and what to listen for.

What you’re building

A discovery-prep agent with two sources of context and one output per meeting. It scans your calendar for external meetings this week, researches each prospect online, pulls your qualification framework and call learnings from Wire, and outputs one prep brief per call.

Two data sources, one brief per meeting:

  • Wire holds the context that is not in your calendar. Your ICP criteria, qualification signals, competitor intel, product positioning, and anything your team has learned from past calls. This is the lens the agent applies to what it finds.
  • Google Calendar (via the claude.ai integration) provides the meeting schedule: who is coming, when, and whatever context is in the invite description.

Web research fills in what neither source has: recent company news, funding, hiring signals, and public information about the attendees.

How it works

Without grounded context, a generic agent preparing you for a call with a company like Meridian Logistics might produce:

They are a mid-market SaaS company. You should ask about their current workflow and what is not working. Find out their budget and timeline.

With a Wire container holding your ICP criteria and call learnings, the same agent produces:

Meridian Logistics (120 employees, Series B) fits your ICP on company size and growth stage. Their stack includes Salesforce and Zapier, which matches the integration-heavy profile your team closes well. They just announced a warehouse expansion, which typically signals headcount pressure. Based on your qualification notes in Wire, ask about the economic buyer early. Your team’s notes say that the “we tried building this in-house” signal predicts urgency well. Listen for it.

What changed: the agent had your actual qualification framework, your team’s accumulated learnings, and current research, all in one pass.

Why Wire containers

Your qualification criteria and call learnings are scattered. ICP in a Google Doc, framework notes in Notion, competitor comparisons in a Slack thread, key learnings from the last team retro in an email. A Wire container is the one place all of that becomes queryable by the agent, in a format it can reason over.

One surface, many sources. Paste your ICP doc, upload your qualification framework, let team members add call learnings as short entries after each call. Wire normalizes them into searchable entries the agent retrieves by meaning. You do not have to restructure your existing docs before they are useful.

Your ICP gets sharper over time. When a call teaches you something — a new objection pattern, a persona that closes faster, a competitor you keep losing to in a specific segment — add it to Wire however makes sense: have the agent write it after the call, upload a file, pipe it in via webhook. The container handles it. The next brief picks up the new signal and starts drawing connections you could not make before: why this prospect fits better than that one, what to probe based on what worked last quarter.

One container, one source of truth for the team. Every rep’s prep agent reads from the same Wire container. When one rep adds a call learning, every teammate’s next brief benefits from it. You stop maintaining parallel versions of the ICP across individual Notion pages that drift apart over time.

Setup

A three-step setup, all linking to canonical docs.

1. Create a Wire container and add your ICP

Create a container and seed it with your qualification context. Good things to include: your ICP criteria, your qualification framework, competitor comparisons, and any call learnings your team has accumulated.

See Creating containers for both the dashboard and API paths.

2. Connect Wire to Claude Code

Add the Wire MCP to Claude Code so the agent can search your container.

See Claude Code + Wire MCP for the connection steps.

3. Connect Google Calendar to Claude Code

Enable the Google Calendar connector on your Claude account so Claude Code can read your meetings and attendee details.

See Claude’s Google Workspace connectors guide.

Usage

Once the three connections are live, the agent runs from a single prompt in Claude Code. Paste this at the start of your week or the night before a call:

Use the Google Calendar connector to find my external meetings for this
week (Monday through Friday). Skip any meeting where all attendees share
my email domain. Skip recurring internal meetings like standups, syncs,
and all-hands. Skip any meeting with no external attendees identified.

For each remaining meeting:

1. Read the invite: attendee names, emails, company domains, meeting
   title, and any description or agenda in the invite.

2. Research each external attendee and their company online. Look for:
   - What the company does and who they sell to.
   - Company size, funding stage, and recent news from the last 90 days.
   - Hiring signals, product launches, or expansion announcements.
   - The attendee's role and any relevant public context.

3. Search my Wire container for:
   - ICP criteria and qualification signals that apply to this company.
   - Relevant competitor comparisons if their stack is mentioned.
   - Any call learnings or patterns that match this persona or company type.
   - Product positioning relevant to what this prospect likely cares about.

4. Generate a prep brief for this meeting with the following sections:
   - Who: Company overview, attendee roles, and a one-sentence
     hypothesis on why they are taking this call.
   - ICP fit: Assessment against my Wire criteria. Call out where they
     fit well, where they do not, and what is unknown. If Wire does not
     have criteria covering a signal, say so explicitly.
   - Context: Key things from research relevant to the call. Recent
     news, growth signals, org changes.
   - Suggested questions: Three to five questions tailored to this
     specific prospect, grounded in the ICP signals and research above.
     Not generic discovery questions.
   - Watch for: Two or three specific signals to listen for during the
     call, based on your Wire learnings about similar deals.

5. If you cannot identify external attendees or find enough context to
   generate a meaningful brief, skip the meeting and include it in the
   final report.

After the loop, report:
- Which meetings got briefs (title, date, attendee count).
- Which meetings were skipped and why.
- Any meetings where Wire did not have relevant ICP context, and a note
  on what entries would close the gap.

Output each brief as a clearly labeled section. Keep each brief
self-contained so I can read one without needing the others.

Run it at the start of the week for a full brief set, or the night before a single call for one brief. You review each section, refine your questions, and walk in knowing what to listen for.

We simplified this into a one-command skill. Download it below and run it with /discovery-prep instead of pasting the prompt every time.

The agent, as a skill

discovery-prep

Confirms your Google Calendar and Wire container are connected, then scans this week's external meetings, researches each prospect against your ICP criteria, and outputs a tailored prep brief for each call.

We'll send occasional product updates. No spam. By downloading, you agree to our privacy policy.

Tips and patterns

What the skill takes care of.

Filters internal and recurring operational meetings automatically.

The skill skips meetings where all attendees share your domain, plus standups, all-hands, and any invite with no external participants. You only get briefs for calls that actually need prep.

Grounds every ICP signal in your Wire container.

The skill requires the agent to tie every qualification assessment back to a Wire entry. If your container does not have criteria covering a particular signal, the brief says so explicitly, which tells you exactly what to add.

Surfaces recent company news as part of each brief.

Before generating each brief, the skill researches the prospect's company online: recent funding, product launches, hiring signals, news from the last 90 days. That context lands in the brief alongside the ICP assessment.

Works for the whole team from a shared container.

When your Wire container is org-scoped, every team member's prep agent reads from the same ICP criteria and the same accumulated call learnings. One rep adds a learning, everyone's next brief improves.

Reports which meetings it skipped and why.

At the end of each run, the skill lists any meetings it could not prep, the reason (no attendee email, internal only, insufficient Wire context), and what you would need to add to cover them next time.

Troubleshooting

If something's off.

Claude Code says it can't see Google Calendar.
The claude.ai Google Calendar integration is not enabled for this session. Open claude.ai, go to Integrations, enable Google Calendar, then restart Claude Code. Re-run `/mcp` to confirm `mcp__claude_ai_GoogleCalendar__*` tools are listed.
The agent is prepping internal meetings I don't need briefs for.
Your meeting invites may not have consistent domain patterns. Tell the agent your company domain explicitly in the prompt (e.g. 'skip any meeting where all attendees are @yourcompany.com'). You can also adjust recurring internal invites to remove the agent.
Briefs don't mention any ICP criteria.
Your Wire container may not have ICP entries yet. Add your qualification framework as entries: ideal company size, target persona, budget signals, tech stack markers, whatever your team qualifies on. Even a rough pasted doc is enough to start.
The suggested questions feel generic, not specific to the prospect.
This usually means the Wire container has ICP criteria but not enough deal-specific signal: objection patterns, persona quirks, segment notes from past calls. Add a few learnings from recent deals that match this prospect's profile and the next brief will produce sharper questions.
Briefs cite outdated competitor positioning.
Update your competitor intel entries in Wire. Wire surfaces relationships and contradictions between entries so the agent can reason over them, including spotting that older positioning conflicts with something newer. Add the updated framing and the agent will work it out on the next run.

Common questions

Why do I need Wire if the agent can just research the prospect online?
Web research gives you company context. Wire gives the agent your lens on that context: your ICP criteria, what signals matter to your team, how you position against competitors, and what you have learned from past calls. Without Wire, every brief is generic research. With Wire, it is research filtered through your team's actual qualification framework.
Does this ever write back to my calendar or Wire container?
No. The skill is read-only against both. It reads your calendar to find meetings and reads Wire to apply your ICP. It never modifies either. If you want to log call outcomes back to Wire after calls, that is a separate step your team does directly.
Can the whole sales team share one Wire container?
Yes, and that is the recommended setup. One org-scoped container means every team member's prep agent reads from the same ICP criteria and call learnings. A rep who adds a learning to the container improves the next brief for everyone else on the team.
What should I put in the Wire container to start?
Your ICP criteria (company size, persona, industry, budget signals), your qualification framework (MEDDIC, SPICED, or whatever your team uses), your top three competitor comparisons, and notes from recent calls that shaped how you qualify. Ten entries is enough to see value.
How far ahead does the agent look?
By default the skill scans the current week (Monday through Friday). You can override this in the prompt: 'only brief tomorrow's calls' or 'look at the next ten business days'. The agent reads whatever date range you specify.
What if a meeting has no attendee information?
The skill skips meetings it cannot identify external attendees for and lists them in the final report. If an invite is missing attendee emails, add them in Google Calendar and re-run.

Start building with Wire.

Create your first container in under a minute. No credit card required.

Create Your First Container