QANode Logo

Nó Email Inbox

O nó Email Inbox conecta a uma caixa de e-mail via IMAP e aguarda ou busca mensagens que correspondam a critérios definidos. É ideal para validar recebimento de e-mails, extrair OTPs e capturar links de confirmação em fluxos de teste.


Visão Geral

PropriedadeValor
Tipoemail-inbox
CategoriaUtilitários
Entradain
Saídaout

Pré-requisito: Credencial de E-mail

Antes de usar o nó, crie uma Credencial de E-mail na seção Credenciais. Ela armazena a conexão IMAP e a autenticação de forma segura.


Campos de Configuração

Geral

CampoTipoPadrãoDescrição
CredencialseleçãoCredencial de e-mail a usar
OperaçãoseleçãoExtract EmailO que fazer ao encontrar o e-mail
PastatextoINBOXPasta IMAP a monitorar
Apenas Não LidosbooleantrueBusca somente mensagens não lidas
Marcar Como LidobooleanfalseMarca as mensagens encontradas como lidas

Operações disponíveis

ValorDescrição
Extract EmailAguarda e retorna o e-mail completo
Extract OTPExtrai um código numérico do corpo do e-mail
Extract LinkExtrai uma URL do corpo do e-mail

Filtros de busca

Todos os filtros são opcionais. Quando preenchido, o campo deve estar contido no e-mail para que ele seja considerado.

CampoDescriçãoExemplo
From ContainsFiltra por remetentenoreply@gmail.com
To ContainsFiltra por destinatáriomeuemail@
Subject ContainsFiltra por assuntoCódigo de verificação
Body ContainsFiltra por texto no corposeu código é

Filtro de data

CampoOpçõesDescrição
Received After ModeStep Start / Absolute Date/Time / No Date FilterModo do filtro de data
Received AfterISO 8601Usado apenas quando modo = Absolute Date/Time

Step Start (recomendado): o nó usa o UID do próximo e-mail no momento em que começa a execução, ignorando mensagens anteriores de forma confiável, independente de fuso horário.

Polling e limites

CampoTipoPadrãoDescrição
Timeout (ms)number120000Tempo máximo de espera (0 = sem espera, busca uma vez)
Poll Interval (ms)number3000Intervalo entre verificações
Max Scannumber30Máximo de e-mails a analisar por ciclo
Max Matchesnumber1Máximo de e-mails a retornar

Extração de OTP (quando operação = Extract OTP)

CampoTipoPadrãoDescrição
OTP Regex (opcional)regexautomáticoExpressão personalizada para capturar o código
OTP Min Lengthnumber6Comprimento mínimo do código
OTP Max Lengthnumber6Comprimento máximo do código

Quando nenhum regex é informado, o nó procura automaticamente por sequências numéricas com o comprimento configurado.

Extração de Link (quando operação = Extract Link)

CampoTipoDescrição
Link Domain ContainstextoFiltra links pelo domínio (ex: accounts.google.com)
Link Regex (opcional)regexExpressão personalizada para capturar a URL

Outputs

OutputTipoDescrição
foundbooleanSe algum e-mail foi encontrado
matchCountnumberQuantidade de e-mails que corresponderam
attemptsnumberNúmero de verificações realizadas
emailobjectPrimeiro e-mail encontrado (objeto completo)
emailsarrayTodos os e-mails encontrados (até maxMatches)
linksarrayURLs encontradas no primeiro e-mail
otpstringCódigo extraído (apenas em extractOtp)
linkstringURL extraída (apenas em extractLink)

Estrutura do objeto email

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

Exemplos Práticos

Aguardar e-mail de confirmação de cadastro

[Clique em "Criar conta" no navegador]
    │
    ▼
[Email Inbox]
  Operação: Extract Email
  Subject Contains: "Confirme seu e-mail"
  From Contains: noreply@servico.com
  Timeout: 60000ms
    │
    ▼
[HTTP Request: GET {{ steps.emailInbox.outputs.links[0] }}]

Extrair OTP de 6 dígitos

[Clique em "Enviar código" no app]
    │
    ▼
[Email Inbox]
  Operação: Extract OTP
  Subject Contains: "código de verificação"
  OTP Min Length: 6
  OTP Max Length: 6
  Timeout: 30000ms
    │
    ▼
[Type no campo OTP: {{ steps.emailInbox.outputs.otp }}]

Extrair link de redefinição de senha

[Clique em "Esqueci minha senha"]
    │
    ▼
[Email Inbox]
  Operação: Extract Link
  Subject Contains: "redefinir senha"
  Link Domain Contains: accounts.empresa.com
  Timeout: 30000ms
    │
    ▼
[Navigate: {{ steps.emailInbox.outputs.link }}]

Configuração por Provedor

Gmail

ModoConfiguração necessária
Senha / App PasswordAtive "Acesso a app menos seguro" ou gere uma App Password
OAuth2Crie um app no Google Cloud Console com o URI de callback da credencial

Para Gmail com OAuth2, use o Connect OAuth (Browser) na tela de credencial. O Google exige que o URI de callback cadastrado no Console seja idêntico ao exibido no campo OAuth Callback URI.

Outlook / Microsoft 365

ModoConfiguração necessária
Senha / App PasswordFunciona com contas que não têm MFA, ou com senhas de app
OAuth2Registre o app no Azure Active Directory com permissão IMAP.AccessAsUser.All

IMAP Customizado

Configure manualmente host, porta e modo de segurança (SSL/TLS).


Dicas

  • Sempre use Received After Mode = Step Start — evita capturar e-mails anteriores ao teste
  • Combine filtros — quanto mais específico (from + subject), mais confiável a detecção
  • Marcar como lido — útil para evitar que o mesmo e-mail seja capturado em execuções seguidas
  • Timeout 0 — executa apenas uma verificação sem aguardar; útil para assertivas em e-mails já recebidos
  • OTP Regex customizado — use quando o código tiver formato não numérico ou esteja em contexto ambíguo (ex: código: ([A-Z0-9]{8}))