{"workflow":{"id":14718,"name":"Escalate overdue and blocked Jira tickets with Gmail and Google Chat","views":1,"recentViews":1,"totalViews":1,"createdAt":"2026-04-04T18:11:25.807Z","description":"# How it works\n- Fetches all open sprint tickets daily from your Jira project\n- Analyzes each ticket for overdue days and blocked status\n- Routes to the right escalation level: assignee email → team Google Chat alert → manager escalation\n\n# Set up steps\n- Add your Jira Software Cloud credentials in n8n\n- Add your Gmail OAuth2 credentials in n8n\n- Open the ⚙️ CONFIG node and fill in your 4 values (Jira domain, project key, manager email, Google Chat webhook)\n- Test with the Manual Trigger, then enable the Schedule Trigger","workflow":{"id":"lBzYkA3Hk0wMPihF","meta":{"instanceId":"","templateCredsSetupCompleted":false},"name":"Jira Ticket Deadline & Blockage Notifier","tags":[],"nodes":[{"id":"c93cacbb-f5fd-4d12-9c8b-cb1a08c6215d","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[6016,3088],"parameters":{},"typeVersion":1},{"id":"6f4473d4-0134-4d95-8fba-ca32bc22298e","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[7424,2704],"parameters":{"options":{}},"typeVersion":3},{"id":"341ef938-af93-46e2-a454-64ea5c7f991c","name":"END PROCESS","type":"n8n-nodes-base.noOp","position":[8960,2256],"parameters":{},"typeVersion":1},{"id":"b351a94f-3217-4daf-9f6f-2a102aa23044","name":"Note - Level 1 Reminder","type":"n8n-nodes-base.stickyNote","position":[8896,2528],"parameters":{"color":7,"width":720,"height":272,"content":"## LEVEL 1 -> REMINDER ASSIGNEE 🧠\n- [0 - 2] Imminent DueDate → Send email to ticket assignee"},"typeVersion":1},{"id":"0c9fb7ab-4cb6-4400-80bf-79f9d3921801","name":"Note - Level 2 Warning","type":"n8n-nodes-base.stickyNote","position":[8896,2848],"parameters":{"color":7,"width":1152,"height":560,"content":"## LEVEL 2 -> (WARNING ASSIGNEE OR NOTIFICATION CHANNEL) -> WARNING ⚠️\n\n* **if [1 - 2] OverDue Days** → Send Email to ticket assignee\n\n* **if ]2 - 4] OverDue Days** → Send notification to google chat dedicated channel"},"typeVersion":1},{"id":"ff65c963-1b31-474a-9283-7061d3d9679e","name":"Note - Level 3 Escalation","type":"n8n-nodes-base.stickyNote","position":[8896,3456],"parameters":{"color":7,"width":768,"height":288,"content":"## LEVEL 3 -> ESCALATION MANAGER -> ALERT 🚨\n* Greater than 4 OverDue Days → Send email to manager(s)"},"typeVersion":1},{"id":"c3235594-6225-4c8e-aebd-f64239a38217","name":"ROUTES","type":"n8n-nodes-base.switch","position":[7984,2912],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"37e0a73e-2415-4fc1-9998-4a261194236f","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $input.last().json.isImminent }}","rightValue":""}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0c83b937-ca5a-49ec-be1a-194eb4c6e1f4","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $input.last().json.isOverdue && $input.last().json.overdue_days <= 4}}","rightValue":""}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8d2eb47c-6428-4eee-a554-00eac1e7fbd8","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $input.last().json.isOverdue && $input.last().json.overdue_days > 4  }}","rightValue":""}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"e782ccbf-8565-428b-92dc-3deb04531162","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{  $input.last().json.isBlocked }}","rightValue":""}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d68ebbe7-614e-4bbb-8f1a-28a77fa31a0c","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ true // Continue Loop }}","rightValue":""}]}}]},"options":{"allMatchingOutputs":true}},"typeVersion":3.4},{"id":"9d5faec2-6653-4007-bf77-c35d16f2260d","name":"Note - What Is This Workflow","type":"n8n-nodes-base.stickyNote","position":[5824,2016],"parameters":{"width":640,"height":944,"content":"## Jira Tickets Monitoring — Deadlines & Blockages 🚨\n\nAutomate Jira ticket monitoring with progressive escalation to assignees, teams, and managers.\n\n\n### How it works\n\nFetches all open sprint tickets daily and routes each one based on its status:\n\n- 🧠 **Reminder** `[0–2 days left]` → Email to assignee\n- ⚠️ **Warning** `[1–4 days overdue]` → Email to assignee or Google Chat alert\n- 🚨 **Escalation** `[> 4 days overdue]` → Email to manager(s)\n- 🔴 **Blocked** → Escalates over 3 days: assignee email → team chat → manager\n\n\n### How to use\n\nEdit only the **⚙️ CONFIG** node with your 4 values, then enable the Schedule Trigger.\n\n\n### Requirements\n\n- Jira Software Cloud\n- Gmail (OAuth2)\n- Google Chat Webhook\n\n\n### ⚙️ CONFIG\n\n- `JIRA_DOMAIN`: e.g `my-company.atlassian.net`\n- `JIRA_PROJECT_KEY`: e.g. `PROJ`\n- `MANAGER_EMAILS`: Escalation recipient(s)\n- `GOOGLE_CHAT_WEBHOOK_URL`: Your Google Chat space webhook\n\n\n### Need Help?\n\nVisit 👉 [aixautomation.tech](https://aixautomation.tech/)"},"typeVersion":1},{"id":"ea6adf87-9a03-4eab-ac3e-198c179dd8b9","name":"MANAGER_ESCALATION","type":"n8n-nodes-base.gmail","onError":"continueRegularOutput","position":[9008,3568],"webhookId":"0d653565-9b18-473e-8246-cee2a4dae21c","parameters":{"sendTo":"={{ $('⚙️ CONFIG').first().json.MANAGER_EMAILS }}","message":"=Hello {{ $input.last().json.assignee.displayName }}, This is an alert for an overdue ticket: https://{{ $('⚙️ CONFIG').first().json.JIRA_DOMAIN }}/browse/{{ $input.last().json.key }}","options":{},"subject":"Jira DueDate Ticket Alert 🚨","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"retryOnFail":true,"typeVersion":2.2,"waitBetweenTries":5000},{"id":"d797d9f0-a813-4805-8792-91bbdffdc3f1","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[6432,3104],"parameters":{"rule":{"interval":[{"triggerAtHour":7}]}},"typeVersion":1.3},{"id":"0e6f9872-5176-4357-a969-b90bb0e45803","name":"Note - Blocked Tickets Logic","type":"n8n-nodes-base.stickyNote","position":[8896,3808],"parameters":{"color":7,"width":2464,"height":720,"content":"## Blocked Tickets (WARNING ASSIGNEE  ⚠️  OR ESCALATION EMAIL 🚨)\n* Blocked + 1 Days → Send Email to ticket assignee\n* Blocked + 2 Days -> Notify google chat team\n* Blocked + 3 Days → send email to manager. \n"},"typeVersion":1},{"id":"d6ee8543-a77f-4864-be81-f8c8bf15d026","name":"MANAGER_ESCALATION_BLOCKED","type":"n8n-nodes-base.gmail","onError":"continueRegularOutput","position":[10464,4240],"webhookId":"0d653565-9b18-473e-8246-cee2a4dae21c","parameters":{"sendTo":"={{ $input.last().json.data.assignee.emailAddress }}","message":"=Hello {{ $input.last().json.data.assignee.displayName }}, This an Alert for blocked ticket: https://{{ $('⚙️ CONFIG').first().json.JIRA_DOMAIN }}/browse/{{ $input.last().json.data.key }}","options":{},"subject":"Jira Blocked Ticket Alert 🚨","emailType":"text"},"retryOnFail":true,"typeVersion":2.2,"waitBetweenTries":5000},{"id":"579919c1-a353-479b-b5b3-c2f9282a51fb","name":"IS_OVERDUE_BETWEEN","type":"n8n-nodes-base.if","position":[8976,3040],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"23a7703e-2b5f-4244-869b-23af22a1fec4","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $input.last().json.overdue_days >= 1 &&  $input.last().json.overdue_days <= 2 }}","rightValue":0}]}},"typeVersion":2.3},{"id":"c3fc68cd-b7ee-4861-8a4d-ab0082e34b2d","name":"AGGREGATE_ITEMS","type":"n8n-nodes-base.aggregate","position":[9184,4144],"parameters":{"include":"specifiedFields","options":{},"aggregate":"aggregateAllItemData","fieldsToInclude":"created, items","destinationFieldName":"jira_issue_changelog"},"typeVersion":1},{"id":"6baf8aac-d716-43af-9eb1-604051410174","name":"DATA_FLOW","type":"n8n-nodes-base.code","position":[8976,3968],"parameters":{"jsCode":"return (\n  [\n    {\n      json: {\n        ...$input.last().json\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"47bb7350-1d66-4fc0-aad9-3633cda23f11","name":"MERGE_DATA","type":"n8n-nodes-base.merge","position":[9424,3984],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"executeOnce":true,"typeVersion":3.2},{"id":"46e9dc22-e952-41ce-bffd-25094fa3fc42","name":"GET_BLOCKED_ITEM","type":"n8n-nodes-base.code","position":[9664,3984],"parameters":{"jsCode":"const blocked_item = $input.last().json.jira_issue_changelog.filter((item) => {\n  return (\n    // filter by labels field\n    item.items[0].field == \"labels\" && item.items[0].toString === \"blocked\"\n  )\n})\n\n\nreturn (\n  [\n    {\n      json: {\n        blocked_item,\n        data: $input.last().json\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"a9ae5760-cf82-46ef-943c-d03e39bf700f","name":"COMPUTE_BLOCKED_DAYS","type":"n8n-nodes-base.code","position":[9872,3984],"parameters":{"jsCode":"const today = new Date();\nconst blocked_date = new Date($input.last().json.blocked_item[0].created)\nconst diff = today - blocked_date;\nconst blocked_days = Math.floor(diff / (1000 * 60 * 60 * 24));\n\nreturn (\n  [\n    {\n      json: {\n        blocked_days,\n        data: $input.last().json.data\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"d4f1ac3c-7605-4ec3-81d6-7fee1ac68dc6","name":"Switch","type":"n8n-nodes-base.switch","position":[10080,3952],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"b899124e-ca75-4da5-8819-d31e7984559a","operator":{"type":"number","operation":"equals"},"leftValue":"={{ $input.last().json.blocked_days }}","rightValue":1}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"c8d62507-f9dd-4128-a443-b64eafad39fa","operator":{"type":"number","operation":"equals"},"leftValue":"={{ $input.last().json.blocked_days }}","rightValue":2}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"e94bcb44-3073-483c-a487-dfcdbb7e32aa","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $input.last().json.blocked_days }}","rightValue":"3"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"3b878fe6-a918-4920-8602-f43ef9d9424b","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ true // continue loop }}","rightValue":""}]}}]},"options":{}},"typeVersion":3.4},{"id":"73b5c491-72da-4d7c-8d87-70415098ec95","name":"CONTINUE_LOOP","type":"n8n-nodes-base.code","position":[8224,3232],"parameters":{"jsCode":"return (\n  [\n    {\n      json: {\n        success: true\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"4190444b-8700-4614-a0a6-04865a15d434","name":"CONTINUE_LOOP_OVERDUE_WARNING","type":"n8n-nodes-base.code","position":[9472,2624],"parameters":{"jsCode":"return (\n  [\n    {\n      json: {\n        success_leve_1: true\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"0e5b6ed1-0f0d-4089-aa75-b2c1a1cbdc73","name":"CONTINUE_LOOP_ESCALATION","type":"n8n-nodes-base.code","position":[9904,3232],"parameters":{"jsCode":"return (\n  [\n    {\n      json: {\n        success_leve_2: true\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"13d4646e-9424-4f16-be04-4f056de51843","name":"CONTINUE_LOOP_BLOCKED_WARNING","type":"n8n-nodes-base.code","position":[9520,3568],"parameters":{"jsCode":"return (\n  [\n    {\n      json: {\n        success_leve_3: true\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"d31106b5-5277-40b2-a544-092744f58a33","name":"CONTINUE_LOOP_BLOCKED_ESCALATION","type":"n8n-nodes-base.code","position":[11216,4352],"parameters":{"jsCode":"return (\n  [\n    {\n      json: {\n        success_leve_4: true\n      }\n    }\n  ]\n)"},"typeVersion":2},{"id":"e02a848a-dad0-4c0e-a203-2e9c46f72859","name":"GET_JIRA_ISSUES","type":"n8n-nodes-base.jira","position":[6976,2704],"parameters":{"options":{"jql":"=project = {{ $('⚙️ CONFIG').first().json.JIRA_PROJECT_KEY }} AND status != Done AND sprint in openSprints()"},"operation":"getAll","returnAll":true},"credentials":{"jiraSoftwareCloudApi":{"id":"credential-id","name":"Jira SW Cloud account"}},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":5000},{"id":"039f87a2-b2a1-4f2a-91f3-afec38ac6464","name":"GET_ISSUES_LIST","type":"n8n-nodes-base.code","position":[7216,2704],"parameters":{"jsCode":"const issues = $input.all().map((e) => {\n  const new_obj = {\n    key:e.json.key,\n    due_date:e.json.fields.duedate,\n    assignee:e.json.fields.assignee,\n    labels:e.json.fields.labels\n  }\n  return (\n    new_obj\n  )\n})\n\nconst issues_list = issues.filter((e) => {\n  return (e.due_date != null)\n})\n\nreturn (\n  [\n    ...issues_list\n  ]\n);"},"typeVersion":2},{"id":"d5931d7e-6b2c-4557-b94a-3c01a06bca09","name":"ISSUE_DATE_INSIGHTS","type":"n8n-nodes-base.code","position":[7728,2912],"parameters":{"jsCode":"const dueDate_string = $input.last().json.due_date;\nconst today_string = new Date().toISOString().split('T')[0];\nconst key = $input.last().json.key;\nconst assignee = $input.last().json.assignee;\n\nconst due = new Date(dueDate_string);\nconst tod = new Date()\n// difftime < 0 overdue, == 0 duedate, > 0 still on date\nconst diffTime = due - tod;\nconst daysLeft = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n\nreturn [\n  {\n    json: {\n      key,\n      dueDate_string,\n      today_string,\n      isOverdue: daysLeft < 0 ? true : false,\n      isImminent: daysLeft >= 0 && daysLeft <= 2,\n      isBlocked: $input.last().json.labels.includes(\"blocked\"),\n      days_left: daysLeft,\n      overdue_days: daysLeft < 0 ? daysLeft * -1 : 0,\n      assignee: assignee\n    }\n  }\n];"},"typeVersion":2},{"id":"7bb905aa-b11a-49e5-b7b1-2c6c4b839387","name":"GET_ISSUE_CHANGELOG","type":"n8n-nodes-base.jira","position":[8976,4144],"parameters":{"issueKey":"={{ $input.last().json.key }}","operation":"changelog"},"executeOnce":false,"typeVersion":1},{"id":"bf6c3148-f27f-493f-98c1-30bdfadc19db","name":"Note - Production Quotas Warning","type":"n8n-nodes-base.stickyNote","position":[10224,2608],"parameters":{"color":3,"width":560,"height":1120,"content":"## TO CONSIDER FOR PRODUCTION: ⚠️ GMAIL / GOOGLE CHAT QUOTA ⚠️\n\n\n### 💬 Google Chat Webhook Quotas\n* **Per-Space Limit:** 60 messages / minute (Strict).\n* **Per-Project Limit:** 3,000 messages / minute.\n* **Max Message Size:** ~32 KB.\n> **Tip:** In HTTP Node, set Batching to **1 item per 1000ms**.\n\n---\n\n\n### 📧 Gmail API Quotas (n8n Node)\n* **Daily Limit (Workspace):** 2,000 recipients / day.\n* **Daily Limit (Free):** 500 recipients / day.\n* **Burst Rate:** ~1–3 emails per second.\n> **Tip:** **Split In Batches** (Size 1) + **Wait Node** (1s).\n\n---\n\n\n### 🛠️ Error Handling Strategy\n* **Retry on Failure:**\n* **Max Retries:** 3\n* **Delay Between Retries:** 5000ms (5 seconds).\n* **Error Action:** \"Continue\" to avoid stopping the whole workflow."},"typeVersion":1},{"id":"96aeefd6-6ef9-46c9-b53f-746bd0396c66","name":"Wait - Rate Limit (Blocked Escalation)","type":"n8n-nodes-base.wait","position":[10960,4304],"webhookId":"e0ac94d8-7a0f-4784-9b30-9bc39e1c8355","parameters":{"amount":1},"typeVersion":1.1},{"id":"ab8da30a-eb23-4e26-89fc-955d02e6f7c0","name":"Wait - Rate Limit (Reminder)","type":"n8n-nodes-base.wait","position":[9232,2624],"webhookId":"e0ac94d8-7a0f-4784-9b30-9bc39e1c8355","parameters":{"amount":1},"typeVersion":1.1},{"id":"b54bacd9-b0d7-4163-985e-cad1b494b8a3","name":"Wait - Rate Limit (Warning)","type":"n8n-nodes-base.wait","position":[9664,3232],"webhookId":"e0ac94d8-7a0f-4784-9b30-9bc39e1c8355","parameters":{"amount":1},"typeVersion":1.1},{"id":"8c494186-d369-438c-a8ec-199ba4c0f8c6","name":"Wait - Rate Limit (Escalation)","type":"n8n-nodes-base.wait","position":[9248,3568],"webhookId":"e0ac94d8-7a0f-4784-9b30-9bc39e1c8355","parameters":{"amount":1},"typeVersion":1.1},{"id":"d77dc4fc-49fb-4a77-802d-5bcdafb6ed09","name":"NOTIFY_TEAM","type":"n8n-nodes-base.httpRequest","notes":"Quota                       | TypeLimit (per 60 seconds)  |       Impact\n\nPer-Project (Write)\t | 3,000 messages\t| This is the total messages your \"app\" (webhook) can send across all spaces it has access to.\n\nPer-Space (Write)\t | 60 messages\t| This is the limit for a single chat space. If you send more than 1 message per second to one channel, you will hit this.\n\nMessage Size\t         | ~32 KB\t        |  A single message (including text and any card JSON) cannot exceed roughly 32 KB","position":[9408,3232],"parameters":{"url":"={{ $('⚙️ CONFIG').first().json.GOOGLE_CHAT_WEBHOOK_URL }}","method":"POST","options":{"batching":{"batch":{"batchSize":1,"batchInterval":1100}}},"jsonBody":"={\n  \"cards\": [\n    {\n      \"header\": {\n        \"title\": \"Jira DueDate Ticket Warning ⚠️\"\n      },\n      \"sections\": [\n        {\n          \"widgets\": [\n            {\n              \"textParagraph\": {\n                \"text\": \"<b>Issue:</b> {{ $input.last().json.key }}\"\n              }\n            },\n            {\n              \"textParagraph\": {\n                \"text\": \"<b>Assignee:</b> {{ $input.last().json.assignee.displayName }}\"\n              }\n            },\n            {\n              \"textParagraph\": {\n                \"text\": \"<b>Due date:</b> {{ $input.last().json.dueDate_string }}\"\n              }\n            },\n            {\n              \"textParagraph\": {\n                \"text\": \"{{ $input.last().json.isOverdue ? '⏱️ Cette tâche est en retard.' : '⏱️ Cette tâche est proche de la deadline.' }}\"\n              }\n            }\n          ]\n        },\n        {\n          \"widgets\": [\n            {\n              \"buttons\": [\n                {\n                  \"textButton\": {\n                    \"text\": \"VOIR LE TICKET\",\n                    \"onClick\": {\n                      \"openLink\": {\n                        \"url\": \"https://{{ $('⚙️ CONFIG').first().json.JIRA_DOMAIN }}/browse/{{ $input.last().json.key }}\"\n                      }\n                    }\n                  }\n                }\n              ]\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.4},{"id":"7115286c-b711-4cf8-9523-ce3e2509cc22","name":"SEND_BLOCKED_WARNING","type":"n8n-nodes-base.gmail","onError":"continueRegularOutput","position":[10464,3840],"webhookId":"2d7184d6-de02-40f3-964a-cbb084de7c07","parameters":{"sendTo":"={{ $input.last().json.data.assignee.emailAddress }}","message":"=Hello {{ $input.last().json.data.assignee.displayName }}, This a warning for your blocked ticket: https://{{ $('⚙️ CONFIG').first().json.JIRA_DOMAIN }}/browse/{{ $input.last().json.data.key }}","options":{},"subject":"Jira Blocked Ticket Warning ⚠️","emailType":"text"},"retryOnFail":true,"typeVersion":2.2,"waitBetweenTries":5000},{"id":"886ec602-647b-40f2-8846-1ebf8421769f","name":"SEND_DUEDATE_REMINDER","type":"n8n-nodes-base.gmail","notes":"Account                          |   TypeDaily Sending Limit   |    Burst Limit (Rate)\n\nFree Gmail                      |  ~500 recipients/day          |    ~1 email per second\n\nGoogle Workspace        |    ~2,000 recipients/day     |    ~2–3 emails per second","onError":"continueRegularOutput","position":[8992,2624],"webhookId":"2d7184d6-de02-40f3-964a-cbb084de7c07","parameters":{"sendTo":"={{ $input.last().json.assignee.emailAddress }}","message":"=Hello {{ $input.last().json.assignee.displayName }}, This is a reminder for your imminent ticket: https://{{ $('⚙️ CONFIG').first().json.JIRA_DOMAIN }}/browse/{{ $input.last().json.key }}","options":{},"subject":"Jira DueDate Ticket Reminder 🧠","emailType":"text"},"retryOnFail":true,"typeVersion":2.2,"waitBetweenTries":5000},{"id":"bfb53c90-8246-4f95-8cdc-0d1890b72a33","name":"SEND_DUEDATE_WARNING","type":"n8n-nodes-base.gmail","onError":"continueRegularOutput","position":[9408,3024],"webhookId":"2d7184d6-de02-40f3-964a-cbb084de7c07","parameters":{"sendTo":"={{ $input.last().json.assignee.emailAddress }}","message":"=Hello {{ $input.last().json.assignee.displayName }}, This is a warning for your overdue ticket: https://{{ $('⚙️ CONFIG').first().json.JIRA_DOMAIN }}/browse/{{ $input.last().json.key }}","options":{},"subject":"Jira DueDate Ticket  Warning ⚠️","emailType":"text"},"retryOnFail":true,"typeVersion":2.2,"waitBetweenTries":5000},{"id":"6c9b5ebc-ec31-482e-89fa-e2df0f683975","name":"NOTIFY_TEAM_BLOCKED","type":"n8n-nodes-base.httpRequest","notes":"Quota                       | TypeLimit (per 60 seconds)  |       Impact\n\nPer-Project (Write)\t | 3,000 messages\t| This is the total messages your \"app\" (webhook) can send across all spaces it has access to.\n\nPer-Space (Write)\t | 60 messages\t| This is the limit for a single chat space. If you send more than 1 message per second to one channel, you will hit this.\n\nMessage Size\t         | ~32 KB\t        |  A single message (including text and any card JSON) cannot exceed roughly 32 KB","position":[10464,4048],"parameters":{"url":"={{ $('⚙️ CONFIG').first().json.GOOGLE_CHAT_WEBHOOK_URL }}","method":"POST","options":{"batching":{"batch":{"batchSize":1,"batchInterval":1100}}},"jsonBody":"={\n  \"cards\": [\n    {\n      \"header\": {\n        \"title\": \"Jira DueDate Ticket Warning ⚠️\"\n      },\n      \"sections\": [\n        {\n          \"widgets\": [\n            {\n              \"textParagraph\": {\n                \"text\": \"<b>Issue:</b> {{ $input.last().json.key }}\"\n              }\n            },\n            {\n              \"textParagraph\": {\n                \"text\": \"<b>Assignee:</b> {{ $input.last().json.assignee.displayName }}\"\n              }\n            },\n            {\n              \"textParagraph\": {\n                \"text\": \"<b>Due date:</b> {{ $input.last().json.dueDate_string }}\"\n              }\n            },\n            {\n              \"textParagraph\": {\n                \"text\": \"{{ $input.last().json.isOverdue ? '⏱️ Cette tâche est en retard.' : '⏱️ Cette tâche est proche de la deadline.' }}\"\n              }\n            }\n          ]\n        },\n        {\n          \"widgets\": [\n            {\n              \"buttons\": [\n                {\n                  \"textButton\": {\n                    \"text\": \"VOIR LE TICKET\",\n                    \"onClick\": {\n                      \"openLink\": {\n                        \"url\": \"https://{{ $('⚙️ CONFIG').first().json.JIRA_DOMAIN }}/browse/{{ $input.last().json.key }}\"\n                      }\n                    }\n                  }\n                }\n              ]\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.4},{"id":"6d921474-4367-49df-bcce-5663e9904d49","name":"Note - Manual Testing Trigger","type":"n8n-nodes-base.stickyNote","position":[5824,2992],"parameters":{"color":7,"width":480,"height":288,"content":"## MANUAL TRIGGER FOR TESTING"},"typeVersion":1},{"id":"24fe6d20-c826-44bf-8bb5-45a5bcb1b8ae","name":"⚙️ CONFIG","type":"n8n-nodes-base.set","position":[6656,2704],"parameters":{"options":{},"assignments":{"assignments":[{"id":"20ec815c-0122-4afd-8e28-92331aebc688","name":"JIRA_DOMAIN","type":"string","value":"YOUR-COMPANY.atlassian.net"},{"id":"8ceaeb0e-a182-400f-811f-9c874abaa615","name":"JIRA_PROJECT_KEY","type":"string","value":"YOUR_PROJECT_KEY"},{"id":"2be49975-547f-4515-af08-2dc8f88f4a22","name":"MANAGER_EMAILS","type":"string","value":"user@example.com [ CAN BE LIST OF EMAILS ]"},{"id":"09ba7ee7-867d-48b0-b007-bad57c89c4cb","name":"GOOGLE_CHAT_WEBHOOK_URL","type":"string","value":"https://chat.googleapis.com/v1/spaces/XXXXXX/messages?key=YOUR_TOKEN_HERE&token=YOUR_TOKEN_HERE"}]}},"typeVersion":3.4},{"id":"b1193c34-7888-453e-8b4b-aa19e5a60853","name":"Note - Config Instructions","type":"n8n-nodes-base.stickyNote","position":[6496,2608],"parameters":{"color":3,"width":432,"height":240,"content":"## ⚙️ CONFIGURATION NODE\nSet all your values here — **this is the only node you need to edit**"},"typeVersion":1},{"id":"7df7065a-4731-4d4a-8d13-e4fe76be5459","name":"Note - Prepare Data Section","type":"n8n-nodes-base.stickyNote","position":[6944,2608],"parameters":{"color":7,"width":944,"height":432,"content":"## PREPARE DATA 📊"},"typeVersion":1},{"id":"5a690ddf-c55f-4359-bcdf-1480b97f379b","name":"Note - Workflow End","type":"n8n-nodes-base.stickyNote","position":[8880,2176],"parameters":{"color":7,"width":720,"height":256,"content":"## WORKFLOW END"},"typeVersion":1},{"id":"dfeb8e14-ba51-4dfa-bb45-92328bcf4e6b","name":"Note - Automatic Trigger","type":"n8n-nodes-base.stickyNote","position":[6336,2992],"parameters":{"color":7,"width":480,"height":288,"content":"## AUTOMATIC TRIGGER FOR PRODUCTION"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","executionOrder":"v1"},"versionId":"9687e19c-ef1a-45c6-9c18-f674d43c0a5a","connections":{"ROUTES":{"main":[[{"node":"SEND_DUEDATE_REMINDER","type":"main","index":0}],[{"node":"IS_OVERDUE_BETWEEN","type":"main","index":0}],[{"node":"MANAGER_ESCALATION","type":"main","index":0}],[{"node":"GET_ISSUE_CHANGELOG","type":"main","index":0},{"node":"DATA_FLOW","type":"main","index":0}],[{"node":"CONTINUE_LOOP","type":"main","index":0}]]},"Switch":{"main":[[{"node":"SEND_BLOCKED_WARNING","type":"main","index":0}],[{"node":"NOTIFY_TEAM_BLOCKED","type":"main","index":0}],[{"node":"MANAGER_ESCALATION_BLOCKED","type":"main","index":0}],[{"node":"Wait - Rate Limit (Blocked Escalation)","type":"main","index":0}]]},"DATA_FLOW":{"main":[[{"node":"MERGE_DATA","type":"main","index":0}]]},"MERGE_DATA":{"main":[[{"node":"GET_BLOCKED_ITEM","type":"main","index":0}]]},"NOTIFY_TEAM":{"main":[[{"node":"Wait - Rate Limit (Warning)","type":"main","index":0}]]},"CONTINUE_LOOP":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"⚙️ CONFIG":{"main":[[{"node":"GET_JIRA_ISSUES","type":"main","index":0}]]},"AGGREGATE_ITEMS":{"main":[[{"node":"MERGE_DATA","type":"main","index":1}]]},"GET_ISSUES_LIST":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"GET_JIRA_ISSUES":{"main":[[{"node":"GET_ISSUES_LIST","type":"main","index":0}]]},"Loop Over Items":{"main":[[{"node":"END PROCESS","type":"main","index":0}],[{"node":"ISSUE_DATE_INSIGHTS","type":"main","index":0}]]},"GET_BLOCKED_ITEM":{"main":[[{"node":"COMPUTE_BLOCKED_DAYS","type":"main","index":0}]]},"Schedule Trigger":{"main":[[{"node":"⚙️ CONFIG","type":"main","index":0}]]},"IS_OVERDUE_BETWEEN":{"main":[[{"node":"SEND_DUEDATE_WARNING","type":"main","index":0}],[{"node":"NOTIFY_TEAM","type":"main","index":0}]]},"MANAGER_ESCALATION":{"main":[[{"node":"Wait - Rate Limit (Escalation)","type":"main","index":0}]]},"GET_ISSUE_CHANGELOG":{"main":[[{"node":"AGGREGATE_ITEMS","type":"main","index":0}]]},"ISSUE_DATE_INSIGHTS":{"main":[[{"node":"ROUTES","type":"main","index":0}]]},"NOTIFY_TEAM_BLOCKED":{"main":[[{"node":"Wait - Rate Limit (Blocked Escalation)","type":"main","index":0}]]},"COMPUTE_BLOCKED_DAYS":{"main":[[{"node":"Switch","type":"main","index":0}]]},"SEND_BLOCKED_WARNING":{"main":[[{"node":"Wait - Rate Limit (Blocked Escalation)","type":"main","index":0}]]},"SEND_DUEDATE_WARNING":{"main":[[{"node":"Wait - Rate Limit (Warning)","type":"main","index":0}]]},"SEND_DUEDATE_REMINDER":{"main":[[{"node":"Wait - Rate Limit (Reminder)","type":"main","index":0}]]},"CONTINUE_LOOP_ESCALATION":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"MANAGER_ESCALATION_BLOCKED":{"main":[[{"node":"Wait - Rate Limit (Blocked Escalation)","type":"main","index":0}]]},"Wait - Rate Limit (Warning)":{"main":[[{"node":"CONTINUE_LOOP_ESCALATION","type":"main","index":0}]]},"Wait - Rate Limit (Reminder)":{"main":[[{"node":"CONTINUE_LOOP_OVERDUE_WARNING","type":"main","index":0}]]},"CONTINUE_LOOP_BLOCKED_WARNING":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"CONTINUE_LOOP_OVERDUE_WARNING":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Wait - Rate Limit (Escalation)":{"main":[[{"node":"CONTINUE_LOOP_BLOCKED_WARNING","type":"main","index":0}]]},"CONTINUE_LOOP_BLOCKED_ESCALATION":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"⚙️ CONFIG","type":"main","index":0}]]},"Wait - Rate Limit (Blocked Escalation)":{"main":[[{"node":"CONTINUE_LOOP_BLOCKED_ESCALATION","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":44,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":10},"n8n-nodes-base.jira":{"count":2},"n8n-nodes-base.noOp":{"count":1},"n8n-nodes-base.wait":{"count":4},"n8n-nodes-base.gmail":{"count":5},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.switch":{"count":2},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":11},"n8n-nodes-base.httpRequest":{"count":2},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Anas Chahid Ksabi","username":"anasks","bio":"AI Automation Engineer specializing in n8n workflows. I help businesses turn manual processes into efficient, automated systems that deliver real value.\n\nOpen to discussing your workflow. Stop wasting time, Start automating.","verified":false,"links":["https://aixautomation.tech/"],"avatar":"https://gravatar.com/avatar/6b914e65d44c409ad6b96abc45249ac592347c44b8c53470fc88ac0451cb327b?r=pg&d=retro&size=200"},"nodes":[{"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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using 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"},{"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/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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":26,"icon":"fa:arrow-right","name":"n8n-nodes-base.noOp","codex":{"data":{"alias":["nothing"],"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/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/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/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/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.noop/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"No Operation, do nothing","color":"#b0b0b0"},"iconData":{"icon":"arrow-right","type":"icon"},"displayName":"No Operation, do nothing","typeVersion":1,"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":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"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/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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"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/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/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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"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/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.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","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":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"}]}],"categories":[{"id":46,"name":"Project Management"}],"image":[]}}