Google-Forms-Tageszusammenfassung per E-Mail senden

Fortgeschritten

Dies ist ein Personal Productivity, Multimodal AI-Bereich Automatisierungsworkflow mit 6 Nodes. Hauptsächlich werden Code, Gmail, GoogleSheetsTrigger und andere Nodes verwendet. Tägliche Google Form-Einreichungen zusammenführen, um ein Gmail-Zusammenfassungsprotokoll zu erstellen

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • Google Sheets API-Anmeldedaten
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "4PkzGnVzhzmFcQas",
  "meta": {
    "instanceId": "b7b2db9d6a461f902b25d685e4550cab3c88fcbb3254a8654e06246b67e4ff5c",
    "templateCredsSetupCompleted": true
  },
  "name": "Google Form Daily Recap to Email",
  "tags": [
    {
      "id": "5iQR5Cw05Bzz7Aqt",
      "name": "Google",
      "createdAt": "2025-08-02T17:36:32.751Z",
      "updatedAt": "2025-08-02T17:36:32.751Z"
    },
    {
      "id": "PlBq4GrfRsEhR6mN",
      "name": "google form",
      "createdAt": "2025-08-14T09:57:38.641Z",
      "updatedAt": "2025-08-14T09:57:38.641Z"
    },
    {
      "id": "S94PaeZJiPKn5Ei9",
      "name": "gmail",
      "createdAt": "2025-08-14T09:57:18.678Z",
      "updatedAt": "2025-08-14T09:57:18.678Z"
    },
    {
      "id": "Unbn35P90TtJuAQC",
      "name": "email",
      "createdAt": "2025-08-14T09:57:13.394Z",
      "updatedAt": "2025-08-14T09:57:13.394Z"
    },
    {
      "id": "h2TBJOs7feXDIfbL",
      "name": "google sheet",
      "createdAt": "2025-08-14T09:57:22.041Z",
      "updatedAt": "2025-08-14T09:57:22.041Z"
    },
    {
      "id": "rYuINsb3Y1XjrgNv",
      "name": "Productivity",
      "createdAt": "2025-08-02T17:36:49.812Z",
      "updatedAt": "2025-08-02T17:36:49.812Z"
    }
  ],
  "nodes": [
    {
      "id": "1c6d9187-1442-4098-a300-11b22e1183c2",
      "name": "E-Mail zusammenfassen",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1040,
        0
      ],
      "webhookId": "d376e469-4595-4972-9d58-ef4bbb1e7982",
      "parameters": {
        "sendTo": "email",
        "message": "={{$json.html}}",
        "options": {},
        "subject": "The requests you received today"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "88G2Fa5bxsnrjAYu",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b619b991-d0cd-41be-84f8-3e2a0db82fea",
      "name": "Triggerdaten für neue Zeile",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        416,
        0
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {
          "dataLocationOnSheet": {
            "values": {
              "range": "A1:Z1000",
              "rangeDefinition": "specifyRangeA1"
            }
          }
        },
        "pollTimes": {
          "item": [
            {
              "hour": 17
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "id"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "url"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "3Ibd0h6fDr3TCJ1v",
          "name": "Google Sheets Trigger account"
        }
      },
      "notesInFlow": false,
      "typeVersion": 1
    },
    {
      "id": "0ca891c0-477f-4f23-918e-73b016f2c3b7",
      "name": "Kurznotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -304
      ],
      "parameters": {
        "color": 3,
        "content": "## Required\n\n\n- Google account\n- Google Form\n- Google Sheet linked to the form"
      },
      "typeVersion": 1
    },
    {
      "id": "25843c2b-29e3-4bcd-8922-f25f8f903200",
      "name": "Kurznotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        -304
      ],
      "parameters": {
        "color": 2,
        "width": 416,
        "height": 848,
        "content": "## 1.Workflow trigger et data gathering\n\nThe workflow is **triggered automatically** everyday at 5pm. \n\nHow to setup:\n- Set up your Google form and link it to a google sheet\n- link the google sheet to this workflow"
      },
      "typeVersion": 1
    },
    {
      "id": "804f4951-61b5-4fa1-a959-66a92ce525b5",
      "name": "Kurznotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        -304
      ],
      "parameters": {
        "color": 4,
        "width": 560,
        "height": 848,
        "content": "## 2. Send the email\n\nThe code node, will create the message and gather all the informations wanted about the row added during the day and will list them (row newly added). So a full sum um will be sent in one message only.\n\n\nHow to setup:\n- Connect with your Gmail account credentials."
      },
      "typeVersion": 1
    },
    {
      "id": "d889b4e6-7b66-4272-92a1-406771c5803b",
      "name": "E-Mail generieren",
      "type": "n8n-nodes-base.code",
      "position": [
        832,
        0
      ],
      "parameters": {
        "jsCode": "const rows = $input.all().map(i => i.json);\n\n// helper: get eh first existing key\nconst pick = (obj, keys) => {\n  for (const k of keys) if (k in obj && obj[k] != null && obj[k] !== '') return obj[k];\n  return undefined;\n};\n\nconst categories = {};\nfor (const row of rows) {\n  const category = pick(row, ['Catégorie', 'Category']) || 'Non classé';\n  const question = pick(row, ['Question', 'Please write your request', 'Please write your re', 'Request', 'Message']) || '(no question)';\n  const from     = pick(row, ['Nom', 'Name', 'Full Name', 'Adresse e-mail', 'Email Address', 'Email']) || 'Anonymous';\n\n  if (!categories[category]) categories[category] = [];\n  categories[category].push({ question, from });\n}\n\nlet html = `<h2>📬 Questions of the day received (${rows.length})</h2>`;\nfor (const [cat, items] of Object.entries(categories)) {\n  html += `<h3>${cat} (${items.length})</h3><ul>`;\n  for (const it of items) {\n    html += `<li><strong>${it.from}</strong><br>${it.question}</li>`;\n  }\n  html += `</ul>`;\n}\n\nreturn [{ json: { html, count: rows.length } }];\n"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0eeda259-9205-4ec9-8dcb-f39e515f579a",
  "connections": {
    "d889b4e6-7b66-4272-92a1-406771c5803b": {
      "main": [
        [
          {
            "node": "1c6d9187-1442-4098-a300-11b22e1183c2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b619b991-d0cd-41be-84f8-3e2a0db82fea": {
      "main": [
        [
          {
            "node": "d889b4e6-7b66-4272-92a1-406771c5803b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Persönliche Produktivität, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes6
Kategorie2
Node-Typen4
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Yassin Zehar

Yassin Zehar

@yassinzehar

Digital & IT Project Manager | Data-oriented | Agile certified (PSM I, PSPO I) | Paris

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34