Meeting Follow-Up
Generate a complete post-meeting follow-up package: email draft, HubSpot notes, and
internal debrief. All grounded in what was actually said on the call, cross-checked
against CRM and enrichment data.
Core Principle
Every word in the follow-up must trace back to something specific from the call or
the deal history. No filler. No generic "great talking to you" language that could apply
to any meeting. The prospect should read the email and think "this person was actually
paying attention." The internal debrief should be honest, not optimistic.
The Workflow
Execute these phases in order. Some sub-steps within phases run in parallel.
Phase 0: Identify the Meeting
Determine which meeting the user wants to follow up on:
- If the user names a company or person, use that as the search term
- If the user says "my last meeting" or "today's call", search by recency
- If ambiguous, search Fireflies for recent calls and present options
Extract from the user's request:
- Company name (required — ask if not provided)
- Person name (optional, helps narrow search)
- Date (optional, defaults to most recent match)
Phase 1: Data Collection (parallel)
Run all four data pulls simultaneously:
1A — Fireflies Transcript:
fireflies_search: keyword:"{company_name}" scope:title limit:10
If no results by company name, try:
fireflies_search: keyword:"{person_name}" scope:title limit:10
From the matching meeting(s):
fireflies_get_summary for the meeting — get overview, action items, topics discussed
fireflies_get_transcript for the full transcript — needed for direct quotes and nuance
- Note: meeting ID, title, date, duration, attendees
Also search for any PREVIOUS meetings with this company:
fireflies_search: keyword:"{company_name}" scope:title limit:20
Pull summaries of prior meetings to track action item progress and conversation continuity.
1B — HubSpot Deal & Contact Data:
Search HubSpot for the company and associated contacts:
search_crm_objects: objectType:"companies" query:"{company_name}"
search_crm_objects: objectType:"deals" query:"{company_name}"
search_crm_objects: objectType:"contacts" query:"{company_name}"
Extract:
- Current deal stage, amount, close date, pipeline
- Contact names, titles, emails, phone numbers
- Deal notes and activity history
- Previous email threads (check contact activity for email subjects/dates)
- Any tasks or upcoming activities scheduled
- Deal owner
1C — Apollo Contact Enrichment:
For each attendee from the Fireflies transcript who is NOT from Solum Health:
apollo_people_match: email:"{attendee_email}"
Or if only name + company:
apollo_mixed_people_api_search: person_titles:[] person_locations:[] q_organization_name:"{company}" q_keywords:"{person_name}"
Extract:
- Full name, current title, seniority level
- LinkedIn URL
- Company size, industry, funding stage
- Other relevant contacts at the company (decision makers, champions)
1D — Prior Meeting Cross-Reference:
If prior meetings exist with this company:
- List action items from prior calls
- Check which ones were completed vs. still open
- Note any pricing, timelines, or commitments previously discussed
- Track how the relationship has progressed over time
Phase 2: Fact-Check Layer
Before generating any output, run these verification checks:
Attendee Verification:
- Compare attendee names from Fireflies against HubSpot contacts and Apollo data
- If a name or title differs, use the most authoritative source (Apollo for titles, HubSpot for contact ownership)
- Flag any attendees on the call who are NOT in HubSpot (suggest adding them)
Numbers Consistency:
- Extract any numbers discussed on the call: pricing, volumes, timelines, patient counts, revenue figures
- Compare against numbers from prior meetings and HubSpot deal amount
- Flag inconsistencies (e.g., "They said 500 patients on the last call but 800 on this one")
Competitor Detection:
- Scan transcript for mentions of competitors, alternative solutions, or "we're also looking at..."
- Common competitors to watch for: Availity, Waystar, Infinx, Infinitus, Olive AI, Rhyme, Myndshft, manual processes, "doing it in-house", "our current vendor"
- Flag the context of any competitive mention (comparing features, pricing, timeline)
Commitment Tracking:
- Identify any commitments made by either side:
- "We'll send you..." / "I'll follow up with..."
- "Let's schedule..." / "We can start..."
- "I'll check with my team about..."
- Cross-reference with prior meeting commitments to see what was delivered
- Flag overdue commitments
Discrepancy Report:
- Compile all inconsistencies, missing data, and flags into a fact-check section
- Rate confidence: HIGH (data matches everywhere), MEDIUM (minor gaps), LOW (conflicting information)
Phase 3: Generate Deliverables
Produce all three outputs. Each must be grounded in specific call content.
Deliverable A: Follow-Up Email Draft
Format: Plain text. No markdown. No bold. No bullets. No asterisks. Ready to paste
into Gmail with Cmd+Shift+V and send without any formatting cleanup.
Structure:
- Opening line referencing something specific from the call (NOT "great meeting today")
- 1-2 sentences recapping the key topic or problem discussed
- Specific next steps that were agreed upon, with owners and dates
- Any documents, materials, or information promised — mention them explicitly
- Closing that sets up the next interaction naturally
- Sign-off as JP
Tone Calibration:
- If previous email threads exist in HubSpot, match that tone and formality level
- First meeting = slightly more formal but still warm
- Ongoing relationship = casual, direct, skip the pleasantries
- If the call was technical/operational, keep the email operational
- If the call was executive/strategic, keep the email high-level
- Use the prospect's first name naturally
- Keep it under 150 words. Shorter is better.
What NOT to include:
- "It was great connecting" or any variation
- Bullet points or numbered lists (this is an email, not a document)
- Links to marketing materials unless specifically discussed
- Product pitches or features not discussed on the call
- "Please don't hesitate to reach out" or any similar filler
Example calibration (DO NOT copy verbatim — adapt to each call):
Hi Sarah,
Really interesting point you made about the eligibility check volume spiking
during Q1. That tracks with what we're seeing across similar-sized practices.
As discussed, I'm putting together the ROI breakdown based on your 2,400
monthly checks. You mentioned wanting to see the error-rate comparison
against your current Availity workflow, so I'll include that side by side.
I'll have that over to you by Thursday. In the meantime, I've looped in
our implementation lead so we can move quickly if the numbers make sense
on your end.
Talk soon,
JP
Deliverable B: HubSpot Deal Notes
Format: Structured text ready to paste into HubSpot deal notes or present as
a recommended CRM update.
Contents:
Meeting Summary (3-5 sentences max)
- Who was on the call, their roles
- Primary topic discussed
- Key decisions or outcomes
Deal Stage Recommendation
- Current stage in HubSpot
- Recommended stage after this meeting (with reasoning)
- Stage progression options: Appointment Scheduled → Qualified to Buy → Presentation Scheduled → Decision Maker Bought-In → Contract Sent → Closed Won / Closed Lost
- Only recommend a stage change if the call clearly warrants it
Amount Update (if pricing was discussed)
- Current deal amount in HubSpot
- Recommended amount based on what was discussed
- Calculation basis (e.g., "500 patients x $2/check = $1,000/mo = $12,000 annual")
Action Items
- Each item with: description, owner (Solum or prospect), due date
- Mark which are blocking the deal from progressing
Next Meeting
- Date/time if scheduled
- Agenda items for next call
- Who should attend
Contacts to Add/Update
- Any new attendees not in HubSpot
- Title or role updates needed
Deliverable C: Internal Debrief
Format: Structured analysis for internal use. Be honest and direct.
Contents:
Call Rating: X/5
- 5 = Deal advancing, clear next steps, buying signals strong
- 4 = Productive call, positive signals, minor gaps
- 3 = Neutral, no clear movement forward or backward
- 2 = Concerns raised, objections not handled, momentum stalling
- 1 = Deal at risk, strong objections, competitive threat, going cold
What Went Well
- Specific moments from the call that advanced the deal
- Direct quotes that show interest, buy-in, or urgency
- Relationship dynamics that are working
What Concerns Were Raised
- Objections stated or implied
- Questions that suggest hesitation
- Topics avoided or deflected by the prospect
Buying Signals
- Questions about implementation, timeline, onboarding
- "How would we..." or "When can we start..." language
- Asking about references, case studies, or similar clients
- Discussing budget or getting internal approval
Objections & Risks
- Price concerns
- Timing ("not right now", "maybe next quarter")
- Technical fit questions
- Internal politics or approval process complexity
- Status quo bias ("what we have works fine")
Competitive Landscape
- Any competitors mentioned, with exact context
- How Solum was positioned against them
- Whether the prospect is in an active evaluation
Recommended Next Move
- The single most important thing to do before the next call
- Specific action, not vague ("Send the ROI doc with their numbers by Thursday"
not "Follow up soon")
Fact-Check Notes
- Any discrepancies found during Phase 2
- Data that needs verification
- Attendees not in CRM
- Confidence rating for the overall data quality
Phase 4: Presentation
Present the three deliverables in this order:
- Internal Debrief first — so JP sees the strategic picture before the tactical outputs
- Follow-Up Email Draft — clearly marked as ready to paste
- HubSpot Deal Notes — with specific fields to update
After presenting, ask:
- "Want me to adjust the email tone or add anything?"
- "Should I update the HubSpot deal with these notes?" (if HubSpot MCP supports writes)
- "Any other attendees I should look up in Apollo?"
Edge Cases
No Fireflies transcript found:
- Tell the user which searches were tried
- Ask if the meeting was recorded on a different platform (Fathom, Zoom, etc.)
- Offer to generate a follow-up based on what the user remembers (manual input mode)
No HubSpot deal exists:
- Suggest creating one with recommended stage, amount, and contacts
- Still generate all three deliverables using available data
Multiple meetings match the search:
- Present the list with dates, titles, and attendees
- Ask the user to pick the correct one
- Default to the most recent if user says "the latest one"
Internal meeting (not a prospect call):
- Skip the follow-up email
- Generate a shorter debrief focused on decisions made and action items
- Skip deal stage recommendations
Very short call (under 10 minutes):
- Flag that the call was brief
- Adjust expectations — shorter debrief, simpler email
- Check if the call was cut short or if it was intentionally brief
Required MCP Tools
This skill requires these MCP integrations to be connected:
- Fireflies — for transcripts and summaries
- HubSpot — for deal and contact data
- Apollo.io — for contact enrichment
If any are missing, tell the user which ones are needed and proceed with what's available.
Generate the deliverables using whatever data sources are connected, and note what's
missing in the output.
Important Notes
- Quote the prospect. The email and debrief should reference specific things they said.
Generic follow-ups are worthless.
- Be honest in the debrief. If the call went badly, say so. If the deal is at risk,
flag it. JP needs the truth, not optimism.
- Match email tone to the relationship. A first meeting email reads differently from
a fifth meeting email. Check prior threads.
- Track commitments ruthlessly. If Solum promised something on a prior call and didn't
deliver, flag it immediately. If the prospect promised something and didn't deliver,
note it for the next call.
- No AI slop in the email. Zero dashes as punctuation. No "I wanted to follow up on our
productive conversation." No "leverage", "streamline", "robust", "comprehensive." Write
like a real person sending a real email.
- Keep the email SHORT. Under 150 words. Under 100 is better. Nobody reads long
follow-up emails.
1---2name: meeting-followup3description: Automates post-meeting follow-up after any sales or customer call. Pulls the meeting transcript from Fireflies, cross-references HubSpot deal/contact data and Apollo contact enrichment, runs a fact-check layer, and produces three deliverables: a plain-text follow-up email draft, HubSpot deal notes with stage/amount recommendations, and an internal debrief with buying signals, objections, competitor mentions, and next moves. Use this skill when the user says "follow up on my meeting with [company]", "meeting follow-up", "post-meeting", "write follow-up for [company]", "summarize my call with...", "meeting debrief", "what happened on my call with...", "draft follow-up email for [company]", "post-call notes", "follow up from today's call", "write a recap for [company]", or any variation of wanting follow-up materials after a sales or customer conversation.4---56# Meeting Follow-Up78Generate a complete post-meeting follow-up package: email draft, HubSpot notes, and9internal debrief. All grounded in what was actually said on the call, cross-checked10against CRM and enrichment data.1112## Core Principle1314Every word in the follow-up must trace back to something specific from the call or15the deal history. No filler. No generic "great talking to you" language that could apply16to any meeting. The prospect should read the email and think "this person was actually17paying attention." The internal debrief should be honest, not optimistic.1819## The Workflow2021Execute these phases in order. Some sub-steps within phases run in parallel.2223### Phase 0: Identify the Meeting2425Determine which meeting the user wants to follow up on:26271. If the user names a company or person, use that as the search term282. If the user says "my last meeting" or "today's call", search by recency293. If ambiguous, search Fireflies for recent calls and present options3031Extract from the user's request:32- **Company name** (required — ask if not provided)33- **Person name** (optional, helps narrow search)34- **Date** (optional, defaults to most recent match)3536### Phase 1: Data Collection (parallel)3738Run all four data pulls simultaneously:3940**1A — Fireflies Transcript:**4142```43fireflies_search: keyword:"{company_name}" scope:title limit:1044```4546If no results by company name, try:47```48fireflies_search: keyword:"{person_name}" scope:title limit:1049```5051From the matching meeting(s):52- `fireflies_get_summary` for the meeting — get overview, action items, topics discussed53- `fireflies_get_transcript` for the full transcript — needed for direct quotes and nuance54- Note: meeting ID, title, date, duration, attendees5556Also search for any PREVIOUS meetings with this company:57```58fireflies_search: keyword:"{company_name}" scope:title limit:2059```60Pull summaries of prior meetings to track action item progress and conversation continuity.6162**1B — HubSpot Deal & Contact Data:**6364Search HubSpot for the company and associated contacts:65```66search_crm_objects: objectType:"companies" query:"{company_name}"67search_crm_objects: objectType:"deals" query:"{company_name}"68search_crm_objects: objectType:"contacts" query:"{company_name}"69```7071Extract:72- Current deal stage, amount, close date, pipeline73- Contact names, titles, emails, phone numbers74- Deal notes and activity history75- Previous email threads (check contact activity for email subjects/dates)76- Any tasks or upcoming activities scheduled77- Deal owner7879**1C — Apollo Contact Enrichment:**8081For each attendee from the Fireflies transcript who is NOT from Solum Health:82```83apollo_people_match: email:"{attendee_email}"84```8586Or if only name + company:87```88apollo_mixed_people_api_search: person_titles:[] person_locations:[] q_organization_name:"{company}" q_keywords:"{person_name}"89```9091Extract:92- Full name, current title, seniority level93- LinkedIn URL94- Company size, industry, funding stage95- Other relevant contacts at the company (decision makers, champions)9697**1D — Prior Meeting Cross-Reference:**9899If prior meetings exist with this company:100- List action items from prior calls101- Check which ones were completed vs. still open102- Note any pricing, timelines, or commitments previously discussed103- Track how the relationship has progressed over time104105### Phase 2: Fact-Check Layer106107Before generating any output, run these verification checks:108109**Attendee Verification:**110- Compare attendee names from Fireflies against HubSpot contacts and Apollo data111- If a name or title differs, use the most authoritative source (Apollo for titles, HubSpot for contact ownership)112- Flag any attendees on the call who are NOT in HubSpot (suggest adding them)113114**Numbers Consistency:**115- Extract any numbers discussed on the call: pricing, volumes, timelines, patient counts, revenue figures116- Compare against numbers from prior meetings and HubSpot deal amount117- Flag inconsistencies (e.g., "They said 500 patients on the last call but 800 on this one")118119**Competitor Detection:**120- Scan transcript for mentions of competitors, alternative solutions, or "we're also looking at..."121- Common competitors to watch for: Availity, Waystar, Infinx, Infinitus, Olive AI, Rhyme, Myndshft, manual processes, "doing it in-house", "our current vendor"122- Flag the context of any competitive mention (comparing features, pricing, timeline)123124**Commitment Tracking:**125- Identify any commitments made by either side:126 - "We'll send you..." / "I'll follow up with..."127 - "Let's schedule..." / "We can start..."128 - "I'll check with my team about..."129- Cross-reference with prior meeting commitments to see what was delivered130- Flag overdue commitments131132**Discrepancy Report:**133- Compile all inconsistencies, missing data, and flags into a fact-check section134- Rate confidence: HIGH (data matches everywhere), MEDIUM (minor gaps), LOW (conflicting information)135136### Phase 3: Generate Deliverables137138Produce all three outputs. Each must be grounded in specific call content.139140---141142#### Deliverable A: Follow-Up Email Draft143144**Format:** Plain text. No markdown. No bold. No bullets. No asterisks. Ready to paste145into Gmail with Cmd+Shift+V and send without any formatting cleanup.146147**Structure:**1481. Opening line referencing something specific from the call (NOT "great meeting today")1492. 1-2 sentences recapping the key topic or problem discussed1503. Specific next steps that were agreed upon, with owners and dates1514. Any documents, materials, or information promised — mention them explicitly1525. Closing that sets up the next interaction naturally1536. Sign-off as JP154155**Tone Calibration:**156- If previous email threads exist in HubSpot, match that tone and formality level157- First meeting = slightly more formal but still warm158- Ongoing relationship = casual, direct, skip the pleasantries159- If the call was technical/operational, keep the email operational160- If the call was executive/strategic, keep the email high-level161- Use the prospect's first name naturally162- Keep it under 150 words. Shorter is better.163164**What NOT to include:**165- "It was great connecting" or any variation166- Bullet points or numbered lists (this is an email, not a document)167- Links to marketing materials unless specifically discussed168- Product pitches or features not discussed on the call169- "Please don't hesitate to reach out" or any similar filler170171**Example calibration (DO NOT copy verbatim — adapt to each call):**172173```174Hi Sarah,175176Really interesting point you made about the eligibility check volume spiking177during Q1. That tracks with what we're seeing across similar-sized practices.178179As discussed, I'm putting together the ROI breakdown based on your 2,400180monthly checks. You mentioned wanting to see the error-rate comparison181against your current Availity workflow, so I'll include that side by side.182183I'll have that over to you by Thursday. In the meantime, I've looped in184our implementation lead so we can move quickly if the numbers make sense185on your end.186187Talk soon,188JP189```190191---192193#### Deliverable B: HubSpot Deal Notes194195**Format:** Structured text ready to paste into HubSpot deal notes or present as196a recommended CRM update.197198**Contents:**1992001. **Meeting Summary** (3-5 sentences max)201 - Who was on the call, their roles202 - Primary topic discussed203 - Key decisions or outcomes2042052. **Deal Stage Recommendation**206 - Current stage in HubSpot207 - Recommended stage after this meeting (with reasoning)208 - Stage progression options: Appointment Scheduled → Qualified to Buy → Presentation Scheduled → Decision Maker Bought-In → Contract Sent → Closed Won / Closed Lost209 - Only recommend a stage change if the call clearly warrants it2102113. **Amount Update** (if pricing was discussed)212 - Current deal amount in HubSpot213 - Recommended amount based on what was discussed214 - Calculation basis (e.g., "500 patients x $2/check = $1,000/mo = $12,000 annual")2152164. **Action Items**217 - Each item with: description, owner (Solum or prospect), due date218 - Mark which are blocking the deal from progressing2192205. **Next Meeting**221 - Date/time if scheduled222 - Agenda items for next call223 - Who should attend2242256. **Contacts to Add/Update**226 - Any new attendees not in HubSpot227 - Title or role updates needed228229---230231#### Deliverable C: Internal Debrief232233**Format:** Structured analysis for internal use. Be honest and direct.234235**Contents:**2362371. **Call Rating: X/5**238 - 5 = Deal advancing, clear next steps, buying signals strong239 - 4 = Productive call, positive signals, minor gaps240 - 3 = Neutral, no clear movement forward or backward241 - 2 = Concerns raised, objections not handled, momentum stalling242 - 1 = Deal at risk, strong objections, competitive threat, going cold2432442. **What Went Well**245 - Specific moments from the call that advanced the deal246 - Direct quotes that show interest, buy-in, or urgency247 - Relationship dynamics that are working2482493. **What Concerns Were Raised**250 - Objections stated or implied251 - Questions that suggest hesitation252 - Topics avoided or deflected by the prospect2532544. **Buying Signals**255 - Questions about implementation, timeline, onboarding256 - "How would we..." or "When can we start..." language257 - Asking about references, case studies, or similar clients258 - Discussing budget or getting internal approval2592605. **Objections & Risks**261 - Price concerns262 - Timing ("not right now", "maybe next quarter")263 - Technical fit questions264 - Internal politics or approval process complexity265 - Status quo bias ("what we have works fine")2662676. **Competitive Landscape**268 - Any competitors mentioned, with exact context269 - How Solum was positioned against them270 - Whether the prospect is in an active evaluation2712727. **Recommended Next Move**273 - The single most important thing to do before the next call274 - Specific action, not vague ("Send the ROI doc with their numbers by Thursday"275 not "Follow up soon")2762778. **Fact-Check Notes**278 - Any discrepancies found during Phase 2279 - Data that needs verification280 - Attendees not in CRM281 - Confidence rating for the overall data quality282283### Phase 4: Presentation284285Present the three deliverables in this order:2862871. **Internal Debrief first** — so JP sees the strategic picture before the tactical outputs2882. **Follow-Up Email Draft** — clearly marked as ready to paste2893. **HubSpot Deal Notes** — with specific fields to update290291After presenting, ask:292- "Want me to adjust the email tone or add anything?"293- "Should I update the HubSpot deal with these notes?" (if HubSpot MCP supports writes)294- "Any other attendees I should look up in Apollo?"295296## Edge Cases297298**No Fireflies transcript found:**299- Tell the user which searches were tried300- Ask if the meeting was recorded on a different platform (Fathom, Zoom, etc.)301- Offer to generate a follow-up based on what the user remembers (manual input mode)302303**No HubSpot deal exists:**304- Suggest creating one with recommended stage, amount, and contacts305- Still generate all three deliverables using available data306307**Multiple meetings match the search:**308- Present the list with dates, titles, and attendees309- Ask the user to pick the correct one310- Default to the most recent if user says "the latest one"311312**Internal meeting (not a prospect call):**313- Skip the follow-up email314- Generate a shorter debrief focused on decisions made and action items315- Skip deal stage recommendations316317**Very short call (under 10 minutes):**318- Flag that the call was brief319- Adjust expectations — shorter debrief, simpler email320- Check if the call was cut short or if it was intentionally brief321322## Required MCP Tools323324This skill requires these MCP integrations to be connected:325- **Fireflies** — for transcripts and summaries326- **HubSpot** — for deal and contact data327- **Apollo.io** — for contact enrichment328329If any are missing, tell the user which ones are needed and proceed with what's available.330Generate the deliverables using whatever data sources are connected, and note what's331missing in the output.332333## Important Notes334335- **Quote the prospect.** The email and debrief should reference specific things they said.336 Generic follow-ups are worthless.337- **Be honest in the debrief.** If the call went badly, say so. If the deal is at risk,338 flag it. JP needs the truth, not optimism.339- **Match email tone to the relationship.** A first meeting email reads differently from340 a fifth meeting email. Check prior threads.341- **Track commitments ruthlessly.** If Solum promised something on a prior call and didn't342 deliver, flag it immediately. If the prospect promised something and didn't deliver,343 note it for the next call.344- **No AI slop in the email.** Zero dashes as punctuation. No "I wanted to follow up on our345 productive conversation." No "leverage", "streamline", "robust", "comprehensive." Write346 like a real person sending a real email.347- **Keep the email SHORT.** Under 150 words. Under 100 is better. Nobody reads long348 follow-up emails.