Auto-fill CRM and create follow-up tasks after a sales call using MEDDPICC methodology. Pulls meeting transcripts from Granola, scores the call against all 8 MEDDPICC dimensions, extracts competitor mentions, budget discussions, decision criteria, champion signals, and next steps — then writes everything to Attio (deal updates, notes, tasks). MANDATORY TRIGGERS: Use this skill whenever the user mentions "post-call", "after the call", "MEDDPICC", "score the call", "call review", "update CRM after call", "auto-fill CRM", "call analysis", "sales call review", "what did we miss on the call", "debrief the call", "log the call", or references analyzing a completed sales meeting. Also trigger when the user asks to extract competitor mentions, budget info, or decision criteria from a call transcript.
Analyze a sales call transcript against the MEDDPICC framework, score each dimension, auto-fill the CRM (Attio), and create follow-up tasks — so the rep never has to manually log call notes again.
Each dimension is scored 0–4:
| Score | Meaning |
|---|---|
| 0 | Not addressed at all |
| 1 | Barely addressed — vague or passing mention |
| 2 | Somewhat addressed — surface-level discussion |
| 3 | Well addressed — clear specifics uncovered |
| 4 | Thoroughly addressed — deep, actionable intel captured |
| Letter | Dimension | What to extract |
|---|---|---|
| M | Metrics | Quantifiable outcomes the prospect wants to improve (revenue, time saved, cost reduction, headcount efficiency). Look for specific numbers, KPIs, or targets. |
| E | Economic Buyer | The person with final budget authority. Look for mentions of who approves spend, signs contracts, or has veto power. May differ from the person on the call. |
| D | Decision Criteria | Factors that will drive the purchase decision — technical requirements, integration needs, ROI thresholds, compliance, ease of use. |
| D | Decision Process | The formal steps the prospect follows to evaluate and approve a purchase — timeline, stakeholders involved, evaluation stages, legal/procurement review. |
| P | Paper Process | Internal paperwork and approval workflows — procurement rules, legal review, security questionnaires, vendor onboarding, contract redlining. |
| I | Identify Pain | The core problems or challenges the prospect faces. Look for emotional language, frustration signals, business impact of the status quo. |
| C | Champion | An internal advocate for your solution. Someone who has influence, access to the economic buyer, and a personal win tied to your success. |
| C | Competition | Competitors mentioned, alternative solutions being evaluated, or build-vs-buy considerations. Also "do nothing" as a competitor. |
Overall MEDDPICC Score = (sum of 8 dimension scores / 32) × 100, rounded to nearest integer.
Ask the user for:
If the user already provided some of this context in their message, don't re-ask. Extract what you can and only ask about what's missing.
Attempt data sources in priority order. Each source that returns data adds to the picture — do NOT stop after the first hit. Merge everything before scoring.
get_meeting_transcript with the meeting ID.
query_granola_meetings with specific questions about the meeting.query_granola_meetings with "meeting with {name}" to find the most recent match.list_meetings and scan for likely candidates by date or attendee.Once you have the meeting ID, gather full context by calling query_granola_meetings with targeted queries:
If get_meeting_transcript succeeds, read the full transcript yourself — it's more reliable than querying for fragments.
Important: list_meetings only returns the last 30 days. For older deals, Granola may return nothing even though meetings happened months ago. Note this limitation when reporting gaps.
If Granola returns no meetings, or to supplement Granola data:
semantic-search-notes with "{company name} deal pain points metrics decision criteria" to find relevant notes.get-note-body to read the full content.list-comments with parent_object: "deals" and parent_record_id: {deal_id} to check for inline deal comments.If both Granola and Attio notes are empty:
gmail_search_messages with the company name or contact email to find relevant threads.gmail_read_thread on the most relevant threads (limit to 3-5 most recent).If ALL sources return empty, do NOT skip the deal. Instead:
"0/4 — No data available from Granola, Attio notes, or Gmail. Requires qualification call."In parallel:
search-records with object = "companies" and the company name as query.search-records with object = "deals" and the company/deal name as query.If the deal doesn't exist yet:
upsert-record to ensure the company exists (match on domains).create-record to create the deal linked to the company.whoami).Note the record_id for the deal — you'll need it for notes and tasks.
Also call list-attribute-definitions with object = "deals" and query = "meddpicc" to check whether MEDDPICC custom fields have been created. If they exist, you'll populate them in Step 4.
Read through the entire transcript (or Granola query results) and evaluate each dimension.
For each of the 8 MEDDPICC components, produce:
Beyond scoring, actively extract and structure these specific data points:
Competitor mentions:
Budget discussions:
Decision criteria:
Champion signals:
Next steps mentioned:
MEDDPICC is a living qualification — each call adds to the picture. Never blindly overwrite existing scores. Always read existing data first and merge upward.
Before writing anything, call get-records-by-ids with the deal record ID and read the current values of:
meddpicc_score, meddpicc_metrics, meddpicc_decision_criteria, meddpicc_competition, meddpicc_budget_total.
For each MEDDPICC dimension:
[2026-04-06] 3/4 — New finding from this call.
[2026-03-27] 2/4 — Previous finding from earlier call.
Update these existing deal fields based on the merged analysis:
| Field | When to update |
|---|---|
value | If a specific deal value, budget, or pricing was discussed and differs from current |
deal_confidence | Recalculate 1-5 based on MEDDPICC score: Score 0-20→1, 21-40→2, 41-60→3, 61-80→4, 81-100→5 |
stage | Only if the call clearly signals a stage change (e.g., they agreed to a POC) — confirm with user before changing |
If MEDDPICC custom fields exist on the deals object (check Step 2), also update:
meddpicc_score — overall score (0-100), calculated from merged dimension scoresmeddpicc_metrics — cumulative score + summary (date-stamped entries)meddpicc_decision_criteria — cumulative key criteria extractedmeddpicc_competition — cumulative competitors and positioningmeddpicc_budget_total — latest confirmed budget amountUse create-note on the deal record with this structure:
# MEDDPICC Call Analysis — {Company Name}
**Date:** {call date}
**Attendees:** {names from transcript}
**Sales Stage:** {current stage}
**Overall MEDDPICC Score:** {score}/100
---
## Scorecard
| Dimension | Score | Summary |
|-----------|-------|---------|
| M — Metrics | {0-4} | {one-line summary} |
| E — Economic Buyer | {0-4} | {one-line summary} |
| D — Decision Criteria | {0-4} | {one-line summary} |
| D — Decision Process | {0-4} | {one-line summary} |
| P — Paper Process | {0-4} | {one-line summary} |
| I — Identified Pain | {0-4} | {one-line summary} |
| C — Champion | {0-4} | {one-line summary} |
| C — Competition | {0-4} | {one-line summary} |
---
## Key Findings
### Competitor Intelligence
{Structured competitor mentions with context}
### Budget & Pricing
{Budget discussions, reactions, anchoring points}
### Decision Criteria & Process
{What drives the decision, who's involved, timeline}
### Pain Points
{Core challenges with evidence/quotes}
### Champion Assessment
{Who is the champion, strength of advocacy, risks}
---
## Critical Gaps
{Top 2-3 MEDDPICC dimensions that scored lowest, with specific recommendations for what to ask or do next}
---
## Next Steps
{Numbered list of action items with owners and deadlines where discussed}
For each concrete next step identified, create an Attio task using create-task:
linked_record_object: "deals", linked_record_id: {deal_id})whoami)Always create at least these tasks:
If the company has an entry in the "Sales" list (api_slug: sales), update it:
notes — Append a one-line summary: "MEDDPICC {date}: Score {X}/100. Key gaps: {gaps}. Next: {action}."stage — Only if confirmed by userestimated_contract_value — If budget/pricing was discussedclose_confidence — Based on MEDDPICC score (same mapping as deal_confidence)Show the user a concise summary:
Ask if they want to:
meeting-followup skill)For the skill to populate MEDDPICC-specific fields, create these custom attributes on the Deals object in Attio (Settings → Objects → Deals → Add attribute):
| Attribute Name | API Slug (suggested) | Type | Description |
|---|---|---|---|
| MEDDPICC Score | meddpicc_score | Number | Overall MEDDPICC qualification score (0-100). Calculated from 8 dimensions scored 0-4 each. Below 40 = early/weak qualification, 40-60 = developing, 60-80 = strong, 80+ = fully qualified. |
| Metrics | meddpicc_metrics | Text | Quantifiable business outcomes the prospect wants to improve — revenue targets, time savings, cost reduction, headcount efficiency. Include specific numbers and KPIs when available. |
| Decision Criteria | meddpicc_decision_criteria | Text | Factors driving the purchase decision — technical requirements (integrations, security, compliance), business requirements (ROI threshold, payback period), and political requirements (stakeholder alignment). |
| Competition | meddpicc_competition | Text | Competitors being evaluated, incumbent solutions, build-vs-buy considerations, and "do nothing" risk. Include how we differentiate against each. |
| Budget Total | meddpicc_budget_total | Currency (USD) | Total budget amount discussed or estimated for the deal. The prospect's stated budget ceiling, approved spend, or pricing anchor. |
The skill works without these fields — it always creates a detailed note and tasks. With the fields, it also populates structured data for filtering, reporting, and pipeline views.
If your Attio plan supports record-reference custom attributes, you can also add:
| Attribute Name | API Slug (suggested) | Type | Description |
|---|---|---|---|
| Champion | meddpicc_champion | Record Reference → People (or Text on free plans) | Internal advocate for our solution — name, role, advocacy strength, and their personal win tied to our success. |
| Economic Buyer | meddpicc_economic_buyer | Record Reference → People (or Text on free plans) | Person with final budget authority and veto power — name, title, and whether we have direct access or need to go through someone. |
These are nice-to-haves. Champion and Economic Buyer info is always captured in the MEDDPICC note regardless.
| Task | Tool | Key parameters |
|---|---|---|
| Find company | search-records | object: "companies", query |
| Find deal | search-records | object: "deals", query |
| Check MEDDPICC fields exist | list-attribute-definitions | object: "deals", query: "meddpicc" |
| Update deal | update-record | object: "deals", record_id, attributes |
| Create note on deal | create-note | parent_object: "deals", parent_record_id, title, content |
| Create follow-up task | create-task | content, deadline_at, linked_record_object, linked_record_id |
| Update Sales list entry | update-list-entry-by-record-id | list: "sales", parent_object: "companies", attributes |
| Get user identity | whoami | — |
| List deal attributes | list-attribute-definitions | object: "deals" |
| Get full deal record | get-records-by-ids | object: "deals", record_ids: [uuid] |
| Task | Tool |
|---|---|
| Get full transcript | get_meeting_transcript (meeting_id) |
| Query meeting content | query_granola_meetings (query, optional document_ids) |
| List recent meetings | list_meetings |
| Get meeting metadata | get_meetings |
| Variable | Source | Purpose |
|---|---|---|
| Attio | MCP (Attio connector) | CRM — deals, companies, notes, tasks |
| Granola | MCP (Granola connector) | Meeting transcripts and summaries |
| Gmail | MCP (Gmail connector) | Email context if needed for follow-up |
| Google Calendar | MCP (Google Calendar connector) | Meeting scheduling context |
Not every dimension needs to score high at every stage. Use this as a coaching guide:
| Stage | Expected strong (3-4) | Acceptable weak (0-2) |
|---|---|---|
| Discovery | Identified Pain, Metrics | Paper Process, Competition |
| Demo | Pain, Metrics, Decision Criteria | Paper Process |
| POC/Trial | Pain, Metrics, Criteria, Champion | Paper Process |
| Negotiation | ALL should be 2+ | None — gaps here are red flags |
| Contract | ALL should be 3+ | None — missing info blocks close |
Flag any dimension that's weaker than expected for the stage as a priority gap.