Describe el problema/error/pregunta
He estado trabajando en un flujo de trabajo durante un tiempo, pero no lo he tocado en casi 2 semanas (el último cambio habría sido ~20 de abril). En ese tiempo creo que nuestra instancia se actualizó de 2.18.4 → 2.18.7 (configurada para auto-actualización), sin embargo no veo nada en las notas de versión que debería causar este problema. Desde entonces actualicé a 2.19.2 (la auto-actualización no hizo este, tuve que hacerlo manualmente) y sigo viendo los mismos resultados. Revertiré si es necesario, pero si algunas funcionalidades han sido cambiadas/eliminadas propositivamente, necesitaré arreglarlo si alguna vez quiero actualizar de todas formas…
Los pasos iniciales del flujo de trabajo son
-aislar un único adjunto PDF de un correo electrónico
-generar un prompt para que Claude procese ese PDF (nodo de código, js)
-Enviar a Claude (http)
El código que había estado funcionando para generar el prompt es 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: 'Extrae los siguientes datos de este PDF: -Número de orden de compra -Fecha de envío -Número de factura -Array de artículos ordenados. Incluye el número de parte de Dell (no incluyas la palabra Dell), descripción, número de serie y precio neto extendido. Devuelve SOLO el JSON sin procesar, sin markdown, sin explicación, sin bloques de código.'
}
]
}
]
};
return [{
json: { body: JSON.stringify(body) }
}];
Resultando en:

El paso inicial para aislar el PDF utiliza este código:
const binary = $input.item.binary;
// Encuentra la clave del adjunto PDF
const pdfKey = Object.keys(binary).find(
key => binary[key].mimeType === 'application/pdf'
);
if (!pdfKey) {
throw new Error('No se encontró ningún adjunto PDF en este correo electrónico');
}
return [{
json: $input.item.json, // pasar los datos del correo sin cambios
binary: {
attachment_0: binary[pdfKey] // renómbralo a una clave predecible
}
}];
Resultando en attachment_0
Sin embargo después de volver a este flujo de trabajo después de ~2 semanas, ese paso de generación de prompt ahora resulta en un error desconocido. He intentado arreglarlo con varios otros códigos js, sin éxito al recrear lo que necesito. Mi familiaridad con JS es a nivel aficionado, pero Claude ha sido excelente generando código. He pasado por varias iteraciones sin éxito.
Información sobre tu configuración de n8n
- Versión de n8n: 2.18.7 - 2.19.2 (auto-hospedado)
- Base de datos (predeterminado: SQLite):
- Configuración EXECUTIONS_PROCESS de n8n (predeterminado: own, main):
- Ejecutando n8n a través de (Docker, npm, n8n cloud, aplicación de escritorio): docker
- Sistema operativo: