Für Ihre E-Mail visuelle Zusammenfassungen und Wissensgrafik-Einblicke generieren
Dies ist ein Other, AI-Bereich Automatisierungsworkflow mit 38 Nodes. Hauptsächlich werden If, Set, Code, Wait, Gmail und andere Nodes verwendet, kombiniert mit KI-Technologie für intelligente Automatisierung. Für Ihre E-Mails visuelle Zusammenfassungen und Wissensgrafik-Einblicke generieren
- •Google-Konto + Gmail API-Anmeldedaten
- •Telegram Bot Token
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Gemini API Key
Verwendete Nodes (38)
Kategorie
{
"id": "ddCCP7XAKuUqNKbU",
"meta": {
"instanceId": "2a26454b0172ffcb8d70ba77c235b1209f92cd71bf06c79ba609c7173b416d68",
"templateCredsSetupCompleted": true
},
"name": "Generate Visual Summary & Knowledge Graph Insights for Your Email",
"tags": [
{
"id": "sJk9cUvmMU8FkJXv",
"name": "AI",
"createdAt": "2025-05-20T13:16:15.636Z",
"updatedAt": "2025-05-20T13:16:15.636Z"
}
],
"nodes": [
{
"id": "bb0edf9a-910c-41fc-bcc1-f09e162045c2",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2040,
-240
],
"parameters": {
"width": 380,
"height": 1140,
"content": "## 1. How to Trigger?\n\n### a. via a password-protected private URL form where you can specify which emails you want to analyze\n\n### b. daily trigger (for regular automated updates)\n\n### c. manual trigger\n\n### d. webhook\n\nTo select a trigger, activate it while deactivating the others.\n\nTo learn more about the email search criteria, refer to this [Google page](https://support.google.com/mail/answer/7190?hl=en&co=GENIE.Platform%3DAndroid)\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "3a974df3-2b2a-4ce2-aff4-74b3771d2e5d",
"name": "InfraNodus Question Generator",
"type": "n8n-nodes-base.httpRequest",
"position": [
2460,
200
],
"parameters": {
"url": "https://infranodus.com/api/v1/graphAndAdvice?doNotSave=true&optimize=gap&includeGraph=false&includeGraphSummary=true",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "aiTopics",
"value": "true"
},
{
"name": "requestMode",
"value": "question"
},
{
"name": "name",
"value": "={{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "FPDx6PA5CtzGEIQc",
"name": "InfraNodus DeeMeeTree API Key"
}
},
"typeVersion": 4.2
},
{
"id": "81a91a82-e1c5-4ff6-873a-3d70d4635637",
"name": "Text bereinigen und in Aussagen organisieren",
"type": "n8n-nodes-base.code",
"position": [
1200,
200
],
"parameters": {
"jsCode": "\nlet statements = []\nfor (const item of $input.all()) {\n\n item.json.from?.forEach((emailOrigin, index) => {\n const textContent = item.json.text[index]?.split('\\n').join(' ');\n const cleanTextContent = removeHtmlCssScript(textContent)\n const cleanDate = new Date().toDateString()\n statements.push('[[' + emailOrigin + ']] ' + '[' + cleanDate + '] ' + cleanTextContent)\n })\n}\n\nreturn { statements: statements }\n\nfunction removeHtmlCssScript(text) {\n if (!text || typeof text !== 'string') {\n return '';\n }\n \n let cleanText = text;\n \n // Remove script tags and their content (case insensitive)\n cleanText = cleanText.replace(/<script[^>]*>[\\s\\S]*?<\\/script>/gi, '');\n \n // Remove style tags and their content (case insensitive)\n cleanText = cleanText.replace(/<style[^>]*>[\\s\\S]*?<\\/style>/gi, '');\n \n // Remove HTML comments\n cleanText = cleanText.replace(/<!--[\\s\\S]*?-->/g, '');\n \n // Remove all remaining HTML tags\n cleanText = cleanText.replace(/<[^>]*>/g, '');\n \n // Decode common HTML entities\n const htmlEntities = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\",\n ' ': ' ',\n '©': '©',\n '®': '®',\n '™': '™'\n };\n \n Object.keys(htmlEntities).forEach(entity => {\n const regex = new RegExp(entity, 'g');\n cleanText = cleanText.replace(regex, htmlEntities[entity]);\n });\n \n // Clean up extra whitespace\n cleanText = cleanText.replace(/\\s+/g, ' ').trim();\n \n return cleanText;\n}"
},
"typeVersion": 2
},
{
"id": "7a1946fe-5e84-402a-a728-71288cc4b160",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2040,
-880
],
"parameters": {
"color": 6,
"width": 1280,
"height": 600,
"content": "# Visual Summary & Knowledge Graph Insights for Your Gmail\n\n## Use this workflow to filter your emails by search terms, date, labels, or AI-defined criteria and to visualize the main topics and gaps using the [InfraNodus knowledge graph](https://infranodus.com). Generate topical summaries and insights based on the gaps, receive them via Telegram.\n\n### Some interesting use cases:\n- Analyze all your personal messages for the week to get an overview of the main topics \n- Analyze all your Sent messages to find recurrent topics and gaps and generate ideas based. on those gaps\n- Generate ideas based on specific message filter (Personal, Promos, from a specific person, AI-defined criteria, e.g. urgency)\n- Get an overview of an interaction with a specific person / company\n- Get an overview of your notes\n- Generate ideas based on your correspondence\n- Learn about various n8n nodes useful for email processing, filtering, and data conversion\n- Never miss important topics \n\n\n### To set up (takes 2 minutes):\n- Connect your Gmail account in steps 3 and 4 (best works if you have a Google cloud Oauth key, which you can use for other Google services)\n- Get your [InfraNodus API](https://infranodus.com/api-access) key and add it in steps 7 and 8\n- Connect to your Telegram bot (takes 30 secs to set up via [@botfather](https://t.me/botfather) in step 8\n- Use a Form trigger to experiment or specify your default parameters in the Step 2 node\n"
},
"typeVersion": 1
},
{
"id": "599264b8-bd89-4ed9-8645-725ebd005747",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
120,
500
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.5-flash-preview-04-17"
},
"credentials": {
"googlePalmApi": {
"id": "ivswOFTY8MYDbj5b",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "e7251d9c-e247-4b48-a7db-4b7bba057777",
"name": "Wurde Label bereitgestellt?",
"type": "n8n-nodes-base.if",
"position": [
-1080,
320
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a8278945-a9a1-45c6-809f-b9282f6de0ed",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('Assign Processing Settings').item.json[\"Label Filter\"] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6a1fdf73-fa60-46d6-8980-e192735fbb54",
"name": "Snippets analysieren?",
"type": "n8n-nodes-base.if",
"position": [
-620,
380
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "802f2028-04bb-43ad-befa-416c0afc5515",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $('Assign Processing Settings').item.json['Analyze Full Email Text?'] }}",
"rightValue": "Snippets"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "daa2cf5f-e8b5-45a4-ab73-feb5981d665d",
"name": "Snippets aus gefilterten E-Mails analysieren?",
"type": "n8n-nodes-base.if",
"position": [
-600,
60
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "82abd9a8-375b-4c3f-8f19-be6b3c1b8e80",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $('Assign Processing Settings').item.json['Analyze Full Email Text?'] }}",
"rightValue": "Snippets"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "9cae8722-13c0-4090-81c3-ec60ced40ec4",
"name": "E-Mails nach Label filtern",
"type": "n8n-nodes-base.filter",
"notes": "To only show personal mails, use CATEGORY_PERSONAL in the filters (or any other label you like)\nCATEGORY_PROMOTIONS - for promos\nSENT - for your sent messages",
"position": [
-880,
160
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "731d1986-b8e1-480f-b956-0e9e7d2b9df8",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.labels.map(label => label.name) }}",
"rightValue": "={{ $('Assign Processing Settings').item.json['Label Filter'] }}"
}
]
}
},
"notesInFlow": true,
"typeVersion": 2.2
},
{
"id": "204e3171-f4bf-4c6f-a0a9-3ba9ae9f869d",
"name": "Vollständigen Nachrichteninhalt abrufen",
"type": "n8n-nodes-base.gmail",
"position": [
-280,
380
],
"webhookId": "e79f9021-02a7-4506-8aa8-b21a6b823815",
"parameters": {
"simple": false,
"options": {},
"messageId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "pL8OjzEMWakSY1Nk",
"name": "Gmail paranyushkin"
}
},
"typeVersion": 2.1
},
{
"id": "825e11fe-5f2c-41ef-ade0-1136607decbd",
"name": "KI zur weiteren E-Mail-Filterung verwenden?",
"type": "n8n-nodes-base.if",
"position": [
-20,
220
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6ccf71c6-0f1b-4560-82c7-0185946af0a2",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('Assign Processing Settings').item.json['Email Type Description'] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f504bc20-2385-42f1-80da-f7129a4dcb6e",
"name": "Nachrichtentext oder Snippet vorhanden?",
"type": "n8n-nodes-base.filter",
"position": [
160,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "eaffd686-c04b-4327-b2c5-3b0da2eee00e",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.text || $json.snippet }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "52802d59-e9a0-44ec-9ffc-0ecd1ad60354",
"name": "E-Mails klassifizieren",
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"position": [
300,
280
],
"parameters": {
"options": {},
"inputText": "={{ $json.text || $json.snippet }}",
"categories": {
"categories": [
{
"category": "Matched User's Condition",
"description": "={{ $('Assign Processing Settings').item.json['Email Type Description'] }}"
},
{
"category": "Spam and Notifications",
"description": "Spam, automatic notifications, generic, non-personalized emails, non-personalized commercial offers, promotions, discounts"
}
]
}
},
"typeVersion": 1
},
{
"id": "0fe84425-5e0b-4eb7-b8fa-f6e8cc0bfee2",
"name": "Textfeld vorhanden?",
"type": "n8n-nodes-base.if",
"position": [
760,
200
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9448b606-0961-4852-8917-408e5fef7df9",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.text }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "5759e919-6f02-49c3-9012-c3bdfa29f5a3",
"name": "Aus vollständigen E-Mail-Texten aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
980,
80
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "from",
"fieldToAggregate": "from.text"
},
{
"renameField": true,
"outputFieldName": "text",
"fieldToAggregate": "text"
},
{
"renameField": true,
"outputFieldName": "date",
"fieldToAggregate": "date"
}
]
}
},
"typeVersion": 1
},
{
"id": "d38a14d2-118b-45cd-b6fa-f7ef3811e9ea",
"name": "Aus E-Mail-Snippets aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
980,
360
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "from",
"fieldToAggregate": "From"
},
{
"renameField": true,
"outputFieldName": "text",
"fieldToAggregate": "snippet"
},
{
"renameField": true,
"outputFieldName": "date",
"fieldToAggregate": "internalDate"
}
]
}
},
"typeVersion": 1
},
{
"id": "bb3ff757-5cfc-4d1e-9544-0ae411978c9f",
"name": "Vor Fragengenerierung warten",
"type": "n8n-nodes-base.wait",
"position": [
1980,
160
],
"webhookId": "c6d4fa4d-223a-47c3-b026-a002daa05b3b",
"parameters": {
"amount": 60
},
"typeVersion": 1.1
},
{
"id": "3c912db2-015b-4284-9c12-7fd0891bf2a6",
"name": "Graph-Link und Zusammenfassung via Telegram senden",
"type": "n8n-nodes-base.telegram",
"onError": "continueRegularOutput",
"maxTries": 2,
"position": [
2800,
420
],
"webhookId": "51b1be86-6889-420c-b0c6-e95f9b464b97",
"parameters": {
"text": "=🧬 The knowledge graph is ready at [https://infranodus.com/your_user_name/{{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}/edit](https://infranodus.com/your_user_name/{{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}/edit)\n\nTopical Summary: \n{{ $('InfraNodus AI Summary & Graph Link').item.json.aiAdvice[0].text }}",
"chatId": "use_get_id_bot_to_get_it",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "UXVSOiGwy2SPh7Du",
"name": "Gmail Talker Bot"
}
},
"retryOnFail": true,
"typeVersion": 1.2
},
{
"id": "3d9ac1ee-cf79-4f2d-930b-76f6b4eb80f5",
"name": "Erkenntnisfrage via Telegram senden",
"type": "n8n-nodes-base.telegram",
"onError": "continueRegularOutput",
"maxTries": 2,
"position": [
2800,
680
],
"webhookId": "690e527e-3085-4b32-b1d1-ea2f70aa403f",
"parameters": {
"text": "=💎 Insight Question: \n{{ $json.aiAdvice[0].text }}\n \nMore at [https://infranodus.com/your_user_name/{{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}/edit](https://infranodus.com/your_user_name/{{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}/edit)",
"chatId": "use_get_id_bot_to_get_it",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "UXVSOiGwy2SPh7Du",
"name": "Gmail Talker Bot"
}
},
"retryOnFail": true,
"typeVersion": 1.2
},
{
"id": "85e994c5-8762-4e07-89e0-a91742e1c4aa",
"name": "Nachrichten nach Suchkriterien abrufen",
"type": "n8n-nodes-base.gmail",
"notes": "// use this is a filter to retrieve yesterday's date\n// change the number 1 below to the number of days to go behind\n{{ \n (() => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n return `after:${yesterday.getFullYear()}/${(yesterday.getMonth() + 1).toString().padStart(2, '0')}/${yesterday.getDate().toString().padStart(2, '0')}`;\n })()\n}}",
"position": [
-1280,
320
],
"webhookId": "083fdee4-dcae-4366-8550-8df8dbe29fa2",
"parameters": {
"filters": {
"q": "={{ $json[\"Search Criteria\"] }}"
},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"gmailOAuth2": {
"id": "pL8OjzEMWakSY1Nk",
"name": "Gmail paranyushkin"
}
},
"typeVersion": 2.1
},
{
"id": "229bf0ac-7371-443b-9d4c-c2774d184116",
"name": "Benutzer sendet Formular",
"type": "n8n-nodes-base.formTrigger",
"disabled": true,
"position": [
-1940,
300
],
"webhookId": "84c4d21b-e825-42f0-a73b-c9a837ec8da3",
"parameters": {
"options": {
"appendAttribution": false,
"respondWithOptions": {
"values": {
"formSubmittedText": "Thank you, you will receive a summary via Telegram in a moment, once the analysis is ready."
}
}
},
"formTitle": "Generate a Visual Summary of Your Mailbox",
"formFields": {
"values": [
{
"fieldLabel": "Search Criteria",
"placeholder": "e.g. from:email@gmail.com after:2025/06/01 label:personal"
},
{
"fieldLabel": "Label Filter",
"placeholder": "SENT, CATEGORY_PERSONAL - for additional filtering"
},
{
"fieldLabel": "Email Type Description",
"placeholder": "Anything that relates to my work on various projects"
},
{
"fieldType": "dropdown",
"fieldLabel": "Analyze Full Email Text?",
"fieldOptions": {
"values": [
{
"option": "Yes"
}
]
}
},
{
"fieldType": "dropdown",
"fieldLabel": "Build a Social Graph?",
"fieldOptions": {
"values": [
{
"option": "Yes"
}
]
}
},
{
"fieldLabel": "Graph Name",
"placeholder": "e.g. n8n_gmail_search"
}
]
},
"authentication": "basicAuth",
"formDescription": "Build a knowledge graph from your Gmail mails based on search criteria, label, date, and email type. Generate topical summary and insight questions."
},
"credentials": {
"httpBasicAuth": {
"id": "dnRnDRFSRoubvTh8",
"name": "Basic n8n Form Auth"
}
},
"typeVersion": 2.2
},
{
"id": "423739ac-e4a8-4890-b1ef-851fb7b56e86",
"name": "InfraNodus AI-Zusammenfassung & Graph-Link",
"type": "n8n-nodes-base.httpRequest",
"position": [
2240,
200
],
"parameters": {
"url": "https://infranodus.com/api/v1/graphAndAdvice?doNotSave=true&optimize=summary&includeGraph=false&includeGraphSummary=true",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "aiTopics",
"value": "true"
},
{
"name": "requestMode",
"value": "graph summary"
},
{
"name": "name",
"value": "={{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "FPDx6PA5CtzGEIQc",
"name": "InfraNodus DeeMeeTree API Key"
}
},
"typeVersion": 4.2
},
{
"id": "177e9479-176c-434b-8082-b7cebd315c4b",
"name": "Art des zu erstellenden Graphs",
"type": "n8n-nodes-base.switch",
"position": [
1460,
260
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "social knowledge graph",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "76bf82df-009a-4714-819c-ec9159f39f72",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('Assign Processing Settings').item.json['Build a Social Graph?'] }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "text knowledge graph",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "49ca2845-be5b-40ad-b6b4-c2a4e45f4f77",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $('Assign Processing Settings').item.json['Build a Social Graph?'] }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "2b2b0d12-296d-4d11-9a5e-13c9b411f1bb",
"name": "InfraNodus Social Knowledge Graph erstellen",
"type": "n8n-nodes-base.httpRequest",
"position": [
1720,
160
],
"parameters": {
"url": "https://infranodus.com/api/v1/graphAndStatements?doNotSave=false&includeGraph=false&includeGraphSummary=true&includeStatements=false",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "name",
"value": "={{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}"
},
{
"name": "statements",
"value": "={{ $json.statements }}"
},
{
"name": "contextSettings",
"value": "={{{ \"partOfSpeechToProcess\":\"HASHTAGS_AND_WORDS\", \"doubleSquarebracketsProcessing\":\"PROCESS_AS_MENTIONS\"} }}"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "FPDx6PA5CtzGEIQc",
"name": "InfraNodus DeeMeeTree API Key"
}
},
"typeVersion": 4.2
},
{
"id": "8fec6156-93e0-410b-b91a-6d378b70d369",
"name": "InfraNodus Text Knowledge Graph erstellen",
"type": "n8n-nodes-base.httpRequest",
"position": [
1720,
460
],
"parameters": {
"url": "https://infranodus.com/api/v1/graphAndStatements?doNotSave=false&includeGraph=false&includeGraphSummary=true&includeStatements=false",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "name",
"value": "={{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}"
},
{
"name": "statements",
"value": "={{ $json.statements }}"
},
{
"name": "contextSettings",
"value": "={{{ \"partOfSpeechToProcess\":\"HASHTAGS_AND_WORDS\", \"doubleSquarebracketsProcessing\":\"EXCLUDE\", \"mentionsProcessing\":\"EXCLUDE\"} }}"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"id": "FPDx6PA5CtzGEIQc",
"name": "InfraNodus DeeMeeTree API Key"
}
},
"typeVersion": 4.2
},
{
"id": "23d3c594-1416-486c-961e-55dbf0714b4d",
"name": "Bei Klick auf 'Workflow testen'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1940,
720
],
"parameters": {},
"typeVersion": 1
},
{
"id": "be89719e-e217-4c28-9d71-ddcda1b4606d",
"name": "Verarbeitungseinstellungen zuweisen",
"type": "n8n-nodes-base.set",
"notes": "// script to generate a date \n// minus -1 is the days before\n\n(() => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 7);\n return `after:${yesterday.getFullYear()}/${(yesterday.getMonth() + 1).toString().padStart(2, '0')}/${yesterday.getDate().toString().padStart(2, '0')}`;\n })()",
"position": [
-1560,
540
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={\n \"Label Filter\": \"{{ $json[\"Label Filter\"] !== undefined ? $json[\"Label Filter\"] : `CATEGORY_PERSONAL`}}\",\n \"Email Type Description\": \"{{ $json[\"Email Type Description\"] !== undefined ? $json[\"Email Type Description\"] : `Important personalized emails, exclude mailouts and non-urgent notifications` }}\",\n \"Analyze Full Email Text?\": \"{{ $json[\"Analyze Full Email Text?\"] !== undefined ? $json[\"Analyze Full Email Text?\"] : ``}}\",\n \"Build a Social Graph?\": \"{{ $json[\"Build a Social Graph?\"] !== undefined ? $json[\"Build a Social Graph?\"] : `Yes`}}\",\n \"Search Criteria\": \"{{ $json[\"Search Criteria\"] !== undefined ? $json[\"Search Criteria\"] :\n (() => {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n return `after:${yesterday.getFullYear()}/${(yesterday.getMonth() + 1).toString().padStart(2, '0')}/${yesterday.getDate().toString().padStart(2, '0')}`;\n })()\n}}\",\n \"Graph Name\": \"{{ $json[\"Graph Name\"] !== undefined ? $json[\"Graph Name\"] : `n8n_gmail_search_` + $now.toString().split('T')[0] }}\"\n}"
},
"typeVersion": 3.4
},
{
"id": "a1b0c1c6-efd1-4d77-91d3-6f29565ea3ed",
"name": "Zeitplan-Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"disabled": true,
"position": [
-1940,
500
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 10
}
]
}
},
"typeVersion": 1.2
},
{
"id": "f2401504-38c5-4368-84bb-738082abd50c",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1620,
-240
],
"parameters": {
"width": 220,
"height": 960,
"content": "## 2. Filter Settings\n\n### 🚨 Specify which emails should be extracted. Default values are provided in the node. \n\nTo increase the speed, we recommend to use the Gmail search operators like \"after:2025/06/01\" or \"keyword\" or \"label:notes\".\n\nDefault values are provided in the node, which are filled in automatically if no details are specified. \n\n[Options](https://support.google.com/mail/answer/7190?hl=en&co=GENIE.Platform%3DAndroid) you can use for filtering:\n\n- search string or date (e.g. \"after:2025/06/01\" or \"business\")\n\n- email labels and categories (e.g. SENT, CATEGORY_PERSONAL, etc)\n\n- use AI query for advanced filtering\n\n- build a social text graph (with sender's emails)\n\n\n"
},
"typeVersion": 1
},
{
"id": "893fa8d1-935e-4671-83f5-a0fc5a5d2e7f",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1360,
-240
],
"parameters": {
"width": 600,
"height": 960,
"content": "## 3. Get Gmail Messages\n\n### Get the emails that satisfy the filter criteria. \n#### 🚨 Specify your Gmail account credentials here\n\nWe recommend using the filters to make the search faster. You can then use the labels to filter the search results. However, you can also use the labels in the search query, like \"label:notes\" to increase the speed in this step. Alternatively, you can set a limit to 50 to 100 and then this node will retrieve the most recent messages. \n\nSome useful labels:\n- SENT (or label:sent in the search query)\n- CATEGORY_PERSONAL (or label:personal in the search query)\n- CATEGORY_PROMOTION (or label:promotion in the search query)\n- ... and your own labels (e.g. \"Business\", \"Urgent\", etc.)\n\nSee our [other workflows](https://n8n.io/creators/infranodus/) to automate email labeling"
},
"typeVersion": 1
},
{
"id": "a016b287-db0c-4ef7-ba73-381890c7a6a7",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
-240
],
"parameters": {
"width": 540,
"height": 960,
"content": "## 4. Analyze Snippets or Full Text?\n\n### Which parts of emails to analyze?\n\nBy default, we're analyzing the snippets provided by Google. However, for detailed and more precise analysis you can also analyze the full text of emails. \n\nIn this case, we need to retrieve the email text using a separate Gmail node.\n"
},
"typeVersion": 1
},
{
"id": "298cf343-afb4-4c8f-b164-a0bb827c7d7c",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-240
],
"parameters": {
"width": 660,
"height": 960,
"content": "## 5. Use AI Classifier to Filter Mails?\n\n### You can use the AI to add additional filters. Check the Classify Node for specifics.\n\nIf the Google search parameters or your existing emails are not sufficient, you can use the AI to classify the type of emails you want to analyze. \n\nYou can describe it in the User Submits Form in the Step 1 or in the Assign Processing Settings in the Step 2. \n\nWe prefer to use the Google's Gemini model as it's faster, and we also have to be less concerned about sending the email content to an external model as it's the same company. \n\n🚨 Specify your Gemini API key here (takes 30 seconds to get in the Google's AI studio)"
},
"typeVersion": 1
},
{
"id": "4306e643-4055-4f69-8393-322f70e5e035",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
-240
],
"parameters": {
"width": 660,
"height": 960,
"content": "## 6. Formatting Text or Snippets\n\n### We convert the html to text and also format the data to be converted to the [InfraNodus](https://infranodus.com) format, so we can build a nice graph from it.\n\n"
},
"typeVersion": 1
},
{
"id": "ba5a3dbc-2502-46fd-8b66-c975b696bb15",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1380,
-240
],
"parameters": {
"width": 540,
"height": 1340,
"content": "## 7. Building a Knowledge Graph\n\n### We submit the data to build a knowledge graph using [InfraNodus](https://infranodus.com). \n\n### 🚨 Specify the graph name you want to save the data to in the `name` field of the HTTP InfraNodus node (or in the Step 2) and your [InfraNodus API key](https://infranodus.com/api-access) credentials.\n\nWe have two types of graphs:\n\n- Text Knowledge Graph will visualize the content and the main topics and gaps within\n\n- Social Knowledge Graph will visualize the content as well as the senders so you can see not only the main topics and gaps, but also who actually sent the messages.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "42e1981f-2d8f-4260-b6df-8d625f7cab0a",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
2140,
-240
],
"parameters": {
"width": 480,
"height": 1340,
"content": "## 8. Use InfraNodus to generate topical summary and insight questions \n\n### We use the [InfraNodus GraphRAG API](https://infranodus.com/use-case/ai-knowledge-graphs) to generate the topical summary and AI questions\n\n\n### The insight is based on the structural gap identified in the graph — the topics that could be connected but are not yet.\n\n\n### 🚨 Specify the graph name you want to save the data to in the `name` field of the HTTP InfraNodus node or in the Step 2.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "06c11eea-d17a-4342-990a-f3ecf978a594",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2720,
-240
],
"parameters": {
"width": 300,
"height": 1340,
"content": "## 9. Send the insight and the graph link via Telegram and Email\n\n### Get informed via Telegram when the graph is created along with the topical summary and insight question\n\n### 🚨 Creating a bot in Telegram takes 30 seconds: just to to [@botfather](https://t.me/botfather) and type in `newbot` — then use the API key it generates in the credentials\n\n\n"
},
"typeVersion": 1
},
{
"id": "c5072e2a-0848-43b9-bbc5-88c99947fece",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
-880
],
"parameters": {
"color": 7,
"width": 1260,
"height": 600,
"content": "## Types of knowledge graphs\n\n### Knowledge graphs can show you recurrent patterns and gaps in your data. This can be very useful for understanding complex relations and discovering what you would otherwise have missed.\n\n#### You can build two types of graphs with this template: a text graph that shows the topics only and the social graph that adds the email senders to the graph, so you can see the associations of individuals / companies with the topics you're talking about.\n\n\n| Text Graph | | Social Graph |\n|------------|--|-------------|\n|  | |  |"
},
"typeVersion": 1
},
{
"id": "c2f7946d-a08d-4c63-93fc-0296adad0e86",
"name": "Gmail",
"type": "n8n-nodes-base.gmail",
"onError": "continueRegularOutput",
"position": [
2800,
200
],
"webhookId": "9ecdabd6-c4bc-4bff-81c9-14ba07a2b947",
"parameters": {
"sendTo": "your_own_email_2912319@email.com",
"message": "=Hello\n\nHere is a visual knowledge graph summary of your emails as of {{$now.toString().split('T')[0]}}: \nhttps://infranodus.com/your_user_name/{{ $('Assign Processing Settings').item.json[\"Graph Name\"] }}/edit\n\nTopical summary:\n{{ $('InfraNodus AI Summary & Graph Link').item.json.aiAdvice[0].text }}\n\nResearch questions:\n{{ $json.aiAdvice[0].text }}\n\n",
"options": {},
"subject": "=Email Summary as of {{$now.toString().split('T')[0]}}",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "w7b4H8WpgY9Oit56",
"name": "Gmail supadelicious"
}
},
"typeVersion": 2.1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "d35db610-8926-4980-834f-662656aa7f75",
"connections": {
"52802d59-e9a0-44ec-9ffc-0ecd1ad60354": {
"main": [
[
{
"node": "0fe84425-5e0b-4eb7-b8fa-f6e8cc0bfee2",
"type": "main",
"index": 0
}
]
]
},
"a1b0c1c6-efd1-4d77-91d3-6f29565ea3ed": {
"main": [
[
{
"node": "be89719e-e217-4c28-9d71-ddcda1b4606d",
"type": "main",
"index": 0
}
]
]
},
"229bf0ac-7371-443b-9d4c-c2774d184116": {
"main": [
[
{
"node": "be89719e-e217-4c28-9d71-ddcda1b4606d",
"type": "main",
"index": 0
}
]
]
},
"0fe84425-5e0b-4eb7-b8fa-f6e8cc0bfee2": {
"main": [
[
{
"node": "5759e919-6f02-49c3-9012-c3bdfa29f5a3",
"type": "main",
"index": 0
}
],
[
{
"node": "d38a14d2-118b-45cd-b6fa-f7ef3811e9ea",
"type": "main",
"index": 0
}
]
]
},
"e7251d9c-e247-4b48-a7db-4b7bba057777": {
"main": [
[
{
"node": "9cae8722-13c0-4090-81c3-ec60ced40ec4",
"type": "main",
"index": 0
}
],
[
{
"node": "6a1fdf73-fa60-46d6-8980-e192735fbb54",
"type": "main",
"index": 0
}
]
]
},
"9cae8722-13c0-4090-81c3-ec60ced40ec4": {
"main": [
[
{
"node": "daa2cf5f-e8b5-45a4-ab73-feb5981d665d",
"type": "main",
"index": 0
}
]
]
},
"177e9479-176c-434b-8082-b7cebd315c4b": {
"main": [
[
{
"node": "2b2b0d12-296d-4d11-9a5e-13c9b411f1bb",
"type": "main",
"index": 0
}
],
[
{
"node": "8fec6156-93e0-410b-b91a-6d378b70d369",
"type": "main",
"index": 0
}
]
]
},
"204e3171-f4bf-4c6f-a0a9-3ba9ae9f869d": {
"main": [
[
{
"node": "825e11fe-5f2c-41ef-ade0-1136607decbd",
"type": "main",
"index": 0
}
]
]
},
"599264b8-bd89-4ed9-8645-725ebd005747": {
"ai_languageModel": [
[
{
"node": "52802d59-e9a0-44ec-9ffc-0ecd1ad60354",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"6a1fdf73-fa60-46d6-8980-e192735fbb54": {
"main": [
[
{
"node": "825e11fe-5f2c-41ef-ade0-1136607decbd",
"type": "main",
"index": 0
}
],
[
{
"node": "204e3171-f4bf-4c6f-a0a9-3ba9ae9f869d",
"type": "main",
"index": 0
}
]
]
},
"be89719e-e217-4c28-9d71-ddcda1b4606d": {
"main": [
[
{
"node": "85e994c5-8762-4e07-89e0-a91742e1c4aa",
"type": "main",
"index": 0
}
]
]
},
"d38a14d2-118b-45cd-b6fa-f7ef3811e9ea": {
"main": [
[
{
"node": "81a91a82-e1c5-4ff6-873a-3d70d4635637",
"type": "main",
"index": 0
}
]
]
},
"3a974df3-2b2a-4ce2-aff4-74b3771d2e5d": {
"main": [
[
{
"node": "3d9ac1ee-cf79-4f2d-930b-76f6b4eb80f5",
"type": "main",
"index": 0
},
{
"node": "3c912db2-015b-4284-9c12-7fd0891bf2a6",
"type": "main",
"index": 0
},
{
"node": "c2f7946d-a08d-4c63-93fc-0296adad0e86",
"type": "main",
"index": 0
}
]
]
},
"5759e919-6f02-49c3-9012-c3bdfa29f5a3": {
"main": [
[
{
"node": "81a91a82-e1c5-4ff6-873a-3d70d4635637",
"type": "main",
"index": 0
}
]
]
},
"85e994c5-8762-4e07-89e0-a91742e1c4aa": {
"main": [
[
{
"node": "e7251d9c-e247-4b48-a7db-4b7bba057777",
"type": "main",
"index": 0
}
]
]
},
"f504bc20-2385-42f1-80da-f7129a4dcb6e": {
"main": [
[
{
"node": "52802d59-e9a0-44ec-9ffc-0ecd1ad60354",
"type": "main",
"index": 0
}
]
]
},
"bb3ff757-5cfc-4d1e-9544-0ae411978c9f": {
"main": [
[
{
"node": "423739ac-e4a8-4890-b1ef-851fb7b56e86",
"type": "main",
"index": 0
}
]
]
},
"23d3c594-1416-486c-961e-55dbf0714b4d": {
"main": [
[
{
"node": "be89719e-e217-4c28-9d71-ddcda1b4606d",
"type": "main",
"index": 0
}
]
]
},
"423739ac-e4a8-4890-b1ef-851fb7b56e86": {
"main": [
[
{
"node": "3a974df3-2b2a-4ce2-aff4-74b3771d2e5d",
"type": "main",
"index": 0
}
]
]
},
"3d9ac1ee-cf79-4f2d-930b-76f6b4eb80f5": {
"main": [
[]
]
},
"81a91a82-e1c5-4ff6-873a-3d70d4635637": {
"main": [
[
{
"node": "177e9479-176c-434b-8082-b7cebd315c4b",
"type": "main",
"index": 0
}
]
]
},
"8fec6156-93e0-410b-b91a-6d378b70d369": {
"main": [
[
{
"node": "bb3ff757-5cfc-4d1e-9544-0ae411978c9f",
"type": "main",
"index": 0
}
]
]
},
"825e11fe-5f2c-41ef-ade0-1136607decbd": {
"main": [
[
{
"node": "f504bc20-2385-42f1-80da-f7129a4dcb6e",
"type": "main",
"index": 0
}
],
[
{
"node": "0fe84425-5e0b-4eb7-b8fa-f6e8cc0bfee2",
"type": "main",
"index": 0
}
]
]
},
"2b2b0d12-296d-4d11-9a5e-13c9b411f1bb": {
"main": [
[
{
"node": "bb3ff757-5cfc-4d1e-9544-0ae411978c9f",
"type": "main",
"index": 0
}
]
]
},
"3c912db2-015b-4284-9c12-7fd0891bf2a6": {
"main": [
[]
]
},
"daa2cf5f-e8b5-45a4-ab73-feb5981d665d": {
"main": [
[
{
"node": "825e11fe-5f2c-41ef-ade0-1136607decbd",
"type": "main",
"index": 0
}
],
[
{
"node": "204e3171-f4bf-4c6f-a0a9-3ba9ae9f869d",
"type": "main",
"index": 0
}
]
]
}
}
}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?
Experte - Sonstiges, Künstliche Intelligenz
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.
Verwandte Workflows
InfraNodus
@infranodusI'm Dmitry, the founder of InfraNodus — an AI text network analysis tool. I'm passionate about networks and data visualization and its ability to reveal what everyone else is missing and to highlight different perspectives. I'm sharing the n8n templates that make use of this unique capability of InfraNodus for multiple scenarios.
Diesen Workflow teilen