Instructions
When a user wants to prepare for a call or meeting with a prospect, run this workflow: find the person in toflow, pull every prior interaction across all channels, research their company and competitive context, surface their LinkedIn activity, and deliver a structured brief with talking points and questions tailored to where the relationship actually stands.
Steps
Step 1: Gather input from the user
Ask for:
- The prospect identifier: LinkedIn URL, name, email, or toflow person ID
- The meeting type: discovery call, follow-up, demo, or renewal — this shapes the talking points and questions
- Anything the user already knows or wants to focus on
Step 2: Find or enrich the person in toflow
If a LinkedIn URL is provided, call mcp__claude_ai_toflow__enrich_person_by_linkedin to pull their full profile and create or update them in toflow. If enrichment is async, call mcp__claude_ai_toflow__get_person_enrichment_status with the returned task_id to poll until it completes.
If a name or email is provided, call mcp__claude_ai_toflow__list_records with resource_type=person and the name or email as the search term to locate them in the CRM.
Step 3: Pull their full CRM record
Call mcp__claude_ai_toflow__get_person with the person_id to retrieve their current title, company reference, contact details, and any custom fields already saved.
Step 4: Pull full conversation history
This is the most important step. Pull every prior interaction with this prospect across all channels:
- Call mcp__claude_ai_toflow__list_message_threads with the person_id to find all email, LinkedIn, and WhatsApp threads. For each relevant thread, call mcp__claude_ai_toflow__get_message_thread to read the actual messages exchanged.
- Call mcp__claude_ai_toflow__list_emails with the person_id to surface any emails sent or received outside of threads.
- Call mcp__claude_ai_toflow__list_calls with the person_id to retrieve any logged calls and their notes.
- Call mcp__claude_ai_toflow__list_notes with the person_id to pull any manually added context or meeting notes from the team.
Summarise the relationship history: when was the first contact, what was said, how did they respond, where did things stall or progress, and what was the last touchpoint.
Step 5: Pull company intelligence
Call mcp__claude_ai_toflow__get_company using the company reference from the person record to get company size, industry, funding stage, website, and description.
Use web search to find:
- Recent company news in the last 90 days: funding, product launches, leadership changes, hiring surges, or expansions
- Job postings that reveal their current tool stack, team structure, or active pain points (e.g. postings that mention specific tools by name)
- Any competitor mentions or reviews they have left on G2, Capterra, or similar review sites
Step 6: Surface their LinkedIn activity
Call mcp__claude_ai_toflow__get_linkedin_person_posts with the prospect's LinkedIn URL to retrieve their recent posts and engagement. Identify:
- Topics they post about frequently — signals their current priorities
- Pain points or challenges they have mentioned publicly
- Any content that references tools, processes, or industry trends relevant to your product
Step 7: Generate the structured account brief
Produce a brief with the following sections:
Who they are — Current role, tenure, career background, and how long they have been in this role.
Relationship history — A concise summary of every prior interaction: first contact date and channel, key messages exchanged, how they responded, any objections raised, where things stand now, and the last touchpoint. If there is no prior history, state this clearly.
Their company — Size, industry, funding stage, growth signals, and the most relevant recent news from web search.
What they are thinking about — 2-3 themes from their LinkedIn activity that reveal their current mindset and priorities.
Competitive context — Based on job postings and web research, what tools are they likely using today? Are there signals they are evaluating alternatives? This informs how to position your product relative to their current setup.
Pain signals — Specific problems they are likely experiencing, based on their role, company stage, hiring signals, and LinkedIn activity.
Talking points — 3 personalized angles for the conversation. Each must reference something specific from the research — prior conversation history, a LinkedIn post, a company news item, or a job posting signal. No generic product benefits.
Questions to ask — 3-4 discovery questions calibrated to their role, the meeting type, and where the relationship stands. For a first discovery call, focus on surfacing pain and urgency. For a follow-up, focus on what has changed since the last conversation and who else is involved.
Step 8: Show the brief and ask for approval
Present the full brief to the user. Ask: "Shall I save this to their toflow record as a note?"
Step 9: Save to toflow after confirmation
Only after explicit user approval, call mcp__claude_ai_toflow__create_note with the person_id and the full brief as the note body. Confirm the note has been saved.
Important Notes
- The conversation history in Step 4 is the most valuable input. A prospect who replied positively to your first email but went cold after the demo is a completely different conversation than one who has never responded. Always surface this before generating talking points.
- The meeting type changes the output significantly. Discovery calls need open questions to surface pain. Follow-up calls need to reference what was said last time. Demo calls need feature-specific angles. Renewal calls need usage and value confirmation.
- If there is no prior conversation history, say so clearly in the brief rather than omitting the section. The absence of history is useful context.
- Never save the brief to toflow without explicit user confirmation.
- If enrichment times out, call get_person_enrichment_status(task_id) to poll. Do not assume failure.
- For the competitive context section, do not claim certainty about their current tools unless there is a clear signal (job posting, review, or LinkedIn mention). Phrase as "signals suggest" rather than stating as fact.
Examples
Example 1: Follow-up call after a demo that went cold
User: "I have a follow-up call with Arjun Singh at Scalepath tomorrow. We did a demo three months ago but things went quiet."
- Calls list_records searching for Arjun Singh. Returns person_id.
- Calls get_person — title: VP of Sales, company linked to Scalepath.
- Calls list_message_threads — finds two email threads and one LinkedIn thread. Calls get_message_thread on each. Discovers: first email got a reply, demo was booked, follow-up email after demo received no response.
- Calls list_calls — finds a logged call note from the demo: "Liked the LinkedIn automation, concerned about WhatsApp compliance in their region."
- Calls list_notes — one note: "Decision delayed due to Q1 budget freeze."
- Calls get_company — 200-person B2B SaaS, Series B. Web search finds a funding announcement last month.
- Calls get_linkedin_person_posts — recent posts about scaling outbound and hiring two new AEs.
- Generates brief:
- Relationship history: Demo three months ago, positive on LinkedIn automation, compliance concern on WhatsApp, went cold after budget freeze.
- Competitive context: Job postings mention Outreach and Salesforce — likely evaluating alternatives given new AE hires.
- Talking points: New funding removes the budget constraint that stalled the deal. New AE hires signal outbound scaling is now active. Address the WhatsApp compliance concern directly — reference specific regional compliance support.
- Questions: "Has the budget situation changed since we last spoke?", "With the new AEs starting, what does your outreach stack look like today?"
- User confirms. Calls create_note with the brief. Confirms saved.
Example 2: First discovery call with no prior history
User: "Discovery call with Neha Kapoor, linkedin.com/in/neha-kapoor-cro. First time speaking with her."
- Calls enrich_person_by_linkedin. Returns person_id, title: CRO, company: GrowFast.
- Calls get_person — confirms profile. Calls list_message_threads, list_notes, list_calls — all empty. Notes: no prior history.
- Calls get_company — 80 employees, Series A, SaaS, recent blog post about expanding into Southeast Asia.
- Web search finds job postings for SDRs mentioning Apollo and HubSpot.
- Calls get_linkedin_person_posts — two recent posts about multi-channel outreach and reply rates.
- Generates brief:
- Relationship history: No prior contact. First interaction.
- Competitive context: Job postings suggest they are using Apollo for prospecting and HubSpot as CRM.
- Talking points: Southeast Asia expansion creates a multi-channel need — WhatsApp is dominant in that region. Reply rate posts suggest they are already thinking about outreach quality.
- Questions: "What does your current outbound stack look like?", "As you expand into Southeast Asia, how are you planning to reach buyers in markets where email is not the primary channel?"
Troubleshooting
| Problem | Solution |
|---|---|
| No conversation history found | State this clearly in the brief. Generate talking points from enrichment, company research, and LinkedIn activity alone. |
| Enrichment times out | Call get_person_enrichment_status(task_id) to poll. Do not assume failure after the first timeout. |
| No LinkedIn activity found | Rely on company research and conversation history. Note the gap in the brief. |
| Person not found in toflow | If LinkedIn URL provided, use enrich_person_by_linkedin to create them. If only name or email, try list_records first. |
| Job postings do not clearly indicate tool stack | Use broader web search queries: "[company name] tech stack", "[company name] G2 reviews", or "[company name] integrations". |
| User wants to prep for multiple calls | Handle one at a time. Generate and save each brief before moving to the next. |