AutomationFlowsAI & RAG › PDF Document Filling and Generation Server for AI Agents with Doqs.dev API

PDF Document Filling and Generation Server for AI Agents with Doqs.dev API

ByDavid Ashby @cfomodz on n8n.io

Complete MCP server exposing 14 doqs.dev | PDF filling API operations to AI agents.

Event trigger★★★★☆ complexityAI-powered18 nodesMcp TriggerHTTP Request Tool
AI & RAG Trigger: Event Nodes: 18 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the HTTP Request Tool → Mcptrigger recipe pattern — see all workflows that pair these two integrations.

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
{
  "id": "rhDfPKxHhaIJCUZi",
  "meta": null,
  "name": "doqs.dev | PDF filling API MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "4e209cdb-ad42-4115-9cd5-25c62c7b0c00",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1360,
        -240
      ],
      "parameters": {
        "width": 420,
        "height": 1360,
        "content": "## \ud83d\udee0\ufe0f doqs.dev | PDF filling MCP Server \u2705 14 operations\n\n### \ud83d\udd27 How it Works\n\nThis workflow converts the doqs.dev | PDF filling API into an MCP-compatible interface for AI agents.\n\n\u2022 **MCP Trigger**: Serves as your server endpoint for AI agent requests\n\u2022 **HTTP Request Nodes**: Handle API calls to https://api.doqs.dev/v1\n\u2022 **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n\u2022 **Native Integration**: Returns responses directly to the AI agent\n\n### \ud83d\udccb Available Operations (14 endpoints)\n\n**Designer (7 operations)**\nlist, create, preview, delete, update, generate\n\n**Templates (7 operations)**\nlist, create, delete, get, update, fill\n\n### \u2699\ufe0f Setup Instructions\n\n1. **Import Workflow**: Load this workflow into your n8n instance\n\n2. **Configure Authentication**: Set up apiKey credentials\n   - Type: API Key in header\n   - Key name: x-api-key\n\n3. **Activate Workflow**: Enable the workflow to start the MCP server\n\n4. **Get MCP URL**: Copy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**: Use the MCP URL in your AI agent configuration\n\n### \ud83d\udca1 Usage Notes\n\n\u2022 Parameters are auto-populated by AI using $fromAI() expressions\n\u2022 With 14 API endpoints available as tools\n\u2022 Responses maintain original API structure\n### \ud83d\udee0\ufe0f Customization\n\n\u2022 Add data transformation nodes if needed\n\u2022 Implement custom error handling\n\u2022 Add logging or monitoring nodes\n\n\u2022 Modify parameter defaults in any HTTP request node as needed\n\n### \ud83d\udcac Need Help?\nCheck the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) or ping me on [discord](https://discord.me/cfomodz) for MCP integration guidance or customizations."
      },
      "typeVersion": 1
    },
    {
      "id": "a9e11018-a064-413a-bd98-a0d53f49e5d3",
      "name": "doqs.dev | PDF filling MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -600,
        -220
      ],
      "parameters": {
        "path": "doqs.dev-|-pdf-filling-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "88703177-c732-4fe1-8035-23bec750d746",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        20
      ],
      "parameters": {
        "color": 2,
        "width": 1500,
        "height": 180,
        "content": "## Designer"
      },
      "typeVersion": 1
    },
    {
      "id": "4ccae877-333b-43d8-b19c-448eb8eecada",
      "name": "List Templates",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -740,
        40
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/designer/templates/",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "limit",
              "value": "={{ $fromAI('limit', 'Limit', 'number', 100) }}"
            },
            {
              "name": "offset",
              "value": "={{ $fromAI('offset', 'Offset', 'number', 0) }}"
            }
          ]
        },
        "toolDescription": "List Templates\n\nParameters:\n- Query parameters:\n  \u2022 limit (optional)\n  \u2022 offset (optional)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "5684e84f-0ce1-443d-b0b0-9e41b327f451",
      "name": "Create Template",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -540,
        40
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/designer/templates/",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Create Template"
      },
      "typeVersion": 4.2
    },
    {
      "id": "c8e2c818-7b2d-413a-8a87-ed6458fbe5a4",
      "name": "Preview",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -340,
        40
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/designer/templates/preview",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Preview"
      },
      "typeVersion": 4.2
    },
    {
      "id": "e1f6832e-40aa-4add-8417-0c227a400f4d",
      "name": "Delete",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -140,
        40
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}",
        "method": "DELETE",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Delete\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "623bb357-5973-4a4d-ac4c-76896975c7ec",
      "name": "List Templates 1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        60,
        40
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "List Templates\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "dc5a68b9-9601-4e2c-9a4e-83a182adf109",
      "name": "Update Template",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        260,
        40
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}",
        "method": "PUT",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Update Template\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "f62a3902-29fc-45c7-8d53-436ea9e57061",
      "name": "Generate Pdf",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        460,
        40
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}/generate",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Generate Pdf\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "0edf826e-b59e-4ccc-85ae-b7aafdbd319d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        260
      ],
      "parameters": {
        "color": 3,
        "width": 1500,
        "height": 180,
        "content": "## Templates"
      },
      "typeVersion": 1
    },
    {
      "id": "ff6ee8cf-15ee-454a-86c1-22cea42a1b2b",
      "name": "List ",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -740,
        280
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/templates",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "limit",
              "value": "={{ $fromAI('limit', 'Limit', 'number', 100) }}"
            },
            {
              "name": "offset",
              "value": "={{ $fromAI('offset', 'Offset', 'number', 0) }}"
            }
          ]
        },
        "toolDescription": "List \n\nParameters:\n- Query parameters:\n  \u2022 limit (optional)\n  \u2022 offset (optional)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "206d86a4-78e9-4f76-8fd5-15a38c928cb2",
      "name": "Create",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -540,
        280
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/templates",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Create"
      },
      "typeVersion": 4.2
    },
    {
      "id": "19a22d12-ce22-4470-880c-ffceb1fe5d27",
      "name": "Delete ",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -340,
        280
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}",
        "method": "DELETE",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Delete \n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "14117297-45f9-4769-a90d-f4101df5aa95",
      "name": "Get Template",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -140,
        280
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Get Template\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "6fa4dbf4-c460-4fc7-bc36-40e3effc5fe8",
      "name": "Update",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        60,
        280
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}",
        "method": "PUT",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Update\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "68cd92f4-7fa6-4332-ba67-2ec701c3b770",
      "name": "Get File",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        260,
        280
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}/file",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Get File\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    },
    {
      "id": "e1c3967c-0545-4904-b45b-aaa8be312e5b",
      "name": "Fill",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        460,
        280
      ],
      "parameters": {
        "url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}/fill",
        "method": "POST",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Fill\n\nParameters:\n- Path parameters:\n  \u2022 id (required)"
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "shared": [
    {
      "role": "workflow:owner",
      "project": {
        "id": "G5fce9xGuBAsWBXe",
        "icon": null,
        "name": "David Ashby <david.ashby.lds@gmail.com>",
        "type": "personal",
        "createdAt": "2025-06-04T02:55:02.013Z",
        "updatedAt": "2025-06-04T02:56:01.361Z",
        "projectRelations": [
          {
            "role": "project:personalOwner",
            "user": {
              "id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
              "role": "global:owner",
              "email": "david.ashby.lds@gmail.com",
              "disabled": false,
              "lastName": "Ashby",
              "settings": {
                "npsSurvey": {
                  "responded": true,
                  "lastShownAt": 1749357655581
                },
                "userActivated": true,
                "userActivatedAt": 1749075994495,
                "easyAIWorkflowOnboarded": true,
                "firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
              },
              "createdAt": "2025-06-04T02:55:01.745Z",
              "firstName": "David",
              "isPending": false,
              "updatedAt": "2025-06-08T04:40:58.399Z",
              "mfaEnabled": false,
              "personalizationAnswers": {
                "version": "v4",
                "personalization_survey_n8n_version": "1.95.3",
                "personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
              }
            },
            "userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
            "createdAt": "2025-06-04T02:55:02.013Z",
            "projectId": "G5fce9xGuBAsWBXe",
            "updatedAt": "2025-06-04T02:55:02.013Z"
          }
        ]
      },
      "createdAt": "2025-06-30T20:13:01.821Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-06-30T20:13:01.821Z",
      "workflowId": "rhDfPKxHhaIJCUZi"
    }
  ],
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-06-30T20:13:01.819Z",
  "updatedAt": "2025-06-30T20:33:16.000Z",
  "versionId": "2cb7deda-12f3-4fc4-911d-f2147d46444c",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "Fill": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "List ": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete ": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Preview": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get File": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Generate Pdf": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Template": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "List Templates": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create Template": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update Template": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "List Templates 1": {
      "ai_tool": [
        [
          {
            "node": "doqs.dev | PDF filling MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}
Pro

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

About this workflow

Complete MCP server exposing 14 doqs.dev | PDF filling API operations to AI agents.

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C

Perplexity Tool, Memory Buffer Window, Agent +15
AI & RAG

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

Github Tool, Mcp Trigger, HTTP Request Tool
AI & RAG

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

Mcp Trigger, HTTP Request Tool
AI & RAG

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

Mcp Trigger, HTTP Request Tool
AI & RAG

Awesome N8N Templates. Uses agent, telegramTrigger, mcpClientTool, mcpTrigger. Event-driven trigger; 33 nodes.

Agent, Telegram Trigger, Mcp Client Tool +9