Agente de Correo: Procesar E-mails con IA
Qué cubre este artículo sobre agentes de correo
- Qué es un agente de correo y cómo funciona.
- Cómo el agente clasifica, responde y reenvía e-mails.
- Cómo dotar al agente de herramientas y contexto.
- Ejemplos prácticos para soporte, ventas, administración y notificaciones.
- Mejores prácticas para privacidad, precisión y control humano.
Introducción: Agente de correo explicado
Un agente de correo es un agente de IA que procesa e-mails de forma autónoma: lee, entiende, clasifica y actúa. No solo “recibir correo”, sino “entender correo y responder”, contestar, reenviar, archivar o escalar.
Este artículo está dirigido a usuarios que quieren construir agentes de IA para procesar e-mails. Encontrarás los fundamentos en Agentes de IA y Automatización de correo.
¿Por qué necesito un agente de correo?
Imagina que recibes 200 e-mails diarios: solicitudes de soporte, leads de ventas, newsletters, spam. Un filtro clásico ordena según reglas. Un agente de correo: “Esta es una solicitud de soporte sobre el producto X, urgente, el cliente está frustrado → enviar al equipo de soporte, prioridad alta, redactar respuesta.” El agente entiende y actúa.
Agente de correo resumido
E-mail → Agente analiza (LLM) → Invoca herramientas (clasificar, responder, reenviar) → Ejecuta acción. Con RAG para contexto, con aprobación humana para respuestas críticas.
La idea central: no solo clasificar, sino entender y actuar.
Para quién es este artículo
- Equipos de soporte, que quieren automatizar e-mails.
- Ventas, que califican leads.
- Empresas, que reducen volumen de correo.
- Desarrolladores, que construyen agentes de correo.
Términos importantes
- Agente de IA - Actor autónomo. Cuándo es útil: el concepto.
- Tool-Calling - Invocar herramientas. Cuándo es útil: para acciones.
- Ollama - Servidor de modelos local. Cuándo es útil: el backend.
- RAG - Base de conocimiento. Cuándo es útil: para respuestas.
- n8n - Herramienta de flujo de trabajo. Cuándo es útil: para orquestación.
- Aprobación humana - Seguridad. Cuándo es útil: para respuestas críticas.
Arquitectura
E-mail entra (IMAP/SMTP)
│
▼
Agente de correo (Ollama + Herramientas)
│
├─ Observar: Leer e-mail
├─ Entender: ¿Qué quiere el remitente?
├─ Planificar: ¿Clasificar? ¿Responder? ¿Reenviar?
├─ Actuar: Invocar herramientas
│ ├─ classify: Categorizar
│ ├─ extract_data: Metadatos
│ ├─ draft_reply: Redactar respuesta
│ ├─ forward: Reenviar
│ ├─ archive: Archivar
│ └─ escalate: Escalar
└─ Verificar: ¿Funcionó?
│
▼
Acciones
├─ Enviar respuesta (después de aprobación)
├─ Reenviar al equipo
├─ Archivar en carpeta
└─ Crear ticket
Ejemplo práctico 1: Agente de correo de soporte
class SupportEmailAgent:
"""Agent para e-mails de soporte"""
async def process(self, email):
"""Procesar e-mail de soporte"""
# 1. Clasificar
category = await self.classify(email)
# 2. Verificar urgencia
urgency = await self.check_urgency(email)
# 3. Redactar respuesta
if category == "technical_issue":
draft = await self.draft_technical_reply(email)
elif category == "billing":
draft = await self.draft_billing_reply(email)
else:
draft = await self.draft_general_reply(email)
# 4. Routing
if urgency == "high":
await self.escalate(email, draft)
else:
await self.queue_for_review(email, draft)
return {"category": category, "urgency": urgency, "draft": draft}
Ejemplo práctico 2: Calificación de leads
class LeadAgent:
"""Agent para leads de ventas"""
async def qualify(self, email):
"""Calificar lead"""
analysis = await ollama.generate(f"""
Analiza este e-mail de ventas:
{email['body']}
Responde como JSON:
{{"interest": "high|medium|low",
"budget": "...",
"timeline": "...",
"decision_maker": true|false,
"company_size": "...",
"recommendation": "call|email|nurture|ignore"}}""", format="json")
lead = json.loads(analysis)
if lead["recommendation"] == "call":
await self.schedule_call(email, lead)
elif lead["recommendation"] == "email":
await self.send_followup(email, lead)
return lead
Ejemplo práctico 3: Respuesta automática con RAG
class AutoReplyAgent:
"""Agent para respuestas automáticas"""
def __init__(self):
self.kb = KnowledgeBase()
async def reply(self, email):
"""Responder a e-mail"""
# RAG: Buscar información relevante
context = await self.kb.search(email['subject'] + " " + email['body'])
# Generar respuesta
draft = await ollama.generate(f"""
Responde este e-mail basándote en la base de conocimiento.
Contexto: {context}
E-mail: {email['body']}
Escribe una respuesta útil y profesional.
Si no sabes la respuesta, sugiere una escalada.""")
return draft
Herramientas para agentes de correo
tools = [
{
"name": "classify_email",
"description": "Clasificar e-mail (soporte, ventas, spam, ...)",
"function": classify_email
},
{
"name": "extract_contact",
"description": "Extraer datos de contacto",
"function": extract_contact
},
{
"name": "draft_reply",
"description": "Redactar respuesta",
"function": draft_reply
},
{
"name": "forward_email",
"description": "Reenviar e-mail",
"function": forward_email
},
{
"name": "create_ticket",
"description": "Crear ticket en el sistema",
"function": create_ticket
},
{
"name": "search_knowledge_base",
"description": "Buscar en la base de conocimiento",
"function": search_knowledge_base
}
]
Consideraciones de seguridad
- Contenido de e-mails: Todos los datos permanecen locales. Consulta Privacidad.
- Respuestas automáticas: Las respuestas críticas deben ser revisadas por humanos. Consulta Aprobación humana.
- Prompt Injection: Los e-mails pueden contener inyecciones. Consulta Prompt Injection.
- Phishing: El agente debe detectar e-mails de phishing y no responder a ellos.
- Permisos: El agente debe tener solo los permisos necesarios. Consulta Permisos de herramientas.
Errores comunes
- Demasiada automatización: No todos los e-mails deben responderse automáticamente. Los críticos necesitan aprobación.
- Clasificación incorrecta: La IA puede clasificar mal. Para e-mails críticos, verifica.
- Falta de contexto: El agente necesita contexto (historial del cliente, base de conocimiento) para respuestas de calidad.
- Eludir filtro de spam: El agente debe detectar spam, no responder a él.
- Tono inadecuado: Las respuestas de IA pueden parecer impersonales. Ajusta los prompts.
Enlaces relacionados
- Agentes de IA - Fundamentos.
- Automatización de correo - Versión de flujo de trabajo.
- Automatización de servicio al cliente - Soporte.
- RAG local - Base de conocimiento.
- Aprobación humana - Seguridad.
- Ollama - Servidor de modelos.
Puntos clave:
- Agente de correo: Lee, entiende, clasifica, actúa, autónomamente.
- Herramientas: classify, extract_contact, draft_reply, forward, create_ticket, search_kb.
- Para soporte, ventas, administración, notificaciones.
- Las respuestas críticas requieren aprobación humana.
- Local con Ollama: todos los e-mails permanecen privados.
Preguntas frecuentes
¿Qué es un agente de correo?
¿Qué puede hacer el agente?
¿Puede el agente responder automáticamente?
¿Mis e-mails están seguros?
¿Qué tan precisa es la clasificación?
¿Cuánto cuesta?
¿Qué sistemas de correo se soportan?
Fuentes y lecturas relacionadas
- Ollama - Servidor de modelos local.
- n8n E-Mail - Nodo de e-mail.
- LangChain Agents - Conceptos de agentes.


