GODRICH
#css-animation#button#loader#transition#scroll#dashboard#ui#design-trends

9 n8n Workflow Examples, Zero Accounts Needed

n8n connects apps into automated tasks without writing code. If you're building with AI tools and just ran into this name, these n8n workflow examples run

Auto-plays · click a tile to jump to its section · all nine in one zip

All nine execute the moment you hit Manual Trigger, and every item calling a public API was checked for a real 200. The nine n8n workflow automation examples are ordered the way real automation grows. Three receive data first (01 RSS, 02 a public API, 03 a webhook), two run on a schedule (04 a weekly report, 05 batching), three combine and clean data (06 merging, 07 tidying, 08 extracting), and one routes by condition (09 switching). Most automations you build later will follow this same shape. The news-monitoring cut of that receive end is 9 News Workflows, and the screen design that wires nodes together is Node Based UI Design.

01RSS daily digest

What it automates

A Schedule Trigger wakes up every morning at 7am (Manual Trigger runs it on demand too), RSS Read pulls the Hacker News front page, Limit keeps the first 10 entries, and a Code node bundles titles and links into one markdown block in a digest field.

RSS daily digest
Open in a new tab

01 · RSS daily digest — Measured area 6.019% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

Schedule + ManualRSS Read → Limit → CodeV2 실행 확인

In the workflow JSON

Reach for this when you want a team morning briefing on autopilot, or just following blogs in one place instead of checking each site by hand.

{
  "name": "Build Digest",
  "type": "n8n-nodes-base.code",
  "typeVersion": 2,
  "parameters": {
    "jsCode": "const lines = $input.all().map(item => `- [${item.json.title}](${item.json.link})`);\nconst digest = '# Daily Digest\\n\\n' + lines.join('\\n');\nreturn [{ json: { digest } }];"
  }
}

02Public API to HTML table

What it automates

HTTP Request calls the keyless open-meteo weather API, Set keeps only temperature, wind speed, and the timestamp, and the HTML node's Convert to HTML Table operation turns them into a table. Its output field is named table, not html.

Public API → HTML table
Open in a new tab

02 · Public API → HTML table — Measured area 4.85% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

HTTP RequestSet → HTMLV2 실행 확인

In the workflow JSON

Use it to fill a dashboard widget or to drop straight into an email body table.

{
  "name": "Build Table",
  "type": "n8n-nodes-base.html",
  "typeVersion": 1.2,
  "parameters": {
    "operation": "convertToHtmlTable",
    "options": {
      "capitalize": true,
      "caption": "Seoul current weather"
    }
  }
}

03Webhook validate and respond

What it automates

A Webhook receives a POST, IF checks that both email and name are present, and Respond to Webhook returns 200 or 400 depending on the branch. This item is import-verified only — running it for real needs a live webhook URL, which only exists once n8n is running.

Webhook validate & respond
Open in a new tab

03 · Webhook validate & respond — Measured area 3.854% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

WebhookIF → RespondV1 가져오기 확인

In the workflow JSON

This is the skeleton to reach for when you're receiving forms or handling external service callbacks that hit you first.

{
  "conditions": [
    {
      "id": "c1",
      "leftValue": "={{ $json.body.email }}",
      "rightValue": "",
      "operator": {
        "type": "string",
        "operation": "notEmpty",
        "singleValue": true
      }
    },
    {
      "id": "c2",
      "leftValue": "={{ $json.body.name }}",
      "rightValue": "",
      "operator": {
        "type": "string",
        "operation": "notEmpty",
        "singleValue": true
      }
    }
  ],
  "combinator": "and"
}

04Weekly report skeleton

What it automates

Schedule fires every Monday at 09:00, HTTP fetches a post list from jsonplaceholder, Aggregate rolls titles and a count into arrays, and a Markdown node turns those arrays into report text written to a report field. Timezone lives in the workflow settings.

Weekly report skeleton
Open in a new tab

04 · Weekly report skeleton — Measured area 6.268% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

Schedule triggerAtHour 9Aggregate → MarkdownV2 실행 확인

In the workflow JSON

Reach for this when you need weekly KPIs pulled automatically or an ops summary waiting in your inbox every Monday morning.

{
  "name": "Build Report",
  "type": "n8n-nodes-base.markdown",
  "typeVersion": 1,
  "parameters": {
    "mode": "markdownToHtml",
    "markdown": "={{ '# Weekly Report\\n\\n' + $json.postId.length + ' posts fetched this week.\\n\\n- ' + $json.title.slice(0, 5).join('\\n- ') }}",
    "destinationKey": "report",
    "options": {}
  }
}

05Loop over items in batches

What it automates

Code generates 25 rows, and Loop Over Items splits them into batches of 5, each flowing through a Set node that stamps the batch number and index before looping back into Loop Over Items — skip that back-edge and it only runs once. Aggregate stitches everything together at the end.

Loop over items in batches
Open in a new tab

05 · Loop over items in batches — Measured area 6.558% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

Loop Over Items 5AggregateV2 실행 확인

In the workflow JSON

This shape is what you want for bulk sending or any time staying under API rate limits matters.

{
  "name": "Loop Over Items",
  "type": "n8n-nodes-base.splitInBatches",
  "typeVersion": 3,
  "parameters": {
    "batchSize": 5,
    "options": {}
  }
}

06Merge two sources by key

What it automates

Two HTTP nodes fetch users and posts separately, and Merge pairs a user's id against a post's userId, combining matches into one row using Keep Matches mode. This is the shape you reach for whenever two sources name their join field differently.

Merge two sources by key
Open in a new tab

06 · Merge two sources by key — Measured area 5.069% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

HTTP ×2Merge combine by fieldV2 실행 확인

In the workflow JSON

Reach for this when joining customers with orders, or joining two sheets that don't share a column name.

{
  "name": "Merge By User",
  "type": "n8n-nodes-base.merge",
  "typeVersion": 3.2,
  "parameters": {
    "mode": "combine",
    "combineBy": "combineByFields",
    "advanced": true,
    "mergeByFields": {
      "values": [
        {
          "field1": "id",
          "field2": "userId"
        }
      ]
    },
    "joinMode": "keepMatches",
    "outputDataFrom": "both",
    "options": {}
  }
}

07Dedupe, filter, sort

What it automates

Remove Duplicates clears repeat rows by email, Filter keeps only scores of 60 or higher, and Sort puts the highest score first. Three of the most common data-cleanup moves, lined up in one row.

Dedupe, filter, sort
Open in a new tab

07 · Dedupe, filter, sort — Measured area 6.129% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

Remove DuplicatesFilter ≥60 → SortV2 실행 확인

In the workflow JSON

It's built for cleaning up leads before an import, or turning raw scores into a ranking table.

{
  "conditions": {
    "options": {
      "caseSensitive": true,
      "leftValue": "",
      "typeValidation": "strict",
      "version": 2
    },
    "conditions": [
      {
        "id": "c1",
        "leftValue": "={{ $json.score }}",
        "rightValue": 60,
        "operator": {
          "type": "number",
          "operation": "gte"
        }
      }
    ],
    "combinator": "and"
  },
  "options": {}
}

08Extract titles from a public page

What it automates

HTTP fetches a public page that robots.txt allows, as plain text, and the HTML node pulls just titles and links with the .titleline a CSS selector before Set tidies the result. Not a pattern to point at login-walled or personal-data pages.

Extract titles from a public page
Open in a new tab

08 · Extract titles from a public page — Measured area 4.88% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

HTTP → HTML extractCSS 선택자V2 실행 확인

In the workflow JSON

Use this for watching for announcements on a page that changes, or collecting a public list without an API.

{
  "operation": "extractHtmlContent",
  "sourceData": "json",
  "dataPropertyName": "data",
  "extractionValues": {
    "values": [
      {
        "key": "title",
        "cssSelector": ".titleline a",
        "returnValue": "text",
        "returnArray": true
      },
      {
        "key": "link",
        "cssSelector": ".titleline a",
        "returnValue": "attribute",
        "attribute": "href",
        "returnArray": true
      }
    ]
  },
  "options": {}
}

09Route by condition (Switch)

What it automates

Code builds six sample orders, Switch routes them three ways by amount (under 50, 50 to 150, 150 and up), each branch's Set stamps a route label, and Merge gathers all three back together. If IF gives you two branches, Switch gives you N.

Route by condition (Switch)
Open in a new tab

09 · Route by condition (Switch) — Measured area 9.481% · moving frames 23/23Original by GODRICH · SCSS and React ship in the zip · See the password

Switch 3 routesSet ×3 → MergeV2 실행 확인

In the workflow JSON

This is the shape for tiered processing by amount or status, or automatically assigning an owner to each branch.

{
  "mode": "rules",
  "rules": {
    "values": [
      {
        "conditions": {
          "conditions": [
            {
              "id": "r1",
              "leftValue": "={{ $json.amount }}",
              "rightValue": 50,
              "operator": {
                "type": "number",
                "operation": "lt"
              }
            }
          ],
          "combinator": "and"
        },
        "outputKey": "small"
      }
    ]
  }
}

Prerequisites — accounts, permissions, version

Every row below reads "none," yet the table still earns its place: grade and n8n version differ per item. Grade runs V0 (structure) through V1 (import-verified) to V2 (execution-verified) — in this set, only 03 stops at V1, and the other eight all reach V2.

Item Grade Prerequisites n8n version
01 RSS daily digest V2 none 2.38.5
02 Public API to HTML table V2 none 2.38.5
03 Webhook validate and respond V1 (import-verified; running it needs your own webhook URL) none 2.38.5
04 Weekly report skeleton V2 none 2.38.5
05 Loop over items in batches V2 none 2.38.5
06 Merge two sources by key V2 none 2.38.5
07 Dedupe, filter, sort V2 none 2.38.5
08 Extract titles from a public page V2 none 2.38.5
09 Route by condition (Switch) V2 none 2.38.5

There are three ways to import a workflow: paste the raw JSON straight onto the n8n canvas with Ctrl/Cmd+V, use Import from File from the canvas menu and pick a file from the zip, or run n8n import:workflow --input=file.json from the CLI. Once it's in, hit Test workflow in the top-left corner (or the play icon on the Manual Trigger node) to run it right there. If your n8n is older than this table, you'll hit a typeVersion error — see the trap below.

Where this breaks — one trap

simple n8n workflow examples — where does it break?

The easiest way to get burned here is guessing an output field name instead of checking it: the HTML node in item 02 looks like it should produce an html field, but Convert to HTML Table actually names its output table — skip that check and the workflow runs fine while the next node quietly finds nothing where it expected data. The zip password is jj9hgmc4, and once it's unlocked, workflows/ holds all nine JSON files exactly as imported here. Guessing a field name bites just as hard in the hands-on coding corner — the canvas editors in Image Crop JavaScript hit the same class of unverified-value bugs. typeVersion breaks the same way for the same reason — guess a number and an older n8n throws "typeVersion not supported," so it's worth checking what your installed n8n actually supports before writing one in.

FAQ

Do these n8n workflow json examples work on n8n cloud too?

Yes. None of these workflows use community nodes or credentials that need an account, so they import cleanly through the Import menu. Only 03 needs a real webhook URL from your n8n cloud instance to actually run. The no-code way to bolt an API onto n8n gets its own set in n8n No Code Automation.

What if my n8n version is different?

If you hit a typeVersion error, build that node fresh on your canvas, export it, and read off the version it actually saved. This zip was import- and execution-verified against n8n 2.38.5 on Node 24.

How do I add a node that needs an API key?

Add credentials through the HTTP Request node's Authentication option, or drop an expression like {{ $env.API_KEY }} into a header so the key lives in an environment variable instead of the file. Keeping keys out of the workflow JSON you share is also what the n8n docs recommend.

New to n8n? The automation category has more examples in the same vein, and the about page explains how this site verifies what it publishes.

Enter the archive password

The password is inside this article. You will find it as you read.