Aperçu
Les notes de réunion génèrent des éléments d'action qui font référence à des outils, des prix et des concurrents. Les équipes agissent sur la base d'informations obsolètes de la réunion sans les vérifier. Ce workflow prend les éléments d'action de la réunion et les vérifie automatiquement avec des données de recherche en direct via MCP, en s'assurant que les outils référencés existent toujours, que les prix ont changé ou que les concurrents ont de nouvelles offres.
Déclencheur
Déclenché après le traitement de la transcription de la réunion, ou en lot quotidien pour les éléments d'action accumulés.
Planification
Post-réunion ou lot quotidien
Étapes du workflow
Extraire les éléments d'action des notes de réunion
Analyser la transcription ou les notes de réunion pour identifier les éléments d'action faisant référence à des outils externes, des prix, des concurrents ou des affirmations factuelles.
Générer des requêtes de recherche par élément d'action
Pour chaque élément d'action, générer 1 à 3 requêtes de recherche pour vérifier les informations référencées. Les affirmations sur les prix donnent lieu à des requêtes de prix. Les références aux outils donnent lieu à des requêtes de disponibilité.
Exécuter les recherches de vérification via MCP
Exécuter toutes les requêtes de recherche générées via le serveur Scavio MCP. Collecter les résultats structurés avec des horodatages pour garantir leur actualité.
Annoter les éléments d'action avec les résultats
Ajouter à chaque élément d'action les résultats de recherche pertinents. Marquer les éléments pour lesquels les informations référencées ont changé depuis la réunion.
Implémentation Python
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]}...")Implémentation JavaScript
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);
}Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA