AutomationFlowsEmail & Gmail › Gmail Kleinanzeigen Posting Reminder

Gmail Kleinanzeigen Posting Reminder

Original n8n title: Kleinanzeigen Posting Reminder (gmail)

11 - Kleinanzeigen Posting Reminder. Uses gmail. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexity5 nodesGmail
Email & Gmail Trigger: Cron / scheduled Nodes: 5 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": "11 - Kleinanzeigen Posting Reminder",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtDay": [
                1,
                3,
                5
              ],
              "triggerAtHour": 9,
              "triggerAtMinute": 30
            }
          ]
        }
      },
      "id": "cron-trigger",
      "name": "Schedule (Mo/Mi/Fr 09:30)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Kleinanzeigen Listings \u2014 Meck-Pomm Elektronik\n// 20 ready-to-post listings, rotiert durch\n\nconst listings = [\n  {\n    id: 1,\n    titel: 'Website-Redesign & Modernisierung f\u00fcr Dein Gesch\u00e4ft',\n    kategorie: 'IT & Web',\n    preis: 'ab 799\u20ac',\n    typ: 'service-it'\n  },\n  {\n    id: 2,\n    titel: 'IT-Wartung & Support \u2014 zuverl\u00e4ssig, schnell, vor Ort',\n    kategorie: 'IT & Web',\n    preis: 'ab 49\u20ac/Stunde',\n    typ: 'service-it'\n  },\n  {\n    id: 3,\n    titel: 'SEO-Optimierung \u2014 bessere Rankings bei Google & Co.',\n    kategorie: 'IT & Web',\n    preis: 'ab 199\u20ac',\n    typ: 'service-it'\n  },\n  {\n    id: 4,\n    titel: 'Sichere Server-Migration \u2014 Deine Daten in guten H\u00e4nden',\n    kategorie: 'IT & Web',\n    preis: 'ab 599\u20ac',\n    typ: 'service-it'\n  },\n  {\n    id: 5,\n    titel: 'Webshop aufbauen \u2014 schnell, sicher, DSGVO-konform',\n    kategorie: 'IT & Web',\n    preis: 'ab 899\u20ac',\n    typ: 'service-it'\n  },\n  {\n    id: 6,\n    titel: 'Datenbank-Optimierung \u2014 schneller Zugriff, sichere Daten',\n    kategorie: 'IT & Web',\n    preis: 'ab 89\u20ac/Stunde',\n    typ: 'service-it'\n  },\n  {\n    id: 7,\n    titel: 'IT-Sicherheit-Audit \u2014 wo sind Deine Schwachstellen?',\n    kategorie: 'IT & Web',\n    preis: 'ab 499\u20ac',\n    typ: 'service-it'\n  },\n  {\n    id: 8,\n    titel: 'Prozess-Automatisierung \u2014 spar Zeit & Kosten',\n    kategorie: 'IT & Web',\n    preis: 'ab 349\u20ac',\n    typ: 'service-it'\n  },\n  {\n    id: 9,\n    titel: 'Laptop-Reparatur & Datensicherung \u2014 Express-Service',\n    kategorie: 'Computer & Zubeh\u00f6r',\n    preis: 'ab 49\u20ac',\n    typ: 'reparatur'\n  },\n  {\n    id: 10,\n    titel: 'Handy-Reparatur \u2014 Bildschirm, Akku, Logicboard',\n    kategorie: 'Handy & Zubeh\u00f6r',\n    preis: 'ab 39\u20ac',\n    typ: 'reparatur'\n  },\n  {\n    id: 11,\n    titel: 'Gaming-PC & Arbeits-PC Reparatur \u2014 oder Zusammenbau',\n    kategorie: 'Computer & Zubeh\u00f6r',\n    preis: 'ab 59\u20ac',\n    typ: 'reparatur'\n  },\n  {\n    id: 12,\n    titel: 'Drucker-Reparatur & Toner-Refill \u2014 kosteng\u00fcnstig',\n    kategorie: 'Computer & Zubeh\u00f6r',\n    preis: 'ab 29\u20ac',\n    typ: 'reparatur'\n  },\n  {\n    id: 13,\n    titel: 'Monitor-Reparatur \u2014 Flackern, Pixel, Standfu\u00df',\n    kategorie: 'Computer & Zubeh\u00f6r',\n    preis: 'ab 39\u20ac',\n    typ: 'reparatur'\n  },\n  {\n    id: 14,\n    titel: 'Defektes Netzteil? Neue oder Reparatur?',\n    kategorie: 'Computer & Zubeh\u00f6r',\n    preis: 'ab 29\u20ac',\n    typ: 'reparatur'\n  },\n  {\n    id: 15,\n    titel: 'Lenovo ThinkPad X1 Carbon (Gen 7) \u2014 999\u20ac',\n    kategorie: 'Elektronik',\n    preis: '999\u20ac VB',\n    typ: 'verkauf'\n  },\n  {\n    id: 16,\n    titel: 'Dell U2720Q 27\\\" 4K Monitor \u2014 349\u20ac',\n    kategorie: 'Elektronik',\n    preis: '349\u20ac VB',\n    typ: 'verkauf'\n  },\n  {\n    id: 17,\n    titel: 'Apple MacBook Air M1 (2020) \u2014 649\u20ac',\n    kategorie: 'Elektronik',\n    preis: '649\u20ac VB',\n    typ: 'verkauf'\n  },\n  {\n    id: 18,\n    titel: 'HP Officejet Pro 8015 \u2014 Tintenstrahl-Drucker',\n    kategorie: 'Elektronik',\n    preis: '79\u20ac VB',\n    typ: 'verkauf'\n  },\n  {\n    id: 19,\n    titel: 'ANKAUF: Alte Laptops, Handys, Monitore \u2014 Gute Preise!',\n    kategorie: 'Sonstiges',\n    preis: 'Vereinbarung',\n    typ: 'ankauf'\n  },\n  {\n    id: 20,\n    titel: 'ANKAUF: Kaputte Elektronik \u2014 Noch Geld draus!',\n    kategorie: 'Sonstiges',\n    preis: 'Je nach Ger\u00e4t',\n    typ: 'ankauf'\n  }\n];\n\n// Rotation: 3 Listings pro Tag, rotiert durch basierend auf Tageszahl\nconst today = new Date();\nconst dayOfYear = Math.floor((today - new Date(today.getFullYear(), 0, 0)) / 86400000);\nconst batchSize = 3;\nconst startIdx = (dayOfYear * batchSize) % listings.length;\n\nconst todaysListings = [];\nfor (let i = 0; i < batchSize; i++) {\n  todaysListings.push(listings[(startIdx + i) % listings.length]);\n}\n\n// Tracking: welche wurden schon gepostet?\nconst postedFile = '/mnt/c/Users/paulg/Obsidian/02_Knowledge/business/marketing/kleinanzeigen-posting-log.md';\n\nreturn todaysListings.map(l => ({\n  json: {\n    ...l,\n    date: today.toISOString().split('T')[0],\n    obsidian_log: postedFile,\n    anleitung: `Kleinanzeigen \u00f6ffnen \u2192 '${l.kategorie}' \u2192 Titel: '${l.titel}' \u2192 Preis: ${l.preis} \u2192 Beschreibung aus kleinanzeigen-20-listings.md #${l.id} kopieren \u2192 Standort: Krakow am See \u2192 Fotos hochladen \u2192 Ver\u00f6ffentlichen`,\n    link_zu_texten: 'Claude-Cowork/01_Business/marketing/kleinanzeigen-20-listings.md',\n    listing_nummer: l.id\n  }\n}));"
      },
      "id": "listing-selector",
      "name": "Listings Ausw\u00e4hlen (3/Tag Rotation)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        470,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// Formatiere als Gmail-Draft mit Copy-Paste-Anleitung\nconst items = $input.all();\nconst today = items[0].json.date;\n\nlet body = `## Kleinanzeigen Posting Reminder \u2014 ${today}\\n\\n`;\nbody += `**3 Listings f\u00fcr heute:**\\n\\n`;\n\nitems.forEach((item, i) => {\n  const l = item.json;\n  body += `### ${i+1}. ${l.titel}\\n`;\n  body += `- **Kategorie:** ${l.kategorie}\\n`;\n  body += `- **Preis:** ${l.preis}\\n`;\n  body += `- **Typ:** ${l.typ}\\n`;\n  body += `- **Anleitung:** ${l.anleitung}\\n\\n`;\n});\n\nbody += `\\n---\\n**Texte:** Datei \\`kleinanzeigen-20-listings.md\\` Listing #${items.map(i => i.json.listing_nummer).join(', #')}\\n`;\nbody += `**Nach dem Posten:** In revenue-log.md eintragen!\\n`;\n\nreturn [{\n  json: {\n    subject: `Kleinanzeigen: 3 Listings posten (${today})`,\n    body: body,\n    to: 'meck.pomm.elektronik@gmail.com',\n    listings: items.map(i => i.json.listing_nummer)\n  }\n}];"
      },
      "id": "format-reminder",
      "name": "Reminder Formatieren",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        690,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.to }}",
        "subject": "={{ $json.subject }}",
        "emailType": "text",
        "message": "={{ $json.body }}"
      },
      "id": "send-email",
      "name": "Gmail Draft Erstellen",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        910,
        300
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// Logging: Append to Obsidian posting-log\nconst fs = require('fs');\nconst items = $input.all();\nconst data = items[0].json;\nconst logPath = '/mnt/c/Users/paulg/Obsidian/02_Knowledge/business/marketing/kleinanzeigen-posting-log.md';\n\nconst entry = `| ${data.listings.join(', ')} | ${new Date().toISOString().split('T')[0]} | REMINDER_SENT | n8n WF #11 |\\n`;\n\ntry {\n  fs.appendFileSync(logPath, entry);\n} catch(e) {\n  // Log-Datei existiert noch nicht \u2014 kein Problem\n}\n\nreturn items;"
      },
      "id": "log-to-obsidian",
      "name": "Log in Obsidian",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1130,
        300
      ]
    }
  ],
  "connections": {
    "Schedule (Mo/Mi/Fr 09:30)": {
      "main": [
        [
          {
            "node": "Listings Ausw\u00e4hlen (3/Tag Rotation)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Listings Ausw\u00e4hlen (3/Tag Rotation)": {
      "main": [
        [
          {
            "node": "Reminder Formatieren",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reminder Formatieren": {
      "main": [
        [
          {
            "node": "Gmail Draft Erstellen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Draft Erstellen": {
      "main": [
        [
          {
            "node": "Log in Obsidian",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "callerPolicy": "workflowsFromSameOwner"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": [
    {
      "name": "revenue"
    },
    {
      "name": "kleinanzeigen"
    },
    {
      "name": "posting"
    }
  ]
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

11 - Kleinanzeigen Posting Reminder. Uses gmail. Scheduled trigger; 5 nodes.

Source: https://github.com/NEXUS-OMEGA-Autoresearch-Karpathy/omega-sports/blob/8c0c3f79b91e1be816bd3cffd6ded2cff2f5a13a/_archive/numbered-dirs/07_n8n-Workflows/11_kleinanzeigen-posting-reminder.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

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

Email & Gmail

YOUR_ID 4. Uses gmail, googleDrive, googleSheets, httpRequest. Scheduled trigger; 53 nodes.

Gmail, Google Drive, Google Sheets +1
Email & Gmail

The FamilyFlow Assistant is your n8n-powered 🚀 companion designed to streamline daily parenting tasks, reduce mental load, and bring a bit more organization and fun into your family life. This versati

Start, Email Send, Telegram Trigger +2
Email & Gmail

Instead of providing a routine check, it focuses on significant movements by: Sending a Slack alert only if a query crosses a defined movement threshold. Emailing a structured report with the Top 25 i

HTTP Request, Slack, Gmail
Email & Gmail

Looking for a way to track GitHub bounty issues automatically and get notified in real time? This GitHub Bounty Tracker workflow monitors repositories for issues labeled 💎 Bounty, logs them in Google

Google Sheets, HTTP Request, WhatsApp +1
Email & Gmail

This workflow gathers papers in Arxiv and specific arxiv category AI helps to make summarized form of newsletter and send it to subscriber using gmail Supabase Table schema user_email: Text - Mandator

Supabase, Gmail