Ir al contenido

Gmail — Get email by ID

Tipo: gmail-get-email  ·  Paquete: Gmail v1.0.4  ·  Salida: Dictionary<string,object>

Trae un correo completo a partir de su ID: cuerpo (texto y HTML), cabeceras (remitente, destinatarios, asunto, fecha) e información de adjuntos. Úsala cuando Get emails te dio la lista sin cuerpo y ahora necesitas el contenido de uno concreto.

Opera sobre la sesión creada con Gmail — Connect. Pásala en el parámetro session, o coloca esta actividad dentro del body de Gmail — Connect para heredarla automáticamente.

El id es el que viene en cada elemento de la lista de Get emails (clave id) o el que devuelven Send, Reply y Forward. Solo lee: no marca el correo como leído.

El cuerpo se arma recorriendo las partes del mensaje: toma la primera parte de texto plano y la primera HTML. Si el correo solo trae HTML, body contiene ese HTML sin etiquetas, útil para buscar texto o pasarlo a AI Extract.

ParámetroTipoPor defectoDescripción
idstring—ID del mensaje (de Get emails).
ParámetroTipoPor defectoDescripción
sessionZoanGmailSession—Sesión de Gmail — Connect (se hereda dentro del body).

Devuelve un Dictionary<string,object> con las mismas claves que cada elemento de Get emails con includeBody activado:

ClaveTipoContenido
id, threadIdstringID del mensaje y de su conversación.
from, to, cc, subject, datestringCabeceras tal cual (cc es null si no hay).
snippetstringFragmento del inicio del mensaje.
labelsList<string>IDs de las etiquetas del correo.
unreadbooltrue si está sin leer.
bodystringTexto plano; si solo hay HTML, el HTML sin etiquetas; "" si no hay cuerpo.
bodyHtmlstringCuerpo HTML, o null.
attachmentsList<Dictionary>Un elemento por adjunto: filename, mimeType, size (bytes), attachmentId. Lista vacía si no hay.

La lista attachments describe los adjuntos pero no los descarga; para guardarlos usa Download attachments.

MensajeCausa y solución
'id' es obligatorio.id está vacío o la expresión devolvió null.
Requested entity was not found.No hay un correo con ese ID en el buzón (se eliminó, o el ID es de otro buzón).
No hay una sesión de Gmail disponible. …No pasaste session y la actividad no está dentro del body de Connect.
Gmail — Connect credential = credential("gmail-soporte")
└─ body:
Gmail — Get emails query = "is:unread subject:pedido" → output: nuevos
For each item in nuevos
└─ Gmail — Get email by ID id = item["id"] → output: correo
AI Extract prompt = str(correo["body"]) schema = … → output: pedido
Gmail — Download attachments id = correo["id"] folder = "C:\pedidos" → output: archivos