AutomationFlowsAI & RAG › Pragmas - Ingest Paper

Pragmas - Ingest Paper

PRAGMAS - Ingest Paper. Uses executeCommand, httpRequest. Webhook trigger; 4 nodes.

Webhook trigger★★★★☆ complexity4 nodesExecute CommandHTTP Request
AI & RAG Trigger: Webhook Nodes: 4 Complexity: ★★★★☆ Added:

This workflow follows the Executecommand → HTTP Request 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
{
  "name": "PRAGMAS - Ingest Paper",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "pragmas/ingest-paper",
        "responseMode": "lastNode",
        "options": {}
      },
      "id": "1",
      "name": "Paper Ingest Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        240,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "const body = $json.body ?? {};\nconst query = $json.query ?? {};\nconst arxivId = String(body.arxivId ?? query.arxivId ?? $json.arxivId ?? '').trim();\nif (!arxivId) {\n  throw new Error('arxivId is required');\n}\nconst rawDownload = body.downloadPdf ?? query.downloadPdf ?? $json.downloadPdf ?? false;\nconst downloadPdf = ['1', 'true', 'yes', 'on'].includes(String(rawDownload).toLowerCase());\nconst shellQuote = (value) => JSON.stringify(String(value)).replace(/[`$]/g, '\\\\$&');\nconst parts = ['python3 /workspace/scripts/analysis/ingest_arxiv_paper.py', '--vault-path', '/workspace/obsidian-vault', '--arxiv-id', arxivId];\nif (downloadPdf) {\n  parts.push('--download-pdf');\n}\nreturn [{\n  json: {\n    arxivId,\n    downloadPdf,\n    command: parts.map((part, index) => index === 0 || part === '--download-pdf' ? part : shellQuote(part)).join(' ')\n  }\n}];"
      },
      "id": "2",
      "name": "Prepare Request",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        500,
        300
      ]
    },
    {
      "parameters": {
        "command": "={{$json.command}}"
      },
      "id": "3",
      "name": "Create Paper Note",
      "type": "n8n-nodes-base.executeCommand",
      "typeVersion": 1,
      "position": [
        780,
        300
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "={{$env.OBSIDIAN_API_BASE_URL + '/vault/search'}}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "={{'Bearer ' + $env.OBSIDIAN_API_TOKEN}}"
            }
          ]
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{$('Prepare Request').item.json.arxivId}}"
            },
            {
              "name": "limit",
              "value": "3"
            }
          ]
        },
        "options": {}
      },
      "id": "4",
      "name": "Verify In Vault",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1040,
        300
      ]
    }
  ],
  "connections": {
    "Paper Ingest Webhook": {
      "main": [
        [
          {
            "node": "Prepare Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Request": {
      "main": [
        [
          {
            "node": "Create Paper Note",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Paper Note": {
      "main": [
        [
          {
            "node": "Verify In Vault",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "pragmas-ingest-paper-v2",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "pragmas-ingest-paper"
}
Pro

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

About this workflow

PRAGMAS - Ingest Paper. Uses executeCommand, httpRequest. Webhook trigger; 4 nodes.

Source: https://github.com/pragmasg/oros/blob/30d34ca64e9d5769a502747bfe15b88a7fe8e679/n8n-workflows/ingest-paper.json — 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

HeyDinastia. Uses executeCommand, httpRequest, youTube, postgres. Webhook trigger; 66 nodes.

Execute Command, HTTP Request, YouTube +15
AI & RAG

Chatbot-Query-Qdrant. Uses httpRequest, postgres. Webhook trigger; 7 nodes.

HTTP Request, Postgres
AI & RAG

Camila IA. Uses postgres, crypto, redis, agent. Webhook trigger; 92 nodes.

Postgres, Crypto, Redis +13
AI & RAG

Turn unstructured pitch decks and investment memos into polished Due Diligence PDF reports automatically. This n8n workflow handles everything from document ingestion to final delivery, combining inte

HTTP Request, Pinecone Vector Store, OpenAI Embeddings +7
AI & RAG

Transform raw investment memorandums and financial decks into comprehensive, professional Due Diligence (DD) PDF reports. This workflow automates document parsing via LlamaParse, enriches internal dat

HTTP Request, Pinecone Vector Store, OpenAI Embeddings +7