Email

Email

Conecta cualquier buzón y luego lee, busca, envía, borradores, plantillas, programa y procesa correo con IA.

Una superficie de email normalizada sobre Gmail, Microsoft 365 e IMAP/SMTP propio. Las acciones dependen de las capacidades de la conexión: un buzón solo SMTP puede enviar pero no leer.

Conecta un buzón

Gmail y Microsoft 365 se conectan por OAuth. Los buzones propios se conectan con credenciales IMAP/SMTP directas, guardadas cifradas en reposo, sin necesidad de una app OAuth. Revisa capacidades antes de actuar: un buzón IMAP+SMTP lee y envía, uno solo SMTP solo envía.

Crea una conexión de buzón enviando credenciales. La conexión se activa de inmediato y devuelve su id.

Conectar un buzón IMAP/SMTP propiobash
curl -X POST https://api.hora.to/v1/connections \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "imap",
    "credentials": {
      "user": "agent@acme.com",
      "password": "app-specific-password",
      "imap": { "host": "imap.acme.com", "port": 993, "secure": true },
      "smtp": { "host": "smtp.acme.com", "port": 465, "secure": true }
    }
  }'
Revisar capacidadesbash
curl https://api.hora.to/v1/email/capabilities/conn_123 \
  -H "Authorization: Bearer $HORATO_API_KEY"

Lee, busca y organiza

Lista y lee mensajes e hilos desde el almacén canónico, o tráelos en vivo desde el proveedor. Busca con `q`, lista carpetas y etiquetas, marca leído/no leído, mueve etiquetas y descarga adjuntos.

Usa `live=true` para saltar el caché y leer directo del proveedor (también refresca la copia local).

Buscar mensajesbash
curl "https://api.hora.to/v1/email/messages?connection_id=conn_123&q=invoice&limit=25" \
  -H "Authorization: Bearer $HORATO_API_KEY"
Marcar leído / cambiar etiquetasbash
curl -X PATCH https://api.hora.to/v1/email/messages/msg_123 \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_id":"conn_123","is_read":true,"add_labels":["Processed"]}'

Envía, responde y programa

Envía de inmediato, responde en un hilo o difiere la entrega. Agrega un timestamp `send_at` para programar; los mensajes programados pasan por un dispatcher con reintentos y pueden listarse o cancelarse antes de salir.

Referencia una plantilla por id o slug para enviar correo con variables de fusión.

Enviar ahorabash
curl -X POST https://api.hora.to/v1/email/send \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_id":"conn_123","to":[{"email":"client@example.com"}],"subject":"Hello","body_text":"Hi there"}'
Programar para despuésbash
curl -X POST https://api.hora.to/v1/email/send \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_id":"conn_123","to":[{"email":"client@example.com"}],"subject":"Reminder","body_text":"See you tomorrow","send_at":"2026-06-11T09:00:00Z"}'

Borradores nativos del proveedor

Los borradores son borradores reales del proveedor. En Gmail y Microsoft 365 el borrador se crea en la carpeta Borradores de la cuenta, visible en el cliente nativo y enviado como la copia guardada del proveedor. Los buzones IMAP/SMTP propios usan un borrador gestionado por Horato.

Crear, actualizar, enviar y eliminar siguen el mismo ciclo. Actualizar reemplaza el contenido; enviar lo entrega y lo marca enviado.

Crear y enviar un borradorbash
curl -X POST https://api.hora.to/v1/email/drafts \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_id":"conn_123","to":[{"email":"client@example.com"}],"subject":"Proposal","body_text":"Draft body"}'

curl -X POST https://api.hora.to/v1/email/drafts/draft_123/send \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_id":"conn_123"}'

Plantillas dinámicas

Guarda plantillas reutilizables de asunto/cuerpo con campos de fusión `{{ variable }}` (se admiten rutas con punto como `{{ invitee.name }}`). El render es solo sustitución, sin lógica ni ejecución de código, así una plantilla guardada nunca ejecuta código arbitrario. Previsualiza un render con variables de ejemplo antes de enviar.

Crear y previsualizar una plantillabash
curl -X POST https://api.hora.to/v1/email/templates \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"welcome","name":"Welcome","subject":"Welcome, {{ name }}","body_text":"Thanks for joining, {{ name }}."}'

curl -X POST https://api.hora.to/v1/email/templates/tmpl_123/preview \
  -H "Authorization: Bearer $HORATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"variables":{"name":"Dana"}}'

Procesamiento de mensajes con IA

Convierte correo en señal estructurada. Resume un hilo, clasifica la intención, extrae campos o limpia respuestas citadas y firmas a texto plano. Corren en modelos gestionados por Horato y devuelven JSON estructurado.

Los endpoints de IA requieren una key de IA configurada para el despliegue; cuando no está, devuelven un error claro en lugar de fallar en silencio.

  • `POST /v1/email/ai/summarize`: resumen conciso de hilo o mensaje.
  • `POST /v1/email/ai/classify`: etiqueta intención/categoría.
  • `POST /v1/email/ai/extract`: extrae campos estructurados de un mensaje.
  • `POST /v1/email/ai/clean`: quita citas y firmas al texto central.