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.
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 }
}
}'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).
curl "https://api.hora.to/v1/email/messages?connection_id=conn_123&q=invoice&limit=25" \
-H "Authorization: Bearer $HORATO_API_KEY"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.
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"}'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.
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.
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.