Registro de Diario Laboral

Avanzado

Este es unPersonal Productivity, AI Summarizationflujo de automatización del dominio deautomatización que contiene 31 nodos.Utiliza principalmente nodos como If, Set, Code, Cron, Gmail. Generador de Hoja de Horas con IA - Integra Gmail, Calendario y GitHub en Hojas de Cálculo de Google

Requisitos previos
  • Cuenta de Google y credenciales de API de Gmail
  • Personal Access Token de GitHub
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "jw7wmjp1if9T2ZHd",
  "meta": {
    "instanceId": "c668632f5ca4908ffa76bd7bc9be05dec193c66269ed7a1160909b2e861050b7",
    "templateCredsSetupCompleted": true
  },
  "name": "Workday Journaling",
  "tags": [],
  "nodes": [
    {
      "id": "d3ad9729-1444-4227-b37e-b232546347de",
      "name": "Obtener Eventos del Calendario de Hoy",
      "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": "Obtener Correos Electrónicos de Hoy",
      "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": "Obtener PRs de 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": "Formatear Todos los Datos",
      "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": "Generar Resumen de Bitácora",
      "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": "Agregar",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -2940,
        -1560
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "emails"
      },
      "typeVersion": 1
    },
    {
      "id": "a1dbd248-1cd5-4fec-8198-52573fbe50ed",
      "name": "Combinar",
      "type": "n8n-nodes-base.merge",
      "position": [
        -2540,
        -1101
      ],
      "parameters": {
        "numberInputs": 4
      },
      "typeVersion": 3.2
    },
    {
      "id": "53ab1990-ddeb-410f-8cd4-675ed88387a9",
      "name": "Agregar1",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -2940,
        -1300
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "calendarEvents"
      },
      "typeVersion": 1
    },
    {
      "id": "7cc275df-68ac-4a9e-ae02-eb617b85f4cf",
      "name": "Agregar2",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -2840,
        -620
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "prs"
      },
      "typeVersion": 1
    },
    {
      "id": "0faf1f55-23d3-4d33-a142-d1c87d85e9f1",
      "name": "Diario a las 7PM",
      "type": "n8n-nodes-base.cron",
      "position": [
        -3900,
        -1180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7ee78807-a5df-493c-8419-3e9ef8688954",
      "name": "Establecer 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": "Agregar3",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -2820,
        -1000
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "commits"
      },
      "typeVersion": 1
    },
    {
      "id": "469e916d-b567-4314-9f3d-ddebdac1a7c6",
      "name": "Si Authors Commit",
      "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 se cerró hoy",
      "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 se creó hoy",
      "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": "Separar",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -1724,
        -1080
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "message.content.events"
      },
      "typeVersion": 1
    },
    {
      "id": "61d7bb88-1ad8-48d7-ae56-953123ccd501",
      "name": "Resumen del Flujo de Trabajo",
      "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": "Recopilación de Datos",
      "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": "Filtrado de 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": "Gestión de Hojas",
      "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": "Agregación de Datos",
      "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": "Salida Final",
      "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": "Nota Adhesiva1",
      "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": "Separar1",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -3380,
        -980
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "repositoriesToTrack"
      },
      "typeVersion": 1
    },
    {
      "id": "17c57291-2bbc-4fbb-b2c3-2c7352c379f2",
      "name": "Obtener 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": "Insertar Entrada en Hoja",
      "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": "Crear Hoja si no Existe",
      "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 no existía",
      "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": "Inicializar Encabezados de Hoja",
      "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": "Inicializar Columnas de Hoja",
      "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": "Separar2",
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Productividad personal, Resumen de IA

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos31
Categoría2
Tipos de nodos14
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34