Integrate PDFShift into your N8N workflow
This step by step guide will help you add PDFShift in your N8N workflow to convert a source document into PDF in an automated way.
Initial configuration
Let's start with a blank workflow.

Click on "Add first step..." then select the first item; "Trigger manually"

Then, click on the "+" located at the right of this first action.
For this article and for simplicity, we'll here run an HTTP Request, so select "Core" then "HTTP Request". We'll then load Google's website:

Once the URL is set, hit the "Execute step" button and you should see the raw HTML source on the right:

Then, click on "Back to canvas" at the top left.
Adding PDFShift as a step
Now, add another action by clicking on the "+" button at the right of your latest HTTP request.
We now need to make a request to PDFShift's API to convert the data acquired before into PDF.
For that, we'll have to select "Core", then "HTTP Request". This time, the modal is a bit different as you should have the "Input" on your left filled with the data loaded from the previous action (Google website's source code).
In the "Method" field, select POST
In the URL, enter
https://api.pdfshift.io/v3/convert/pdf
For authentication, you can leave "None" as we'll handle this via headers
Toggle "Send Headers" and keep "Using fields below" for "Specify Headers"
For Name, set "X-API-Key"
For Value, enter your API Key
Toggle "Send Body"
Set the "Body Content Type" to "JSON"
Set the "Specify Body" to "Using Fields Below" (but you can change to JSON if you prefer)
For the parameters, you can rely on our doc to customize the document (https://docs.pdfshift.io). The required parameter being "source", the rest will depends on your needs.
For the first parameter's name, enter "source"
For the value, drag and drop the "data" from the left part into the field, so that N8N will re-use the value acquired in the previous step as the value for the "source" parameter at PDFShift
You can add a second parameter, which we'll call
filename
. This will force PDFShift to return a JSON response with a link to the generated PDF, instead of returning a raw binary PDF.As the name, set "filename"
As the value, set "export.pdf"


As you can see, the request went successfully and you can see the output (on the right) with the URL available.
The next step depends to your needs. You could for example send an email by attaching the PDF in the email, or send a webhook request back to your servers for further processing. You can also manipulate the PDF. The possibilities are endless.
Possibilities
With N8N, you can implement infinite workflows that will match your exact needs easily.
For instance, you can create a workflow to
Be triggered from a network request that will contain an URL, load that URL to retrieve its HTML and then pass that data to PDFShift as we showed above, to finally send its content by email that was also provided on the original request. This would be helpful to generate invoices sent to your customer for instance.
You could schedule the generation of a report in PDF from data sources like Google Analytics, Airtable or a SQL database, inject these data into an HTML report template that will be converted to PDF and then shared on your Slack channel
You could archive as PDF a specific list of pages when some specific content has changed, to keep trace of the evolution of the data you want to track.
You could generate a contracts by asking a user to fill a form from Typeform, Webflow or a custom page, send these data to N8N that will inject them into an HTML document that represents a contract, agreement, or any legal element (DPA, etc), that will then be converted to PDF and sent by email to everyone (your user and your legal team)
These are just a few examples but the possibilities are unlimited.
If you are still stuck on how to integrate PDFShift with N8N, don't hesitate to reach out to our support and we'll be happy to help !