Convert PDF to PDF/A in n8n with ConvertAPI
This guide explains how to implement an n8n workflow that downloads a PDF file, converts it to the PDF/A archival format using ConvertAPI, and persists the converted document to disk. It is written for users who already understand basic n8n concepts and want a clear, technical reference for configuring each node, managing credentials, and handling typical edge cases.
1. Workflow overview
The workflow is intentionally minimal so it can serve as a reusable template or building block in larger automations. The execution pipeline is:
- Manual Trigger – starts the workflow for interactive testing.
- HTTP Request (Download PDF File) – retrieves a sample PDF as binary data.
- HTTP Request (ConvertAPI) – submits the PDF to ConvertAPI and receives a PDF/A-compliant file.
- Read/Write File (Write Result File to Disk) – writes the converted binary data to the local filesystem.
In the original template, a sticky note is included in the editor to remind you that all ConvertAPI requests must be authenticated with your API secret.
2. Use case and context
2.1 Why convert PDF to PDF/A?
PDF/A (Portable Document Format – Archival) is an ISO-standardized subset of PDF designed for long-term document preservation. It embeds fonts, avoids external dependencies, and restricts features that could break future rendering, such as:
- External content references.
- Encryption that may not be supported in the future.
- Dynamic content that depends on external resources or scripts.
Converting documents to PDF/A is common in:
- Regulated industries and compliance workflows.
- Legal and court-document systems.
- Archives, libraries, and records management platforms.
Integrating ConvertAPI with n8n lets you automate this conversion so that incoming PDFs are normalized to a compliant archival format before storage.
3. Architecture and data flow
3.1 Logical architecture
At a high level, the workflow implements this sequence:
- Trigger: Manual execution in the n8n editor, useful for development and testing.
- Input acquisition: Fetch an example PDF via HTTP GET.
- Transformation: Send the PDF as multipart form-data to ConvertAPI’s
/convert/pdf/to/pdfaendpoint. - Output persistence: Save the returned binary content to a file on disk.
3.2 Binary data handling in n8n
The workflow relies on n8n’s binary data support:
- The first HTTP Request node stores the downloaded file in a binary property named
data. - The ConvertAPI HTTP Request node reads that
dataproperty and sends it as thefilefield in a multipart/form-data body. - The ConvertAPI response is also handled as binary and passed to the Read/Write File node.
Ensuring that the binary property name is consistent (data in this example) is critical for the nodes to interoperate without additional mapping.
4. Prerequisites
- An operational n8n instance (either n8n Cloud or self-hosted).
- A ConvertAPI account with an API secret.
Create or access your account at https://www.convertapi.com/a/signin. - Working knowledge of:
- Configuring HTTP Request nodes in n8n.
- Handling binary data properties in workflows.
5. Node-by-node configuration
5.1 Manual Trigger node
The Manual Trigger node is used purely for testing and development. It has no parameters that require configuration for this template.
- Node type: Manual Trigger
- Usage: Start the workflow interactively using Execute Workflow or Test Workflow in the n8n editor.
In production, you would typically replace this with an event-based trigger, such as a Webhook or a file-based trigger.
5.2 HTTP Request: Download PDF file
This node retrieves a demo PDF file and stores it as binary data for downstream processing.
5.2.1 Core configuration
Node: HTTP Request
Operation / Method: GET
URL: https://cdn.convertapi.com/public/files/demo.pdf
Response Format: File (binary)
In the node settings:
- Set Method to
GET. - Set URL to
https://cdn.convertapi.com/public/files/demo.pdf(or your own PDF URL in a real workflow). - Set Response Format to File or Binary depending on your n8n version labels.
By default, n8n will store the response binary data in a property such as data. Verify in the node output that the binary property is indeed named data, because the ConvertAPI node will reference that property.
5.2.2 Binary property naming
If you change the binary property name in this node, you must update the file field configuration in the ConvertAPI HTTP Request node to match. The template assumes:
- Binary property name:
data
5.3 HTTP Request: Convert PDF to PDF/A via ConvertAPI
This node submits the downloaded PDF to ConvertAPI and receives a converted PDF/A document as binary data.
5.3.1 Endpoint and method
Node: HTTP Request
URL: https://v2.convertapi.com/convert/pdf/to/pdfa
Method: POST
Set:
- Method to
POST. - URL to
https://v2.convertapi.com/convert/pdf/to/pdfa.
5.3.2 Request body and file mapping
Configure the node to send a multipart/form-data request:
Content-Type: multipart/form-data
Body Parameters: - file: form binary data (inputDataFieldName = data) - PdfaVersion: pdfa
In n8n:
- Set Content Type to
multipart/form-data. - Add a body field named
fileand configure it as Binary data (or Form-Data: File depending on your UI). - For that field, set Binary Property or inputDataFieldName to
data, which is the property created by the previous node. - Add a standard body parameter named
PdfaVersionwith a value such aspdfaas in the example template. The exact supported values depend on ConvertAPI’s documentation.
This configuration ensures the PDF is uploaded as a file field and that ConvertAPI receives the requested PDF/A version parameter.
5.3.3 Authentication with ConvertAPI
ConvertAPI requires authentication using your secret. The template uses query-string authentication, but header-based authentication is also possible, depending on your preference and ConvertAPI’s API options.
- Authentication mode: Query Auth credential in n8n.
- Query parameter:
Secret=YOUR_SECRET.
In practice, you can:
- Append
?Secret=YOUR_SECRETdirectly to the endpoint URL, or - Use n8n’s credential system with a Query Auth credential that automatically injects
Secretinto the query string.
The template includes a sticky note in the editor reminding you to configure this authentication and to keep your ConvertAPI secret confidential.
5.3.4 Response handling
Response Format: file (binary)
Header: Accept: application/octet-stream
Configure:
- Response Format to File or Binary, so n8n treats the ConvertAPI response as binary data.
- Add a header
Accept: application/octet-streamto instruct ConvertAPI to return the converted file as a binary stream.
After successful execution, this node will output a binary property (again typically named data) that contains the PDF/A file.
5.4 Read/Write File: Write result file to disk
The final node writes the converted PDF/A file to local storage.
5.4.1 Core configuration
Node: Read/Write File
Operation: write
File Name: document.pdf
Data Property Name: =data
Configure:
- Operation to
write. - File Name to the desired output path and file name, for example
document.pdf. Adjust the path syntax according to your n8n environment and filesystem. - Data Property Name to
=data, referencing the binary property from the ConvertAPI node output.
Once the workflow completes, you will have a local file named document.pdf that is expected to comply with PDF/A, subject to the options you passed to ConvertAPI.
6. JSON template summary
The referenced workflow template contains the following sequential chain:
- Manual Trigger
- Download PDF File (HTTP Request)
- File conversion to PDFA (HTTP Request to ConvertAPI)
- Write Result File to Disk (Read/Write File)
All nodes are connected linearly, passing a single item with binary data between them. The sticky note in the template is a reminder about setting up ConvertAPI authentication.
7. Testing and validation
7.1 Running the workflow
- Open the workflow in the n8n editor.
- Ensure your ConvertAPI credentials are correctly configured.
- Click Execute Workflow or Test Workflow to run it via the Manual Trigger node.
- Inspect the execution log to confirm that all nodes execute successfully.
7.2 Verifying PDF/A compliance
After the workflow finishes, validate the resulting file:
- Open the generated
document.pdfin a PDF viewer that supports PDF/A inspection, such as Adobe Acrobat or specialized archival tools. - Optionally use an external PDF/A validator, for example:
- Online PDF/A validation services.
- Command-line tools like veraPDF.
Visual inspection plus standards validation is recommended, especially if you use the workflow in regulated environments.
8. Error handling and operational tips
8.1 Handling HTTP errors
- Monitor HTTP status codes from both HTTP Request nodes.
- If you see 4xx or 5xx responses from ConvertAPI, inspect the response body for the error message or code.
- Ensure that:
- The
Secretquery parameter or header is present and correct. - The requested endpoint URL is accurate.
- The input file is valid and reachable.
- The
8.2 Binary vs JSON response issues
If ConvertAPI returns HTML or JSON instead of a binary file:
- Confirm that the Accept header is set to
application/octet-stream. - Verify that the Response Format is configured as File or Binary in the HTTP Request node.
- Check for error messages in the response body which may indicate invalid parameters or authentication issues.
8.3 Workflow-level error routing
For more robust automation, consider:
- Adding a Fail node or IF node after the ConvertAPI request to branch on unsuccessful status codes.
- Routing failures to notification channels such as email, Slack, or other messaging integrations.
- Configuring retries or alternative flows for transient network errors.
8.4 Timeouts and large files
- Set appropriate timeouts on HTTP Request nodes for larger PDFs to prevent premature termination.
- Be aware of any file-size limits or timeout constraints documented by ConvertAPI.
9. Automation patterns and extensions
9.1 Replacing the manual trigger
Once you are satisfied with the test workflow, you can replace the Manual Trigger with other triggers to build a fully automated PDF-to-PDF/A pipeline:
- Webhook Trigger – accept PDF uploads from external applications or services.
- File-watch or storage triggers – trigger when a file is added to a folder (local, S3, Google Drive, etc.).
9.2 Downstream storage options
Instead of writing to local disk, you can:
- Store the converted file in Amazon S3 or other object storage.
- Upload to Google Drive or another cloud storage provider.
- Push the file into a CMS or document management system via its API.
9.3 Batch processing
To process multiple PDFs:
- Use SplitInBatches to iterate over a list of files, sending each one through the ConvertAPI node.
- Combine this with directory listing or storage listing nodes to automatically process all PDFs in
