Logo de QANode

Nodo Email Inbox

El nodo Email Inbox se conecta a un buzón de correo vía IMAP y espera o busca mensajes que cumplan los criterios definidos. Ideal para validar la recepción de correos, extraer OTPs y capturar enlaces de confirmación en flujos de prueba.


Descripción General

PropiedadValor
Tipoemail-inbox
CategoríaUtilidades
Entradain
Salidaout

Prerequisito: Credencial de Correo

Antes de usar este nodo, crea una Credencial de Correo en la sección Credenciales. Almacena la conexión IMAP y la autenticación de forma segura.


Campos de Configuración

General

CampoTipoPredeterminadoDescripción
CredencialselecciónCredencial de correo a usar
OperaciónselecciónExtract EmailQué hacer al encontrar el correo
CarpetatextoINBOXCarpeta IMAP a monitorear
Solo No LeídosbooleantrueBusca solo mensajes no leídos
Marcar Como LeídobooleanfalseMarca los mensajes encontrados como leídos

Operaciones Disponibles

ValorDescripción
Extract EmailEspera y retorna el correo completo
Extract OTPExtrae un código numérico del cuerpo del correo
Extract LinkExtrae una URL del cuerpo del correo

Filtros de Búsqueda

Todos los filtros son opcionales. Cuando se completan, el valor debe estar contenido en el correo para que sea considerado.

CampoDescripciónEjemplo
From ContainsFiltra por remitentenoreply@gmail.com
To ContainsFiltra por destinatariomicorreo@
Subject ContainsFiltra por asuntoCódigo de verificación
Body ContainsFiltra por texto en el cuerpotu código es

Filtro de Fecha

CampoOpcionesDescripción
Received After ModeStep Start / Absolute Date/Time / No Date FilterModo del filtro de fecha
Received AfterISO 8601Se usa solo cuando el modo = Absolute Date/Time

Step Start (recomendado): el nodo usa el UID del siguiente correo en el momento en que comienza la ejecución, ignorando mensajes anteriores de forma confiable, independientemente de la zona horaria.

Polling y Límites

CampoTipoPredeterminadoDescripción
Timeout (ms)number120000Tiempo máximo de espera (0 = sin espera, verifica una vez)
Poll Interval (ms)number3000Intervalo entre verificaciones
Max Scannumber30Máximo de correos a analizar por ciclo
Max Matchesnumber1Máximo de correos a retornar

Extracción de OTP (cuando operación = Extract OTP)

CampoTipoPredeterminadoDescripción
OTP Regex (opcional)regexautomáticoExpresión personalizada para capturar el código
OTP Min Lengthnumber6Longitud mínima del código
OTP Max Lengthnumber6Longitud máxima del código

Cuando no se ingresa ningún regex, el nodo busca automáticamente secuencias numéricas con la longitud configurada.

Extracción de Enlace (cuando operación = Extract Link)

CampoTipoDescripción
Link Domain ContainstextoFiltra enlaces por dominio (ej: accounts.google.com)
Link Regex (opcional)regexExpresión personalizada para capturar la URL

Outputs

OutputTipoDescripción
foundbooleanSi se encontró algún correo
matchCountnumberCantidad de correos que coincidieron
attemptsnumberNúmero de verificaciones realizadas
emailobjectPrimer correo encontrado (objeto completo)
emailsarrayTodos los correos encontrados (hasta maxMatches)
linksarrayURLs encontradas en el primer correo
otpstringCódigo extraído (solo en extractOtp)
linkstringURL extraída (solo en extractLink)

Estructura del objeto email

{
  "uid": 12345,
  "messageId": "<abc@gmail.com>",
  "subject": "Tu código de verificación",
  "from": "Empresa <noreply@empresa.com>",
  "to": "usuario@gmail.com",
  "date": "2026-03-08T12:00:00.000Z",
  "text": "Tu código es 482910. Válido por 10 minutos.",
  "html": "<p>Tu código es <strong>482910</strong>...</p>",
  "links": ["https://empresa.com/confirmar?token=xyz"]
}

Ejemplos Prácticos

Esperar correo de confirmación de registro

[Clic en "Crear cuenta" en el navegador]
    │
    ▼
[Email Inbox]
  Operación: Extract Email
  Subject Contains: "Confirma tu correo"
  From Contains: noreply@servicio.com
  Timeout: 60000ms
    │
    ▼
[HTTP Request: GET {{ steps.emailInbox.outputs.links[0] }}]

Extraer OTP de 6 dígitos

[Clic en "Enviar código" en la app]
    │
    ▼
[Email Inbox]
  Operación: Extract OTP
  Subject Contains: "código de verificación"
  OTP Min Length: 6
  OTP Max Length: 6
  Timeout: 30000ms
    │
    ▼
[Escribir en campo OTP: {{ steps.emailInbox.outputs.otp }}]

Extraer enlace de restablecimiento de contraseña

[Clic en "Olvidé mi contraseña"]
    │
    ▼
[Email Inbox]
  Operación: Extract Link
  Subject Contains: "restablecer contraseña"
  Link Domain Contains: accounts.empresa.com
  Timeout: 30000ms
    │
    ▼
[Navigate: {{ steps.emailInbox.outputs.link }}]

Configuración por Proveedor

Gmail

ModoConfiguración necesaria
Contraseña / App PasswordActiva "Acceso a aplicaciones menos seguras" o genera una App Password
OAuth2Crea una app en Google Cloud Console con la URI de callback de la credencial

Para Gmail con OAuth2, haz clic en Connect OAuth (Browser) en la pantalla de credencial. Google requiere que la URI de callback registrada en la Consola sea idéntica a la que se muestra en el campo OAuth Callback URI.

Outlook / Microsoft 365

ModoConfiguración necesaria
Contraseña / App PasswordFunciona con cuentas sin MFA o con contraseñas de aplicación
OAuth2Registra la app en Azure Active Directory con permiso IMAP.AccessAsUser.All

IMAP Personalizado

Configura manualmente host, puerto y modo de seguridad (SSL/TLS).


Consejos

  • Siempre usa Received After Mode = Step Start — evita capturar correos anteriores a la prueba
  • Combina filtros — cuanto más específico (from + subject), más confiable la detección
  • Marcar como leído — útil para evitar que el mismo correo sea capturado en ejecuciones sucesivas
  • Timeout 0 — ejecuta solo una verificación sin esperar; útil para aserciones sobre correos ya recibidos
  • OTP Regex personalizado — úsalo cuando el código tenga formato no numérico o esté en un contexto ambiguo (ej: código: ([A-Z0-9]{8}))