Descreva o problema/erro/pergunta
Estou trabalhando em um workflow há um tempo, mas não toquei nele por quase 2 semanas (última alteração foi por volta de 20 de abril). Nesse período, acredito que nossa instância foi atualizada de 2.18.4 → 2.18.7 (configurado para auto-atualizar), porém não vejo nada nas notas de lançamento que deveria causar esse problema. Desde então atualizei para 2.19.2 (o auto-update não fez essa atualização, tive que fazer manualmente) e ainda estou vendo os mesmos resultados. Vou reverter se necessário, mas se alguma funcionalidade foi propositalmente alterada/removida, vou precisar corrigir isso se quiser fazer upgrade no futuro…
Os passos iniciais do workflow são
-isolar um único anexo PDF de um email
-gerar um prompt para Claude processar dito PDF (code node, js)
-Enviar para Claude (http)
O código que estava funcionando para gerar o prompt é este:
const binaryData = $input.item.binary.attachment_0;
const buffer = await this.helpers.getBinaryDataBuffer(0, 'attachment_0');
const base64Pdf = buffer.toString('base64');
const body = {
model: 'claude-sonnet-4-6',
max_tokens: 2000,
messages: [
{
role: 'user',
content: [
{
type: 'document',
source: {
type: 'base64',
media_type: 'application/pdf',
data: base64Pdf
}
},
{
type: 'text',
text: 'Extract the following data from this PDF: -Purchase order number -Ship Date -Invoice number -Array of items ordered. Include the dell part number (do not include the word Dell), description, serial number, and ext net price. Return ONLY the raw JSON with no markdown, no explanation, no code fences.'
}
]
}
]
};
return [{
json: { body: JSON.stringify(body) }
}];
Resultando em:

O passo inicial para isolar o PDF usa este código:
const binary = $input.item.binary;
// Find the key of the PDF attachment
const pdfKey = Object.keys(binary).find(
key => binary[key].mimeType === 'application/pdf'
);
if (!pdfKey) {
throw new Error('No PDF attachment found on this email');
}
return [{
json: $input.item.json, // pass through the email data unchanged
binary: {
attachment_0: binary[pdfKey] // rename it to a predictable key
}
}];
Resultando em attachment_0
Porém, após voltar a esse workflow depois de ~2 semanas, esse passo de gerar o prompt agora resulta em um erro desconhecido. Tentei corrigi-lo com vários outros códigos js, sem sucesso em recriar o que preciso. Minha familiaridade com JS é em nível amador, mas Claude tem sido ótimo gerando código. Passei por várias iterações sem sucesso.
Informações sobre sua configuração n8n
- versão n8n: 2.18.7 - 2.19.2 (self-hosted)
- Banco de dados (padrão: SQLite):
- Configuração n8n EXECUTIONS_PROCESS (padrão: own, main):
- Executando n8n via (Docker, npm, n8n cloud, desktop app): docker
- Sistema operacional: