At the end of building the sales pipeline in the last SendReport node, it executed but returned an empty result with Error 200 “error”: “Item is missing required fields: assessment_id”. I reviewed the spacing and ran it again, and it went from an Error 200 to an Error 422 - “{"error":"Missing one or more required parameters. Make sure you are sending your assessment_id and your csv report."}” I’ve checked everything and nothing works.
When I download the CSV file, I see that the data in the “assessment” column doesn’t match. In this last column, I find the report timestamp data and my ID data are in the following column which has no header (I’m not sure if this has anything to do with it).
I’m sharing the result of the last 3 nodes.
I appreciate your guidance. I’m a beginner and it’s becoming frustrating not to find a solution.
What is the error message (if any)?
“error”: “Item is missing required fields: assessment_id”
This a 422 Unprocessable error occurs because the webhook requires your CSV file to be sent in the request body, but no body parameters/data payload have been attached.
How to fix it:
Set Body Content Type: Scroll down in the node setup parameters to the request body settings and select Form-Data (multipart/form-data) or n8n Binary File.
Attach Binary Data: Enable the binary payload option and specify the input property name matching your binary file (data or data property outputted by your Convert to CSV node on the left).
Verify Header: Ensure your x-assessment-id header remains active in the Headers section.
@Munish_Prajapati Thank you for your guidance, indeed the content type of the body was missing. Previously, when trying to troubleshoot, I deleted the node and duplicated it again and forgot to enable n8n Binary File. With this, it now recognizes the file, and the node executes, however, it remains empty with an error message “Missing required field: assessment_id”
I can’t figure out why it’s not recognizing it.
I managed to find the solution with Claude’s help and I’m leaving it here for future reference
Final Solution:
In the SendReport node: revert the header name back to what it was originally: X-Assessment-ID (with the X- prefix and hyphens) — this is correct just as you had it at the start.
In the SetReportMetadata node: leave the field renamed to assessment_id (lowercase, underscore) — this is what you already corrected and it’s what goes inside the CSV.
Run the entire flow again from SetReportMetadata → ConvertToCSV → SendReport.
With both changes in place (correct header for auth + correct field inside the CSV), you should get the success confirmation_code.
The X-Assessment-ID header in SendReport was for authentication — it had to keep that exact name.
The assessment_id field in SetReportMetadata was a piece of data inside the CSV report — it had to have that other exact name.
Both used the same value (your assessment ID), but served different purposes, which is why the names couldn’t be interchangeable even though they seemed like “the same data”.