{
  "workflow": {
    "id": 10108,
    "name": "Tax deadline management & compliance alerts with GPT-4, Google Sheets & Slack",
    "views": 80,
    "recentViews": 0,
    "totalViews": 80,
    "createdAt": "2025-10-24T07:26:31.986Z",
    "description": "# AI-Driven Tax Compliance & Deadline Management System\n\n## Description\nAutomate tax deadline monitoring with AI-powered insights. This workflow checks your tax calendar daily at 8 AM, uses GPT-4 to analyze upcoming deadlines across multiple jurisdictions, detects overdue and critical items, and sends intelligent alerts via email and Slack only when immediate action is required. Perfect for finance teams and accounting firms who need proactive compliance management without manual tracking. 🏛️🤖📊\n\n## Good to Know\n* **AI-Powered**: GPT-4 provides risk assessment and strategic recommendations\n* **Multi-Jurisdiction**: Handles Federal, State, and Local tax requirements automatically\n* **Smart Alerts**: Only notifies executives when deadlines are overdue or critical (≤3 days)\n* **Priority Classification**: Categorizes deadlines as Overdue, Critical, High, or Medium priority\n* **Dual Notifications**: Critical alerts to leadership + daily summaries to team channel\n* **Complete Audit Trail**: Logs all checks and deadlines to Google Sheets for compliance records\n\n## How It Works\n1. **Daily Trigger** - Runs at 8:00 AM every morning\n2. **Fetch Data** - Pulls tax calendar and company configuration from Google Sheets\n3. **Analyze Deadlines** - Calculates days remaining, filters by jurisdiction/entity type, categorizes by priority\n4. **AI Analysis** - GPT-4 provides strategic insights and risk assessment on upcoming deadlines\n5. **Smart Routing** - Only sends alerts if overdue or critical deadlines exist\n6. **Critical Alerts** - HTML email to executives + Slack alert for urgent items\n7. **Team Updates** - Slack summary to finance channel with all upcoming deadlines\n8. **Logging** - Records compliance check results to Google Sheets for audit trail\n\n## Requirements\n\n### Google Sheets Structure\n\n**Sheet 1: TaxCalendar**\n```\nDeadlineID | DeadlineName | DeadlineDate | Jurisdiction | Category | AssignedTo | IsActive\nFED-Q1     | Form 1120 Q1 | 2025-04-15   | Federal      | Income   | John Doe   | TRUE\n```\n\n**Sheet 2: CompanyConfig** (single row)\n```\nJurisdictions          | EntityType  | FiscalYearEnd\nFederal, California    | Corporation | 12-31\n```\n\n**Sheet 3: ComplianceLog** (auto-populated)\n```\nDate       | AlertLevel | TotalUpcoming | CriticalCount | OverdueCount\n2025-01-15 | HIGH       | 12            | 3             | 1\n```\n\n### Credentials Needed\n1. **Google Sheets** - Service Account OAuth2\n2. **OpenAI** - API Key (GPT-4 access required)\n3. **SMTP** - Email account for sending alerts\n4. **Slack** - Bot Token with `chat:write` permission\n\n### Setup Steps\n1. Import workflow JSON into n8n\n2. Add all 4 credentials\n3. Replace these placeholders:\n   - `YOUR_TAX_CALENDAR_ID` - Tax calendar sheet ID\n   - `YOUR_CONFIG_ID` - Company config sheet ID  \n   - `YOUR_LOG_ID` - Compliance log sheet ID\n   - `C12345678` - Slack channel ID\n   - `tax@company.com` - Sender email\n   - `cfo@company.com` - Recipient email\n4. Share all sheets with Google service account email\n5. Invite Slack bot to channels\n6. Test workflow manually\n7. Activate the trigger\n\n## Customizing This Workflow\n\n**Change Alert Thresholds:**\nEdit \"Analyze Deadlines\" node:\n- Critical: Change `&lt;= 3` to `&lt;= 5` for 5-day warning\n- High: Change `&lt;= 7` to `&lt;= 14` for 2-week notice\n- Medium: Change `&lt;= 30` to `&lt;= 60` for 2-month lookout\n\n**Adjust Schedule:**\nEdit \"Daily Tax Check\" trigger:\n- Change hour/minute for different run time\n- Add multiple trigger times for tax season (8 AM, 2 PM, 6 PM)\n\n**Add More Recipients:**\nEdit \"Send Email\" node:\n- To: `cfo@company.com, director@company.com`\n- CC: `accounting@company.com`\n- BCC: `archive@company.com`\n\n**Customize Email Design:**\nEdit \"Format Email\" node to change colors, add logo, or modify layout\n\n**Add SMS Alerts:**\nInsert Twilio node after \"Is Critical\" for emergency notifications\n\n**Integrate Task Management:**\nAdd HTTP Request node to create tasks in Asana/Jira for critical deadlines\n\n## Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| No deadlines found | Check date format (YYYY-MM-DD) and IsActive = TRUE |\n| AI analysis failed | Verify OpenAI API key and account credits |\n| Email not sending | Test SMTP credentials and check if critical condition met |\n| Slack not posting | Invite bot to channel and verify channel ID format |\n| Permission denied | Share Google Sheets with service account email |\n\n## 📞 Professional Services\n\n**Need help with implementation or customization?**\n\nOur team offers:\n- 🎯 Custom workflow development\n- 🏢 Enterprise deployment support\n- 🎓 Team training sessions\n- 🔧 Ongoing maintenance\n- 📊 Custom reporting & dashboards\n- 🔗 Additional API integrations\n\n**Discover more workflows – [Get in touch with us](https://www.oneclickitsolution.com/contact-us/)**\n\n",
    "workflow": {
      "id": "hZXFMMh3gVl4u3K4",
      "meta": {
        "instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
        "templateCredsSetupCompleted": true
      },
      "name": "AI-Driven Tax Deadline Reminder & Compliance Alerts for Accounting",
      "tags": [],
      "nodes": [
        {
          "id": "ec99697c-9837-4945-8743-ad1099286938",
          "name": "Daily Tax Check",
          "type": "n8n-nodes-base.scheduleTrigger",
          "position": [
            -2752,
            2336
          ],
          "parameters": {
            "rule": {
              "interval": [
                {}
              ]
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "566f5199-04e1-4bb4-9fb3-19eab294368a",
          "name": "Fetch Tax Calendar",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            -2528,
            2240
          ],
          "parameters": {
            "options": {},
            "sheetName": {
              "__rl": true,
              "mode": "name",
              "value": "TaxCalendar"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "YOUR_TAX_CALENDAR_ID"
            },
            "authentication": "serviceAccount"
          },
          "credentials": {
            "googleApi": {
              "id": "credential-id",
              "name": "googleApi Credential"
            }
          },
          "typeVersion": 4.2
        },
        {
          "id": "9f0f080c-568d-4145-a82f-39bf2849d72e",
          "name": "Fetch Company Config",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            -2528,
            2432
          ],
          "parameters": {
            "options": {},
            "sheetName": {
              "__rl": true,
              "mode": "name",
              "value": "CompanyConfig"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "YOUR_CONFIG_ID"
            },
            "authentication": "serviceAccount"
          },
          "credentials": {
            "googleApi": {
              "id": "credential-id",
              "name": "googleApi Credential"
            }
          },
          "typeVersion": 4.2
        },
        {
          "id": "fda19308-3460-4416-b4c2-d1dafb8a053e",
          "name": "Analyze Deadlines",
          "type": "n8n-nodes-base.code",
          "position": [
            -2304,
            2336
          ],
          "parameters": {
            "jsCode": "const taxCalendar = $('Fetch Tax Calendar').all();\nconst companyConfig = $('Fetch Company Config').first().json;\nconst now = new Date();\nconst today = now.toISOString().split('T')[0];\n\nconst getDaysDifference = (date1, date2) => {\n  const diffTime = new Date(date1) - new Date(date2);\n  return Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n};\n\nconst jurisdictions = (companyConfig.Jurisdictions || 'Federal').split(',').map(j => j.trim());\nconst entityType = companyConfig.EntityType || 'Corporation';\n\nconst upcomingDeadlines = [];\nconst criticalDeadlines = [];\nconst overdueDeadlines = [];\n\ntaxCalendar.forEach(item => {\n  const deadline = item.json;\n  const deadlineDate = new Date(deadline.DeadlineDate);\n  const daysUntil = getDaysDifference(deadlineDate, now);\n  \n  if (deadline.IsActive !== 'TRUE' && deadline.IsActive !== true) return;\n  \n  const jurisdictionMatch = !deadline.Jurisdiction || jurisdictions.includes(deadline.Jurisdiction);\n  const entityMatch = !deadline.EntityType || deadline.EntityType === entityType || deadline.EntityType === 'All';\n  \n  if (!jurisdictionMatch || !entityMatch) return;\n  \n  const deadlineInfo = {\n    id: deadline.DeadlineID || `TAX-${Date.now()}`,\n    name: deadline.DeadlineName,\n    description: deadline.Description || '',\n    deadlineDate: deadline.DeadlineDate,\n    daysUntil: daysUntil,\n    jurisdiction: deadline.Jurisdiction || 'Federal',\n    category: deadline.Category || 'General',\n    assignedTo: deadline.AssignedTo || 'Finance Team',\n    penalties: deadline.Penalties || 'Standard penalties',\n    priority: 'Normal'\n  };\n  \n  if (daysUntil < 0) {\n    deadlineInfo.priority = 'Critical';\n    overdueDeadlines.push(deadlineInfo);\n  } else if (daysUntil <= 3) {\n    deadlineInfo.priority = 'Critical';\n    criticalDeadlines.push(deadlineInfo);\n    upcomingDeadlines.push(deadlineInfo);\n  } else if (daysUntil <= 7) {\n    deadlineInfo.priority = 'High';\n    upcomingDeadlines.push(deadlineInfo);\n  } else if (daysUntil <= 30) {\n    deadlineInfo.priority = 'Medium';\n    upcomingDeadlines.push(deadlineInfo);\n  }\n});\n\nreturn {\n  date: today,\n  timestamp: now.toISOString(),\n  jurisdictions: jurisdictions.join(', '),\n  entityType: entityType,\n  totalUpcoming: upcomingDeadlines.length,\n  criticalCount: criticalDeadlines.length,\n  overdueCount: overdueDeadlines.length,\n  next7Days: upcomingDeadlines.filter(d => d.daysUntil <= 7).length,\n  upcomingDeadlines: upcomingDeadlines,\n  criticalDeadlines: criticalDeadlines,\n  overdueDeadlines: overdueDeadlines,\n  requiresImmediateAction: overdueDeadlines.length > 0 || criticalDeadlines.length > 0,\n  alertLevel: overdueDeadlines.length > 0 ? 'CRITICAL' : criticalDeadlines.length > 0 ? 'HIGH' : 'MEDIUM'\n};"
          },
          "typeVersion": 2
        },
        {
          "id": "18f3d827-6ffb-4ef9-9080-13a5bf65773b",
          "name": "AI Analysis",
          "type": "n8n-nodes-base.httpRequest",
          "position": [
            -2080,
            2336
          ],
          "parameters": {
            "url": "https://api.openai.com/v1/chat/completions",
            "method": "POST",
            "options": {},
            "jsonBody": "={\n  \"model\": \"gpt-4\",\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"You are a tax compliance advisor. Analyze deadlines and provide insights.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"Analyze these tax deadlines for {{ $json.date }}: {{ JSON.stringify($json.upcomingDeadlines) }}. Provide risk assessment and recommendations.\"\n    }\n  ]\n}",
            "sendBody": true,
            "specifyBody": "json"
          },
          "typeVersion": 4.2
        },
        {
          "id": "f077e19c-408e-48da-9bd8-51ce5332459f",
          "name": "Merge AI Insights",
          "type": "n8n-nodes-base.code",
          "position": [
            -1856,
            2336
          ],
          "parameters": {
            "jsCode": "const deadlineData = $('Analyze Deadlines').first().json;\nconst aiResponse = $input.first().json;\n\nlet aiInsights = 'AI analysis completed';\ntry {\n  aiInsights = aiResponse.choices[0].message.content;\n} catch (e) {\n  aiInsights = 'AI analysis unavailable';\n}\n\nreturn {\n  ...deadlineData,\n  aiInsights: aiInsights\n};"
          },
          "typeVersion": 2
        },
        {
          "id": "5d987c19-ccb9-48cc-8070-11c355c8f55f",
          "name": "Has Deadlines",
          "type": "n8n-nodes-base.if",
          "position": [
            -1632,
            2336
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "number": [
                {
                  "value1": "={{ $json.totalUpcoming }}",
                  "value2": 0,
                  "operation": "larger"
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "db1f10ec-9594-4446-9c9d-c42321165efa",
          "name": "Is Critical",
          "type": "n8n-nodes-base.if",
          "position": [
            -1408,
            2240
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "boolean": [
                {
                  "value1": "={{ $json.requiresImmediateAction }}",
                  "value2": true
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "a8409e3e-720e-4163-b730-cfdfeb22a1b8",
          "name": "Format Email",
          "type": "n8n-nodes-base.code",
          "position": [
            -1184,
            2144
          ],
          "parameters": {
            "jsCode": "const data = $input.first().json;\n\nconst emailHtml = `\n<html>\n<body style=\"font-family: Arial; padding: 20px;\">\n  <div style=\"background: #1e3c72; color: white; padding: 30px; text-align: center;\">\n    <h1>Tax Compliance Alert</h1>\n    <p>${data.date} | Alert: ${data.alertLevel}</p>\n  </div>\n  <div style=\"padding: 20px;\">\n    <h3>Summary</h3>\n    <p><strong>Overdue:</strong> ${data.overdueCount}</p>\n    <p><strong>Critical (≤3 days):</strong> ${data.criticalCount}</p>\n    <p><strong>Next 7 Days:</strong> ${data.next7Days}</p>\n    <p><strong>Total Upcoming:</strong> ${data.totalUpcoming}</p>\n    ${data.overdueDeadlines.length > 0 ? `\n      <div style=\"background: #ffebee; padding: 15px; margin: 20px 0;\">\n        <h3 style=\"color: #c62828;\">OVERDUE DEADLINES</h3>\n        ${data.overdueDeadlines.map(dl => `\n          <p><strong>${dl.name}</strong><br>\n          Due: ${dl.deadlineDate} (${Math.abs(dl.daysUntil)} days overdue)<br>\n          Assigned: ${dl.assignedTo}</p>\n        `).join('')}\n      </div>\n    ` : ''}\n    ${data.criticalDeadlines.length > 0 ? `\n      <div style=\"background: #fff3e0; padding: 15px; margin: 20px 0;\">\n        <h3 style=\"color: #f57c00;\">CRITICAL DEADLINES</h3>\n        ${data.criticalDeadlines.map(dl => `\n          <p><strong>${dl.name}</strong><br>\n          Due: ${dl.deadlineDate} (${dl.daysUntil} days)<br>\n          Assigned: ${dl.assignedTo}</p>\n        `).join('')}\n      </div>\n    ` : ''}\n    <h3>AI Insights</h3>\n    <p>${data.aiInsights}</p>\n  </div>\n</body>\n</html>\n`;\n\nreturn {\n  ...data,\n  emailHtml: emailHtml,\n  emailSubject: `${data.alertLevel} Tax Alert - ${data.overdueCount} Overdue, ${data.criticalCount} Critical`\n};"
          },
          "typeVersion": 2
        },
        {
          "id": "3153af6e-e5eb-4560-a406-14b85781064a",
          "name": "Send Email",
          "type": "n8n-nodes-base.emailSend",
          "position": [
            -960,
            2144
          ],
          "webhookId": "cf96020d-2cb8-4a71-b6f6-d211a2c56dcd",
          "parameters": {
            "options": {},
            "subject": "={{ $json.emailSubject }}",
            "toEmail": "user@example.com",
            "fromEmail": "user@example.com"
          },
          "credentials": {
            "smtp": {
              "id": "credential-id",
              "name": "smtp Credential"
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "a57f0035-73a4-4720-8de1-9315d6a28c3a",
          "name": "Format Slack",
          "type": "n8n-nodes-base.code",
          "position": [
            -1184,
            2336
          ],
          "parameters": {
            "jsCode": "const data = $input.first().json;\n\nconst blocks = [\n  {\n    type: \"header\",\n    text: {\n      type: \"plain_text\",\n      text: `Tax Alert - ${data.date}`,\n      emoji: true\n    }\n  },\n  {\n    type: \"section\",\n    fields: [\n      { type: \"mrkdwn\", text: `*Overdue:* ${data.overdueCount}` },\n      { type: \"mrkdwn\", text: `*Critical:* ${data.criticalCount}` },\n      { type: \"mrkdwn\", text: `*Next 7 Days:* ${data.next7Days}` },\n      { type: \"mrkdwn\", text: `*Total:* ${data.totalUpcoming}` }\n    ]\n  }\n];\n\nif (data.overdueDeadlines.length > 0) {\n  blocks.push({\n    type: \"section\",\n    text: {\n      type: \"mrkdwn\",\n      text: `*OVERDUE:*\\n${data.overdueDeadlines.map(dl => `• ${dl.name} - ${Math.abs(dl.daysUntil)} days overdue`).join('\\n')}`\n    }\n  });\n}\n\nif (data.criticalDeadlines.length > 0) {\n  blocks.push({\n    type: \"section\",\n    text: {\n      type: \"mrkdwn\",\n      text: `*CRITICAL:*\\n${data.criticalDeadlines.map(dl => `• ${dl.name} - ${dl.daysUntil} days left`).join('\\n')}`\n    }\n  });\n}\n\nreturn { ...data, slackBlocks: blocks };"
          },
          "typeVersion": 2
        },
        {
          "id": "12d16c58-99c9-4b5c-b35c-6ed7474f64a1",
          "name": "Send to Slack",
          "type": "n8n-nodes-base.slack",
          "position": [
            -960,
            2336
          ],
          "webhookId": "65d9c2b2-262e-4881-aa9b-2979175cf756",
          "parameters": {
            "text": "=Tax Alert",
            "select": "channel",
            "channelId": {
              "__rl": true,
              "mode": "id",
              "value": "C12345678"
            },
            "otherOptions": {}
          },
          "credentials": {
            "slackApi": {
              "id": "credential-id",
              "name": "slackApi Credential"
            }
          },
          "typeVersion": 2.2
        },
        {
          "id": "6612a7be-3eb9-4283-b95f-e82867780a3c",
          "name": "Log to Sheet1",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            -1408,
            2432
          ],
          "parameters": {
            "columns": {
              "value": {},
              "schema": [],
              "mappingMode": "autoMapInputData",
              "matchingColumns": [],
              "attemptToConvertTypes": false,
              "convertFieldsToString": false
            },
            "options": {},
            "operation": "append",
            "sheetName": {
              "__rl": true,
              "mode": "name",
              "value": "ComplianceLog"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "YOUR_LOG_ID"
            },
            "authentication": "serviceAccount"
          },
          "credentials": {
            "googleApi": {
              "id": "credential-id",
              "name": "googleApi Credential"
            }
          },
          "typeVersion": 4.2
        },
        {
          "id": "67ad55a3-bd1e-4bab-bf9a-1787565461b7",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2784,
            2192
          ],
          "parameters": {
            "width": 182,
            "height": 304,
            "content": "**Daily Trigger** - Runs at 8:00 AM every morning\n"
          },
          "typeVersion": 1
        },
        {
          "id": "7f4c325c-81be-4e9c-ab74-400d75704a90",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2560,
            2048
          ],
          "parameters": {
            "color": 4,
            "width": 182,
            "height": 560,
            "content": "**Fetch Data** - Pulls tax calendar and company configuration from Google Sheets\n"
          },
          "typeVersion": 1
        },
        {
          "id": "8002d149-5674-4f60-a5c7-2ad68a0d2f10",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2336,
            2176
          ],
          "parameters": {
            "width": 182,
            "height": 304,
            "content": "**Analyze Deadlines** - Calculates days remaining, filters by jurisdiction/entity type, categorizes by priority\n"
          },
          "typeVersion": 1
        },
        {
          "id": "e4d30c91-ff1a-4463-81e7-a88ee1175514",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2128,
            2176
          ],
          "parameters": {
            "color": 4,
            "width": 182,
            "height": 304,
            "content": "**AI Analysis** - GPT-4 provides strategic insights and risk assessment on upcoming deadlines\n"
          },
          "typeVersion": 1
        },
        {
          "id": "1402e736-4cbb-47a7-be96-237c269c5d19",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1888,
            2160
          ],
          "parameters": {
            "width": 614,
            "height": 400,
            "content": "**Smart Routing** - Only sends alerts if overdue or critical deadlines exist\n\n**Logging** - Records compliance check results to Google Sheets for audit trail\n"
          },
          "typeVersion": 1
        },
        {
          "id": "4ed27c59-2e95-471f-89ea-c5309aaa6afc",
          "name": "Sticky Note6",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1232,
            1856
          ],
          "parameters": {
            "color": 4,
            "width": 390,
            "height": 640,
            "content": "**Critical Alerts** - HTML email to executives + Slack alert for urgent items\n"
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "1853f22a-7d32-4bf5-a7da-329e185512f5",
      "connections": {
        "AI Analysis": {
          "main": [
            [
              {
                "node": "Merge AI Insights",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Is Critical": {
          "main": [
            [
              {
                "node": "Format Email",
                "type": "main",
                "index": 0
              },
              {
                "node": "Format Slack",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Format Email": {
          "main": [
            [
              {
                "node": "Send Email",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Format Slack": {
          "main": [
            [
              {
                "node": "Send to Slack",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Has Deadlines": {
          "main": [
            [
              {
                "node": "Is Critical",
                "type": "main",
                "index": 0
              },
              {
                "node": "Log to Sheet1",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Daily Tax Check": {
          "main": [
            [
              {
                "node": "Fetch Tax Calendar",
                "type": "main",
                "index": 0
              },
              {
                "node": "Fetch Company Config",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Analyze Deadlines": {
          "main": [
            [
              {
                "node": "AI Analysis",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Merge AI Insights": {
          "main": [
            [
              {
                "node": "Has Deadlines",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Fetch Tax Calendar": {
          "main": [
            [
              {
                "node": "Analyze Deadlines",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Fetch Company Config": {
          "main": [
            [
              {
                "node": "Analyze Deadlines",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 1,
    "workflowInfo": {
      "nodeCount": 19,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 2
        },
        "n8n-nodes-base.code": {
          "count": 4
        },
        "n8n-nodes-base.slack": {
          "count": 1
        },
        "n8n-nodes-base.emailSend": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 6
        },
        "n8n-nodes-base.httpRequest": {
          "count": 1
        },
        "n8n-nodes-base.googleSheets": {
          "count": 3
        },
        "n8n-nodes-base.scheduleTrigger": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Oneclick AI Squad",
      "username": "oneclick-ai",
      "bio": "The AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations  from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.",
      "verified": true,
      "links": [
        "https://www.oneclickitsolution.com/"
      ],
      "avatar": "https://gravatar.com/avatar/848fca91367142f65f9e5c55d64e5c9952b160d7b060d103b52aa343c6bc7b3d?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 11,
        "icon": "fa:envelope",
        "name": "n8n-nodes-base.emailSend",
        "codex": {
          "data": {
            "alias": [
              "SMTP",
              "email",
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "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/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"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/sendemail/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Send Email",
          "color": "#00bb88"
        },
        "iconData": {
          "icon": "envelope",
          "type": "icon"
        },
        "displayName": "Send Email",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "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": 19,
        "icon": "file:httprequest.svg",
        "name": "n8n-nodes-base.httpRequest",
        "codex": {
          "data": {
            "alias": [
              "API",
              "Request",
              "URL",
              "Build",
              "cURL"
            ],
            "resources": {
              "generic": [
                {
                  "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/automatically-pulling-and-visualizing-data-with-n8n/",
                  "icon": "📈",
                  "label": "Automatically pulling and visualizing data with n8n"
                },
                {
                  "url": "https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/",
                  "icon": "✍️",
                  "label": "Learn how to automatically cross-post your content 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/running-n8n-on-ships-an-interview-with-maranics/",
                  "icon": "🛳",
                  "label": "Running n8n on ships: An interview with Maranics"
                },
                {
                  "url": "https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/",
                  "icon": " 🪢",
                  "label": "What are APIs and how to use them with no code"
                },
                {
                  "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/world-poetry-day-workflow/",
                  "icon": "📜",
                  "label": "Celebrating World Poetry Day with a daily poem in Telegram"
                },
                {
                  "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/automate-designs-with-bannerbear-and-n8n/",
                  "icon": "🎨",
                  "label": "Automate Designs with Bannerbear and n8n"
                },
                {
                  "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/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/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/",
                  "icon": "🧰",
                  "label": "How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"
                },
                {
                  "url": "https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/",
                  "icon": "🦄",
                  "label": "Learn how to use webhooks with Mattermost slash commands"
                },
                {
                  "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/automations-for-activists/",
                  "icon": "✨",
                  "label": "How Common Knowledge use workflow automation for activism"
                },
                {
                  "url": "https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/",
                  "icon": "🤟",
                  "label": "Creating scheduled text affirmations with n8n"
                },
                {
                  "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.httprequest/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "HTTP Request",
          "color": "#0004F5"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="
        },
        "displayName": "HTTP Request",
        "typeVersion": 4,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "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": 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": 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": 834,
        "icon": "file:code.svg",
        "name": "n8n-nodes-base.code",
        "codex": {
          "data": {
            "alias": [
              "cpde",
              "Javascript",
              "JS",
              "Python",
              "Script",
              "Custom Code",
              "Function"
            ],
            "details": "The Code node allows you to execute JavaScript in your workflow.",
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers",
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Code"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="
        },
        "displayName": "Code",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "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"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 35,
        "name": "Document Extraction"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}