AutomationFlowsGeneral › Automated PDF Form Filling for W-9 and More with Pdf.co

Automated PDF Form Filling for W-9 and More with Pdf.co

ByRobert Breen @rbreen on n8n.io

This workflow demonstrates how to take structured data (e.g., Name, Business, Address) and automatically fill a PDF form (IRS W-9) using PDF.co inside n8n.

Event trigger★★☆☆☆ complexity6 nodesN8N Nodes Pdfco
General Trigger: Event Nodes: 6 Complexity: ★★☆☆☆ Added:

This workflow corresponds to n8n.io template #7863 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ab1b7d2d-7eac-45eb-9e0a-36f14c56df14",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -704,
        3520
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "80a9bda5-1301-45b3-b58a-0245035500d3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1376,
        2864
      ],
      "parameters": {
        "width": 400,
        "height": 1056,
        "content": "\n## \u2699\ufe0f Setup Instructions\n\n### 1\ufe0f\u20e3 Prepare Your Data\n- Add a **Set** node in n8n with fields such as:\n  - `Name`\n  - `Business`\n  - `Address`\n  - `CityState`  \n- These fields will map directly to form fields in the PDF.\n\n---\n\n### 2\ufe0f\u20e3 Connect PDF.co\n1. Create a free account at [PDF.co](https://pdf.co/)  \n2. Copy your **API Key** from the dashboard  \n3. In **n8n \u2192 Credentials \u2192 New \u2192 PDF.co API**  \n   - Paste your API Key \u2192 **Save**  \n4. In the **PDF.co node**, select your credential and use the **Fill a PDF Form** operation  \n\n\n\n## \ud83d\udcec Contact\nNeed help customizing this for contracts, invoices, or HR forms?  \n\n- \ud83d\udce7 **robert@ynteractive.com**  \n- \ud83d\udd17 **[Robert Breen](https://www.linkedin.com/in/robert-breen-29429625/)**  \n- \ud83c\udf10 **[ynteractive.com](https://ynteractive.com)**\n"
      },
      "typeVersion": 1
    },
    {
      "id": "32f206af-66d5-48df-ac6a-0b590afa6864",
      "name": "Sticky Note56",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        2864
      ],
      "parameters": {
        "color": 7,
        "width": 1360,
        "height": 1056,
        "content": "# \ud83d\udcdd Auto-Fill PDF Forms (W-9 Example)\n\nThis workflow demonstrates how to take structured data (e.g., Name, Business, Address) and automatically fill a PDF form (IRS W-9) using **PDF.co** inside **n8n**.  \nIt can be adapted for contracts, invoices, or any standardized PDF forms.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "27694236-37b3-49ee-9aa0-222e2cd92558",
      "name": "W9 Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -464,
        3520
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "42962861-eb1b-491f-ac74-c35b240dd5e6",
              "name": "Name",
              "type": "string",
              "value": "Jim"
            },
            {
              "id": "ca52307b-b7b0-41d5-9ac2-0048fe73f65f",
              "name": "Business",
              "type": "string",
              "value": "Bobs Appliances"
            },
            {
              "id": "0bf4b185-eb2e-4deb-ab81-23665d0f80a6",
              "name": "Address",
              "type": "string",
              "value": "general ave"
            },
            {
              "id": "f50ab353-57fc-4d30-babd-c3defa4f38a5",
              "name": "CityState",
              "type": "string",
              "value": "Atlanta GA"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9f603647-99ca-46be-974a-61b3b477c325",
      "name": "Fill in PDF Form",
      "type": "n8n-nodes-pdfco.PDFco Api",
      "position": [
        -32,
        3456
      ],
      "parameters": {
        "url": "https://www.irs.gov/pub/irs-pdf/fw9.pdf",
        "fields": {
          "metadataValues": [
            {
              "text": "={{ $json.Name }}",
              "fieldName": "topmostSubform[0].Page1[0].f1_01[0]"
            },
            {
              "text": "={{ $json.Business }}",
              "fieldName": "topmostSubform[0].Page1[0].f1_02[0]"
            },
            {
              "text": "={{ $json.Address }}",
              "fieldName": "topmostSubform[0].Page1[0].Address_ReadOrder[0].f1_07[0]"
            },
            {
              "text": "={{ $json.CityState }}",
              "fieldName": "topmostSubform[0].Page1[0].Address_ReadOrder[0].f1_08[0]"
            }
          ]
        },
        "operation": "Fill a PDF Form",
        "advancedOptions": {}
      },
      "credentials": {
        "pdfcoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "09f32826-5dc4-4d43-b2a3-c6f28e5e3610",
      "name": "Sticky Note63",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        3152
      ],
      "parameters": {
        "color": 3,
        "width": 224,
        "height": 464,
        "content": "### 2\ufe0f\u20e3 Connect PDF.co\n1. Create a free account at [PDF.co](https://pdf.co/)  \n2. Copy your **API Key** from the dashboard  \n3. In **n8n \u2192 Credentials \u2192 New \u2192 PDF.co API**  \n   - Paste your API Key \u2192 **Save**  \n4. In the **PDF.co node**, select your credential and use the **Fill a PDF Form** operation  "
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "W9 Data": {
      "main": [
        [
          {
            "node": "Fill in PDF Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "W9 Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow demonstrates how to take structured data (e.g., Name, Business, Address) and automatically fill a PDF form (IRS W-9) using PDF.co inside n8n.

Source: https://n8n.io/workflows/7863/ — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

Http-Handle. Uses httpRequest. Event-driven trigger; 13 nodes.

HTTP Request
General

Absen Otomatis. Uses ssh, executeWorkflowTrigger, scheduleTrigger, httpRequest. Event-driven trigger; 12 nodes.

Ssh, Execute Workflow Trigger, HTTP Request
General

Automate document translation and ensure translation accuracy using Straker Verify, Google Drive and Slack.

N8N Nodes Straker Verify, Google Drive, Google Drive Trigger
General

The Switch node is powerful — but easy to misconfigure. Without a proper fallback, things can silently break. 🧨

Stop And Error
General

This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Monitors Google Drive for new video file uploads Downloads and processes videos using VLM Run AI tr

@Vlm Run/N8N Nodes Vlmrun, Google Drive Trigger, Google Drive +1