Décrivez le problème/erreur/question
J’ai travaillé sur un workflow depuis un moment, mais je ne l’ai pas touché depuis près de 2 semaines maintenant (dernier accès autour du 20 avril). Pendant ce temps, je crois que notre instance a été mise à jour de 2.18.4 → 2.18.7 (configurée pour la mise à jour automatique), cependant je ne vois rien dans les notes de version qui devrait causer ce problème. J’ai ensuite mis à jour vers 2.19.2 (la mise à jour automatique n’a pas fait celle-ci, j’ai dû le faire manuellement) et je vois toujours les mêmes résultats. Je peux revenir en arrière si je dois le faire, mais si certaines fonctionnalités ont été intentionnellement modifiées/supprimées, je devrai corriger cela si je veux jamais mettre à niveau…
Les étapes initiales du workflow sont
-isoler une seule pièce jointe PDF d'un email
-générer une invite pour Claude de traiter ledit PDF (nœud de code, js)
-Soumettre à Claude (http)
Le code qui fonctionnait pour générer l'invite est ceci:
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) }
}];
Résultant en:

L’étape initiale pour isoler le PDF utilise ce code:
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
}
}];
Résultant en attachment_0
Cependant après être revenu à ce workflow après ~2 semaines, cette étape de génération d’invite entraîne maintenant une erreur inconnue. J’ai essayé de la corriger avec divers autres codes js, sans succès pour recréer ce dont j’ai besoin. Ma familiarité avec JS est au niveau amateur, mais Claude a été très utile pour générer du code. J’ai essayé plusieurs itérations sans succès.
Informations sur votre configuration n8n
- Version n8n: 2.18.7 - 2.19.2 (auto-hébergée)
- Base de données (par défaut: SQLite):
- Paramètre n8n EXECUTIONS_PROCESS (par défaut: own, main):
- Exécution de n8n via (Docker, npm, n8n cloud, application de bureau): docker
- Système d’exploitation: