This is an n8n community node. It lets you use DocSpring in your n8n workflows.
DocSpring fills in, generates and e-signs PDFs. With this node you can generate PDFs from your templates (one at a time or in batches), combine PDFs, send documents out for signature, create and manage templates, and start workflows when something happens in DocSpring. It uses DocSpring API v2.
Installation · Credentials · Operations · Trigger · Make an API call · Resources
DocSpring is a verified community node. In n8n Cloud or on your own server, an instance owner or admin can install it
from the nodes panel: search for DocSpring and select it under More from the community. You can also follow
the community nodes installation guide and install
@docspring/n8n-nodes-docspring from npm.
You need a DocSpring API token (a token ID and secret). In DocSpring, open Settings → API Tokens, create a token, and copy both values. When you add the credential in n8n, choose your Region (United States, Europe, or Self-Hosted / Enterprise) and paste the token ID and secret. They're sent with HTTP Basic authentication over HTTPS.
A test API token only makes free test PDFs (with a watermark), so you can build a workflow without using credits.
Self-hosted DocSpring: this version needs a DocSpring release with API v2 that emails signers. If the credential test says the server doesn't have API v2 yet, upgrade DocSpring, or install version 0.1.4 of this node until you can. With API v2 but an older release, install version 1.0.0: this version's Signature Request → Create fails there.
- Submission
- Generate PDF: fill in a template with data and generate a PDF (and PNG page images if you ask for them). A
Word template can also make its Word document and an OpenDocument file (
files.docx,files.odt). - Check Data: check data, and optionally signers, against a template's fields without generating anything or using credits.
- Get a submission, or Get Many (by template, live or test, and creation date).
- Generate Files: add PNG page images to a submission that has been processed, or a Word template submission's PDF, Word document or OpenDocument file.
- Expire: delete a submission's data and files now.
- Generate PDF: fill in a template with data and generate a PDF (and PNG page images if you ask for them). A
Word template can also make its Word document and an OpenDocument file (
- Submission Batch
- Create: generate up to 50 PDFs in one request (the submissions are a JSON array).
- Get a batch.
- Combined PDF
- Combine PDFs: merge submissions, combined PDFs, templates, custom files and URLs into one PDF.
- Get a combined PDF.
- Signature Request
- Create: create a submission that waits for people to fill in and sign it. DocSpring emails each signer their link, or you send the links yourself.
- Create Signing Link: create a new link for a signature request.
- Get a signature request.
- Template
- Create: a PDF template from a PDF (an input binary field or an https:// URL), with optional AI field detection, or an HTML template (its styles, header and footer are in Options).
- Get, Get Many (by name and folder), Get Page Images.
- Replace PDF: replace a PDF template's PDF, keeping its fields (or reimporting them from the new PDF).
- Copy, Move to a folder or the root, Publish Version.
- Template Field: Get Many, Add, Update, Remove (Add and Update take a JSON array of fields).
- Folder: Get Many, Create.
Generate PDF, Check Data and Create Signature Request show a field for each of the template's fields, from the
template version you choose in Options (the latest published version by default). Date fields take dates as YYYY-MM-DD; their
names show the format. Checkbox fields are Leave Blank (nothing is sent), True or False; they start blank,
so a signer can tick a checkbox you didn't set. From an expression, give true or false (not text). Turn on
Attempt to convert types in the field list if your other values arrive as text (such as "42" for a number
field).
Operations that make a file wait until it's ready, then return the record with its files (the PDF's link is
files.pdf.download_url). Turn off Wait for PDF in the options to get the record straight away, then use Get
or the trigger. If DocSpring couldn't generate the PDF, the node fails with the reason and the submission's ID.
Each signer needs the fields they fill in. Choose them from the template's fields (at the template version you
chose in Options, or the latest), or set them with an expression.
Authentication says how your app checked who the person is (Email Link by default); OAuth also needs an Auth
Provider, such as google. Set Role (Signer 1, Signer 2, …) for every signer or for none.
Emails to Signers says who sends each signer their link:
- DocSpring Emails Each Signer Their Link (the default): DocSpring emails each signer a link to sign, any
reminders, and the signed PDF once everyone has signed. Each signer needs an Email. In Email Options you can
set the subject, a message, CC addresses, reminders, the reply-to address, notification emails and a notification
each time someone signs. The node makes no signing links, so a workflow can't send a second one:
signing_urlisnull. A test submission can only email members of your DocSpring team: other addresses are refused. - I Send the Links, or Open Them in My App: Signing Links creates a link for each signer: an email link
lasts 7 days and an API link 24 hours, and a form that opened in time keeps working for 7 more days. The output
adds
signing_urlto each item insignature_requests, andfirst_signature_request_idandfirst_signing_urlfor workflows with one signer. Use Create Signing Link when a link has expired. DocSpring doesn't email the signers of a form library template: choose this for one.
Signing Order is Everyone at Once or One Step at a Time: people sign in the order of their Signing Step (set it for every signer or for none), or of the signers. DocSpring emails each step when the one before it is done. When you send the links, send each step's once the step before it has signed, and make a new one with Create Signing Link if it has expired.
Check Data takes the same settings with its signers, so it checks what Create will send.
When DocSpring answers that the account has made too many requests (test API tokens make 5 a minute, with bursts of 15), the node waits as long as DocSpring says and tries again, up to 3 times, when each wait is a minute or less. Otherwise the step fails with DocSpring's message.
DocSpring Trigger starts a workflow when a DocSpring event happens. Choose any of the events (submissions, signature requests, combined PDFs, submission batches, templates, custom files and folders), live or test events, and optionally limit it to some templates. Only submission, signature request and template events can be limited to templates: with template IDs set, choosing any other event stops the workflow from activating, with a message naming those events. Activating the workflow creates a webhook in DocSpring; deactivating it deletes the webhook.
Each event is output like this, with data as API v2 returns the resource:
{
"id": "6f1c2e8a-3b4d-4c5e-9f60-7a8b9c0d1e2f",
"event_type": "submission.processed",
"created_at": "2026-06-27T03:16:07Z",
"resource_type": "submission",
"resource_id": "sub_1234567890abcdef01",
"data": { "id": "sub_1234567890abcdef01", "state": "processed", "files": { "pdf": { "download_url": "…" } } }
}id is the event's ID, which stays the same when DocSpring retries a delivery.
The trigger checks each delivery's X-DocSpring-Signature with the webhook's signing secret, which it keeps when it
creates the webhook. A request without a valid signature gets a 401 and doesn't start the workflow.
To call an API v2 endpoint this node doesn't have, use n8n's HTTP Request node with your DocSpring credential:
-
Set Authentication to Predefined Credential Type, Credential Type to DocSpring API, and choose your credential. n8n adds the token and a User-Agent to the request.
-
Set the URL to the endpoint on your region's host, such as
https://api.docspring.com/api/v2/custom_files:Region Host United States https://api.docspring.comEurope https://api-eu.docspring.comSelf-hosted your DocSpring URL Requests that should wait for a PDF go to
https://sync.api.docspring.com(https://sync.api-eu.docspring.comin Europe). -
Send JSON bodies (Body Content Type: JSON).
The API v2 reference lists every endpoint.