Overview
Meeting notes generate action items that reference tools, pricing, and competitors. Teams act on stale information from the meeting without verifying. This workflow takes meeting action items and automatically grounds them with live search data via MCP, checking whether referenced tools still exist, pricing has changed, or competitors have new offerings.
Trigger
Triggered after meeting transcript is processed, or daily batch for accumulated action items.
Schedule
Post-meeting or daily batch
Workflow Steps
Extract Action Items from Meeting Notes
Parse meeting transcript or notes for action items that reference external tools, pricing, competitors, or factual claims.
Generate Search Queries per Action Item
For each action item, generate 1-3 search queries to verify the referenced information. Pricing claims get pricing queries. Tool references get availability queries.
Execute Grounding Searches via MCP
Run all generated search queries via the Scavio MCP server. Collect structured results with timestamps for freshness.
Annotate Action Items with Findings
Append each action item with relevant search findings. Flag items where the referenced information has changed since the meeting.
Python Implementation
import requests, os
API_KEY = os.environ["SCAVIO_API_KEY"]
def ground_action_item(action_item: str) -> dict:
"""Ground a meeting action item with live search data."""
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY, "Content-Type": "application/json"},
json={"query": action_item, "country_code": "us"},
timeout=10,
)
data = resp.json()
return {
"action_item": action_item,
"grounding": [
{"title": r.get("title", ""), "snippet": r.get("snippet", ""), "url": r.get("link", "")}
for r in data.get("organic_results", [])[:3]
],
"ai_overview": data.get("ai_overview", {}).get("text", ""),
}
# Ground meeting action items
items = [
"Evaluate Vercel pricing for deployment migration",
"Check if Supabase supports edge functions in free tier",
]
for item in items:
grounded = ground_action_item(item)
print(f"Action: {grounded['action_item']}")
print(f" Grounding: {len(grounded['grounding'])} sources")
if grounded["ai_overview"]:
print(f" AI Overview: {grounded['ai_overview'][:100]}...")JavaScript Implementation
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function groundActionItem(item) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query:item, country_code:'us'})});
const d = await r.json();
return {action_item:item, grounding:(d.organic_results||[]).slice(0,3).map(r=>({title:r.title, snippet:r.snippet, url:r.link})), ai_overview:d.ai_overview?.text||''};
}
const items = ['Evaluate Vercel pricing for deployment migration', 'Check if Supabase supports edge functions'];
for (const item of items) {
const g = await groundActionItem(item);
console.log('Action: '+g.action_item+'\n Sources: '+g.grounding.length);
}Platforms Used
Web search with knowledge graph, PAA, and AI overviews