工作日日志记录
Avancé
Ceci est unPersonal Productivity, AI Summarizationworkflow d'automatisation du domainecontenant 31 nœuds.Utilise principalement des nœuds comme If, Set, Code, Cron, Gmail. AI工时表générateur - intégrationGmail、日历etGitHubàGoogle表格
Prérequis
- •Compte Google et informations d'identification Gmail API
- •Personal Access Token GitHub
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
Nœuds utilisés (31)
Catégorie
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
"id": "jw7wmjp1if9T2ZHd",
"meta": {
"instanceId": "c668632f5ca4908ffa76bd7bc9be05dec193c66269ed7a1160909b2e861050b7",
"templateCredsSetupCompleted": true
},
"name": "Workday Journaling",
"tags": [],
"nodes": [
{
"id": "d3ad9729-1444-4227-b37e-b232546347de",
"name": "Obtenir les événements du calendrier d'aujourd'hui",
"type": "n8n-nodes-base.googleCalendar",
"position": [
-3220,
-1300
],
"parameters": {
"options": {
"timeMax": "={{$today.minus(1).endOf('day').toISO()}}",
"timeMin": "={{$today.minus(1).startOf('day').toISO()}}"
},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "FZjmg0dva1WVH160",
"name": "Google Calendar account"
}
},
"typeVersion": 1
},
{
"id": "cd793b22-bd54-430e-aa78-7a7e1f066f96",
"name": "Obtenir les e-mails d'aujourd'hui",
"type": "n8n-nodes-base.gmail",
"position": [
-3220,
-1560
],
"webhookId": "0611a0b0-9e31-497f-98a9-7609c2287db1",
"parameters": {
"filters": {
"sender": "={{ $json.myEmail }}",
"receivedAfter": "={{ $now.minus(1).startOf('day').toISO() }}"
},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"gmailOAuth2": {
"id": "RklqFHePdubPEvvl",
"name": "Gmail account"
}
},
"typeVersion": 2
},
{
"id": "8bdb5e00-ce98-4c75-94e4-d1c9f341a826",
"name": "Obtenir les PR GitHub",
"type": "n8n-nodes-base.github",
"position": [
-3320,
-640
],
"webhookId": "0ec33ec2-fbb5-4b63-afd2-7227a8dba1c4",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $('Set Variables').item.json.github_handle }}"
},
"resource": "repository",
"operation": "getPullRequests",
"returnAll": true,
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $json.repositoriesToTrack }}"
},
"getRepositoryPullRequestsFilters": {}
},
"credentials": {
"githubApi": {
"id": "ZeddbLaKaXAWJeAR",
"name": "GitHub account"
}
},
"typeVersion": 1
},
{
"id": "201ef564-57e6-4fde-8251-459c56ef05d0",
"name": "Formater toutes les données",
"type": "n8n-nodes-base.code",
"position": [
-2320,
-1080
],
"parameters": {
"jsCode": "// Get all data from different sources\nconst allInputs = $input.all();\nconst calendarEvents = allInputs.find(b => b.json.calendarEvents)?.json.calendarEvents || [];\nconst emails = allInputs.find(b => b.json.emails)?.json.emails || [];\nconst commits = allInputs.find(b => b.json.commits)?.json.commits || [];\nconst prs = allInputs.find(b => b.json.prs)?.json.prs || [];\n\n// Format calendar events\nconst confirmed = calendarEvents.filter(e => e.status === 'confirmed');\n\nconst calendarSummary = confirmed.map(event => ({\n time: event.start?.dateTime || 'No time',\n title: event.summary || 'No title',\n attendees: event.attendees?.length || 0,\n description: event.description || 'No description',\n duration: DateTime.fromISO(event.end.dateTime).diff(DateTime.fromISO(event.start.dateTime), 'hours').hours\n}));\n\n// Format emails (filter out unimportant ones)\nconst importantEmails = emails\n .filter(email => \n email.From && \n !email.From.toLowerCase().includes('noreply') && \n !email.Subject?.toLowerCase().includes('newsletter')\n )\n .slice(0, 20)\n .map(email => ({\n from: email.From,\n subject: email.Subject || 'No subject',\n snippet: email.snippet?.substring(0, 100) || ''\n }));\n\nconst commitArray = Array.isArray(commits) ? commits : [commits];\nconst prsArray = Array.isArray(prs) ? prs : [prs];\n// Format GitHub activity\nconst githubActivity = {\n commits: commitArray.map(commit => ({\n message: commit.commit?.message || 'No message'\n })) || [],\n pullRequests: prsArray.map(pr => ({\n title: pr.title,\n repo: pr.head.repo?.name || 'Unknown repo',\n state: pr.state\n })) || []\n};\n\n// Create summary object\nconst summary = {\n date: $('Set Variables').first().json.today,\n calendar: {\n totalEvents: calendarSummary.length,\n events: calendarSummary\n },\n emails: {\n totalReceived: emails.length,\n important: importantEmails\n },\n github: githubActivity\n};\n\nreturn [{ json: summary }];"
},
"typeVersion": 1
},
{
"id": "9a9385f0-ca86-457f-b599-713a809aa423",
"name": "Générer le résumé du journal",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-2100,
-1080
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "You are a professional timesheet creator.\n\nINPUT you receive: a single JSON object that contains:\n • calendar.events (array)\n • emails.important (array)\n • github.commits (array)\n • github.pullRequests (array)\n\nTASK\n1. Walk through every element in those arrays.\n2. For each element create an object that has **exactly**:\n - \"type\" : CALENDAR_EVENT | EMAIL | COMMIT | PR\n - \"description\" : ≤120 chars, no commas, no line-breaks\n3. Put all objects in one JSON **array**.\n4. RETURN that array. No wrapper object, no markdown. Try to create a nice description for each event"
},
{
"content": "=Below is today’s raw data in one JSON object.\n\n{{ JSON.stringify($json, null, 2) }}\n"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "1wKkKoKDmyKta6Xv",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "34e60115-851c-4055-b1bc-3bba3076fefe",
"name": "Agréger",
"type": "n8n-nodes-base.aggregate",
"position": [
-2940,
-1560
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "emails"
},
"typeVersion": 1
},
{
"id": "a1dbd248-1cd5-4fec-8198-52573fbe50ed",
"name": "Fusionner",
"type": "n8n-nodes-base.merge",
"position": [
-2540,
-1101
],
"parameters": {
"numberInputs": 4
},
"typeVersion": 3.2
},
{
"id": "53ab1990-ddeb-410f-8cd4-675ed88387a9",
"name": "Agréger1",
"type": "n8n-nodes-base.aggregate",
"position": [
-2940,
-1300
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "calendarEvents"
},
"typeVersion": 1
},
{
"id": "7cc275df-68ac-4a9e-ae02-eb617b85f4cf",
"name": "Agréger2",
"type": "n8n-nodes-base.aggregate",
"position": [
-2840,
-620
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "prs"
},
"typeVersion": 1
},
{
"id": "0faf1f55-23d3-4d33-a142-d1c87d85e9f1",
"name": "Quotidien à 19h",
"type": "n8n-nodes-base.cron",
"position": [
-3900,
-1180
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7ee78807-a5df-493c-8419-3e9ef8688954",
"name": "Définir les variables",
"type": "n8n-nodes-base.set",
"position": [
-3640,
-1180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "4fa5acaa-f81f-4ecc-88cb-ac8b56324cf5",
"name": "today_date",
"type": "string",
"value": "={{ $now.format('yyyy-MM-dd') }}"
},
{
"id": "390ed3dd-2205-49eb-8b06-69d3affe98bd",
"name": "github_handle",
"type": "string",
"value": "luka-zivkovic"
},
{
"id": "841cc4c8-f47d-4eea-8f23-62e5e7f0f0dc",
"name": "repositoriesToTrack",
"type": "array",
"value": "={{ ['techPoweredGrowth', 'tech-learn'] }}"
},
{
"id": "df6011d8-70b8-4942-ad38-385d6c459c84",
"name": "myEmail",
"type": "string",
"value": ""
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c6471886-5bce-43ae-9af7-89db8983706c",
"name": "Agréger3",
"type": "n8n-nodes-base.aggregate",
"position": [
-2820,
-1000
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "commits"
},
"typeVersion": 1
},
{
"id": "469e916d-b567-4314-9f3d-ddebdac1a7c6",
"name": "Si les auteurs committent",
"type": "n8n-nodes-base.if",
"position": [
-3040,
-980
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "46c73ee1-9ff2-4318-bad4-5e8cdb3703ff",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.author.login }}",
"rightValue": "={{ $('Set Variables').item.json.github_handle }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "2e566c1b-1a75-4302-b6f1-bd48d1ea6f26",
"name": "Si c'est fermé aujourd'hui",
"type": "n8n-nodes-base.if",
"position": [
-3120,
-500
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "204dc12c-e6ec-472a-b84b-d88afb571e93",
"operator": {
"type": "dateTime",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.closed_at?.toDateTime().format('yyyy-MM-dd') }}",
"rightValue": ""
},
{
"id": "4495a061-a8cd-42e7-81fb-bef628667058",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.closed_at?.toDateTime().format('yyyy-MM-dd') }}",
"rightValue": "={{ $('Set Variables').item.json.today_date }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c4dafdca-e764-412a-9d3c-9b8653c3fb13",
"name": "Si c'est créé aujourd'hui",
"type": "n8n-nodes-base.if",
"position": [
-3120,
-760
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "46c73ee1-9ff2-4318-bad4-5e8cdb3703ff",
"operator": {
"type": "dateTime",
"operation": "equals"
},
"leftValue": "={{ $json.created_at.toDateTime().format('yyyy-MM-dd') }}",
"rightValue": "={{ $('Set Variables').item.json.today_date }}"
},
{
"id": "13335ba1-acc1-4f12-8654-326d09553187",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.user.login }}",
"rightValue": "={{ $('Set Variables').item.json.github_handle }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ce041632-5c3e-4f15-b772-cde890181ab7",
"name": "Diviser",
"type": "n8n-nodes-base.splitOut",
"position": [
-1724,
-1080
],
"parameters": {
"options": {},
"fieldToSplitOut": "message.content.events"
},
"typeVersion": 1
},
{
"id": "61d7bb88-1ad8-48d7-ae56-953123ccd501",
"name": "Vue d'ensemble du workflow",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4200,
-1620
],
"parameters": {
"color": 5,
"width": 640,
"height": 380,
"content": "## 📊 Daily Activity Tracker Workflow\n\n**Overview:** This workflow automatically collects your daily activities from multiple sources and creates a comprehensive timesheet in Google Sheets.\n\n**Key Features:**\n- 📧 Tracks important emails (filters out newsletters & no-reply)\n- 📅 Logs calendar events with duration and attendees\n- 💻 Records GitHub commits and pull requests\n- 🤖 Uses AI to generate concise activity descriptions\n- 📝 Auto-creates monthly sheets and organizes entries\n\n**Configuration:** Update the **Set Variables** node with your:\n- GitHub username\n- Email address\n- Repository names to track"
},
"typeVersion": 1
},
{
"id": "ddefaf28-97c9-493b-8762-0d67e8adb345",
"name": "Collecte de données",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3280,
-1900
],
"parameters": {
"color": 3,
"width": 480,
"height": 280,
"content": "## 🔄 Data Collection Hub\n\n**Sources:**\n- **Gmail:** Fetches emails from today (filtered by sender)\n- **Google Calendar:** Gets confirmed events from yesterday\n- **GitHub API:** Retrieves commits via custom API call\n- **GitHub Node:** Pulls all PRs from specified repository\n\n**Note:** Calendar events use yesterday's date (`$today.minus(1)`) - adjust if needed for your timezone"
},
"typeVersion": 1
},
{
"id": "011634e4-2d08-40ac-9545-12b06a370e79",
"name": "Filtrage GitHub",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3360,
-340
],
"parameters": {
"color": 6,
"width": 580,
"height": 340,
"content": "## 🔍 GitHub Activity Filtering\n\n**Commit Filter:**\n- Only includes commits by the configured user\n- Fetches commits from yesterday (UTC)\n\n**PR Filters:**\n1. **Created Today:** New PRs opened by the user\n2. **Closed Today:** PRs that were merged/closed\n\n**Purpose:** Ensures only relevant GitHub activity is tracked in the timesheet"
},
"typeVersion": 1
},
{
"id": "c02e7286-fe56-4719-84ae-d75591814c67",
"name": "Gestion de feuille",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4360,
-920
],
"parameters": {
"color": 2,
"width": 420,
"height": 280,
"content": "## 📋 Sheet Management\n\n**Monthly Sheet Creation:**\n- Automatically creates a new sheet for each month\n- Names sheets using month name (e.g., \"January\")\n- Checks if sheet already exists to avoid duplicates\n\n**Header Row Setup:**\n- Creates empty row with Date, Type, Description columns\n- Only runs on first execution of the month"
},
"typeVersion": 1
},
{
"id": "d24c8f38-772f-47c7-8be5-62b0bf3bb45b",
"name": "Agrégation de données",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2600,
-1480
],
"parameters": {
"color": 7,
"width": 620,
"height": 320,
"content": "## 🔀 Data Aggregation\n\n**Purpose:** Combines multiple items into single data objects\n\n**Aggregate Nodes:**\n- **Emails → emails[]**\n- **Calendar Events → calendarEvents[]**\n- **Commits → commits[]**\n- **Pull Requests → prs[]**\n\n**Merge Node:** Combines all aggregated data into one payload for AI processing"
},
"typeVersion": 1
},
{
"id": "5c550d91-2e03-40a7-848b-f1a84e6a335a",
"name": "Sortie finale",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1780,
-1440
],
"parameters": {
"width": 420,
"height": 280,
"content": "## 💾 Final Output\n\n**Google Sheets2 Node:**\n- Appends each activity to the current month's sheet\n- Maps AI-generated data:\n - **Type:** CALENDAR_EVENT | EMAIL | COMMIT | PR\n - **Description:** Concise activity summary\n - **Date:** Today's date (YYYY-MM-DD format)\n\n**Result:** Clean, organized timesheet ready for review!"
},
"typeVersion": 1
},
{
"id": "9c66ce99-54b4-43c1-bd72-c03b583355f1",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2220,
-840
],
"parameters": {
"color": 4,
"width": 540,
"height": 280,
"content": "## 🤖 AI Processing & Summary\n\n**Purpose:** Transform raw activity data into structured timesheet entries\n\n**Process:**\n1. **Format All Data** node consolidates data from all sources\n2. **OpenAI GPT-4o-mini** generates concise descriptions (≤120 chars)\n3. **Split Out** node separates individual events for sheet insertion\n\n**Output:** Clean, categorized entries ready for Google Sheets"
},
"typeVersion": 1
},
{
"id": "bf6a9ad5-11b6-46f5-b4e1-8f7cbed04c56",
"name": "Diviser1",
"type": "n8n-nodes-base.splitOut",
"position": [
-3380,
-980
],
"parameters": {
"options": {},
"fieldToSplitOut": "repositoriesToTrack"
},
"typeVersion": 1
},
{
"id": "17c57291-2bbc-4fbb-b2c3-2c7352c379f2",
"name": "Obtenir les commits de Github",
"type": "n8n-nodes-base.httpRequest",
"position": [
-3220,
-980
],
"parameters": {
"url": "=https://api.github.com/repos/{{ $('Set Variables').item.json.github_handle }}/{{ $json.repositoriesToTrack }}/commits?since={{ $now.minus(1).startOf('day').toUTC().toISO() }}\n &until={{ $now.minus(1).endOf('day').toUTC().toISO() }}",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "githubApi"
},
"credentials": {
"githubApi": {
"id": "ZeddbLaKaXAWJeAR",
"name": "GitHub account"
},
"httpHeaderAuth": {
"id": "tR2mchCCFunmDNxj",
"name": "EthScan"
}
},
"typeVersion": 4.2
},
{
"id": "df7ad87d-f6e1-4d26-8551-c503271dbb3a",
"name": "Insérer une entrée dans la feuille",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1504,
-1080
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $now.format('yyyy-MM-dd') }}",
"Type": "={{ $json.type }}",
"Description": "={{ $json.description }}"
},
"schema": [
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type",
"type": "string",
"display": true,
"required": false,
"displayName": "Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "={{ $now.format('MMMM') }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "QjLboygZFufwNdNH",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "122a1907-1eb5-48c2-9fb7-4d004f41c74a",
"name": "Créer la feuille si elle n'existe pas",
"type": "n8n-nodes-base.googleSheets",
"position": [
-4500,
-560
],
"parameters": {
"title": "={{ $now.format('MMMM') }}",
"options": {},
"operation": "create",
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "QjLboygZFufwNdNH",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6,
"alwaysOutputData": true
},
{
"id": "a172be21-11f1-48a5-bf6c-2989d3888771",
"name": "Si elle n'existait pas",
"type": "n8n-nodes-base.if",
"position": [
-4280,
-560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b177902a-8b12-4147-afe2-babd21126e4a",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.title }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "9d96d32c-75db-4712-8e8f-8806cb43830b",
"name": "Initialiser les en-têtes de feuille",
"type": "n8n-nodes-base.set",
"position": [
-4060,
-560
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2e5a5c68-ec1c-4307-b7ab-4db2d0a510d7",
"name": "Date",
"type": "string",
"value": ""
},
{
"id": "18823857-3297-4349-87df-42c364680f70",
"name": "Type",
"type": "string",
"value": ""
},
{
"id": "1806a29c-c5d8-4e6f-ace9-dc2750b4b88c",
"name": "Description",
"type": "string",
"value": ""
}
]
}
},
"typeVersion": 3.4
},
{
"id": "242351ee-c830-4253-8b4f-37d2c7494018",
"name": "Initialiser les colonnes de feuille",
"type": "n8n-nodes-base.googleSheets",
"position": [
-3840,
-560
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "Date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "={{ $('Create Sheet If It Doesn't Exist').item.json.title }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "QjLboygZFufwNdNH",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "ce14b4e3-3796-4d03-93fe-8cc2a6199955",
"name": "Diviser2",
"type": "n8n-nodes-base.splitOut",
"position": [
-3580,
-720
],
"parameters": {
"options": {},
"fieldToSplitOut": "repositoriesToTrack"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "6cd6c209-09bc-42f1-ab83-05da5b70b0aa",
"connections": {
"a1dbd248-1cd5-4fec-8198-52573fbe50ed": {
"main": [
[
{
"node": "201ef564-57e6-4fde-8251-459c56ef05d0",
"type": "main",
"index": 0
}
]
]
},
"34e60115-851c-4055-b1bc-3bba3076fefe": {
"main": [
[
{
"node": "a1dbd248-1cd5-4fec-8198-52573fbe50ed",
"type": "main",
"index": 0
}
]
]
},
"ce041632-5c3e-4f15-b772-cde890181ab7": {
"main": [
[
{
"node": "df7ad87d-f6e1-4d26-8551-c503271dbb3a",
"type": "main",
"index": 0
}
]
]
},
"53ab1990-ddeb-410f-8cd4-675ed88387a9": {
"main": [
[
{
"node": "a1dbd248-1cd5-4fec-8198-52573fbe50ed",
"type": "main",
"index": 1
}
]
]
},
"7cc275df-68ac-4a9e-ae02-eb617b85f4cf": {
"main": [
[
{
"node": "a1dbd248-1cd5-4fec-8198-52573fbe50ed",
"type": "main",
"index": 3
}
]
]
},
"c6471886-5bce-43ae-9af7-89db8983706c": {
"main": [
[
{
"node": "a1dbd248-1cd5-4fec-8198-52573fbe50ed",
"type": "main",
"index": 2
}
]
]
},
"bf6a9ad5-11b6-46f5-b4e1-8f7cbed04c56": {
"main": [
[
{
"node": "17c57291-2bbc-4fbb-b2c3-2c7352c379f2",
"type": "main",
"index": 0
}
]
]
},
"ce14b4e3-3796-4d03-93fe-8cc2a6199955": {
"main": [
[
{
"node": "8bdb5e00-ce98-4c75-94e4-d1c9f341a826",
"type": "main",
"index": 0
}
]
]
},
"0faf1f55-23d3-4d33-a142-d1c87d85e9f1": {
"main": [
[
{
"node": "7ee78807-a5df-493c-8419-3e9ef8688954",
"type": "main",
"index": 0
}
]
]
},
"7ee78807-a5df-493c-8419-3e9ef8688954": {
"main": [
[
{
"node": "cd793b22-bd54-430e-aa78-7a7e1f066f96",
"type": "main",
"index": 0
},
{
"node": "d3ad9729-1444-4227-b37e-b232546347de",
"type": "main",
"index": 0
},
{
"node": "122a1907-1eb5-48c2-9fb7-4d004f41c74a",
"type": "main",
"index": 0
},
{
"node": "bf6a9ad5-11b6-46f5-b4e1-8f7cbed04c56",
"type": "main",
"index": 0
},
{
"node": "ce14b4e3-3796-4d03-93fe-8cc2a6199955",
"type": "main",
"index": 0
}
]
]
},
"8bdb5e00-ce98-4c75-94e4-d1c9f341a826": {
"main": [
[
{
"node": "c4dafdca-e764-412a-9d3c-9b8653c3fb13",
"type": "main",
"index": 0
},
{
"node": "2e566c1b-1a75-4302-b6f1-bd48d1ea6f26",
"type": "main",
"index": 0
}
]
]
},
"201ef564-57e6-4fde-8251-459c56ef05d0": {
"main": [
[
{
"node": "9a9385f0-ca86-457f-b599-713a809aa423",
"type": "main",
"index": 0
}
]
]
},
"469e916d-b567-4314-9f3d-ddebdac1a7c6": {
"main": [
[
{
"node": "c6471886-5bce-43ae-9af7-89db8983706c",
"type": "main",
"index": 0
}
]
]
},
"cd793b22-bd54-430e-aa78-7a7e1f066f96": {
"main": [
[
{
"node": "34e60115-851c-4055-b1bc-3bba3076fefe",
"type": "main",
"index": 0
}
]
]
},
"a172be21-11f1-48a5-bf6c-2989d3888771": {
"main": [
[
{
"node": "9d96d32c-75db-4712-8e8f-8806cb43830b",
"type": "main",
"index": 0
}
],
[]
]
},
"9d96d32c-75db-4712-8e8f-8806cb43830b": {
"main": [
[
{
"node": "242351ee-c830-4253-8b4f-37d2c7494018",
"type": "main",
"index": 0
}
]
]
},
"242351ee-c830-4253-8b4f-37d2c7494018": {
"main": [
[]
]
},
"2e566c1b-1a75-4302-b6f1-bd48d1ea6f26": {
"main": [
[
{
"node": "7cc275df-68ac-4a9e-ae02-eb617b85f4cf",
"type": "main",
"index": 0
}
]
]
},
"c4dafdca-e764-412a-9d3c-9b8653c3fb13": {
"main": [
[
{
"node": "7cc275df-68ac-4a9e-ae02-eb617b85f4cf",
"type": "main",
"index": 0
}
],
[]
]
},
"17c57291-2bbc-4fbb-b2c3-2c7352c379f2": {
"main": [
[
{
"node": "469e916d-b567-4314-9f3d-ddebdac1a7c6",
"type": "main",
"index": 0
}
]
]
},
"9a9385f0-ca86-457f-b599-713a809aa423": {
"main": [
[
{
"node": "ce041632-5c3e-4f15-b772-cde890181ab7",
"type": "main",
"index": 0
}
]
]
},
"d3ad9729-1444-4227-b37e-b232546347de": {
"main": [
[
{
"node": "53ab1990-ddeb-410f-8cd4-675ed88387a9",
"type": "main",
"index": 0
}
]
]
},
"122a1907-1eb5-48c2-9fb7-4d004f41c74a": {
"main": [
[
{
"node": "a172be21-11f1-48a5-bf6c-2989d3888771",
"type": "main",
"index": 0
}
]
]
}
}
}Foire aux questions
Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Productivité personnelle, Résumé IA
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Automatisation de la recherche d'emploi et de la personnalisation des CV avec Mistral AI, LinkedIn et Google Sheets
Automatisation de la recherche d'offres d'emploi et de la personnalisation de CV avec Mistral AI, LinkedIn et Google Sheets
Set
Code
Html
+
Set
Code
Html
46 NœudsJordan Hoyle
Productivité personnelle
Degen Alpha
Scanner de cryptomonnaie Alpha avec OpenAI - alertes sur la chaîne et les réseaux sociaux envoyées à Telegram
If
Code
Merge
+
If
Code
Merge
38 NœudsLuka Zivkovic
Trading crypto
Explorer les nœuds n8n dans la bibliothèque de références visuelles
Explorer les nœuds n8n dans la base de références visuelles
If
Ftp
Set
+
If
Ftp
Set
113 NœudsI versus AI
Autres
Analyse intelligente quotidienne des groupes WhatsApp : Analyse GPT-4.1 et transcription des messages vocaux
Analyse intelligente des groupes WhatsApp quotidiens : analyse GPT-4.1 et transcription des messages vocaux
If
Set
Code
+
If
Set
Code
52 NœudsDaniel Lianes
Divers
Modèle pour attraper les sujets
Utiliser Gemini pour analyser Reddit, YouTube et X et générer des rapports de stratégie de contenu
If
Set
Code
+
If
Set
Code
34 NœudsSheryl
Étude de marché
Service Météorologique National Analyse IA
Analyse météorologique générée par IA basée sur les alertes du NWS, les images radar et Home Assistant
Set
Code
Merge
+
Set
Code
Merge
20 NœudsCarl Danley
Productivité personnelle
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds31
Catégorie2
Types de nœuds14
Description de la difficulté
Auteur
Luka Zivkovic
@zivkovic58Liens externes
Voir sur n8n.io →
Partager ce workflow