AutomationFlowsWeb Scraping › N8n-grundlagen (lern-workflow)

N8n-grundlagen (lern-workflow)

n8n-Grundlagen (Lern-Workflow). Uses httpRequest. Event-driven trigger; 24 nodes.

Event trigger★★★★☆ complexity24 nodesHTTP Request
Web Scraping Trigger: Event Nodes: 24 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": "n8n-Grundlagen (Lern-Workflow)",
  "nodes": [
    {
      "parameters": {
        "content": "## So funktioniert n8n\n\nEin **Trigger** startet den Workflow (Klick, Zeitplan oder Webhook).\nDie **Nodes** (Bausteine) verarbeiten dann die Daten \u2014 verbunden durch **Linien**, an denen die Daten von links nach rechts flie\u00dfen.\n\nDaten sind eine Liste von **Items** (jedes Item ist JSON). Auf Werte greifst du mit Ausdr\u00fccken zu: `{{ $json.feld }}`.\n\n\ud83d\udc49 Klick oben auf **Test workflow**, um den Ablauf unten einmal laufen zu lassen.",
        "height": 260,
        "width": 540,
        "color": 4
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000a0",
      "name": "Doku: \u00dcberblick",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -60,
        -360
      ]
    },
    {
      "parameters": {
        "content": "## Trigger-Arten \u2014 womit ein Workflow startet\n\n- **Manuell** \u2014 per Klick (zum Testen).\n- **Schedule** \u2014 zeitgesteuert (st\u00fcndlich, t\u00e4glich \u2026).\n- **Webhook** \u2014 wenn ein HTTP-Aufruf reinkommt. Daten unter `{{ $json.body }}`.\n- **Form** \u2014 n8n zeigt ein Formular; Absenden startet den Flow.\n- **Chat** \u2014 Chat-Fenster; jede Nachricht startet den Flow (siehe `ai-agent-grundlagen.json`).\n- **App-Trigger** \u2014 z.B. neue Gmail-/Telegram-/Slack-Nachricht.\n- **Execute Workflow** \u2014 von einem anderen Workflow aufgerufen.\n- **Error Trigger** \u2014 startet, wenn ein Workflow fehlschl\u00e4gt.",
        "height": 300,
        "width": 380,
        "color": 6
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000a9",
      "name": "Doku: Trigger-Arten",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        540,
        -360
      ]
    },
    {
      "parameters": {
        "content": "## 1) Trigger\nStartet den Workflow. Hier: **manuell** per Klick auf \u201eTest workflow\".",
        "height": 120,
        "width": 200,
        "color": 5
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000a1",
      "name": "Doku: Trigger",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -20,
        -150
      ]
    },
    {
      "parameters": {
        "content": "## 2) Edit Fields (Set)\nSetzt oder \u00e4ndert Felder. Hier: `name` und `age`.",
        "height": 120,
        "width": 200,
        "color": 3
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000a2",
      "name": "Doku: Set",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        220,
        -150
      ]
    },
    {
      "parameters": {
        "content": "## 3) IF \u2014 Verzweigung\nPr\u00fcft eine Bedingung (`age \u2265 18`).\n**Gr\u00fcn = wahr**, **rot = falsch** \u2192 es geht unterschiedlich weiter.",
        "height": 120,
        "width": 220,
        "color": 6
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000a3",
      "name": "Doku: IF",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        480,
        -150
      ]
    },
    {
      "parameters": {
        "content": "## 4) Pro Zweig weiter\nJeder Ausgang macht etwas anderes \u2014 hier wird ein `status` gesetzt.",
        "height": 130,
        "width": 220,
        "color": 3
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000a4",
      "name": "Doku: Zweige",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        760,
        -190
      ]
    },
    {
      "parameters": {},
      "id": "5ce1aa00-0000-4000-8000-0000000000b1",
      "name": "Start (Manuell)",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        40,
        0
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "f1",
              "name": "name",
              "value": "Max",
              "type": "string"
            },
            {
              "id": "f2",
              "name": "age",
              "value": 20,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000b2",
      "name": "Person-Daten setzen",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        280,
        0
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 2
          },
          "conditions": [
            {
              "id": "c1",
              "leftValue": "={{ $json.age }}",
              "rightValue": 18,
              "operator": {
                "type": "number",
                "operation": "gte"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000b3",
      "name": "Alter \u2265 18?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        520,
        0
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "f3",
              "name": "status",
              "value": "vollj\u00e4hrig",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000b4",
      "name": "Als vollj\u00e4hrig markieren",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        780,
        -100
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "f4",
              "name": "status",
              "value": "minderj\u00e4hrig",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000b5",
      "name": "Als minderj\u00e4hrig markieren",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        780,
        100
      ]
    },
    {
      "parameters": {
        "content": "## Weitere wichtige Bausteine (nur zum Anschauen)\nDiese Nodes sind absichtlich **nicht verbunden** \u2014 \u00f6ffne sie per Doppelklick, um zu sehen, was sie tun.",
        "height": 70,
        "width": 1180,
        "color": 7
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000c0",
      "name": "Doku: Galerie",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -60,
        320
      ]
    },
    {
      "parameters": {
        "content": "**Webhook**\nStartet den Workflow per HTTP-Aufruf von au\u00dfen.\nDaten liegen unter `{{ $json.body }}`.",
        "height": 110,
        "width": 220,
        "color": 5
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000c1",
      "name": "Doku: Webhook",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -20,
        410
      ]
    },
    {
      "parameters": {
        "httpMethod": "GET",
        "path": "demo",
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000d1",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        40,
        540
      ]
    },
    {
      "parameters": {
        "content": "**Schedule (Zeitplan)**\nStartet den Workflow zeitgesteuert (z.B. st\u00fcndlich, t\u00e4glich).",
        "height": 110,
        "width": 220,
        "color": 5
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000c2",
      "name": "Doku: Schedule",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        220,
        410
      ]
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 1
            }
          ]
        }
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000d2",
      "name": "Zeitplan (Schedule)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        300,
        540
      ]
    },
    {
      "parameters": {
        "content": "**HTTP Request**\nRuft eine externe API oder Website auf (GET/POST \u2026) und holt Daten.",
        "height": 110,
        "width": 220,
        "color": 6
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000c3",
      "name": "Doku: HTTP",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        460,
        410
      ]
    },
    {
      "parameters": {
        "url": "https://api.example.com/data",
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000d3",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        540,
        540
      ]
    },
    {
      "parameters": {
        "content": "**Code**\nEigenes JavaScript/Python, wenn Standard-Nodes nicht reichen. (Letzter Ausweg!)",
        "height": 110,
        "width": 220,
        "color": 3
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000c4",
      "name": "Doku: Code",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        700,
        410
      ]
    },
    {
      "parameters": {
        "jsCode": "// Jedes Item kann hier transformiert werden.\nfor (const item of $input.all()) {\n  item.json.hallo = 'welt';\n}\nreturn $input.all();"
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000d4",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        780,
        540
      ]
    },
    {
      "parameters": {
        "content": "**Switch**\nWie IF, aber mit **mehreren** Wegen (mehr als zwei F\u00e4lle).",
        "height": 110,
        "width": 220,
        "color": 6
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000c5",
      "name": "Doku: Switch",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        940,
        410
      ]
    },
    {
      "parameters": {
        "rules": {
          "values": []
        },
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000d5",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.4,
      "position": [
        1020,
        540
      ]
    },
    {
      "parameters": {
        "content": "**Filter**\nL\u00e4sst nur die Items durch, die eine Bedingung erf\u00fcllen.",
        "height": 110,
        "width": 220,
        "color": 2
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000c6",
      "name": "Doku: Filter",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1180,
        410
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 2
          },
          "conditions": [
            {
              "id": "c2",
              "leftValue": "={{ $json.age }}",
              "rightValue": 18,
              "operator": {
                "type": "number",
                "operation": "gte"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "5ce1aa00-0000-4000-8000-0000000000d6",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.3,
      "position": [
        1260,
        540
      ]
    }
  ],
  "connections": {
    "Start (Manuell)": {
      "main": [
        [
          {
            "node": "Person-Daten setzen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Person-Daten setzen": {
      "main": [
        [
          {
            "node": "Alter \u2265 18?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alter \u2265 18?": {
      "main": [
        [
          {
            "node": "Als vollj\u00e4hrig markieren",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Als minderj\u00e4hrig markieren",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}
Pro

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

About this workflow

n8n-Grundlagen (Lern-Workflow). Uses httpRequest. Event-driven trigger; 24 nodes.

Source: https://github.com/freddy-schuetz/hackathon-n8n-starter/blob/c389e97515f8fee487299b0daed1f885f049178b/examples/workflows/n8n-grundlagen.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

This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t

Execute Command, Read Write File, HTTP Request +3
Web Scraping

[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.

HTTP Request, GitHub, Stop And Error +1
Web Scraping

[](https://youtu.be/c7yCZhmMjtI)

HTTP Request, GitHub, Stop And Error +1
Web Scraping

This automation organizes your n8n workflows files into categorizes (Active, Template, Done, Archived) and uploads them directly to a categorized Google Drive folders. It is designed to help users man

Google Drive, HTTP Request, Time Saved
Web Scraping

Create Animated Stories using GPT-4o-mini, Midjourney, Kling and Creatomate API. Uses httpRequest. Event-driven trigger; 51 nodes.

HTTP Request