Resumen
Este pipeline procesa meeting transcripts by extracting decisions y accion elementos, enriching cada con actual web context de Scavio, y storing structured entradas in el agent's knowledge base. Cuando un meeting references un competidor, producto, o mercado tendencia, el pipeline searches for actual datos to annotate el decision con verified context. El resultado es un knowledge base donde meeting decisions son paired con el real-world datos ese informed them.
Desencadenador
After cada meeting transcript es disponible
Programación
After cada meeting transcript es disponible
Pasos del flujo de trabajo
Extraer decisions y accion elementos
Analizar el meeting transcript for explicit decisions, accion elementos, y referenced topics.
Identificar enrichable references
Find references to productos, competidores, precios, o tendencias del mercado ese puede be enriquecido con web datos.
Enriquecer con Scavio search
Consulta Scavio for cada reference to obtener actual datos, precios, y context.
Structure knowledge entradas
Format enriquecido decisions as structured entradas con metadata, fuentes, y marcas de tiempo.
Almacenar in agent knowledge base
Escribir structured entradas to el agent's memory almacenar for future retrieval.
Implementacion en Python
import requests
import json
from datetime import datetime
from pathlib import Path
API_KEY = "your_scavio_api_key"
def enrich_reference(topic: str) -> dict:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": topic, "ai_overview": True},
timeout=15,
)
res.raise_for_status()
data = res.json()
return {
"topic": topic,
"ai_summary": data.get("ai_overview", {}).get("text", "")[:500],
"sources": [{"title": r.get("title", ""), "link": r.get("link", "")} for r in data.get("organic", [])[:3]],
"enriched_at": datetime.utcnow().isoformat(),
}
def process_meeting(meeting: dict) -> dict:
enriched_decisions = []
for decision in meeting.get("decisions", []):
enrichment = enrich_reference(decision.get("topic", ""))
enriched_decisions.append({
"decision": decision.get("text", ""),
"topic": decision.get("topic", ""),
"context": enrichment,
})
return {
"meeting_date": meeting.get("date", ""),
"meeting_title": meeting.get("title", ""),
"enriched_decisions": enriched_decisions,
"processed_at": datetime.utcnow().isoformat(),
}
def run():
meeting = {
"date": "2026-05-20",
"title": "Product Strategy Sync",
"decisions": [
{"text": "Switch search provider to Scavio", "topic": "Scavio API pricing vs SerpAPI 2026"},
{"text": "Evaluate n8n for workflow automation", "topic": "n8n automation platform features 2026"},
],
}
result = process_meeting(meeting)
Path("meeting_knowledge.json").write_text(json.dumps(result, indent=2))
for d in result["enriched_decisions"]:
print(f" Decision: {d['decision']}")
print(f" Context: {d['context']['ai_summary'][:100]}...")
if __name__ == "__main__":
run()Implementacion en JavaScript
const API_KEY = "your_scavio_api_key";
async function enrichReference(topic) {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform: "google", query: topic, ai_overview: true }),
});
const data = await res.json();
return {
topic,
aiSummary: (data.ai_overview?.text ?? "").slice(0, 500),
sources: (data.organic ?? []).slice(0, 3).map((r) => ({ title: r.title ?? "", link: r.link ?? "" })),
};
}
const decisions = [
{ text: "Switch to Scavio", topic: "Scavio API pricing 2026" },
{ text: "Evaluate n8n", topic: "n8n automation features 2026" },
];
for (const d of decisions) {
const ctx = await enrichReference(d.topic);
console.log(`Decision: ${d.text} -> ${ctx.aiSummary.slice(0, 80)}...`);
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA