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!