AutomationFlowsWeb Scraping › Document Upload

Document Upload

Document Upload. Uses httpRequest. Webhook trigger; 3 nodes.

Webhook trigger★☆☆☆☆ complexity3 nodesHTTP Request
Web Scraping Trigger: Webhook Nodes: 3 Complexity: ★☆☆☆☆ Added:

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": "Document Upload",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "upload",
        "responseMode": "onReceived"
      },
      "id": "webhook-upload",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart",
        "authentication": "oAuth2",
        "nodeCredentialType": "googleDriveOAuth2Api",
        "bodyParametersJson": "={\n  \"name\": \"{{ $node[\\\"Webhook\\\"].json.filename }}\",\n  \"mimeType\": \"{{ $node[\\\"Webhook\\\"].json.mimeType }}\",\n  \"parents\": [\"{{ $env.GOOGLE_DRIVE_FOLDER_ID }}\"]\n}",
        "sendBody": true,
        "bodyContentType": "form-urlencoded"
      },
      "id": "google-drive-upload",
      "name": "Upload to Google Drive",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [
        450,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $env.SUPABASE_DB_URL }}/rest/v1/documents",
        "authentication": "genericCredentialType",
        "genericCredentialType": "httpHeaderAuth",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer {{ $env.SUPABASE_SERVICE_ROLE_KEY }}"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "bodyParametersJson": "={\n  \"filename\": \"{{ $node[\\\"Webhook\\\"].json.filename }}\",\n  \"file_type\": \"{{ $node[\\\"Webhook\\\"].json.mimeType }}\",\n  \"google_drive_id\": \"{{ $node[\\\"Upload to Google Drive\\\"].json.id }}\",\n  \"status\": \"uploaded\"\n}"
      },
      "id": "supabase-save-doc",
      "name": "Save Document Metadata",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [
        650,
        300
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Upload to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Google Drive": {
      "main": [
        [
          {
            "node": "Save Document Metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

Document Upload. Uses httpRequest. Webhook trigger; 3 nodes.

Source: https://github.com/Busraaozkan1/n8n-project/blob/568cf19ed9a57e6b5b4444c3e62d9b9a781e6930/n8n-workflows/document-upload.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

Blog_Summarizer. Uses httpRequest. Webhook trigger; 7 nodes.

HTTP Request
Web Scraping

User Onboarding Workflow. Uses httpRequest, emailSend. Webhook trigger; 7 nodes.

HTTP Request, Email Send
Web Scraping

Excalibur — Fluxo Completo. Uses httpRequest. Webhook trigger; 7 nodes.

HTTP Request
Web Scraping

WF-05: Trade Alert (Webhook from Strategy Engine). Uses httpRequest. Webhook trigger; 7 nodes.

HTTP Request
Web Scraping

This workflow triggers when a new opportunity is created in Go High Level (GHL), fetches the associated contact details, and initiates an outbound call using Vapi. The call is made by a Vapi assistant

HTTP Request, High Level