Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Bug] Aula 1 - [Resumo de Emails] Aula não funciona adequadamente com nova versão do N8N

Como fazer a mesma configuração utilizando o Gmail como trigger? E como conseguir configurar o Message a Model corretamente, é possível substituir essa etapa por Get a Message (Gmail) + HTTP Request?

No OpenAI - Message a Model (etapa 2), não foi possível conectar a credencial, dava esse erro: Couldn’t connect with these settings: config.headers.setContentType is not a function.

Dessa forma, precisei adaptar com o Get a Message (Gmail) + HTTP Request (em anexo), mas não está trazendo o corpo do texto no resumo...

https://n8ndataanalytics.app.n8n.cloud/workflow/8aObG58bVRsNtvQu

1 resposta

Olá, Amanda. Como vai?

É muito comum que atualizações em ferramentas de low-code como o n8n tragam mudanças de sintaxe ou comportamentos inesperados em nós específicos. O erro config.headers.setContentType is not a function que você encontrou no nó da OpenAI geralmente está relacionado a uma incompatibilidade de versão da credencial ou do próprio nó com a instalação atual do n8n.

Para solucionar o seu problema e garantir que o resumo do corpo do e-mail funcione corretamente, preparei algumas orientações técnicas:

1. Corrigindo o erro no nó da OpenAI

Antes de migrar para o HTTP Request, tente os seguintes passos:

  • Atualização do Nó: Verifique se o nó da OpenAI no seu fluxo é o mais recente. Às vezes, deletar o nó e adicionar um novo "OpenAI" (versão atualizada) resolve conflitos de funções internas do sistema.
  • Reconfiguração da Credencial: Certifique-se de que a API Key da OpenAI está correta e que você selecionou o recurso de Chat em vez de Completions antigo.

2. Configurando o Gmail como Trigger

Para substituir o gatilho da aula pelo Gmail:

  • Utilize o nó Gmail Trigger.
  • Configure o evento como Message Received.
  • Adicione um filtro (Filter) para buscar apenas e-mails com uma label específica ou de um remetente, evitando que a automação rode para todos os spams.

3. Recuperando o corpo do texto (Get a Message + HTTP Request)

Se você optar por seguir com o HTTP Request, o motivo de o resumo não estar funcionando é que o nó do Gmail retorna o corpo do e-mail em diferentes formatos (textHtml ou textPlain) e muitas vezes codificado em Base64.

  • No nó Get a Message, verifique na saída (Output) se o campo textPlain contém o conteúdo.
  • No nó HTTP Request (que substituirá o Message a Model), você deve enviar um método POST para [https://api.openai.com/v1/chat/completions](https://api.openai.com/v1/chat/completions).
  • No Body do HTTP Request, você precisa mapear o campo do Gmail corretamente. A estrutura deve ser algo como:
{
  "model": "gpt-4o",
  "messages": [
    {"role": "system", "content": "Você é um assistente que resume e-mails."},
    {"role": "user", "content": "Resuma o seguinte texto: {{ $json.textPlain }}"}
  ]
}

Certifique-se de que a expressão entre chaves aponta para o campo correto do nó anterior.

Dica de boa prática:
Sempre que o n8n atualizar e um nó nativo apresentar erro de função (como o seu erro de headers), verifique o fórum oficial da ferramenta, pois pode ser um bug temporário da versão estável que exige um "downgrade" ou uma atualização de patch específica.

Espero que possa ter lhe ajudado!