AutomationFlowsEmail & Gmail › Automated Kleinanzeigen Reminders & Posters

Automated Kleinanzeigen Reminders & Posters

Original n8n title: Mpe Kleinanzeigen Unified (reminder + Poster)

MPE Kleinanzeigen Unified (Reminder + Poster). Uses gmail, httpRequest, telegram, googleSheets. Scheduled trigger; 15 nodes.

Cron / scheduled trigger★★★★☆ complexity15 nodesGmailHTTP RequestTelegramGoogle Sheets
Email & Gmail Trigger: Cron / scheduled Nodes: 15 Complexity: ★★★★☆ Added:

This workflow follows the Gmail → Google Sheets 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": "MPE Kleinanzeigen Unified (Reminder + Poster)",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtDay": [
                1,
                3,
                5
              ],
              "triggerAtHour": 9,
              "triggerAtMinute": 30
            }
          ]
        }
      },
      "id": "trigger-reminder",
      "name": "Schedule: Reminder (Mo/Mi/Fr 09:30)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        0,
        200
      ],
      "notes": "Reminder-Trigger: 3 Listings per Gmail-Draft am Morgen"
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 12 * * 1-5"
            }
          ]
        }
      },
      "id": "trigger-poster",
      "name": "Schedule: Poster (Mo-Fr 12:00)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        0,
        600
      ],
      "notes": "Poster-Trigger: 1 Listing automatisch posten um 12:00"
    },
    {
      "parameters": {
        "jsCode": "// Kleinanzeigen Listings \u2014 Meck-Pomm Elektronik\n// 20 ready-to-post listings, rotiert durch\n\nconst listings = [\n  {\n    \"id\": \"01\",\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\": \"02\",\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\": \"03\",\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\": \"04\",\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\": \"05\",\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\": \"06\",\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\": \"07\",\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\": \"08\",\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\": \"09\",\n    \"titel\": \"Laptop-Reparatur & Datensicherung \u2014 Express-Service\",\n    \"kategorie\": \"Computer & Zubeh\u00f6r\",\n    \"preis\": \"ab 49\u20ac (Diagnose kostenlos)\",\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 (Displaybruch ab 79\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 (Zusammenbau nach Absprache)\",\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 (Toner-Refill ab 19\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 (Reparatur) / ab 34\u20ac (Austausch-Netzteil)\",\n    \"typ\": \"reparatur\"\n  },\n  {\n    \"id\": \"15\",\n    \"titel\": \"Lenovo ThinkPad X1 Carbon (Gen 7) \u2014 999\u20ac\",\n    \"kategorie\": \"Computer & Zubeh\u00f6r\",\n    \"preis\": \"999\u20ac VB\",\n    \"typ\": \"service-it\"\n  },\n  {\n    \"id\": \"16\",\n    \"titel\": \"Dell U2720Q 27\\\" 4K Monitor \u2014 349\u20ac\",\n    \"kategorie\": \"Computer & Zubeh\u00f6r\",\n    \"preis\": \"349\u20ac VB\",\n    \"typ\": \"service-it\"\n  },\n  {\n    \"id\": \"17\",\n    \"titel\": \"Apple MacBook Air M1 (2020) \u2014 649\u20ac\",\n    \"kategorie\": \"Computer & Zubeh\u00f6r\",\n    \"preis\": \"649\u20ac VB\",\n    \"typ\": \"service-it\"\n  },\n  {\n    \"id\": \"18\",\n    \"titel\": \"HP Officejet Pro 8015 \u2014 Tintenstrahl-Drucker\",\n    \"kategorie\": \"Computer & Zubeh\u00f6r\",\n    \"preis\": \"79\u20ac VB\",\n    \"typ\": \"service-it\"\n  },\n  {\n    \"id\": \"19\",\n    \"titel\": \"ANKAUF: Alte Laptops, Handys, Monitore \u2014 Gute Preise!\",\n    \"kategorie\": \"Sonstiges\",\n    \"preis\": \"Vereinbarung nach Besichtigung\",\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 & Schaden\",\n    \"typ\": \"ankauf\"\n  }\n];\n\n// Rotation: 3 Listings pro Tag 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\nreturn todaysListings.map(l => ({\n  json: {\n    ...l,\n    date: today.toISOString().split(\"T\")[0],\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-reminder",
      "name": "Reminder: 3 Listings (Rotation)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        250,
        200
      ]
    },
    {
      "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": [
        500,
        200
      ]
    },
    {
      "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": [
        750,
        200
      ],
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// Logging: Append to Obsidian posting-log\nconst items = $input.all();\nconst data = items[0].json;\nconst date = new Date().toISOString().split('T')[0];\nconst entry = `| ${data.listings.join(', ')} | ${date} | REMINDER_SENT | n8n WF #11 |\\n`;\nreturn [{ json: { entry: entry, date: date, source: 'reminder' } }];"
      },
      "id": "log-reminder",
      "name": "Log Reminder (Obsidian)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1000,
        200
      ]
    },
    {
      "parameters": {
        "jsCode": "// Load 1 Listing pro Tag (Rotation basierend auf Wochentag)\nconst listings = [\n  {\n    \"id\": \"01\",\n    \"title\": \"Website-Redesign & Modernisierung f\u00fcr Dein Gesch\u00e4ft\",\n    \"description\": \"Du brauchst eine neue Website? Wir machen's f\u00fcr Dich:\\n\\n\u2022 Modernes, mobiles Design (Responsive)\\n\u2022 Schnelle Ladezeiten, SEO-optimiert\\n\u2022 Kontaktformular & Terminbuchung integriert\\n\u2022 SSL-Verschl\u00fcsslung + DSGVO-konform\\n\u2022 3 Monate kostenlose Betreuung inklusive\\n\\nF\u00fcr Handwerksbetriebe, Einzelhandel, Dienstleister \u2014 egal ob 5 oder 50 Seiten. Kostenlose Erstberatung per Telefon.\",\n    \"price\": \"ab 799\u20ac\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"01_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"02\",\n    \"title\": \"IT-Wartung & Support \u2014 zuverl\u00e4ssig, schnell, vor Ort\",\n    \"description\": \"Dein Netzwerk l\u00e4uft nicht rund? Wir k\u00fcmmern uns drum:\\n\\n\u2022 Regelm\u00e4\u00dfige Wartung & \u00dcberwachung\\n\u2022 Schnelle Fehlersuche & Reparatur\\n\u2022 Datensicherung & Backup-L\u00f6sungen\\n\u2022 Netzwerk-Optimierung\\n\u2022 Vor-Ort-Support im Umkreis Krakow am See\\n\u2022 Fernwartung m\u00f6glich\\n\\nVon Hardware-Problemen bis Netzwerk-Setup \u2014 wir l\u00f6sen's. Flexible Wartungsvertr\u00e4ge, auch Einzelauftr\u00e4ge.\",\n    \"price\": \"ab 49\u20ac/Stunde\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"02_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"03\",\n    \"title\": \"SEO-Optimierung \u2014 bessere Rankings bei Google & Co.\",\n    \"description\": \"Deine Website wird nicht gefunden? Das \u00e4ndern wir:\\n\\n\u2022 Umfangreiche SEO-Analyse Deiner Website\\n\u2022 Keyword-Recherche & Strategie-Beratung\\n\u2022 On-Page Optimierung (Texte, Bilder, Meta-Tags)\\n\u2022 Technische SEO-Verbesserungen\\n\u2022 Backlink-Aufbau (ethisch, nachhaltig)\\n\u2022 Monatliche Reports & Erfolgskontrolle\\n\\nWir fokussieren auf lokale Suchbegriffe (Krakow, MV) \u2014 damit Deine Kunden Dich finden, nicht Deine Konkurrenz.\",\n    \"price\": \"ab 199\u20ac\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"03_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"04\",\n    \"title\": \"Sichere Server-Migration \u2014 Deine Daten in guten H\u00e4nden\",\n    \"description\": \"Server-Umzug oder Cloud-Anbindung n\u00f6tig? Wir machen's stressfrei:\\n\\n\u2022 Planung & Risiko-Analyse\\n\u2022 Sichere Datenmigration (0 Downtime)\\n\u2022 Cloud-Anbindung (AWS, Azure, Hetzner)\\n\u2022 DNS-Konfiguration & Testing\\n\u2022 Dokumentation & Schulung f\u00fcr Dein Team\\n\u2022 24h Support nach Migration\\n\\nKleine Server-Umz\u00fcge wie komplexe Enterprise-Migrationen \u2014 wir planen sorgf\u00e4ltig. Kostenloser Vor-Ort-Termin zur Bestandsaufnahme.\",\n    \"price\": \"ab 599\u20ac\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"04_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"05\",\n    \"title\": \"Webshop aufbauen \u2014 schnell, sicher, DSGVO-konform\",\n    \"description\": \"Du willst online verkaufen? Wir bauen Dir den Shop:\\n\\n\u2022 Shop-Plattform-Auswahl (WooCommerce, Shopify, etc.)\\n\u2022 Design & Produktverwaltung\\n\u2022 Zahlungs-Integration (Stripe, PayPal, Lastschrift)\\n\u2022 Versand-Integration & Tracking\\n\u2022 Rechtliche Texte (AGB, Datenschutz) included\\n\u2022 Bestellung & Lagerbestandsverwaltung\\n\u2022 Training f\u00fcr Dich & Dein Team\\n\\nEgal ob 20 oder 500 Produkte \u2014 wir skalieren mit Dir. Erste Beratung kostenlos.\",\n    \"price\": \"ab 899\u20ac\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"05_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"06\",\n    \"title\": \"Datenbank-Optimierung \u2014 schneller Zugriff, sichere Daten\",\n    \"description\": \"Deine Datenbank l\u00e4uft langsam? Queries brauchen ewig? Wir optimieren:\\n\\n\u2022 Datenbank-Analyse & Performance-Audit\\n\u2022 Index-Optimierung & Query-Tuning\\n\u2022 Normalisierung & Datenmodell-Review\\n\u2022 Backup & Recovery-Strategie\\n\u2022 Monitoring & Alerting\\n\u2022 Wartungskonzept f\u00fcr die Zukunft\\n\\nMySQL, PostgreSQL, MSSQL \u2014 wir kennen sie alle. Remote-Support oder vor Ort. Stundenhonorar oder Pauschal.\",\n    \"price\": \"ab 89\u20ac/Stunde\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"06_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"07\",\n    \"title\": \"IT-Sicherheit-Audit \u2014 wo sind Deine Schwachstellen?\",\n    \"description\": \"Wie sicher ist Deine IT wirklich? Wir checken's:\\n\\n\u2022 Sicherheits-Audit (Hardware, Software, Prozesse)\\n\u2022 Schwachstellen-Analyse\\n\u2022 Penetrationstests (ethisch durchgef\u00fchrt)\\n\u2022 Passwort-Policy-Check & Zugriffskontrolle\\n\u2022 Phishing-Simulation f\u00fcr Deine Mitarbeiter\\n\u2022 Empfehlungen mit Umsetzungsplan\\n\u2022 Nachfolge-Audits\\n\\nWichtig f\u00fcr alle, die Kundendaten verarbeiten. Bericht in Deutsch, verst\u00e4ndlich auch f\u00fcr Nicht-IT-Profis.\",\n    \"price\": \"ab 499\u20ac\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"07_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"08\",\n    \"title\": \"Prozess-Automatisierung \u2014 spar Zeit & Kosten\",\n    \"description\": \"Zu viele manuelle Prozesse? Machen wir automatisch:\\n\\n\u2022 Workflow-Analyse Deiner Abl\u00e4ufe\\n\u2022 RPA-Automatisierung (n8n, Zapier, Power Automate)\\n\u2022 E-Mail-Automatisierung & Ticketing\\n\u2022 Daten-Import/Export zwischen Systemen\\n\u2022 Bericht-Generierung (automatisch t\u00e4glich/w\u00f6chentlich)\\n\u2022 CRM-Integration\\n\u2022 Schulung f\u00fcr Dein Team\\n\\nSpart oft 10+ Stunden pro Woche. ROI meist innerhalb 2-3 Monaten.\",\n    \"price\": \"ab 349\u20ac\",\n    \"category\": \"IT & Web\",\n    \"images\": [\n      \"08_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"09\",\n    \"title\": \"Laptop-Reparatur & Datensicherung \u2014 Express-Service\",\n    \"description\": \"Dein Laptop macht Probleme? Defekt, langsam, \u00dcberhitzung?\\n\\n\u2022 Kostenlose Diagnose (vor Ort oder in der Werkstatt)\\n\u2022 Austausch von Komponenten (Festplatte, RAM, Akku, L\u00fcfter)\\n\u2022 Betriebssystem-Neuinstallation (Windows, Linux)\\n\u2022 Datensicherung & Wiederherstellung\\n\u2022 Reinigung & Thermalpaste-Austausch\\n\u2022 12 Monate Gew\u00e4hrleistung auf Reparaturen\\n\u2022 Abhol- & Lieferservice im Umkreis (kostenpflichtig)\\n\\nMarke egal (Dell, Lenovo, HP, Asus, MacBook). Moderne Diagnose-Tools. Reparaturen meist innerhalb 24-48h.\",\n    \"price\": \"ab 49\u20ac (Diagnose kostenlos)\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"09_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"10\",\n    \"title\": \"Handy-Reparatur \u2014 Bildschirm, Akku, Logicboard\",\n    \"description\": \"Display gebrochen? Akku leer? Software-Fehler?\\n\\n\u2022 Original- & Aftermarket-Ersatzteile\\n\u2022 Displaybruch-Reparatur (iPhone, Samsung, Huawei, etc.)\\n\u2022 Akku-Austausch & Schnellladung-Test\\n\u2022 Motherboard-Reparatur (L\u00f6ttechnik)\\n\u2022 Wasserschaden-Analyse & Trocknungsprozess\\n\u2022 Software-Probleme & Entsperrung\\n\u2022 Datensicherung vor Reparatur\\n\u2022 12 Monate Gew\u00e4hrleistung\\n\\nAlle g\u00e4ngigen Modelle. Schnelle Reparaturen (oft noch am selben Tag). Abhol-Service in Krakow & Umland.\",\n    \"price\": \"ab 39\u20ac (Displaybruch ab 79\u20ac)\",\n    \"category\": \"Handy & Zubeh\u00f6r\",\n    \"images\": [\n      \"10_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"11\",\n    \"title\": \"Gaming-PC & Arbeits-PC Reparatur \u2014 oder Zusammenbau\",\n    \"description\": \"PC macht Probleme? Startet nicht mehr? Zu langsam? Laut?\\n\\n\u2022 Diagnose & Fehlersuche (BIOS, RAM, Laufwerke, PSU)\\n\u2022 Komponenten-Austausch & Upgrade\\n\u2022 K\u00fchlung-Optimierung (neue L\u00fcfter, Schl\u00e4uche)\\n\u2022 Verkabelung & Mainboard-Cleaning\\n\u2022 Windows-Installation & Treiberupdate\\n\u2022 \u00dcbertaktung & Performance-Tuning\\n\u2022 Eigene Komponenten zusammenbauen lassen? Gerne!\\n\u2022 12 Monate Gew\u00e4hrleistung\\n\\nKeine versteckten Kosten. Vorab-Kostenvoranschlag f\u00fcr gr\u00f6\u00dfere Reparaturen.\",\n    \"price\": \"ab 59\u20ac (Zusammenbau nach Absprache)\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"11_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"12\",\n    \"title\": \"Drucker-Reparatur & Toner-Refill \u2014 kosteng\u00fcnstig\",\n    \"description\": \"Drucker streikt? Papier-Stau? Keine Farbe mehr?\\n\\n\u2022 Diagnose & Fehlersuche (Papier, Toner, Mechanik)\\n\u2022 Toner & Tinte nachf\u00fcllen (g\u00fcnstiger als neu!)\\n\u2022 Ersatzteile-Austausch (Walzen, Fusern, Beh\u00e4lter)\\n\u2022 Papier-Stau & Walzen-Reinigung\\n\u2022 Netzwerk-Drucker Konfiguration\\n\u2022 Leasingger\u00e4te-Support\\n\\nLaser- & Tintenstrahl-Drucker, alle bekannten Hersteller. Kosten transparent, keine \u00dcberraschungen.\",\n    \"price\": \"ab 29\u20ac (Toner-Refill ab 19\u20ac)\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"12_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"13\",\n    \"title\": \"Monitor-Reparatur \u2014 Flackern, Pixel, Standfu\u00df\",\n    \"description\": \"Dein Monitor flackert? Dead Pixels? Defekt?\\n\\n\u2022 Diagnose per Testbild & Schnittstelle-Check\\n\u2022 Ersatzteile f\u00fcr Standf\u00fc\u00dfe, Kabel, Platinen\\n\u2022 LED/Backlight-Austausch\\n\u2022 Displayreparatur f\u00fcr Kratzer (polierbar)\\n\u2022 Speicheroptimierung im Monitor (L\u00f6ttechnik)\\n\u2022 Tauschger\u00e4te (gegen Kaution) m\u00f6glich\\n\u2022 Reparaturquote ca. 75% (Kostenvoranschlag vorher!)\\n\\nMonitor defekt aber noch Garantie? Wir helfen mit Dokumentation f\u00fcr Garantieanspruch.\",\n    \"price\": \"ab 39\u20ac\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"13_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"14\",\n    \"title\": \"Defektes Netzteil? Neue oder Reparatur?\",\n    \"description\": \"Dein PC, Laptop oder Drucker hat kein Strom mehr?\\n\\n\u2022 Schnelle Diagnose (Netzteil kaputt oder nur Stecker?)\\n\u2022 Reparatur kaputt Netzteile (L\u00f6ttechnik f\u00fcr Elkos)\\n\u2022 Austausch-Netzteile (Ersatz-Ger\u00e4te, alle g\u00e4ngigen Wattages)\\n\u2022 Kabelpr\u00fcfung & Sicherheitstest\\n\u2022 Ersatzteile in Lagerung f\u00fcr schnelle Verf\u00fcgbarkeit\\n\u2022 24 Monate Gew\u00e4hrleistung auf Tausch-Netzteile\\n\\nPC-Netzteile, Laptop-Netzteile, externe Netzteile \u2014 alles dabei.\",\n    \"price\": \"ab 29\u20ac (Reparatur) / ab 34\u20ac (Austausch-Netzteil)\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"14_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"15\",\n    \"title\": \"Lenovo ThinkPad X1 Carbon (Gen 7) \u2014 999\u20ac\",\n    \"description\": \"Hochwertiger Business-Laptop, zuverl\u00e4ssig & leicht:\\n\\n\u2022 Lenovo ThinkPad X1 Carbon Gen 7\\n\u2022 Intel Core i5-8265U (4 Kerne, schnell genug f\u00fcr Office & Web)\\n\u2022 16 GB RAM (DDR4, erweiterbar)\\n\u2022 512 GB SSD (Samsung, sehr schnell)\\n\u2022 14\\\" Full-HD Display (IPS, helles, scharfes Bild)\\n\u2022 Intel Iris Graphics (f\u00fcr Videos & Bilder okay)\\n\u2022 Akku ~4-5 Stunden reale Nutzung\\n\u2022 Gewicht 1,1 kg (perfekt f\u00fcr Unterwegs)\\n\u2022 Zustand: Sehr gutes Geh\u00e4use (leichte Kratzer nur beim Hinschauen)\\n\u2022 Windows 10 Professional (lizenziert, Updates included)\\n\u2022 Zubeh\u00f6r: Original-Netzteil, neue Batterien, Schutztasche\\n\\nIdeale f\u00fcr Berufst\u00e4tige, Entwickler, Freelancer. Getestet, alle Funktionen in Ordnung. Lieferung m\u00f6glich (Kosten nach Entfernung).\",\n    \"price\": \"999\u20ac VB\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"15_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"16\",\n    \"title\": \"Dell U2720Q 27\\\" 4K Monitor \u2014 349\u20ac\",\n    \"description\": \"Hochwertiger Monitor f\u00fcr Foto-, Video- & Design-Arbeit:\\n\\n\u2022 Dell U2720Q (27\\\" 4K / 3840x2160)\\n\u2022 IPS Panel (breite Blickwinkel, farbgenau)\\n\u2022 99% Adobe RGB, factory-kalibriert\\n\u2022 USB-C Anschluss (mit Ladung f\u00fcr Laptop)\\n\u2022 HDMI, DisplayPort, USB 3.0 Hub integriert\\n\u2022 H\u00f6henverstellbar, Pivot-Funktion\\n\u2022 St\u00e4nder stabil, Kabel ordentlich verlegt\\n\u2022 Zustand: Wie neu, keine Kratzer oder Macken\\n\u2022 Zubeh\u00f6r: Original-Netzteil, DisplayPort-Kabel, USB-Kabel\\n\\nF\u00fcr Foto/Video-Bearbeitung, CAD, Grafik-Design. Die Farben stimmen! Profi-Standard zu echtem Gebraucht-Preis. Lieferung im Umkreis m\u00f6glich.\",\n    \"price\": \"349\u20ac VB\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"16_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"17\",\n    \"title\": \"Apple MacBook Air M1 (2020) \u2014 649\u20ac\",\n    \"description\": \"Das beste Laptop-Preis-Leistungs-Verh\u00e4ltnis 2026:\\n\\n\u2022 Apple MacBook Air 13\\\" (M1 Chip, ARM-Prozessor)\\n\u2022 8 GB Unified Memory (RAM)\\n\u2022 256 GB SSD (schnell & zuverl\u00e4ssig)\\n\u2022 8-Core GPU (f\u00fcr Grafik & Video besser)\\n\u2022 Akku ~14-16 Stunden im echten Leben\\n\u2022 Macbook Air-Gewicht (1,24 kg)\\n\u2022 Zustand: Wie neu, minimale Gebrauchsspuren\\n\u2022 macOS Sonoma (neuestes Betriebssystem, kostenlose Updates)\\n\u2022 Zubeh\u00f6r: Original-Netzteil, USB-C Kabel, Karton, Dokumentation\\n\\nF\u00fcr Entwickler, Designer, Schreiber, Video-Cutter. Alle modernen Programme (VS Code, Final Cut, Figma) laufen perfekt. Kein L\u00fcfter = kein L\u00e4rm. Akku noch 94% Kapazit\u00e4t (in System-Info sichtbar).\",\n    \"price\": \"649\u20ac VB\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"17_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"18\",\n    \"title\": \"HP Officejet Pro 8015 \u2014 Tintenstrahl-Drucker\",\n    \"description\": \"Zuverl\u00e4ssiger Multifunktions-Drucker f\u00fcr B\u00fcro & Home Office:\\n\\n\u2022 HP Officejet Pro 8015 (Druck, Scan, Kopieren, Fax)\\n\u2022 Druckgeschwindigkeit: bis 15 Seiten/Minute (Farbe & S/W gleich)\\n\u2022 Aufl\u00f6sung: bis 4800 DPI (scharfe Drucke)\\n\u2022 WLAN & Ethernet (Netzwerk-Drucker einsatzbereit)\\n\u2022 Automatischer Duplexdruck (beidseitig, Papier sparen!)\\n\u2022 Papierkapazit\u00e4t: 250 Blatt (gro\u00dfer Beh\u00e4lter)\\n\u2022 Zustand: Gut, leichte Gebrauchsspuren auf dem Geh\u00e4use\\n\u2022 Tinte: Neue Cartridges (HP 953XL) sind im Ger\u00e4t, noch viel Inhalt\\n\u2022 Zubeh\u00f6r: Stromkabel, Telefonkabel (f\u00fcr Fax)\\n\\nIdeale f\u00fcr kleine B\u00fcros, Agenturen, Home Office. Die 953XL Cartridges halten lange. Papierbestandteile regelm\u00e4\u00dfig erneuert. Netzwerk-konfiguriert & einsatzbereit!\",\n    \"price\": \"79\u20ac VB\",\n    \"category\": \"Computer & Zubeh\u00f6r\",\n    \"images\": [\n      \"18_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"19\",\n    \"title\": \"ANKAUF: Alte Laptops, Handys, Monitore \u2014 Gute Preise!\",\n    \"description\": \"Du hast alte, defekte oder ausrangierte Elektronik? Wir kaufen sie Dir ab!\\n\\n**Was wir ankaufen:**\\n\u2022 Laptops & Tablets (funktionsf\u00e4hig oder mit M\u00e4ngeln)\\n\u2022 Smartphones (iPhone, Samsung, etc. \u2014 auch Display-Schaden)\\n\u2022 Monitore & Bildschirme\\n\u2022 PC-Komponenten (Grafikkarten, Mainboards, RAM, SSDs)\\n\u2022 Drucker & Office-Ger\u00e4te\\n\u2022 Gaming-Konsolen & Zubeh\u00f6r\\n\u2022 Netzwerk-Ger\u00e4te (Router, Switch, Modems)\\n\u2022 Festplatten & externe Speicher\\n\\n**Wie es l\u00e4uft:**\\n1. Foto + Beschreibung per E-Mail/WhatsApp\\n2. Wir machen Angebot innerhalb 24h\\n3. Kostenlose Abhol m\u00f6glichkeit im Umkreis Krakow\\n4. Sofort-Bezahlung per \u00dcberweisung oder Bar\\n\\nDatenl\u00f6schung & Umwelt-gerechte Entsorgung sind unsere Sache. Faire Preise, keine versteckte Tricks.\",\n    \"price\": \"Vereinbarung nach Besichtigung\",\n    \"category\": \"Sonstiges\",\n    \"images\": [\n      \"19_1.jpg\"\n    ]\n  },\n  {\n    \"id\": \"20\",\n    \"title\": \"ANKAUF: Kaputte Elektronik \u2014 Noch Geld draus!\",\n    \"description\": \"Dein Laptop ist defekt? Handy Bildschirm kaputt? Monitor tot? Geld raus draus!\\n\\n**Wir kaufen auch defekte Ger\u00e4te:**\\n\u2022 Laptops mit Hardware-Schaden (kaputte Festplatte, RAM-Fehler)\\n\u2022 Handys mit Displaybruch oder Wasserschaden\\n\u2022 Monitore mit Pixelfehlern oder dunklem Display\\n\u2022 PCs mit fehlenden Komponenten\\n\u2022 Notebooks mit Akku-Problemen\\n\u2022 Tablets mit funktionellen M\u00e4ngeln\\n\u2022 Gaming-Konsolen (PS4, PS5, Xbox, Nintendo Switch)\\n\u2022 Defekte Komponenten-Sammlungen\\n\\n**Warum defekte Ger\u00e4te noch wertvoll sind:**\\n\u2022 Ersatzteile lassen sich recyceln\\n\u2022 Funktionsf\u00e4hige Komponenten austauschen\\n\u2022 Refurbishing f\u00fcr Schulen & Gemeinden\\n\u2022 Rohstoffe zur\u00fcckgewinnen (Kupfer, Gold, Kupfer)\\n\u2022 Umweltfreundliche Alternative zur M\u00fclldeponie\\n\\n**Ablauf:**\\n1. Foto + Fehler-Beschreibung senden\\n2. Honest Preisgebot innerhalb 24h\\n3. Kostenlose Abhol (Krakow & Umland)\\n4. Sofort Bargeld oder \u00dcberweisung\\n\\nSelbst kaputte Ger\u00e4te haben Wert. Wir zahlen fair.\",\n    \"price\": \"Je nach Ger\u00e4t & Schaden\",\n    \"category\": \"Sonstiges\",\n    \"images\": [\n      \"20_1.jpg\"\n    ]\n  }\n];\n\nconst today = new Date().getDay();\nconst listingIndex = today % listings.length;\nconst listing = listings[listingIndex];\n\nreturn [{ json: { ...listing, date: new Date().toISOString().split(\"T\")[0], status: \"ready_to_post\" } }];"
      },
      "id": "load-poster",
      "name": "Poster: 1 Listing (Rotation)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        250,
        600
      ],
      "notes": "1 Listing pro Tag via Wochentag-Rotation. Alle 20 Listings aus Obsidian laden."
    },
    {
      "parameters": {
        "jsCode": "// Bilder vorbereiten\nconst item = $json;\nconst imageFolder = '/opt/kleinanzeigen/bilder/';\n\nconst images = item.images.map((img, idx) => ({\n  json: {\n    filename: `${imageFolder}${item.id}_${idx+1}.jpg`,\n    listingId: item.id,\n    title: item.title\n  }\n}));\n\nreturn images.length > 0 ? images : [{\n  json: {\n    filename: null,\n    listingId: item.id,\n    title: item.title,\n    noImage: true\n  }\n}];"
      },
      "id": "prep-images",
      "name": "Prepare Images",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        500,
        600
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true
          },
          "conditions": [
            {
              "id": "no-img",
              "leftValue": "={{ $json.noImage }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "notTrue"
              }
            }
          ]
        }
      },
      "id": "filter-image",
      "name": "Check: Hat Bild?",
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2,
      "position": [
        750,
        600
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.ebay-kleinanzeigen.ebay.de/v1/listings",
        "authentication": "genericCredentialType",
        "genericAuthType": "OAuth2",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "title",
              "value": "={{ $json.title }}"
            },
            {
              "name": "description",
              "value": "={{ $json.description }}"
            },
            {
              "name": "price",
              "value": "={{ $json.price }}"
            },
            {
              "name": "category",
              "value": "={{ $json.category }}"
            },
            {
              "name": "location",
              "value": "Krakow am See, MV"
            },
            {
              "name": "contact",
              "value": "pahuut@meckpomm-elektronik.de"
            },
            {
              "name": "phone",
              "value": "0160 142 98 10"
            }
          ]
        },
        "options": {
          "timeout": 30000
        }
      },
      "id": "post",
      "name": "\u2192 Kleinanzeigen API",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1000,
        600
      ],
      "continueOnFail": true,
      "notes": "Kleinanzeigen API. Ohne API = Manual Post Alert via Telegram."
    },
    {
      "parameters": {
        "jsCode": "// Check ob API-Post erfolgreich\nconst item = $json;\nconst response = $input.first().json;\n\nif (response?.error || !$input.first()) {\n  return [{\n    json: {\n      ...item,\n      status: 'MANUAL_POST_NEEDED',\n      reason: response?.error || 'No API access',\n      action: `Bitte manuell posten: ${item.title} - ${item.price}`,\n      telegram: true\n    }\n  }];\n}\n\nreturn [{\n  json: {\n    ...item,\n    status: 'POSTED',\n    listingId: response?.id,\n    postedAt: new Date().toISOString()\n  }\n}];"
      },
      "id": "check-result",
      "name": "Check Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1250,
        600
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true
          },
          "conditions": [
            {
              "id": "manual",
              "leftValue": "={{ $json.telegram }}",
              "rightValue": true,
              "operator": {
                "type": "boolean",
                "operation": "true"
              }
            }
          ]
        }
      },
      "id": "route",
      "name": "Route: API oder Manual",
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2,
      "position": [
        1500,
        600
      ]
    },
    {
      "parameters": {
        "operation": "sendMessage",
        "chatId": "{{ $env.TELEGRAM_CHAT_ID }}",
        "text": "={{ $json.action }}",
        "additionalFields": {}
      },
      "id": "telegram-alert",
      "name": "Telegram: Manual Post Alert",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.3,
      "position": [
        1750,
        500
      ],
      "notes": "Alert wenn API-Post fehlschlaegt \u2014 manuell posten"
    },
    {
      "parameters": {
        "jsCode": "// Log in Google Sheets\nconst item = $json;\nconst date = new Date().toISOString().split('T')[0];\n\nreturn [{\n  json: {\n    date: date,\n    listing_id: item.id || item.listingId,\n    title: item.title || item.titel,\n    price: item.price || item.preis,\n    status: item.status || 'LOGGED',\n    source: item.source || 'poster',\n    postedAt: item.postedAt || null\n  }\n}];"
      },
      "id": "log-poster",
      "name": "Log Poster (Sheets)",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1750,
        700
      ]
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": "{{ $env.KLEINANZEIGEN_SHEET_ID }}",
        "sheetName": "Log",
        "columns": {
          "mappingMode": "autoMapInputData"
        }
      },
      "id": "sheets",
      "name": "\u2192 Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        2000,
        700
      ],
      "continueOnFail": true
    }
  ],
  "connections": {
    "Schedule: Reminder (Mo/Mi/Fr 09:30)": {
      "main": [
        [
          {
            "node": "Reminder: 3 Listings (Rotation)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reminder: 3 Listings (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 Reminder (Obsidian)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule: Poster (Mo-Fr 12:00)": {
      "main": [
        [
          {
            "node": "Poster: 1 Listing (Rotation)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Poster: 1 Listing (Rotation)": {
      "main": [
        [
          {
            "node": "Prepare Images",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Images": {
      "main": [
        [
          {
            "node": "Check: Hat Bild?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check: Hat Bild?": {
      "main": [
        [
          {
            "node": "\u2192 Kleinanzeigen API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2192 Kleinanzeigen API": {
      "main": [
        [
          {
            "node": "Check Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Result": {
      "main": [
        [
          {
            "node": "Route: API oder Manual",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route: API oder Manual": {
      "main": [
        [
          {
            "node": "Telegram: Manual Post Alert",
            "type": "main",
            "index": 0
          },
          {
            "node": "Log Poster (Sheets)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram: Manual Post Alert": {
      "main": [
        [
          {
            "node": "Log Poster (Sheets)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Poster (Sheets)": {
      "main": [
        [
          {
            "node": "\u2192 Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "timezone": "Europe/Berlin",
    "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

MPE Kleinanzeigen Unified (Reminder + Poster). Uses gmail, httpRequest, telegram, googleSheets. Scheduled trigger; 15 nodes.

Source: https://github.com/NEXUS-OMEGA-Autoresearch-Karpathy/omega-sports/blob/8c0c3f79b91e1be816bd3cffd6ded2cff2f5a13a/workflows/11_kleinanzeigen-unified.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

Template - SSL Expiry Alert System. Uses googleSheets, scheduleTrigger, httpRequest, stickyNote. Scheduled trigger; 21 nodes.

Google Sheets, HTTP Request, Gmail +2
Email & Gmail

This workflow is ideal for administrators or IT professionals responsible for monitoring SSL certificates of multiple websites to ensure they do not expire unexpectedly.

Google Sheets, HTTP Request, Gmail +2
Email & Gmail

url-uptime-monitor. Uses scheduleTrigger, splitOut, googleSheets, summarize. Scheduled trigger; 18 nodes.

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

This automated n8n workflow continuously tracks real-time flight fare changes by querying airline APIs (e.g., Amadeus, Skyscanner). It compares new prices with historical fares and sends instant notif

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

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

Gmail, Google Drive, Google Sheets +1