{
  "workflow": {
    "id": 9827,
    "name": "Automate Jira backlog hygiene and reporting with Slack, Gmail and GPT-4",
    "views": 96,
    "recentViews": 0,
    "totalViews": 96,
    "createdAt": "2025-10-17T12:15:22.953Z",
    "description": "## Description\nAutomate Jira backlog management with intelligent cleanup, prioritization, and AI-powered reporting. This workflow scans daily to identify stale issues, missing priorities, and overdue tasks — auto-updates Jira with corrective labels, logs everything into Google Sheets for tracking, and notifies teams via Slack. Every Friday, it sends an AI-generated backlog summary email to project leads for visibility and planning. 🚀📅\n\n## What This Template Does\n- Step 1: Triggers automatically every weekday at 7:00 AM to fetch backlog issues from Jira. ⏰\n- Step 2: Filters issues missing estimates, assignees, or priority values for cleanup. 🧹\n- Step 3: Applies corrective labels (e.g., “Needs Estimation,” “Unassigned,” “Overdue”). 🏷️\n- Step 4: Logs all flagged issues into Google Sheets with timestamps for audit tracking. 📊\n- Step 5: Sends real-time Slack alerts summarizing key backlog insights. 💬\n- Step 6: Every Friday, uses GPT-4 to generate a summarized backlog health report. 🤖\n- Step 7: Delivers weekly summary emails to leads and project managers via Gmail. 📧\n\n## Key Benefits\n✅ Eliminates manual backlog reviews and prioritization.\n ✅ Ensures consistent Jira hygiene and task visibility.\n ✅ Provides centralized backlog tracking via Google Sheets.\n ✅ Sends real-time alerts for overdue and unassigned tasks.\n ✅ Offers AI-driven insights for better sprint planning.\n\n## Features\n- Automated daily trigger (Mon–Fri, 7 AM)\n- Jira issue fetching and filtering by priority and assignment\n- Smart labeling for hygiene tracking\n- Slack alerts for backlog anomalies\n- Weekly GPT-4 generated summary reporting\n- Google Sheets integration for historical logging\n- Gmail integration for summary email delivery\n\n## Requirements\n- Jira API credentials with read/write issue permissions\n- Google Sheets OAuth2 credentials for data logging\n- Slack Bot token with chat:write permissions\n- Gmail OAuth2 credentials for email delivery\n- OpenAI or Azure OpenAI API key for GPT-4 summarization\n\n## Target Audience\n- Agile and Scrum teams maintaining large backlogs 🧩\n- Product managers ensuring backlog quality and consistency 📋\n- Engineering leads seeking proactive backlog hygiene 🛠️\n- Organizations needing visibility across project tasks 🏢\n- Remote teams using Slack for daily syncs 🌐\n\n## Step-by-Step Setup Instructions\n- Connect Jira credentials and specify your project key(s). 🔑\n- Link your Google Sheet and replace YOUR_SHEET_ID for backlog tracking. 📊\n- Configure Slack and replace YOUR_CHANNEL_ID for alert delivery. 💬\n- Add Gmail credentials and define recipient emails for weekly reports. 📧\n- Add your GPT-4 API key (OpenAI or Azure) for AI summarization. 🤖\n- Adjust cron expression (0 7 * * 1-5) to match your local timezone. ⏰\n- Run manually once to validate all connections, then enable automation. ✅",
    "workflow": {
      "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": "Workflow Overview",
          "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": "Daily Schedule Trigger",
          "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": "Note - Schedule",
          "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": "Fetch Jira Backlog",
          "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": "Note - Fetch",
          "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": "Extract Jira Fields",
          "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": "Note - Extract",
          "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": "Log to Google Sheets",
          "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": "Note - Sheets",
          "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": "Check Overdue Tasks",
          "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": "Note - Overdue Check",
          "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": "Notify Issue Owner",
          "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": "Note - Jira Notify",
          "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": "Slack Alert - Overdue",
          "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": "Note - Slack Overdue",
          "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": "Check Missing Priority",
          "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": "Note - Priority Check",
          "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": "Tag with 'Needs-Priority'",
          "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": "Note - Tag",
          "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": "Slack Alert - Missing Priority",
          "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": "Note - Slack Priority",
          "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": "Aggregate All Items",
          "type": "n8n-nodes-base.aggregate",
          "position": [
            -1008,
            -176
          ],
          "parameters": {
            "options": {},
            "aggregate": "aggregateAllItemData"
          },
          "typeVersion": 1
        },
        {
          "id": "5a04bac2-e1c5-4715-8413-776e5cd7f846",
          "name": "Note - Aggregate",
          "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": "Generate AI Digest",
          "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": "Note - AI Analysis",
          "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": "Azure OpenAI Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
          "position": [
            -768,
            64
          ],
          "parameters": {
            "model": "gpt-4o-mini",
            "options": {}
          },
          "typeVersion": 1
        },
        {
          "id": "c78017ec-f5b1-48ce-8586-fef3d75e35a3",
          "name": "Note - 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": "Structured Output Parser",
          "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": "Note - Parser",
          "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": "Email Weekly Digest",
          "type": "n8n-nodes-base.gmail",
          "position": [
            -432,
            -176
          ],
          "webhookId": "0ce2113a-ca08-405d-8a8b-58218e48cc02",
          "parameters": {
            "sendTo": "user@example.com",
            "message": "={{ $json.output.Body }}",
            "options": {},
            "subject": "={{ $json.output.Subject }}"
          },
          "typeVersion": 2.1
        },
        {
          "id": "e71a8d4b-aff9-457c-bcbb-b521f9333bd2",
          "name": "Note - Email",
          "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": {
        "Azure OpenAI Model": {
          "ai_languageModel": [
            [
              {
                "node": "Generate AI Digest",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Fetch Jira Backlog": {
          "main": [
            [
              {
                "node": "Extract Jira Fields",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Generate AI Digest": {
          "main": [
            [
              {
                "node": "Email Weekly Digest",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Aggregate All Items": {
          "main": [
            [
              {
                "node": "Generate AI Digest",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Check Overdue Tasks": {
          "main": [
            [
              {
                "node": "Notify Issue Owner",
                "type": "main",
                "index": 0
              },
              {
                "node": "Slack Alert - Overdue",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Check Missing Priority",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Extract Jira Fields": {
          "main": [
            [
              {
                "node": "Aggregate All Items",
                "type": "main",
                "index": 0
              },
              {
                "node": "Check Overdue Tasks",
                "type": "main",
                "index": 0
              },
              {
                "node": "Log to Google Sheets",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Check Missing Priority": {
          "main": [
            [
              {
                "node": "Tag with 'Needs-Priority'",
                "type": "main",
                "index": 0
              },
              {
                "node": "Slack Alert - Missing Priority",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Daily Schedule Trigger": {
          "main": [
            [
              {
                "node": "Fetch Jira Backlog",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Structured Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "Generate AI Digest",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 1,
    "workflowInfo": {
      "nodeCount": 31,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 2
        },
        "n8n-nodes-base.set": {
          "count": 1
        },
        "n8n-nodes-base.jira": {
          "count": 3
        },
        "n8n-nodes-base.gmail": {
          "count": 1
        },
        "n8n-nodes-base.slack": {
          "count": 2
        },
        "n8n-nodes-base.aggregate": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 16
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.agent": {
          "count": 1
        },
        "n8n-nodes-base.scheduleTrigger": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.outputParserStructured": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Rahul Joshi",
      "username": "rahul08",
      "bio": "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.\n\n",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/callrahul/"
      ],
      "avatar": "https://gravatar.com/avatar/b6cf57822463143589b36ada06fbf6cb1509223a740fae3160b28f1ce41ccc12?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 18,
        "icon": "file:googleSheets.svg",
        "name": "n8n-nodes-base.googleSheets",
        "codex": {
          "data": {
            "alias": [
              "CSV",
              "Sheet",
              "Spreadsheet",
              "GS"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/",
                  "icon": "❤️",
                  "label": "Love at first sight: Ricardo’s n8n journey"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/",
                  "icon": "⏲",
                  "label": "Creating triggers for n8n workflows using polling"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/",
                  "icon": "📈",
                  "label": "Migrating Community Metrics to Orbit using n8n"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/",
                  "icon": "🍔",
                  "label": "How Honest Burgers Use Automation to Save $100k per year"
                },
                {
                  "url": "https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Data & Storage",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\",\"output\"]",
        "defaults": {
          "name": "Google Sheets"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="
        },
        "displayName": "Google Sheets",
        "typeVersion": 5,
        "nodeCategories": [
          {
            "id": 3,
            "name": "Data & Storage"
          },
          {
            "id": 4,
            "name": "Productivity"
          }
        ]
      },
      {
        "id": 20,
        "icon": "fa:map-signs",
        "name": "n8n-nodes-base.if",
        "codex": {
          "data": {
            "alias": [
              "Router",
              "Filter",
              "Condition",
              "Logic",
              "Boolean",
              "Branch"
            ],
            "details": "The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.",
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/",
                  "icon": "🤬",
                  "label": "Create a toxic language detector for Telegram in 4 step"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/",
                  "icon": "🏷️",
                  "label": "How to automatically manage contributions to open-source projects"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "If",
          "color": "#408000"
        },
        "iconData": {
          "icon": "map-signs",
          "type": "icon"
        },
        "displayName": "If",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 38,
        "icon": "fa:pen",
        "name": "n8n-nodes-base.set",
        "codex": {
          "data": {
            "alias": [
              "Set",
              "JS",
              "JSON",
              "Filter",
              "Transform",
              "Map"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/",
                  "icon": "📈",
                  "label": "Automatically pulling and visualizing data with n8n"
                },
                {
                  "url": "https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/",
                  "icon": "📡",
                  "label": "Database Monitoring and Alerting with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/",
                  "icon": "📱",
                  "label": "Building an expense tracking app in 10 minutes"
                },
                {
                  "url": "https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/",
                  "icon": "📹",
                  "label": "The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/",
                  "icon": "🧰",
                  "label": "Learn to Build Powerful API Endpoints Using Webhooks"
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/",
                  "icon": "📈",
                  "label": "A low-code bitcoin ticker built with QuestDB and n8n.io"
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Edit Fields"
        },
        "iconData": {
          "icon": "pen",
          "type": "icon"
        },
        "displayName": "Edit Fields (Set)",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 40,
        "icon": "file:slack.svg",
        "name": "n8n-nodes-base.slack",
        "codex": {
          "data": {
            "alias": [
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/",
                  "icon": "👦",
                  "label": "Build your own virtual assistant with n8n: A step by step guide"
                },
                {
                  "url": "https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/",
                  "icon": "👏",
                  "label": "How to automatically give kudos to contributors with GitHub, Slack, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/automations-for-activists/",
                  "icon": "✨",
                  "label": "How Common Knowledge use workflow automation for activism"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/slack/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Slack"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"
        },
        "displayName": "Slack",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 77,
        "icon": "file:jira.svg",
        "name": "n8n-nodes-base.jira",
        "codex": {
          "data": {
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-custom-incident-response-workflows-with-n8n/",
                  "label": "How to automate every step of an incident response workflow"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.jira/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/jira/"
                }
              ]
            },
            "categories": [
              "Development",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Jira Software"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjguMjUgNzEuMjUiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9IjMuMTI1IiB5PSIzLjEyNSIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjkxLjklIiB4Mj0iMjguNDklIiB5MT0iNDAuMjIlIiB5Mj0iODEuNjMlIj48c3RvcCBvZmZzZXQ9IjE4JSIgc3RvcC1jb2xvcj0iIzAwNTJjYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzI2ODRmZiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iOC43JSIgeDI9IjcyLjI2JSIgeTE9IjU5LjE3JSIgeTI9IjE3Ljk5JSI+PHN0b3Agb2Zmc2V0PSIxOCUiIHN0b3AtY29sb3I9IiMwMDUyY2MiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNjg0ZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48c3ltYm9sIGlkPSJhIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiPjxwYXRoIGZpbGw9IiMyNjg0ZmYiIGQ9Ik02MS4xNjEgMzAuMjExIDMwLjk1IDAgLjc0IDMwLjIxMWEyLjU0IDIuNTQgMCAwIDAgMCAzLjU4MWwzMC4yMTEgMzAuMjEgMzAuMjExLTMwLjIxYTIuNTQgMi41NCAwIDAgMCAwLTMuNTgxek0zMC45NSA0MS40NmwtOS40NjItOS40NjIgOS40NjItOS40NjIgOS40NjIgOS40NjJ6Ii8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTMwLjk1IDIyLjU5OUMyNC43NTUgMTYuNDA1IDI0LjcyNCA2LjM3IDMwLjg4MS4xMzhMMTAuMTE0IDIwLjc3NGwxMS4yNjggMTEuMjY4eiIvPjxwYXRoIGZpbGw9InVybCgjYykiIGQ9Ik00MC40MzcgMzEuOTczIDMwLjk1IDQxLjQ2YTE1LjkzIDE1LjkzIDAgMCAxIDAgMjIuNTM2bDIwLjc0OS0yMC43NDl6Ii8+PC9nPjwvc3ltYm9sPjwvc3ZnPg=="
        },
        "displayName": "Jira Software",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 4,
            "name": "Productivity"
          },
          {
            "id": 5,
            "name": "Development"
          }
        ]
      },
      {
        "id": 356,
        "icon": "file:gmail.svg",
        "name": "n8n-nodes-base.gmail",
        "codex": {
          "data": {
            "alias": [
              "email",
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/",
                  "icon": "💪",
                  "label": "Using Automation to Boost Productivity in the Workplace"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Gmail"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"
        },
        "displayName": "Gmail",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 839,
        "icon": "fa:clock",
        "name": "n8n-nodes-base.scheduleTrigger",
        "codex": {
          "data": {
            "alias": [
              "Time",
              "Scheduler",
              "Polling",
              "Cron",
              "Interval"
            ],
            "resources": {
              "generic": [],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"trigger\",\"schedule\"]",
        "defaults": {
          "name": "Schedule Trigger",
          "color": "#31C49F"
        },
        "iconData": {
          "icon": "clock",
          "type": "icon"
        },
        "displayName": "Schedule Trigger",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1119,
        "icon": "fa:robot",
        "name": "@n8n/n8n-nodes-langchain.agent",
        "codex": {
          "data": {
            "alias": [
              "LangChain",
              "Chat",
              "Conversational",
              "Plan and Execute",
              "ReAct",
              "Tools"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Agents",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "AI Agent",
          "color": "#404040"
        },
        "iconData": {
          "icon": "robot",
          "type": "icon"
        },
        "displayName": "AI Agent",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1179,
        "icon": "fa:code",
        "name": "@n8n/n8n-nodes-langchain.outputParserStructured",
        "codex": {
          "data": {
            "alias": [
              "json",
              "zod"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Output Parsers"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Structured Output Parser"
        },
        "iconData": {
          "icon": "code",
          "type": "icon"
        },
        "displayName": "Structured Output Parser",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1236,
        "icon": "file:aggregate.svg",
        "name": "n8n-nodes-base.aggregate",
        "codex": {
          "data": {
            "alias": [
              "Aggregate",
              "Combine",
              "Flatten",
              "Transform",
              "Array",
              "List",
              "Item"
            ],
            "details": "",
            "resources": {
              "generic": [],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Aggregate"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="
        },
        "displayName": "Aggregate",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1253,
        "icon": "file:azure.svg",
        "name": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatazureopenai/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Language Models",
                "Root Nodes"
              ],
              "Language Models": [
                "Chat Models (Recommended)"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Azure OpenAI Chat Model"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMjQyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iNTguOTcyJSIgeDI9IjM3LjE5MSUiIHkxPSI3LjQxMSUiIHkyPSIxMDMuNzYyJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzExNEE4QiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzA2NjlCQyIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iNTkuNzE5JSIgeDI9IjUyLjY5MSUiIHkxPSI1Mi4zMTMlIiB5Mj0iNTQuODY0JSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1vcGFjaXR5PSIuMyIvPjxzdG9wIG9mZnNldD0iNy4xJSIgc3RvcC1vcGFjaXR5PSIuMiIvPjxzdG9wIG9mZnNldD0iMzIuMSUiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjYyLjMlIiBzdG9wLW9wYWNpdHk9Ii4wNSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImMiIHgxPSIzNy4yNzklIiB4Mj0iNjIuNDczJSIgeTE9IjQuNiUiIHkyPSI5OS45NzklIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjM0NDQkY0Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMjg5MkRGIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTg1LjM0My4wMDNoNzUuNzUzTDgyLjQ1NyAyMzNhMTIuMDggMTIuMDggMCAwIDEtMTEuNDQyIDguMjE2SDEyLjA2QTEyLjA2IDEyLjA2IDAgMCAxIC42MzMgMjI1LjMwM0w3My44OTggOC4yMTlBMTIuMDggMTIuMDggMCAwIDEgODUuMzQzIDB6Ii8+PHBhdGggZmlsbD0iIzAwNzhENCIgZD0iTTE5NS40MjMgMTU2LjI4Mkg3NS4yOTdhNS41NiA1LjU2IDAgMCAwLTMuNzk2IDkuNjI3bDc3LjE5IDcyLjA0N2ExMi4xNCAxMi4xNCAwIDAgMCA4LjI4IDMuMjZoNjguMDJ6Ii8+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTg1LjM0My4wMDNhMTEuOTggMTEuOTggMCAwIDAtMTEuNDcxIDguMzc2TC43MjMgMjI1LjEwNWExMi4wNDUgMTIuMDQ1IDAgMCAwIDExLjM3IDE2LjExMmg2MC40NzVhMTIuOTMgMTIuOTMgMCAwIDAgOS45MjEtOC40MzdsMTQuNTg4LTQyLjk5MSA1Mi4xMDUgNDguNmExMi4zMyAxMi4zMyAwIDAgMCA3Ljc1NyAyLjgyOGg2Ny43NjZsLTI5LjcyMS04NC45MzUtODYuNjQzLjAyTDE2MS4zNy4wMDN6Ii8+PHBhdGggZmlsbD0idXJsKCNjKSIgZD0iTTE4Mi4wOTggOC4yMDdBMTIuMDYgMTIuMDYgMCAwIDAgMTcwLjY3LjAwM0g4Ni4yNDVjNS4xNzUgMCA5Ljc3MyAzLjMwMSAxMS40MjggOC4yMDRMMTcwLjk0IDIyNS4zYTEyLjA2MiAxMi4wNjIgMCAwIDEtMTEuNDI4IDE1LjkyaDg0LjQyOWExMi4wNjIgMTIuMDYyIDAgMCAwIDExLjQyNS0xNS45MnoiLz48L3N2Zz4="
        },
        "displayName": "Azure OpenAI Chat Model",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 46,
        "name": "Project Management"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}