{
  "workflow": {
    "id": 6360,
    "name": "Automated recruitment status updates via Slack notifications",
    "views": 172,
    "recentViews": 0,
    "totalViews": 172,
    "createdAt": "2025-07-24T04:41:08.061Z",
    "description": "### How It Works ⚙️\nThis workflow acts as a communication bridge for your candidate pipeline:\n\n1.  **Webhook Trigger (Status Update):** 🚀 The workflow activates when it receives data indicating a candidate's status has changed. This data could come from an internal form, a custom script, or a webhook from a basic Applicant Tracking System (ATS).\n2.  **Extract & Prepare Data (Function):** 🧹 This node processes the incoming data. It extracts key information such as the candidate's name, the position they applied for, their previous status (if available), and their new status. It then formats this information into a clear, concise message suitable for a notification.\n3.  **Send Slack Notification:** 📢 The prepared message is sent to a designated Slack channel (e.g., `#recruitment-updates`). This provides instant, real-time updates to your team, ensuring everyone is on the same page.\n    * **(Alternative: Send Email Notification):** This node can easily be swapped with a Gmail or SendGrid node to send email notifications to a predefined list of recipients instead of Slack.\n\n### How to Set Up 🛠️\nFollow these steps carefully to get your \"Automated Candidate Status Notifier\" workflow up and running:\n\n1.  **Import Workflow JSON:**\n    * Open your n8n instance.\n    * Click on 'Workflows' in the left sidebar.\n    * Click the '+' button or 'New' to create a new workflow.\n    * Click the '...' (More Options) icon in the top right.\n    * Select 'Import from JSON' and paste the entire JSON code for this workflow.\n2.  **Configure Webhook Trigger (Status Update):**\n    * Locate the 'Webhook Trigger (Status Update)' node (1. Webhook Trigger).\n    * Activate the workflow. n8n will provide a unique 'Webhook URL'.\n    * **Crucial Step:** Configure your data-sending system (e.g., a form submission, an ATS's webhook settings, or your custom script) to send candidate status update data (preferably in JSON format via POST request) to this n8n Webhook URL.\n3.  **Configure Extract & Prepare Data (Function):**\n    * Locate the 'Extract & Prepare Data' node (2. Extract & Prepare Data).\n    * **Adjust Field Names:** Review the `functionCode` inside this node. **You MUST adjust the variable assignments (e.g., `inputData.candidateName`, `inputData.position`)** to accurately match the exact field names your sending system uses for candidate name, position, new status, old status, and notes. Use the 'Test Workflow' feature after sending a test webhook to inspect the incoming `items[0].json.body` data structure.\n    * The node automatically formats messages for Slack and Email.\n4.  **Configure Send Slack Notification:**\n    * Locate the 'Send Slack Notification' node (3. Send Slack Notification).\n    * **Credentials:** Select your existing Slack API credential or click 'Create New' to set one up. Replace `YOUR_SLACK_CREDENTIAL_ID` with the actual ID or name of your credential from your n8n credentials.\n    * **Channel:** Replace `YOUR_SLACK_CHANNEL_ID_OR_NAME` with the exact ID or name of the Slack channel where you want to receive notifications (e.g., `#recruitment-updates`).\n    * **OPTIONAL: Switch to Email Notification (Gmail/SendGrid/etc.):**\n        * **Delete** the 'Send Slack Notification' node.\n        * Add a new 'Gmail' or 'SendGrid' (or your preferred email service) node.\n        * Configure its credentials.\n        * Set the 'To Email' field (e.g., `your-team-email@example.com`).\n        * Set the 'Subject' to `={{ $json.emailSubject }}`.\n        * Set the 'HTML' body to `={{ $json.emailBody }}`.\n        * Connect it from the 'Extract & Prepare Data' node.\n5.  **Review and Activate:**\n    * Thoroughly review all node configurations. Ensure all placeholder values (like `YOUR_...`) are replaced and settings are correct.\n    * Click the 'Save' button in the top right corner.\n    * Finally, toggle the 'Inactive' switch to 'Active' to enable your workflow. 🟢 Your automated candidate status notifier is now live, keeping your team updated in real-time!",
    "workflow": {
      "id": "q6IkLPK3fhmaaUBg",
      "meta": {
        "instanceId": "a287613f1596da776459594685fbf4e2b4a12124f80ab8c8772f5e37bff103ae"
      },
      "name": "Automated Candidate Status Notifier",
      "tags": [],
      "nodes": [
        {
          "id": "ef1fe3c8-04ab-404e-b703-667f21caac0a",
          "name": "1. Webhook Trigger (Status Update)",
          "type": "n8n-nodes-base.webhook",
          "position": [
            0,
            0
          ],
          "webhookId": "5f3424e2-ffb3-4248-9d3d-971e15737c1b",
          "parameters": {
            "path": "candidate-status-update",
            "options": {},
            "httpMethod": "POST"
          },
          "description": "Receives candidate status updates (e.g., from a form, ATS webhook, or custom script). Copy this Webhook URL into your sending system.",
          "typeVersion": 1
        },
        {
          "id": "60448125-d750-46ee-9e42-e92267d0407c",
          "name": "2. Extract & Prepare Data",
          "type": "n8n-nodes-base.function",
          "position": [
            260,
            0
          ],
          "parameters": {
            "functionCode": "const inputData = items[0].json.body;\n\n// --- IMPORTANT: ADJUST THESE FIELD NAMES TO MATCH YOUR INCOMING DATA ---\n// Common assumption: Incoming data contains 'candidateName', 'position', 'newStatus', and optionally 'oldStatus' and 'notes'.\n// Example:\n// If your system sends: { \"applicant_name\": \"John Doe\", \"job_role\": \"Software Engineer\", \"current_stage\": \"Interview Scheduled\" }\n// Adjust the variables below:\n// const candidateName = inputData.applicant_name;\n// const position = inputData.job_role;\n// const newStatus = inputData.current_stage;\n\nconst candidateName = inputData.candidateName || inputData.applicant_name || 'Unknown Candidate';\nconst position = inputData.position || inputData.job_role || 'Unknown Position';\nconst newStatus = inputData.newStatus || inputData.current_status || 'No New Status';\nconst oldStatus = inputData.oldStatus || inputData.previous_status || null;\nconst notes = inputData.notes || inputData.comment || ''; // Optional: for additional notes\n\nif (!candidateName || !newStatus) {\n  throw new Error('Candidate data (name or new status) is incomplete. Please check your data sender configuration.');\n}\n\n// Prepare message for Slack/Email\nlet statusMessage;\nif (oldStatus && newStatus !== oldStatus) {\n    statusMessage = `Candidate Status Updated: *${candidateName}* for position *${position}* changed from *${oldStatus}* to *${newStatus}*.`;\n} else {\n    statusMessage = `New Candidate Status: *${candidateName}* for position *${position}* is now *${newStatus}*.`;\n}\n\nif (notes) {\n    statusMessage += `\\nNotes: ${notes}`; // Add notes if available\n}\n\nreturn [{\n    json: {\n        candidateName: candidateName,\n        position: position,\n        newStatus: newStatus,\n        oldStatus: oldStatus,\n        slackMessage: statusMessage, // Message formatted for Slack (supports simple Markdown)\n        emailSubject: `Candidate Status Update: ${candidateName} (${position})`,\n        emailBody: statusMessage.replace(/\\*/g, '**') // Convert Slack Markdown to bold for email\n    }\n}];"
          },
          "description": "Extracts candidate details and prepares the notification message.",
          "typeVersion": 1
        },
        {
          "id": "abe896cc-945f-4d49-be11-a53932b69d3d",
          "name": "3. Send Slack Notification",
          "type": "n8n-nodes-base.slack",
          "position": [
            500,
            0
          ],
          "parameters": {
            "text": "={{ $json.slackMessage }}",
            "channel": "YOUR_SLACK_CHANNEL_ID_OR_NAME",
            "attachments": [],
            "otherOptions": {}
          },
          "description": "Sends a real-time notification to your Slack channel about the candidate status update.",
          "typeVersion": 1
        },
        {
          "id": "63686a52-aec3-4fb2-8bbe-24cdb61e446f",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -80,
            -60
          ],
          "parameters": {
            "color": 3,
            "width": 800,
            "height": 240,
            "content": "## Flow"
          },
          "typeVersion": 1
        },
        {
          "id": "51a80419-1aaf-41b8-9d4b-bba9f866d10b",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -80,
            220
          ],
          "parameters": {
            "color": 4,
            "width": 800,
            "height": 1820,
            "content": "# Workflow Documentation: Automated Candidate Status Notifier\n\n## Problem 😩\nIn busy recruitment processes, keeping the entire hiring team updated on candidate status changes is a constant challenge. Manual communication about status updates (e.g., 'Applied' to 'Interview Scheduled' to 'Offered') is inefficient, leads to communication gaps, and slows down the hiring process.\n\n## Solution ✨\nThis n8n workflow automates instant notifications about candidate status changes. It ensures that your recruiting team, hiring managers, or other relevant stakeholders are immediately informed about critical updates, improving transparency and collaboration.\n\n## For Who 🤝\nThis workflow is perfect for:\n* **Recruitment Teams:** To streamline internal communication.\n* **Hiring Managers:** To stay informed without constantly checking systems.\n* **HR Departments:** To ensure all stakeholders are aligned on candidate progress.\n* **Agencies & Freelance Recruiters:** To enhance their internal tracking and client communication.\n\n## Scope 🎯\n* **Input Data:** Candidate details and their new/old status (e.g., from a custom form, ATS webhook, or simple spreadsheet integration).\n* **Trigger:** Webhook (ideal for real-time updates from various sources).\n* **Logic:** Extracts candidate name, position, old status, and new status; constructs a concise notification message.\n* **Output:** Real-time notifications sent to a Slack channel (easily adaptable to email or other communication tools).\n* **Customization:** Flexible for different data input formats and notification channels.\n\n## How It Works ⚙️\n\nThis workflow acts as a communication bridge for your candidate pipeline:\n\n1.  **Webhook Trigger (Status Update):** 🚀 The workflow activates when it receives data indicating a candidate's status has changed. This data could come from an internal form, a custom script, or a webhook from a basic Applicant Tracking System (ATS).\n2.  **Extract & Prepare Data (Function):** 🧹 This node processes the incoming data. It extracts key information such as the candidate's name, the position they applied for, their previous status (if available), and their new status. It then formats this information into a clear, concise message suitable for a notification.\n3.  **Send Slack Notification:** 📢 The prepared message is sent to a designated Slack channel (e.g., `#recruitment-updates`). This provides instant, real-time updates to your team, ensuring everyone is on the same page.\n    * **(Alternative: Send Email Notification):** This node can easily be swapped with a Gmail or SendGrid node to send email notifications to a predefined list of recipients instead of Slack.\n\n## How to Set Up 🛠️\n\nFollow these steps carefully to get your \"Automated Candidate Status Notifier\" workflow up and running:\n\n1.  **Import Workflow JSON:**\n    * Open your n8n instance.\n    * Click on 'Workflows' in the left sidebar.\n    * Click the '+' button or 'New' to create a new workflow.\n    * Click the '...' (More Options) icon in the top right.\n    * Select 'Import from JSON' and paste the entire JSON code for this workflow.\n\n2.  **Configure Webhook Trigger (Status Update):**\n    * Locate the 'Webhook Trigger (Status Update)' node (1. Webhook Trigger).\n    * Activate the workflow. n8n will provide a unique 'Webhook URL'.\n    * **Crucial Step:** Configure your data-sending system (e.g., a form submission, an ATS's webhook settings, or your custom script) to send candidate status update data (preferably in JSON format via POST request) to this n8n Webhook URL.\n\n3.  **Configure Extract & Prepare Data (Function):**\n    * Locate the 'Extract & Prepare Data' node (2. Extract & Prepare Data).\n    * **Adjust Field Names:** Review the `functionCode` inside this node. **You MUST adjust the variable assignments (e.g., `inputData.candidateName`, `inputData.position`)** to accurately match the exact field names your sending system uses for candidate name, position, new status, old status, and notes. Use the 'Test Workflow' feature after sending a test webhook to inspect the incoming `items[0].json.body` data structure.\n    * The node automatically formats messages for Slack and Email.\n\n4.  **Configure Send Slack Notification:**\n    * Locate the 'Send Slack Notification' node (3. Send Slack Notification).\n    * **Credentials:** Select your existing Slack API credential or click 'Create New' to set one up. Replace `YOUR_SLACK_CREDENTIAL_ID` with the actual ID or name of your credential from your n8n credentials.\n    * **Channel:** Replace `YOUR_SLACK_CHANNEL_ID_OR_NAME` with the exact ID or name of the Slack channel where you want to receive notifications (e.g., `#recruitment-updates`).\n\n    * **OPTIONAL: Switch to Email Notification"
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "1ff87f1e-2e7f-4bbb-a796-135989964d30",
      "connections": {
        "2. Extract & Prepare Data": {
          "main": [
            [
              {
                "node": "3. Send Slack Notification",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "1. Webhook Trigger (Status Update)": {
          "main": [
            [
              {
                "node": "2. Extract & Prepare Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 5,
      "nodeTypes": {
        "n8n-nodes-base.slack": {
          "count": 1
        },
        "n8n-nodes-base.webhook": {
          "count": 1
        },
        "n8n-nodes-base.function": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 2
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Marth",
      "username": "marth",
      "bio": "Simplifying Business with Smart Automation. I create and share user-friendly, highly efficient n8n workflow templates for SMEs, focusing on digital marketing, sales, and operational excellence. Get ready to automate, innovate, and elevate your business.\n\nConnect me on Linkedin for custom solutions.",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/bhetamaranatha"
      ],
      "avatar": "https://gravatar.com/avatar/b171aefe1210cde17102cd98e0b287ee9ea093abef7da61644ae1d0a6c506894?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 14,
        "icon": "fa:code",
        "name": "n8n-nodes-base.function",
        "codex": {
          "data": {
            "alias": [
              "Code",
              "Javascript",
              "Custom Code",
              "Script",
              "cpde"
            ],
            "details": "The Function node allows you to execute JavaScript in your workflow. Unlike the Function Item node, this node does not operate on incoming node data per-item. Instead, you must iterate over multiple items of incoming data yourself. This can be useful if you're performing data transformation where you want to manipulate the number of items being outputted by the node (i.e. 1 item is inputted in with nested object, 10 items are outputted without any nested objects)",
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/2021-goals-level-up-your-vocabulary-with-vonage-and-n8n/",
                  "icon": "🎯",
                  "label": "2021 Goals: Level Up Your Vocabulary With Vonage and n8n"
                },
                {
                  "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/why-i-chose-n8n-over-zapier-in-2020/",
                  "icon": "😍",
                  "label": "Why I chose n8n over Zapier in 2020"
                },
                {
                  "url": "https://n8n.io/blog/how-to-host-virtual-coffee-breaks-with-n8n/",
                  "icon": "☕️",
                  "label": "How to host virtual coffee breaks 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/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/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/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-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/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/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/tracking-time-spent-in-meetings-with-google-calendar-twilio-and-n8n/",
                  "icon": "🗓",
                  "label": "Tracking Time Spent in Meetings With Google Calendar, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-error-workflows-in-n8n/",
                  "icon": "🌪",
                  "label": "Creating Error Workflows in 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/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.code/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Function",
          "color": "#FF9922"
        },
        "iconData": {
          "icon": "code",
          "type": "icon"
        },
        "displayName": "Function",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "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": 47,
        "icon": "file:webhook.svg",
        "name": "n8n-nodes-base.webhook",
        "codex": {
          "data": {
            "alias": [
              "HTTP",
              "API",
              "Build",
              "WH"
            ],
            "resources": {
              "generic": [
                {
                  "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/running-n8n-on-ships-an-interview-with-maranics/",
                  "icon": "🛳",
                  "label": "Running n8n on ships: An interview with Maranics"
                },
                {
                  "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/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/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/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/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/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/creating-custom-incident-response-workflows-with-n8n/",
                  "label": "How to automate every step of an incident response workflow"
                },
                {
                  "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/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-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Webhook"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"
        },
        "displayName": "Webhook",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "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"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 17,
        "name": "HR"
      }
    ],
    "image": []
  }
}