Automatización de informes de defectos con Gemini AI: Jotform a GitHub y alertas por Telegram

Intermedio

Este es unautomatización que contiene 10 nodos.Utiliza principalmente nodos como Code, Telegram, GithubTool, GoogleSheets, JotFormTrigger. Automatización de informes de defectos con Gemini AI: Jotform a GitHub y envío de recordatorios por Telegram

Requisitos previos
  • Bot Token de Telegram
  • Personal Access Token de GitHub
  • Credenciales de API de Google Sheets
  • Clave de API de Google Gemini

Categoría

-
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
{
  "meta": {
    "instanceId": "93f396852104089b8670e7494b0f3668b420464668ae4a8c1d6b4b5799f8e3ef"
  },
  "nodes": [
    {
      "id": "50464290-3352-49d8-a055-af7d43754ef7",
      "name": "Enviar un mensaje de texto",
      "type": "n8n-nodes-base.telegram",
      "position": [
        832,
        560
      ],
      "webhookId": "7add611a-f26c-46ad-8a55-6ffe044d10cd",
      "parameters": {
        "text": "={{ $json.message }}",
        "chatId": "enter-your-chat-id",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "SswL7VO9b2dPGZ8r",
          "name": "jobaibot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0a0a55fe-d075-482a-baca-cd64cc8c207e",
      "name": "Activador de JotForm",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -240,
        560
      ],
      "webhookId": "9a85ab7e-20a4-47f2-ac30-119563a0b22c",
      "parameters": {
        "form": "252865896233066",
        "onlyAnswers": false
      },
      "credentials": {
        "jotFormApi": {
          "id": "4612J1BsqtC505ac",
          "name": "secondary"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
      "name": "Agente de IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        16,
        560
      ],
      "parameters": {
        "text": "=1. Firstly read the user submitted bug description from the below content:\n\n{{ $json.rawRequest['Bug Description'] }}\n\n2. Then secondly check whether the bug is already created in github repo or not for that use the tool named \"Get issues of a repository in GitHub\" and just check whethere the bug is already listed or not based on the context.\n\n3. If that particular issue is not there in github repo then simply create a new issue with appropiate names and for that just use the tool named \"Create an issue in GitHub\".\n\n4. And then only after following these above 3 steps above and then give output only in JSON with appropiate details:\n\nexample output:\n{\n  \"issue_name\": \"UI Freeze on Back Navigation from Settings to Home\",\n  \"issue_description\": \"A critical navigation bug occurs when a user attempts to return to the Home screen from the Settings screen. Upon initiating the back navigation action, the application's view transitions to the Home screen, but the user interface becomes completely unresponsive. All interactive elements fail to register any input, effectively trapping the user on a frozen Home screen and necessitating a full application restart to restore functionality.\",\n  \"present_in_github\": false\n}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "663dd67a-bfff-4d6b-8792-c285a65f4747",
      "name": "Obtener incidencias de un repositorio en GitHub",
      "type": "n8n-nodes-base.githubTool",
      "position": [
        0,
        816
      ],
      "webhookId": "94b33202-124c-418c-a040-f86b7ba04075",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "resource": "repository",
        "repository": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "getRepositoryIssuesFilters": {}
      },
      "credentials": {
        "githubApi": {
          "id": "pCtsjSJXJxiMp1uG",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "de299064-b480-4b29-9f33-68a002531bad",
      "name": "Google Gemini Modelo de Chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -176,
        832
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "qsaK3VMNWQDWLweQ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e2d56ba4-fd1b-4510-95da-20e2535fb766",
      "name": "Crear una incidencia en GitHub",
      "type": "n8n-nodes-base.githubTool",
      "position": [
        176,
        816
      ],
      "webhookId": "71e184d6-29ff-4088-a6ca-bc068c48c912",
      "parameters": {
        "body": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Body', ``, 'string') }}",
        "owner": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
        "labels": [],
        "assignees": [],
        "repository": {
          "__rl": true,
          "mode": "url",
          "value": "="
        }
      },
      "credentials": {
        "githubApi": {
          "id": "pCtsjSJXJxiMp1uG",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "bf1272a6-7ba4-4939-b984-4d328420eb94",
      "name": "Analizador de Salida Estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        336,
        832
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"issue_name\": \"UI Freeze on Back Navigation from Settings to Home\",\n  \"issue_description\": \"A critical navigation bug occurs when a user attempts to return to the Home screen from the Settings screen. Upon initiating the back navigation action, the application's view transitions to the Home screen, but the user interface becomes completely unresponsive. All interactive elements fail to register any input, effectively trapping the user on a frozen Home screen and necessitating a full application restart to restore functionality.\",\n  \"present_in_github\": false\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "3b1f6ac3-c695-48cf-aef9-90f00224bec4",
      "name": "Añadir o actualizar fila en hoja",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        400,
        560
      ],
      "parameters": {
        "columns": {
          "value": {
            "id": "={{ $('JotForm Trigger').item.json.submissionID }}",
            "email": "={{ $('JotForm Trigger').item.json.rawRequest['Your Email Address'] }}",
            "issue": "={{ $json.output.issue_description }}",
            "Full name": "={{ $('JotForm Trigger').item.json.rawRequest['Your Name'].first }} {{ $('JotForm Trigger').item.json.rawRequest['Your Name'].last }}",
            "present_in_github?": "={{ $json.output.present_in_github }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "Full name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Full name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "issue",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "issue",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "present_in_github?",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "present_in_github?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WhQv-pyvnN4-j2hvH7DgYXSS3BZKrCLZlzV2a3eVJAw/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WhQv-pyvnN4-j2hvH7DgYXSS3BZKrCLZlzV2a3eVJAw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WhQv-pyvnN4-j2hvH7DgYXSS3BZKrCLZlzV2a3eVJAw/edit?usp=drivesdk",
          "cachedResultName": "Github user submitted BUGS log"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "vemTjHgIvPJgj9C5",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "6f5df4f5-563c-4d8b-ae1f-fede2b464754",
      "name": "Código en JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        608,
        560
      ],
      "parameters": {
        "jsCode": "const item = items[0];\n\nconst issueDetails = item.json.issue;\nconst isPresentOnGithub = item.json['present_in_github?'];\n\nlet message = `An user submitted an issue....\\n\\n**Issue:** \"${issueDetails}\"\\n\\n`;\n\nif (isPresentOnGithub) {\n  message += \"✅ You don't need to do anything regarding this, as the issue is already reported on GitHub.\";\n} else {\n  message += \"❗ Please look into this. The issue has just been created in our GitHub repo, so take your time to review and fix it.\";\n}\n\nitem.json.message = message;\n\nreturn item;"
      },
      "typeVersion": 2
    },
    {
      "id": "aaafdc7e-0b25-471b-8ae5-eaca969d9994",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        224
      ],
      "parameters": {
        "width": 1360,
        "height": 768,
        "content": "This workflow automates the process of handling bug reports submitted through a form, from checking for duplicates on GitHub to logging the report and sending a notification.\n\n---\nA bug report is submitted via a JotForm, initiating the workflow.\n\nAn AI agent checks for duplicates on GitHub, creating a new issue if the bug is unique.\n\nThe form submission and the AI's analysis are logged in a Google Sheet for record-keeping.\n\nA dynamic notification is sent to a Telegram chat, alerting the team to the new or existing issue."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "66f6ed0c-2263-4e75-8265-c8ee563e2205": {
      "main": [
        [
          {
            "node": "3b1f6ac3-c695-48cf-aef9-90f00224bec4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0a0a55fe-d075-482a-baca-cd64cc8c207e": {
      "main": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6f5df4f5-563c-4d8b-ae1f-fede2b464754": {
      "main": [
        [
          {
            "node": "50464290-3352-49d8-a055-af7d43754ef7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de299064-b480-4b29-9f33-68a002531bad": {
      "ai_languageModel": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "bf1272a6-7ba4-4939-b984-4d328420eb94": {
      "ai_outputParser": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "e2d56ba4-fd1b-4510-95da-20e2535fb766": {
      "ai_tool": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "3b1f6ac3-c695-48cf-aef9-90f00224bec4": {
      "main": [
        [
          {
            "node": "6f5df4f5-563c-4d8b-ae1f-fede2b464754",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "663dd67a-bfff-4d6b-8792-c285a65f4747": {
      "ai_tool": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_tool",
            "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?

Intermedio

¿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.

Flujos de trabajo relacionados recomendados

Automatización de la recepción de proyectos freelance con Jotform y Gemini
Automatización de la recepción y personalización de propuestas para proyectos de freelance usando Jotform y Gemini
If
Gmail
Google Sheets
+
If
Gmail
Google Sheets
9 Nodosiamvaar
Automatización del procesamiento de quejas internas con Jotform, Gemini AI y Google Sheets
Automatizar el manejo de quejas internas con Jotform, Gemini AI y Google Sheets
If
Gmail
Google Sheets
+
If
Gmail
Google Sheets
22 Nodosiamvaar
Gestión de tickets
Entrega automatizada de productos posventa y venta cruzada usando Jotform, GDrive, Gemini
Entrega automatizada de postventa y venta adicional usando Jotform, GDrive, Gemini
Gmail
Google Drive
Google Sheets
+
Gmail
Google Drive
Google Sheets
8 Nodosiamvaar
Sistema de Revisión de NDA e Alertas Instantáneas Impulsado por IA - JotForm, Gemini, Telegram
Sistema de revisión de NDA e alertas instantáneas impulsado por IA basado en JotForm, Gemini y Telegram
Telegram
Http Request
Jot Form Trigger
+
Telegram
Http Request
Jot Form Trigger
13 Nodosiamvaar
Gestión y programación automatizada de leads para un bufete de abogados basado en AI, JotForm, WhatsApp y calendario
Gestión y programación automatizadas de prospectos para un bufete de abogados usando AI, JotForm, WhatsApp y calendario
If
Whats App
Google Sheets
+
If
Whats App
Google Sheets
16 Nodosiamvaar
Creación de contenido
Sistema automatizado de reactivación de usuarios basado en Supabase, Google Sheets y Gmail
Sistema automatizado de reactivación de usuarios utilizando Supabase, Google Sheets y Gmail
Set
Code
Gmail
+
Set
Code
Gmail
14 Nodosiamvaar
Redes sociales
Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos10
Categoría-
Tipos de nodos9
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34