Automatización de organización y reporte de tareas pendientes de Jira con Slack, Gmail e IA

Avanzado

Este es unautomatización que contiene 31 nodos.Utiliza principalmente nodos como If, Set, Jira, Gmail, Slack. Automatización de organización de tareas pendientes de Jira y reportes con Slack, Gmail y GPT-4

Requisitos previos
  • Cuenta de Google y credenciales de API de Gmail
  • Bot Token de Slack o URL de Webhook
  • Credenciales de API de Google Sheets
  • Clave de API de OpenAI

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
{
  "id": "0zvZIMYoz7Yavdpc",
  "meta": {
    "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
    "templateCredsSetupCompleted": true
  },
  "name": "Automate Jira Backlog Hygiene and Reporting with Slack ,Gmail and AI",
  "tags": [],
  "nodes": [
    {
      "id": "2c632cb2-a465-48a1-8615-646ae004a906",
      "name": "Descripción General del Flujo de Trabajo",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2208,
        -672
      ],
      "parameters": {
        "color": 4,
        "width": 389,
        "height": 564,
        "content": "## 🎯 Backlog Hygiene & Auto-Grooming\n\nAutomated Jira backlog management that identifies issues, takes corrective actions, and generates AI-powered reports.\n\n**What it does:**\n- Runs weekdays at 9 AM to analyze backlog items\n- Identifies overdue tasks and missing priorities\n- Auto-tags issues needing attention\n- Logs all backlog items to Google Sheets\n- Sends real-time Slack alerts for critical issues\n- Generates AI-powered weekly digest emails\n\n**Use Case:** Perfect for engineering teams maintaining clean, prioritized Jira backlogs with minimal manual effort.\n\n**Required Setup:**\n- Jira Software Cloud credentials\n- Google Sheets for audit trail\n- Slack workspace for alerts\n- Gmail for email digests\n- Azure OpenAI API for AI summaries"
      },
      "typeVersion": 1
    },
    {
      "id": "ef8e559f-6e94-42c5-a70e-6cfd6ddea13f",
      "name": "Activador de Programación Diaria",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1680,
        -416
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 9 * * 1-5"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "30388334-2118-4d6d-a355-cc01ecf97bf5",
      "name": "Nota - Programación",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        -272
      ],
      "parameters": {
        "width": 262,
        "height": 237,
        "content": "## ⏰ Weekday Mornings\n\nRuns Mon-Fri at 9:00 AM to groom backlog.\n\n**Schedule:** `0 9 * * 1-5`\n**Timing:** Daily at 09:00 on weekdays\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c5ac2613-c23e-40c3-b0ff-0bb805b876e1",
      "name": "Obtener Pendientes de Jira",
      "type": "n8n-nodes-base.jira",
      "position": [
        -1456,
        -416
      ],
      "parameters": {
        "options": {
          "jql": "project = YOUR_PROJECT_KEY AND status in (\"Backlog\") ORDER BY created DESC"
        },
        "operation": "getAll",
        "returnAll": true
      },
      "typeVersion": 1
    },
    {
      "id": "c56145cd-e7bd-47f2-945d-331c491d2eab",
      "name": "Nota - Obtención",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1600,
        -704
      ],
      "parameters": {
        "width": 262,
        "height": 269,
        "content": "## 📋 Fetch Backlog Items\n\n**Setup Required:**\n1. Replace `YOUR_PROJECT_KEY` with your Jira project key\n2. Connect Jira credentials\n\n**Fetches:** All issues in \"Backlog\" status, ordered by creation date (newest first)"
      },
      "typeVersion": 1
    },
    {
      "id": "79cc28a5-7047-40ee-816e-ea61635ad230",
      "name": "Extraer Campos de Jira",
      "type": "n8n-nodes-base.set",
      "position": [
        -1232,
        -416
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "65a9ad90-fc3a-4b15-a5db-57040972f1eb",
              "name": "id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "a6e676d7-d345-4805-8947-c89246e250cb",
              "name": "Status",
              "type": "string",
              "value": "={{ $json.fields.status.name }}"
            },
            {
              "id": "329be7f5-f4b6-4c2d-8633-f4cc5c600f5a",
              "name": "Last Updated",
              "type": "string",
              "value": "={{ $json.fields.updated }}"
            },
            {
              "id": "6074d876-e5d4-4292-bdcc-dacce44367e9",
              "name": "Created",
              "type": "string",
              "value": "={{ $json.fields.created }}"
            },
            {
              "id": "f45794be-a5a2-4267-8959-6b3a628bdf33",
              "name": "Assignee",
              "type": "string",
              "value": "={{ $json.fields.reporter?.displayName || 'Unassigned' }}"
            },
            {
              "id": "d45594fe-3f25-4deb-9a33-1ae5da08a62a",
              "name": "Due Date",
              "type": "string",
              "value": "={{ $json.fields.duedate || '' }}"
            },
            {
              "id": "255fac2f-a504-4937-bfbb-4ab6d11ab85c",
              "name": "Priority",
              "type": "string",
              "value": "={{ $json.fields.priority?.name || '' }}"
            },
            {
              "id": "d1b9ba34-6836-470d-a4f8-06b50426f570",
              "name": "key",
              "type": "string",
              "value": "={{ $json.key }}"
            },
            {
              "id": "6df7df50-6844-498f-acad-125d0aac25e7",
              "name": "email",
              "type": "string",
              "value": "={{ $json.fields.creator?.emailAddress || '' }}"
            },
            {
              "id": "a4ffc18e-cc88-408d-bd22-fd915092b8c3",
              "name": "Summary",
              "type": "string",
              "value": "={{ $json.fields.summary || $json.fields.issuetype.description }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "cfe06dcd-cc9d-4eaf-898c-0aa823aa9d2a",
      "name": "Nota - Extracción",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1296,
        -256
      ],
      "parameters": {
        "width": 262,
        "height": 309,
        "content": "## 🔄 Field Extraction\n\nMaps Jira fields to clean, usable data.\n\n**Extracted Fields:**\n- ID, Key, Status, Summary\n- Created & Last Updated dates\n- Assignee & Creator email\n- Due Date & Priority\n\n**Note:** Uses safe null handling with fallbacks"
      },
      "typeVersion": 1
    },
    {
      "id": "4c294ed5-4ae4-4d24-97f9-575cca486366",
      "name": "Registrar en Hojas Google",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1008,
        -368
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Updated",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last Updated",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Assignee",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Assignee",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Due Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Due Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "key",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "key",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "id"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultName": "Backlogs"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_SHEET_ID",
          "cachedResultName": "Backlog Audit Log"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "684448c6-3f51-401c-8e3c-3e40db0b6ce2",
      "name": "Nota - Hojas",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1056,
        -480
      ],
      "parameters": {
        "width": 262,
        "height": 285,
        "content": "## 📊 Audit Trail\n\n**Setup Required:**\n1. Replace `YOUR_SHEET_ID` with Google Sheets document ID\n2. Connect Google OAuth2 credentials\n\n**Logs:** All backlog items with timestamps for historical tracking and reporting"
      },
      "typeVersion": 1
    },
    {
      "id": "ef72046f-dd55-429d-be00-c9324dbccaf1",
      "name": "Verificar Tareas Vencidas",
      "type": "n8n-nodes-base.if",
      "position": [
        -1008,
        -704
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c92605e8-e7aa-494b-86ba-ca0d20244af8",
              "operator": {
                "type": "dateTime",
                "operation": "before"
              },
              "leftValue": "={{ $json[\"Due Date\"] }}",
              "rightValue": "={{ new Date(Date.now())}}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b27e44f5-db46-4885-9f4a-c65ebecaeff7",
      "name": "Nota - Verificación de Vencimiento",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1152,
        -992
      ],
      "parameters": {
        "width": 262,
        "height": 261,
        "content": "## ⏰ Overdue Filter\n\n**Logic:** Checks if Due Date is before today\n\n**True Branch:** Overdue tasks\n- Sends Jira notification\n- Posts Slack alert\n\n**False Branch:** Not overdue\n- Continues to priority check"
      },
      "typeVersion": 1
    },
    {
      "id": "11751464-7ff3-40fa-8dd1-c78b008a0dd2",
      "name": "Notificar al Responsable",
      "type": "n8n-nodes-base.jira",
      "position": [
        -720,
        -896
      ],
      "parameters": {
        "issueKey": "={{ $json.key }}",
        "resource": "issue",
        "operation": "notify",
        "jiraVersion": "cloud",
        "jsonParameters": false,
        "additionalFields": {
          "subject": "Overdue Task: {{ $json.Summary }}",
          "textBody": "This issue is overdue and requires immediate attention. Please review and update the status or due date."
        },
        "notificationRecipientsUi": {
          "notificationRecipientsValues": {
            "users": [],
            "groups": [],
            "voters": false,
            "assignee": true,
            "reporter": true,
            "watchers": false
          }
        },
        "notificationRecipientsRestrictionsUi": {}
      },
      "typeVersion": 1
    },
    {
      "id": "d52caf19-6f96-4565-be5d-ed34d3f55158",
      "name": "Nota - Notificación Jira",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        -1168
      ],
      "parameters": {
        "width": 262,
        "height": 253,
        "content": "## 📧 Jira Notification\n\n**Setup Required:**\n1. Uses same Jira credentials\n2. Removed hardcoded user/group IDs\n\n**Sends:** In-app Jira notification to reporter and assignee for overdue tasks"
      },
      "typeVersion": 1
    },
    {
      "id": "ef9c4252-1781-4ee0-b0c7-583765206a89",
      "name": "Alerta Slack - Vencidas",
      "type": "n8n-nodes-base.slack",
      "position": [
        -720,
        -704
      ],
      "webhookId": "2a85d9b8-5e35-4003-800d-670563648534",
      "parameters": {
        "text": "=🔴 *Overdue Backlog Item*\n\n*Summary:* {{ $json.Summary }}\n*Issue:* {{ $json.key }}\n*Due Date:* {{ $json['Due Date'] }}\n*Assignee:* {{ $json.Assignee }}\n*Status:* {{ $json.Status }}\n\nThis item is overdue and needs immediate attention.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_CHANNEL_ID",
          "cachedResultName": "backlog-alerts"
        },
        "otherOptions": {}
      },
      "typeVersion": 2.3
    },
    {
      "id": "30057434-63d2-4d55-a527-a7f20d9233c3",
      "name": "Nota - Slack Vencidas",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        -752
      ],
      "parameters": {
        "width": 262,
        "height": 221,
        "content": "## 💬 Slack - Overdue\n\n**Setup Required:**\n1. Replace `YOUR_CHANNEL_ID` with Slack channel ID\n2. Connect Slack API credentials\n\n**Posts:** Real-time alert for overdue items with full context"
      },
      "typeVersion": 1
    },
    {
      "id": "1e90d54a-7e05-4cce-859c-ddd62cb498d6",
      "name": "Verificar Prioridad Faltante",
      "type": "n8n-nodes-base.if",
      "position": [
        -720,
        -512
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "630bf2fe-1811-4058-846e-04563f4d8530",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Priority }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "198c9966-323e-45a6-bdef-3dadb6c01105",
      "name": "Nota - Verificación de Prioridad",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -768,
        -320
      ],
      "parameters": {
        "width": 262,
        "height": 309,
        "content": "## 🏷️ Priority Check\n\n**Logic:** Checks if Priority field is empty\n\n**True Branch:** Missing priority\n- Tags issue with \"Needs-Priority\" label\n- Posts Slack alert\n\n**False Branch:** Priority exists\n- No action needed"
      },
      "typeVersion": 1
    },
    {
      "id": "cfca36aa-3f46-4027-8d29-5ef5137e338c",
      "name": "Etiquetar con 'Necesita-Prioridad'",
      "type": "n8n-nodes-base.jira",
      "position": [
        -432,
        -608
      ],
      "parameters": {
        "issueKey": "={{ $json.key }}",
        "operation": "update",
        "updateFields": {
          "labels": "={{ [\"Needs-Priority\"] }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f02e8cae-0ec8-4779-a5b2-6a48ede692ea",
      "name": "Nota - Etiquetado",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        -832
      ],
      "parameters": {
        "width": 262,
        "height": 205,
        "content": "## 🏷️ Auto-Tag Issue\n\n**Setup Required:**\n1. Uses same Jira credentials\n\n**Action:** Automatically adds \"Needs-Priority\" label to issues missing priority field for easy filtering"
      },
      "typeVersion": 1
    },
    {
      "id": "11cc0368-975c-4bc0-a2ef-c467df83569d",
      "name": "Alerta Slack - Prioridad Faltante",
      "type": "n8n-nodes-base.slack",
      "position": [
        -432,
        -416
      ],
      "webhookId": "dfb76a4c-86f2-4812-87e9-f5c841be4336",
      "parameters": {
        "text": "=⚠️ *Missing Priority*\n\n*Summary:* {{ $json.Summary }}\n*Issue:* {{ $json.key }}\n*Assignee:* {{ $json.Assignee }}\n*Status:* {{ $json.Status }}\n*Due Date:* {{ $json['Due Date'] }}\n\nThis issue has been tagged with \"Needs-Priority\" label. Please assign a priority.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_CHANNEL_ID",
          "cachedResultName": "backlog-alerts"
        },
        "otherOptions": {}
      },
      "typeVersion": 2.3
    },
    {
      "id": "39461f27-b8b4-4d4c-baa9-bbc5f4ed29cc",
      "name": "Nota - Slack Prioridad",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -416
      ],
      "parameters": {
        "width": 262,
        "height": 221,
        "content": "## 💬 Slack - Priority\n\n**Setup Required:**\n1. Use same Slack channel ID and credentials\n\n**Posts:** Alert for issues missing priority with action taken (tagged with label)"
      },
      "typeVersion": 1
    },
    {
      "id": "be03f5d0-6e99-44a8-8d3c-3c293fe58602",
      "name": "Agregar Todos los Elementos",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -1008,
        -176
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "5a04bac2-e1c5-4715-8413-776e5cd7f846",
      "name": "Nota - Agregación",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1152,
        64
      ],
      "parameters": {
        "width": 262,
        "height": 258,
        "content": "## 📦 Combine Data\n\nAggregates all backlog items into single payload for AI analysis.\n\n**Purpose:** Prepares comprehensive dataset for AI to analyze patterns and generate insights"
      },
      "typeVersion": 1
    },
    {
      "id": "289d850d-aeb2-475e-a810-822204ac98a6",
      "name": "Generar Resumen de IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -784,
        -176
      ],
      "parameters": {
        "text": "=Analyze the following Jira backlog items and generate an email for the project manager.\n\nEach item includes: issue ID, key, assignee, status, due date, priority, and summary.\n\nYour goal:\n- Identify overdue tasks (due date before today).\n- Highlight items with missing priority.\n- Summarize the overall backlog health.\n- Suggest 2-3 actionable steps to improve backlog hygiene.\n- Mention how many issues fall into each category.\n\nBacklog data:\n{{ JSON.stringify($json) }}",
        "options": {
          "systemMessage": "You are an automation assistant for project management and engineering teams.\nYour role is to analyze Jira backlog data and generate a professional HTML email for a project or engineering manager that summarizes the backlog health and highlights key actions.\n\nOutput Requirements:\n- The output must be a valid JSON object with two keys:\n  {\n    \"Subject\": \"<email subject line>\",\n    \"Body\": \"<HTML formatted email body>\"\n  }\n\nFormatting & Tone Guidelines:\n- Maintain a clear, concise, and professional business tone.\n- Use semantic HTML tags such as <p>, <ul>, <li>, <strong>, <em>, and <table> for readability.\n- Do not include any Markdown or code formatting.\n- The HTML should be visually structured and ready to send directly via email.\n- Always start with a short greeting (e.g., \"Dear Project Manager,\").\n- Follow with a summary paragraph that states the purpose of the email (e.g., \"Here's the latest Jira backlog summary for this week.\").\n- Include clearly formatted sections for:\n  1. Overdue Tasks\n  2. Missing Priorities\n  3. General Backlog Health\n- Add an HTML table if helpful for listing issue details (Key, Summary, Assignee, Due Date, Priority).\n- End the email with an \"Actionable Recommendations\" section listing 2-3 clear next steps.\n- Close politely (e.g., \"Regards, Backlog Hygiene Assistant\").\n- Keep the email content under 300 words.\n\nBehavior:\n- Analyze patterns and highlight areas needing attention.\n- Summarize counts of overdue, missing priority, or stale issues.\n- Suggest actionable next steps to improve backlog hygiene.\n- The output must be clean, valid JSON and contain no Markdown or triple backticks."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "3a297cb4-3dde-4a58-88a1-a127062b3fca",
      "name": "Nota - Análisis de IA",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        32
      ],
      "parameters": {
        "width": 262,
        "height": 309,
        "content": "## 🤖 AI Analysis Engine\n\n**What it does:**\n- Analyzes all backlog items using AI\n- Identifies patterns and trends\n- Generates structured JSON output with Subject and HTML Body\n\n**Requires:** Azure OpenAI credentials and structured output parser"
      },
      "typeVersion": 1
    },
    {
      "id": "53379a85-d8d5-4be5-bf67-e8df4e4098d7",
      "name": "Modelo Azure OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        -768,
        64
      ],
      "parameters": {
        "model": "gpt-4o-mini",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "c78017ec-f5b1-48ce-8586-fef3d75e35a3",
      "name": "Nota - Azure",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        -176
      ],
      "parameters": {
        "width": 262,
        "height": 237,
        "content": "## 🔗 AI Model Config\n\n**Setup Required:**\n1. Replace credential ID with your Azure OpenAI credentials\n2. Model: gpt-4o-mini (cost-effective)\n\n**Connects:** To AI agent for language processing"
      },
      "typeVersion": 1
    },
    {
      "id": "6364596e-43e2-402a-a285-1740094c475f",
      "name": "Analizador de Salida Estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -640,
        64
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"Subject\": \"\",\n\t\"Body\": \"\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "8a53abde-9f29-41c7-9917-ccee228748a4",
      "name": "Nota - Analizador",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        64
      ],
      "parameters": {
        "width": 262,
        "height": 205,
        "content": "## 📋 Output Parser\n\nEnsures AI returns valid JSON with:\n- Subject: Email subject line\n- Body: HTML formatted email\n\n**No setup required** - connects to AI agent automatically"
      },
      "typeVersion": 1
    },
    {
      "id": "32153f43-2620-40d6-98d9-7793d756d206",
      "name": "Enviar Resumen Semanal por Correo",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -432,
        -176
      ],
      "webhookId": "0ce2113a-ca08-405d-8a8b-58218e48cc02",
      "parameters": {
        "sendTo": "YOUR_EMAIL@example.com",
        "message": "={{ $json.output.Body }}",
        "options": {},
        "subject": "={{ $json.output.Subject }}"
      },
      "typeVersion": 2.1
    },
    {
      "id": "e71a8d4b-aff9-457c-bcbb-b521f9333bd2",
      "name": "Nota - Correo",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -288,
        -80
      ],
      "parameters": {
        "width": 262,
        "height": 301,
        "content": "## 📧 Send AI Digest\n\n**Setup Required:**\n1. Replace `YOUR_EMAIL@example.com` with manager's email\n2. Connect Gmail OAuth2 credentials\n\n**Sends:** AI-generated HTML email with backlog summary and actionable recommendations"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "a3faef09-d8b1-4083-baab-1ec097f35b4e",
  "connections": {
    "53379a85-d8d5-4be5-bf67-e8df4e4098d7": {
      "ai_languageModel": [
        [
          {
            "node": "289d850d-aeb2-475e-a810-822204ac98a6",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "c5ac2613-c23e-40c3-b0ff-0bb805b876e1": {
      "main": [
        [
          {
            "node": "79cc28a5-7047-40ee-816e-ea61635ad230",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "289d850d-aeb2-475e-a810-822204ac98a6": {
      "main": [
        [
          {
            "node": "32153f43-2620-40d6-98d9-7793d756d206",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "be03f5d0-6e99-44a8-8d3c-3c293fe58602": {
      "main": [
        [
          {
            "node": "289d850d-aeb2-475e-a810-822204ac98a6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ef72046f-dd55-429d-be00-c9324dbccaf1": {
      "main": [
        [
          {
            "node": "11751464-7ff3-40fa-8dd1-c78b008a0dd2",
            "type": "main",
            "index": 0
          },
          {
            "node": "ef9c4252-1781-4ee0-b0c7-583765206a89",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1e90d54a-7e05-4cce-859c-ddd62cb498d6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "79cc28a5-7047-40ee-816e-ea61635ad230": {
      "main": [
        [
          {
            "node": "be03f5d0-6e99-44a8-8d3c-3c293fe58602",
            "type": "main",
            "index": 0
          },
          {
            "node": "ef72046f-dd55-429d-be00-c9324dbccaf1",
            "type": "main",
            "index": 0
          },
          {
            "node": "4c294ed5-4ae4-4d24-97f9-575cca486366",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1e90d54a-7e05-4cce-859c-ddd62cb498d6": {
      "main": [
        [
          {
            "node": "cfca36aa-3f46-4027-8d29-5ef5137e338c",
            "type": "main",
            "index": 0
          },
          {
            "node": "11cc0368-975c-4bc0-a2ef-c467df83569d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ef8e559f-6e94-42c5-a70e-6cfd6ddea13f": {
      "main": [
        [
          {
            "node": "c5ac2613-c23e-40c3-b0ff-0bb805b876e1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6364596e-43e2-402a-a285-1740094c475f": {
      "ai_outputParser": [
        [
          {
            "node": "289d850d-aeb2-475e-a810-822204ac98a6",
            "type": "ai_outputParser",
            "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

¿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ía-
Tipos de nodos12
Descripción de la dificultad

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

Autor
Rahul Joshi

Rahul Joshi

@rahul08

Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34