{
  "workflow": {
    "id": 9435,
    "name": "Resume screening & candidate routing with OpenAI, Jotform, and Google Sheets",
    "views": 245,
    "recentViews": 0,
    "totalViews": 245,
    "createdAt": "2025-10-09T18:42:54.388Z",
    "description": "Revolutionize your recruitment process with intelligent AI-driven candidate screening that evaluates resumes, scores applicants, and automatically routes them based on fit - saving 10-15 hours per week on initial screening.\n\n## 🎯 What This Workflow Does\n\nTransforms your hiring pipeline from manual resume review to intelligent automation:\n\n1. **📝 Captures Applications** - Jotform intake with resume upload\n2. **🤖 AI Resume Analysis** - OpenAI parses skills, experience, education, and red flags\n3. **🎯 Intelligent Scoring** - Evaluates candidates against job requirements with structured scoring (0-100)\n4. **🚦 Smart Routing** - Automatically routes based on AI recommendation:\n   - **Strong Yes (85-100)**: Instant Slack alert → Interview invitation\n   - **Maybe/Yes (60-84)**: Manager review → Approval workflow\n   - **No (&lt;60)**: Polite rejection email\n5. **📊 Analytics Tracking** - All data logged to Google Sheets for hiring insights\n\n## ✨ Key Features\n\n- **AI Resume Parsing**: Extracts structured data from any resume format\n- **Intelligent Scoring System**: Multi-dimensional evaluation (skills match, experience quality, cultural fit)\n- **Structured Output**: Consistent JSON schema ensures reliable data for decision-making\n- **Automated Communication**: Personalized emails for every candidate outcome\n- **Human-in-the-Loop**: Manager approval for borderline candidates\n- **Comprehensive Analytics**: Track conversion rates, average scores, and hiring metrics\n- **Customizable Job Requirements**: Easy prompt editing to match any role\n\n## 💼 Perfect For\n\n- **Startups & Scale-ups**: Processing 50+ applications per week\n- **HR Teams**: Wanting to reduce time-to-hire by 40-60%\n- **Technical Recruiters**: Screening engineering, product, or design roles\n- **Growing Companies**: Scaling hiring without scaling headcount\n\n## 🔧 What You'll Need\n\n### Required Integrations\n- **Jotform** - Application intake form (free tier works)\nCreate your form for free on [Jotform using this link](https://www.jotform.com/?partner=mediajade)\n- **OpenAI API** - GPT-4o-mini for cost-effective AI analysis (~$0.15 per candidate)\n- **Gmail** - Automated candidate communication\n- **Google Sheets** - Hiring database and analytics\n\n### Optional Integrations\n- **Slack** - Instant alerts for hot candidates\n- **Linear/Asana** - Task creation for interview scheduling\n- **Calendar APIs** - Automated interview booking\n\n## 🚀 Quick Start\n\n1. **Import Template** - Copy JSON and import into n8n\n2. **Create Jotform** - Use provided field structure (name, email, resume upload, etc.)\n3. **Add API Keys** - OpenAI, Jotform, Gmail, Google Sheets\n4. **Customize Job Requirements** - Edit AI screening prompt with your role details\n5. **Personalize Emails** - Update templates with your company branding\n6. **Test & Deploy** - Submit test application and verify all nodes\n\n## 🎨 Customization Options\n\n- **Adjust Scoring Thresholds**: Change routing logic based on your needs\n- **Multiple Positions**: Clone workflow for different roles with unique requirements\n- **Add Technical Assessments**: Integrate HackerRank, CodeSignal, or custom tests\n- **Interview Scheduling**: Connect Calendly or Google Calendar for auto-booking\n- **ATS Integration**: Push data to Lever, Greenhouse, or BambooHR\n- **Diversity Tracking**: Add demographic fields and analytics\n- **Reference Checking**: Automate reference request emails\n\n## 📈 Expected Results\n\n- **90% reduction** in manual resume review time\n- **24-hour response time** to all candidates\n- **Zero missed applications** - every candidate gets feedback\n- **Data-driven hiring** - track what works with comprehensive analytics\n- **Better candidate experience** - fast, professional communication\n- **Consistent evaluation** - eliminate unconscious bias with structured AI scoring\n\n## 🏆 Use Cases\n\n### Technology Companies\nScreen 100+ engineering applications per week, identify top 10% instantly, schedule interviews same-day.\n\n### Agencies & Consultancies\nEvaluate consultant candidates across multiple skill dimensions, route to appropriate practice areas.\n\n### High-Volume Hiring\nProcess retail, customer service, or sales applications at scale with consistent quality.\n\n### Remote-First Teams\nEvaluate global candidates 24/7, respond instantly regardless of timezone.\n\n## 💡 Pro Tips\n\n- **Train Your AI**: After 50+ applications, refine prompts based on false positives/negatives\n- **A/B Test Thresholds**: Experiment with score cutoffs to optimize for your needs\n- **Build Talent Pipeline**: Keep \"maybe\" candidates in CRM for future roles\n- **Track Source Effectiveness**: Add UTM parameters to measure which job boards deliver best candidates\n- **Continuous Improvement**: Weekly review of AI assessments to calibrate accuracy\n\n## 🎓 Learning Resources\n\nThis workflow demonstrates:\n- AI Agents with structured output\n- Multi-stage conditional routing\n- Human-in-the-loop automation\n- Binary data processing (resume files)\n- Email automation with HTML templates\n- Real-time notifications\n- Analytics and data logging\n\nPerfect for learning advanced n8n automation patterns!\n\n---\n\n**Ready to transform your hiring process?** Import this template and start screening candidates intelligently in under 30 minutes.\n\n**Questions or customization needs?** The workflow includes detailed sticky notes explaining each section.",
    "workflow": {
      "id": "AU3wTmjcDjBhtGH4",
      "meta": {
        "instanceId": "277842713620d9f5554de3b1518b865a152c8c4db680008bd8aec536fc18b4a8"
      },
      "name": "AI-Powered Hiring: Resume Screening & Candidate Routing using Jotform",
      "tags": [
        {
          "id": "TDW7E4RVCMchXf5b",
          "name": "published",
          "createdAt": "2025-10-13T01:18:01.305Z",
          "updatedAt": "2025-10-13T01:18:01.305Z"
        }
      ],
      "nodes": [
        {
          "id": "d549b930-1e35-4bcd-a7d7-8806c6990170",
          "name": "Extract Application Data",
          "type": "n8n-nodes-base.set",
          "position": [
            -2752,
            688
          ],
          "parameters": {
            "options": {},
            "assignments": {
              "assignments": [
                {
                  "id": "candidate_name",
                  "name": "candidate_name",
                  "type": "string",
                  "value": "={{ $json.q3_fullName?.first || '' }} {{ $json.q3_fullName?.last || '' }}"
                },
                {
                  "id": "candidate_email",
                  "name": "candidate_email",
                  "type": "string",
                  "value": "={{ $json.q4_email }}"
                },
                {
                  "id": "candidate_phone",
                  "name": "candidate_phone",
                  "type": "string",
                  "value": "={{ $json.q5_phone }}"
                },
                {
                  "id": "position_applied",
                  "name": "position_applied",
                  "type": "string",
                  "value": "={{ $json.q6_position }}"
                },
                {
                  "id": "years_experience",
                  "name": "years_experience",
                  "type": "string",
                  "value": "={{ $json.q7_experience }}"
                },
                {
                  "id": "linkedin_url",
                  "name": "linkedin_url",
                  "type": "string",
                  "value": "={{ $json.q8_linkedin || 'Not provided' }}"
                },
                {
                  "id": "portfolio_url",
                  "name": "portfolio_url",
                  "type": "string",
                  "value": "={{ $json.q9_portfolio || 'Not provided' }}"
                },
                {
                  "id": "resume_url",
                  "name": "resume_url",
                  "type": "string",
                  "value": "={{ $json.q10_resume?.[0] || '' }}"
                },
                {
                  "id": "cover_letter",
                  "name": "cover_letter",
                  "type": "string",
                  "value": "={{ $json.q11_coverLetter || 'Not provided' }}"
                },
                {
                  "id": "application_id",
                  "name": "application_id",
                  "type": "string",
                  "value": "=APP-{{ $json.submissionID }}-{{ Date.now() }}"
                },
                {
                  "id": "application_date",
                  "name": "application_date",
                  "type": "string",
                  "value": "={{ new Date().toISOString() }}"
                }
              ]
            }
          },
          "typeVersion": 3.4
        },
        {
          "id": "01591f1c-25da-4d0a-b627-0814d817d785",
          "name": "Download Resume",
          "type": "n8n-nodes-base.httpRequest",
          "position": [
            -2528,
            672
          ],
          "parameters": {
            "url": "={{ $json.resume_url }}",
            "options": {}
          },
          "typeVersion": 4.2
        },
        {
          "id": "3af3677e-0537-417e-9249-a51af94e4fe6",
          "name": "Process Resume",
          "type": "n8n-nodes-base.code",
          "position": [
            -2224,
            688
          ],
          "parameters": {
            "jsCode": "const items = $input.all();\nconst results = [];\n\nfor (const item of items) {\n  try {\n    // Get resume binary data\n    const resumeData = item.binary?.data;\n    \n    if (resumeData) {\n      // Convert binary to base64 for AI processing\n      const base64Resume = resumeData.data;\n      \n      results.push({\n        json: {\n          ...item.json,\n          resume_base64: base64Resume,\n          resume_available: true\n        }\n      });\n    } else {\n      results.push({\n        json: {\n          ...item.json,\n          resume_available: false,\n          resume_text: 'Resume not available for parsing'\n        }\n      });\n    }\n  } catch (error) {\n    results.push({\n      json: {\n        ...item.json,\n        resume_available: false,\n        resume_text: 'Error processing resume',\n        error: error.message\n      }\n    });\n  }\n}\n\nreturn results;"
          },
          "typeVersion": 2
        },
        {
          "id": "0a82dda9-b144-41f5-8903-579947f536c8",
          "name": "AI Resume Parser",
          "type": "@n8n/n8n-nodes-langchain.openAi",
          "position": [
            -2032,
            688
          ],
          "parameters": {
            "modelId": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {},
            "messages": {
              "values": [
                {
                  "content": "=You are an expert technical recruiter and resume parser. Extract structured information from this job application.\n\n**Candidate Name:** {{ $('Extract Application Data').item.json.candidate_name }}\n**Position Applied:** {{ $('Extract Application Data').item.json.position_applied }}\n**Years of Experience:** {{ $('Extract Application Data').item.json.years_experience }}\n**LinkedIn:** {{ $('Extract Application Data').item.json.linkedin_url }}\n**Portfolio:** {{ $('Extract Application Data').item.json.portfolio_url }}\n\n**Cover Letter:**\n{{ $('Extract Application Data').item.json.cover_letter }}\n\n**Resume:** (Attached or provided separately)\n\nPlease extract and structure the following information in markdown format:\n\n## Professional Summary\n[Write a 2-3 sentence summary of the candidate]\n\n## Key Skills\n- List all technical skills mentioned\n- Programming languages\n- Frameworks and tools\n- Soft skills\n\n## Work Experience\n[Summarize their work history with companies, roles, and key achievements]\n\n## Education\n[Degrees, certifications, institutions]\n\n## Notable Projects\n[Any significant projects mentioned]\n\n## Red Flags or Concerns\n[Job hopping, gaps, inconsistencies, or none]\n\n## Standout Qualities\n[What makes this candidate unique or impressive]"
                }
              ]
            }
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.8
        },
        {
          "id": "c071c207-e09d-4ca5-90b9-d4d300476dde",
          "name": "AI Candidate Screener",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            -1424,
            720
          ],
          "parameters": {
            "text": "=You are an expert hiring manager evaluating candidates for our company. Your job is to thoroughly assess this candidate against our job requirements and provide a detailed, structured analysis.\n\n---\n\n## JOB REQUIREMENTS\n\n**Position:** Senior Full-Stack Engineer\n\n**Required Skills:**\n- 5+ years of professional software development experience\n- Strong proficiency in React, Node.js, and TypeScript\n- Experience with PostgreSQL or similar relational databases\n- RESTful API design and development\n- Git version control and collaborative development\n- Experience with cloud platforms (AWS, GCP, or Azure)\n- Strong problem-solving and debugging skills\n\n**Preferred Skills:**\n- Experience with Next.js or similar meta-frameworks\n- GraphQL API development\n- Docker and container orchestration\n- CI/CD pipeline setup and maintenance\n- Experience with testing frameworks (Jest, Cypress)\n- Open source contributions\n- Startup experience\n\n**Soft Skills:**\n- Excellent communication skills\n- Self-motivated and able to work independently\n- Collaborative team player\n- Passion for learning new technologies\n- Strong attention to detail\n\n**Red Flags to Watch For:**\n- Job hopping (multiple jobs under 1 year)\n- Unexplained employment gaps\n- Lack of progression in career\n- Generic or copied cover letters\n- Overly inflated claims without evidence\n- Poor communication in application materials\n\n---\n\n## CANDIDATE INFORMATION\n\n**Name:** {{ $('Extract Application Data').item.json.candidate_name }}\n**Email:** {{ $('Extract Application Data').item.json.candidate_email }}\n**Position Applied:** {{ $('Extract Application Data').item.json.position_applied }}\n**Years of Experience:** {{ $('Extract Application Data').item.json.years_experience }}\n**LinkedIn:** {{ $('Extract Application Data').item.json.linkedin_url }}\n**Portfolio:** {{ $('Extract Application Data').item.json.portfolio_url }}\n\n**Parsed Resume Summary:**\n{{ $json.message.content }}\n\n**Cover Letter:**\n{{ $('Extract Application Data').item.json.cover_letter }}\n\n---\n\n## YOUR TASK\n\nProvide a comprehensive evaluation with the following structure:\n\n1. **Overall Assessment** - High-level verdict on candidate quality\n\n2. **Skills Match Analysis** - Compare their skills against requirements:\n   - Required skills they have\n   - Required skills they're missing\n   - Preferred skills they have\n   - Unique skills they bring\n\n3. **Experience Evaluation** - Assess their work history quality and relevance\n\n4. **Standout Qualities** - What makes them impressive or unique\n\n5. **Concerns or Red Flags** - Any potential issues identified\n\n6. **Cultural Fit Indicators** - Based on communication style, values alignment\n\n7. **Interview Focus Areas** - What to dig deeper on in interviews\n\n8. **Salary Expectations** - Estimated range based on experience level\n\nProvide detailed reasoning for all assessments. Be honest about weaknesses but also highlight genuine strengths.",
            "options": {},
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 2.2
        },
        {
          "id": "7e3e68f1-7ab2-42aa-811b-52bf2984c90b",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            -1456,
            976
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "34f9050d-fac1-4501-8742-719d589e7d5c",
          "name": "Structured Output Parser",
          "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
          "position": [
            -1200,
            992
          ],
          "parameters": {
            "schemaType": "manual",
            "inputSchema": "{\n  \"type\": \"object\",\n  \"required\": [\n    \"overall_score\",\n    \"recommendation\",\n    \"skills_match_score\",\n    \"experience_score\",\n    \"cultural_fit_score\",\n    \"required_skills_present\",\n    \"required_skills_missing\",\n    \"preferred_skills_present\",\n    \"standout_qualities\",\n    \"concerns_or_red_flags\",\n    \"interview_focus_areas\",\n    \"estimated_salary_range\",\n    \"detailed_assessment_markdown\"\n  ],\n  \"properties\": {\n    \"overall_score\": {\n      \"type\": \"integer\",\n      \"minimum\": 0,\n      \"maximum\": 100,\n      \"description\": \"Overall candidate score out of 100\"\n    },\n    \"recommendation\": {\n      \"type\": \"string\",\n      \"enum\": [\"strong_yes\", \"yes\", \"maybe\", \"no\", \"strong_no\"],\n      \"description\": \"Hiring recommendation\"\n    },\n    \"skills_match_score\": {\n      \"type\": \"integer\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"experience_score\": {\n      \"type\": \"integer\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"cultural_fit_score\": {\n      \"type\": \"integer\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"required_skills_present\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"required_skills_missing\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"preferred_skills_present\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"standout_qualities\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"concerns_or_red_flags\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"interview_focus_areas\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"estimated_salary_range\": {\n      \"type\": \"string\",\n      \"description\": \"Estimated salary range like $120k-$150k\"\n    },\n    \"detailed_assessment_markdown\": {\n      \"type\": \"string\",\n      \"description\": \"Full assessment in markdown format\"\n    }\n  }\n}"
          },
          "typeVersion": 1.3
        },
        {
          "id": "8f0f2d89-2164-4f31-b6cb-b8e71ebbda57",
          "name": "Strong Yes?",
          "type": "n8n-nodes-base.if",
          "position": [
            -784,
            704
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "leftValue": "",
                "caseSensitive": true
              },
              "combinator": "or",
              "conditions": [
                {
                  "id": "strong-yes-condition",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.output.recommendation }}",
                  "rightValue": "strong_yes"
                }
              ]
            }
          },
          "typeVersion": 2.2
        },
        {
          "id": "867d5a96-aaaf-4bce-a9e7-a1a8e3737713",
          "name": "Maybe or Yes?",
          "type": "n8n-nodes-base.if",
          "position": [
            -784,
            944
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "leftValue": "",
                "caseSensitive": true
              },
              "combinator": "or",
              "conditions": [
                {
                  "id": "yes-maybe-condition",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.output.recommendation }}",
                  "rightValue": "yes"
                },
                {
                  "id": "maybe-condition",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.output.recommendation }}",
                  "rightValue": "maybe"
                }
              ]
            }
          },
          "typeVersion": 2.2
        },
        {
          "id": "4b90f9bd-a0b3-42a2-8aa9-ef308563c1cb",
          "name": "Send Interview Invitation",
          "type": "n8n-nodes-base.gmail",
          "position": [
            -192,
            544
          ],
          "webhookId": "967e0270-dce4-4a1a-a5b2-880e04abc484",
          "parameters": {
            "sendTo": "={{ $('Extract Application Data').item.json.candidate_email }}",
            "message": "=<!DOCTYPE html>\n<html>\n<head>\n<style>\nbody{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;color:#333;max-width:600px;margin:0 auto;padding:20px}\n.header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:30px 20px;text-align:center;border-radius:8px 8px 0 0}\n.content{background:#f8f9fa;padding:30px 20px;border:1px solid #e9ecef;border-top:none}\n.cta-button{display:inline-block;background:#667eea;color:#fff;padding:14px 28px;text-decoration:none;border-radius:6px;font-weight:600;margin:20px 0}\n.footer{margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6;font-size:14px;color:#6c757d}\n</style>\n</head>\n<body>\n<div class=\"header\">\n<h1 style=\"margin:0;font-size:24px\">Great News, {{ $('Extract Application Data').item.json.candidate_name.split(' ')[0] }}! 🎉</h1>\n</div>\n<div class=\"content\">\n<p>Thank you for applying for the <strong>{{ $('Extract Application Data').item.json.position_applied }}</strong> position at [Your Company].</p>\n\n<p>We've reviewed your application and we're impressed! Your experience and skills align really well with what we're looking for, and we'd love to learn more about you.</p>\n\n<p><strong>Next Steps:</strong></p>\n<ul>\n<li>We'll be reaching out within 1-2 business days to schedule a technical screening call (30-45 minutes)</li>\n<li>This will be a casual conversation about your experience and technical background</li>\n<li>You'll also get to learn more about our team, tech stack, and culture</li>\n</ul>\n\n<p>In the meantime, feel free to check out our <a href=\"https://yourcompany.com/engineering\">engineering blog</a> or explore our <a href=\"https://github.com/yourcompany\">open source projects</a>.</p>\n\n<p>Looking forward to speaking with you soon!</p>\n\n<p>Best regards,<br>\n<strong>Hiring Team</strong><br>\n[Your Company]</p>\n</div>\n<div class=\"footer\">\n<p>Application ID: {{ $('Extract Application Data').item.json.application_id }}</p>\n</div>\n</body>\n</html>",
            "options": {},
            "subject": "=Next Steps - {{ $('Extract Application Data').item.json.position_applied }} at [Your Company]"
          },
          "typeVersion": 2.1
        },
        {
          "id": "3f187791-5c7a-4292-a623-f7e005db0da2",
          "name": "Request Manager Review",
          "type": "n8n-nodes-base.gmail",
          "position": [
            -512,
            800
          ],
          "webhookId": "hiring-approval-webhook",
          "parameters": {
            "sendTo": "user@example.com",
            "message": "=<!DOCTYPE html>\n<html>\n<head><style>body{font-family:Arial,sans-serif;line-height:1.6;color:#333}.container{max-width:700px;margin:0 auto;padding:20px}.header{background:#f8f9fa;padding:20px;border-left:4px solid #ffc107;margin-bottom:20px}.score-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:20px 0}.score-box{background:#f8f9fa;padding:15px;text-align:center;border-radius:5px}.score-box strong{display:block;font-size:24px;color:#667eea}.list-section{margin:15px 0}.list-section h3{color:#667eea;margin-bottom:10px}.badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:600}.badge-yes{background:#d4edda;color:#155724}.badge-maybe{background:#fff3cd;color:#856404}.cta{background:#667eea;color:#fff;padding:15px 30px;text-decoration:none;border-radius:5px;display:inline-block;margin:20px 0}</style></head>\n<body>\n<div class=\"container\">\n<div class=\"header\">\n<h2 style=\"margin:0\">📋 Candidate Review Required</h2>\n<p style=\"margin:5px 0 0 0\"><span class=\"badge badge-maybe\">NEEDS REVIEW</span></p>\n</div>\n\n<p><strong>Candidate:</strong> {{ $('Extract Application Data').item.json.candidate_name }}<br>\n<strong>Position:</strong> {{ $('Extract Application Data').item.json.position_applied }}<br>\n<strong>Email:</strong> {{ $('Extract Application Data').item.json.candidate_email }}<br>\n<strong>Application ID:</strong> {{ $('Extract Application Data').item.json.application_id }}</p>\n\n<div class=\"score-grid\">\n<div class=\"score-box\"><strong>{{ $('AI Candidate Screener').item.json.output.overall_score }}</strong>Overall Score</div>\n<div class=\"score-box\"><strong>{{ $('AI Candidate Screener').item.json.output.skills_match_score }}%</strong>Skills Match</div>\n<div class=\"score-box\"><strong>{{ $('AI Candidate Screener').item.json.output.experience_score }}%</strong>Experience</div>\n</div>\n\n<div class=\"list-section\">\n<h3>✅ Strengths</h3>\n<ul>\n{{ $('AI Candidate Screener').item.json.output.standout_qualities.map(q => '<li>' + q + '</li>').join('') }}\n</ul>\n</div>\n\n<div class=\"list-section\">\n<h3>⚠️ Concerns</h3>\n<ul>\n{{ $('AI Candidate Screener').item.json.output.concerns_or_red_flags.length > 0 ? $('AI Candidate Screener').item.json.output.concerns_or_red_flags.map(c => '<li>' + c + '</li>').join('') : '<li>No major concerns identified</li>' }}\n</ul>\n</div>\n\n<div class=\"list-section\">\n<h3>💰 Estimated Salary</h3>\n<p>{{ $('AI Candidate Screener').item.json.output.estimated_salary_range }}</p>\n</div>\n\n<p><strong>AI Recommendation:</strong> {{ $('AI Candidate Screener').item.json.output.recommendation.toUpperCase().replace('_', ' ') }}</p>\n\n<p><strong>Your decision is needed:</strong> Should we move forward with this candidate?</p>\n\n<p><em>Click below to approve or reject this application.</em></p>\n\n</div>\n</body>\n</html>",
            "options": {},
            "subject": "=Review Candidate - {{ $('Extract Application Data').item.json.candidate_name }}",
            "operation": "sendAndWait"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "5dbe1e3b-b603-4e38-ac36-19e800f042c7",
          "name": "Send Rejection Email",
          "type": "n8n-nodes-base.gmail",
          "position": [
            -480,
            1104
          ],
          "webhookId": "53053a7b-a0a4-4641-b1b2-2ca76c20c462",
          "parameters": {
            "sendTo": "={{ $('Extract Application Data').item.json.candidate_email }}",
            "message": "=<!DOCTYPE html>\n<html>\n<head>\n<style>\nbody{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;color:#333;max-width:600px;margin:0 auto;padding:20px}\n.header{background:#667eea;color:#fff;padding:30px 20px;text-align:center;border-radius:8px 8px 0 0}\n.content{background:#fff;padding:30px 20px;border:1px solid #e9ecef;border-top:none}\n.footer{margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6;font-size:14px;color:#6c757d}\n</style>\n</head>\n<body>\n<div class=\"header\">\n<h1 style=\"margin:0;font-size:24px\">Thank You for Applying</h1>\n</div>\n<div class=\"content\">\n<p>Hi {{ $('Extract Application Data').item.json.candidate_name.split(' ')[0] }},</p>\n\n<p>Thank you for taking the time to apply for the <strong>{{ $('Extract Application Data').item.json.position_applied }}</strong> position at [Your Company]. We genuinely appreciate your interest in joining our team.</p>\n\n<p>After carefully reviewing your application and experience, we've decided to move forward with candidates whose backgrounds more closely align with our current needs for this specific role.</p>\n\n<p>This was a competitive process, and we were impressed by many aspects of your background. We encourage you to:</p>\n<ul>\n<li>Check our <a href=\"https://yourcompany.com/careers\">careers page</a> for other opportunities that might be a better fit</li>\n<li>Connect with us on <a href=\"https://linkedin.com/company/yourcompany\">LinkedIn</a> to stay updated on future openings</li>\n<li>Reapply in the future as your career develops</li>\n</ul>\n\n<p>We wish you all the best in your job search and future career endeavors.</p>\n\n<p>Best regards,<br>\n<strong>Talent Acquisition Team</strong><br>\n[Your Company]</p>\n</div>\n<div class=\"footer\">\n<p>Application ID: {{ $('Extract Application Data').item.json.application_id }}</p>\n</div>\n</body>\n</html>",
            "options": {},
            "subject": "=Update on Your {{ $('Extract Application Data').item.json.position_applied }} Application"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2.1
        },
        {
          "id": "7e75f755-7d07-4a34-a91e-5a33ae27696b",
          "name": "Log to Hiring Database",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            336,
            784
          ],
          "parameters": {
            "columns": {
              "value": {
                "status": "={{ $json.status || 'Processed' }}",
                "linkedin": "={{ $('Extract Application Data').item.json.linkedin_url }}",
                "portfolio": "={{ $('Extract Application Data').item.json.portfolio_url }}",
                "cultural_fit": "={{ $('AI Candidate Screener').item.json.output.cultural_fit_score }}",
                "skills_match": "={{ $('AI Candidate Screener').item.json.output.skills_match_score }}",
                "overall_score": "={{ $('AI Candidate Screener').item.json.output.overall_score }}",
                "application_id": "={{ $('Extract Application Data').item.json.application_id }}",
                "candidate_name": "={{ $('Extract Application Data').item.json.candidate_name }}",
                "recommendation": "={{ $('AI Candidate Screener').item.json.output.recommendation }}",
                "candidate_email": "={{ $('Extract Application Data').item.json.candidate_email }}",
                "candidate_phone": "={{ $('Extract Application Data').item.json.candidate_phone }}",
                "salary_estimate": "={{ $('AI Candidate Screener').item.json.output.estimated_salary_range }}",
                "application_date": "={{ $('Extract Application Data').item.json.application_date }}",
                "experience_score": "={{ $('AI Candidate Screener').item.json.output.experience_score }}",
                "position_applied": "={{ $('Extract Application Data').item.json.position_applied }}",
                "years_experience": "={{ $('Extract Application Data').item.json.years_experience }}"
              },
              "mappingMode": "defineBelow"
            },
            "options": {},
            "operation": "append",
            "sheetName": {
              "__rl": true,
              "mode": "list",
              "value": "gid=0"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "YOUR_GOOGLE_SHEET_ID"
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "baadadfd-335e-44fb-84d0-0ef98335c76e",
          "name": "Sticky Note - Intake",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -3008,
            336
          ],
          "parameters": {
            "color": 5,
            "width": 640,
            "height": 576,
            "content": "## 📝 Application Intake\n\nCaptures job applications via Jotform and extracts all candidate data including resume.\n\n### What Happens Here\n- **Jotform** trigger receives application.\nCreate your form for free on [Jotform using this link](https://www.jotform.com/?partner=mediajade)\n- Extracts: name, email, phone, position, experience, LinkedIn, portfolio, resume\n- Generates unique application ID\n- Downloads resume file for processing\n\n**Output:** Structured candidate data ready for AI analysis"
          },
          "typeVersion": 1
        },
        {
          "id": "54f7865d-5b0f-4dac-8f32-fcf7aeac882e",
          "name": "Sticky Note - Parsing",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2272,
            192
          ],
          "parameters": {
            "color": 4,
            "width": 562,
            "height": 724,
            "content": "## 🤖 AI Resume Analysis\n\nUses OpenAI to parse resume and extract structured information.\n\n### AI Tasks\n1. **Resume Parsing:** Extracts skills, experience, education, projects\n2. **Pattern Detection:** Identifies job hopping, gaps, progression\n3. **Quality Assessment:** Evaluates presentation and completeness\n\n### Output\nMarkdown-formatted summary with:\n- Professional summary\n- Technical & soft skills\n- Work history with achievements\n- Education & certifications\n- Red flags or concerns\n- Standout qualities\n\n**Tech:** OpenAI GPT-4o-mini for cost-effective processing"
          },
          "typeVersion": 1
        },
        {
          "id": "4ba29b67-1c31-4793-bed8-ac0f39033c30",
          "name": "Sticky Note - Screening",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1552,
            80
          ],
          "parameters": {
            "color": 6,
            "width": 500,
            "height": 1116,
            "content": "## 🎯 Intelligent Candidate Screening\n\nAI Agent evaluates candidates against job requirements with structured scoring.\n\n### Evaluation Criteria\n- **Skills Match:** Required vs preferred skills analysis\n- **Experience Quality:** Career progression and relevance\n- **Cultural Fit:** Communication style and values\n- **Red Flags:** Job hopping, gaps, inconsistencies\n\n### Scoring System\n- **Overall Score:** 0-100 based on weighted criteria\n- **Recommendation:** strong_yes | yes | maybe | no | strong_no\n- **Component Scores:** Skills, experience, culture fit\n\n### Structured Output\nJSON schema ensures consistent evaluations:\n- Scores and recommendation\n- Skills lists (present/missing)\n- Standout qualities\n- Interview focus areas\n- Salary estimate\n- Detailed markdown assessment\n\n**Result:** Data-driven hiring decisions with full transparency"
          },
          "typeVersion": 1
        },
        {
          "id": "efc3e4dc-a5eb-4b6a-9b24-e863af4838c5",
          "name": "Sticky Note - Routing",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -896,
            -96
          ],
          "parameters": {
            "color": 3,
            "width": 892,
            "height": 1388,
            "content": "## 🚦 Smart Routing & Actions\n\nAutomatically routes candidates based on AI evaluation and triggers appropriate workflows.\n\n### Route 1: Strong Yes (Score 85-100)\n✅ **Instant Actions:**\n- Slack alert to hiring team\n- Interview invitation email\n- Log to database with \"Hot Candidate\" tag\n\n### Route 2: Yes/Maybe (Score 60-84)\n⚠️ **Manager Review:**\n- Email to hiring manager with full assessment\n- Await human approval decision\n- Then send appropriate email\n\n### Route 3: No/Strong No (Score <60)\n❌ **Polite Rejection:**\n- Professional rejection email\n- Encouragement to apply for other roles\n- Log to database for future reference\n\n**All routes:** Log complete data to Google Sheets for analytics\n\n**Result:** Fast response times, no candidate left behind, data-driven decisions"
          },
          "typeVersion": 1
        },
        {
          "id": "bde3090f-306e-47c0-96c1-5d2737952475",
          "name": "Sticky Note - Analytics",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            144,
            288
          ],
          "parameters": {
            "color": 7,
            "width": 496,
            "height": 672,
            "content": "## 📊 Hiring Analytics Hub\n\nAll applications logged to Google Sheets for comprehensive hiring analytics.\n\n### Tracked Metrics\n- Application volume by position\n- Average candidate scores\n- Time-to-hire by recommendation tier\n- Skills gap analysis\n- Source effectiveness\n- Conversion rates by score range\n\n### Sheet Columns\napplication_id | date | name | email | phone | position | experience | overall_score | skills_match | experience_score | cultural_fit | recommendation | status | linkedin | portfolio | salary_estimate\n\n**Use Case:** Build dashboards to optimize hiring process and identify top talent sources"
          },
          "typeVersion": 1
        },
        {
          "id": "48ef417e-9b90-4fc9-9693-09a0ed4c0e1d",
          "name": "Send a message",
          "type": "n8n-nodes-base.slack",
          "position": [
            -480,
            560
          ],
          "webhookId": "1deb1c6e-1b9c-420c-9262-62441e4261cb",
          "parameters": {
            "select": "channel",
            "channelId": {
              "__rl": true,
              "mode": "list",
              "value": ""
            },
            "otherOptions": {}
          },
          "typeVersion": 2.3
        },
        {
          "id": "b0ec920b-97b7-425e-a0fa-f30f91a70f31",
          "name": "Jotform Trigger",
          "type": "n8n-nodes-base.jotFormTrigger",
          "position": [
            -2960,
            656
          ],
          "webhookId": "403cee80-bf01-4587-b783-6476e4230454",
          "parameters": {
            "form": "252815294070456"
          },
          "credentials": {
            "jotFormApi": {
              "id": "credential-id",
              "name": "jotFormApi Credential"
            }
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "659cd7d7-9d4d-44fb-828c-b7a7282656d5",
      "connections": {
        "Strong Yes?": {
          "main": [
            [
              {
                "node": "Send a message",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Maybe or Yes?": {
          "main": [
            [
              {
                "node": "Request Manager Review",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Send Rejection Email",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Process Resume": {
          "main": [
            [
              {
                "node": "AI Resume Parser",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Send a message": {
          "main": [
            [
              {
                "node": "Send Interview Invitation",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Download Resume": {
          "main": [
            [
              {
                "node": "Process Resume",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Jotform Trigger": {
          "main": [
            [
              {
                "node": "Extract Application Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Resume Parser": {
          "main": [
            [
              {
                "node": "AI Candidate Screener",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "AI Candidate Screener",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Send Rejection Email": {
          "main": [
            [
              {
                "node": "Log to Hiring Database",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Candidate Screener": {
          "main": [
            [
              {
                "node": "Strong Yes?",
                "type": "main",
                "index": 0
              },
              {
                "node": "Maybe or Yes?",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Request Manager Review": {
          "main": [
            [
              {
                "node": "Log to Hiring Database",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Extract Application Data": {
          "main": [
            [
              {
                "node": "Download Resume",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Structured Output Parser": {
          "ai_outputParser": [
            [
              {
                "node": "AI Candidate Screener",
                "type": "ai_outputParser",
                "index": 0
              }
            ]
          ]
        },
        "Send Interview Invitation": {
          "main": [
            [
              {
                "node": "Log to Hiring Database",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 20,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 2
        },
        "n8n-nodes-base.set": {
          "count": 1
        },
        "n8n-nodes-base.code": {
          "count": 1
        },
        "n8n-nodes-base.gmail": {
          "count": 3
        },
        "n8n-nodes-base.slack": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 5
        },
        "n8n-nodes-base.httpRequest": {
          "count": 1
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "n8n-nodes-base.jotFormTrigger": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.agent": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.openAi": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.lmChatOpenAi": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.outputParserStructured": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Jitesh Dugar",
      "username": "jiteshdugar",
      "bio": "AI Automation Specialist - OpenAI, CRM & Automation Expert with a solid understanding of various tools that include Zapier, Make, Zoho CRM, Hubspot, Google Sheets, Airtable, Pipedrive, Google Analytics, and more.",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/jiteshdugar"
      ],
      "avatar": "https://gravatar.com/avatar/edaa3abb99806b0586dced559d0a5417f24a507e7c4464a63960f0638a4b1b90?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 18,
        "icon": "file:googleSheets.svg",
        "name": "n8n-nodes-base.googleSheets",
        "codex": {
          "data": {
            "alias": [
              "CSV",
              "Sheet",
              "Spreadsheet",
              "GS"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/",
                  "icon": "❤️",
                  "label": "Love at first sight: Ricardo’s n8n journey"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/",
                  "icon": "⏲",
                  "label": "Creating triggers for n8n workflows using polling"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/",
                  "icon": "📈",
                  "label": "Migrating Community Metrics to Orbit using n8n"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/",
                  "icon": "🍔",
                  "label": "How Honest Burgers Use Automation to Save $100k per year"
                },
                {
                  "url": "https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Data & Storage",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\",\"output\"]",
        "defaults": {
          "name": "Google Sheets"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="
        },
        "displayName": "Google Sheets",
        "typeVersion": 5,
        "nodeCategories": [
          {
            "id": 3,
            "name": "Data & Storage"
          },
          {
            "id": 4,
            "name": "Productivity"
          }
        ]
      },
      {
        "id": 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": 38,
        "icon": "fa:pen",
        "name": "n8n-nodes-base.set",
        "codex": {
          "data": {
            "alias": [
              "Set",
              "JS",
              "JSON",
              "Filter",
              "Transform",
              "Map"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/",
                  "icon": "📈",
                  "label": "Automatically pulling and visualizing data with n8n"
                },
                {
                  "url": "https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/",
                  "icon": "📡",
                  "label": "Database Monitoring and Alerting with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/",
                  "icon": "📱",
                  "label": "Building an expense tracking app in 10 minutes"
                },
                {
                  "url": "https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/",
                  "icon": "📹",
                  "label": "The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/",
                  "icon": "🧰",
                  "label": "Learn to Build Powerful API Endpoints Using Webhooks"
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/",
                  "icon": "📈",
                  "label": "A low-code bitcoin ticker built with QuestDB and n8n.io"
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Edit Fields"
        },
        "iconData": {
          "icon": "pen",
          "type": "icon"
        },
        "displayName": "Edit Fields (Set)",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 40,
        "icon": "file:slack.svg",
        "name": "n8n-nodes-base.slack",
        "codex": {
          "data": {
            "alias": [
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/",
                  "icon": "👦",
                  "label": "Build your own virtual assistant with n8n: A step by step guide"
                },
                {
                  "url": "https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/",
                  "icon": "👏",
                  "label": "How to automatically give kudos to contributors with GitHub, Slack, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/automations-for-activists/",
                  "icon": "✨",
                  "label": "How Common Knowledge use workflow automation for activism"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/slack/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Slack"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"
        },
        "displayName": "Slack",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 227,
        "icon": "file:jotform.svg",
        "name": "n8n-nodes-base.jotFormTrigger",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.jotformtrigger/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/jotform/"
                }
              ]
            },
            "categories": [
              "Communication"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Jotform Trigger"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNSAyOCI+PHBhdGggaWQ9ImpvdGZvcm0tbG9nb21hcmstZmlyc3QiIGZpbGw9IiNGRjYxMDAiIGQ9Ik0xOS4yOTQgMy45MzRhMy4zNDEgMy4zNDEgMCAwIDEgNC43MjcgMCAzLjM0NCAzLjM0NCAwIDAgMSAwIDQuNzI4bC0xMS44MTcgMTEuODJhMy4zNDEgMy4zNDEgMCAwIDEtNC43MjYgMCAzLjM0NCAzLjM0NCAwIDAgMSAwLTQuNzI3bDExLjgxNi0xMS44MloiPjwvcGF0aD48cGF0aCBpZD0iam90Zm9ybS1sb2dvbWFyay1zZWNvbmQiIGZpbGw9IiMwMDk5RkYiIGQ9Ik05LjI1Ljk4YTMuMzQ0IDMuMzQ0IDAgMCAxIDQuNzI3IDQuNzI4bC04LjI3MSA4LjI3NGEzLjM0MiAzLjM0MiAwIDAgMS00LjcyNyAwIDMuMzQ0IDMuMzQ0IDAgMCAxIDAtNC43MjlMOS4yNS45OFoiPjwvcGF0aD48cGF0aCBpZD0iam90Zm9ybS1sb2dvbWFyay10aGlyZCIgZmlsbD0iI0ZGQjYyOSIgZD0iTTE4LjcwNCAxNy41MjdhMy4zNDQgMy4zNDQgMCAwIDEgNC43MjYgNC43MjhsLTQuNzI2IDQuNzI5YTMuMzQyIDMuMzQyIDAgMSAxLTQuNzI3LTQuNzI4bDQuNzI3LTQuNzI5WiI+PC9wYXRoPjxwYXRoIGlkPSJqb3Rmb3JtLWxvZ29tYXJrLWZvdXJ0aCIgZmlsbD0iIzBBMTU1MSIgZD0iTTEuNjcxIDI4aDQuNjY3Yy43NDUgMCAxLjExOC0uOS41OTEtMS40MjdMMS40MjYgMjEuMDdDLjkgMjAuNTQyIDAgMjAuOTE1IDAgMjEuNjU5djQuNjdDMCAyNy4yNTEuNzQ4IDI4IDEuNjcxIDI4WiI+PC9wYXRoPjwvc3ZnPg=="
        },
        "displayName": "Jotform Trigger",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          }
        ]
      },
      {
        "id": 356,
        "icon": "file:gmail.svg",
        "name": "n8n-nodes-base.gmail",
        "codex": {
          "data": {
            "alias": [
              "email",
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/",
                  "icon": "💪",
                  "label": "Using Automation to Boost Productivity in the Workplace"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Gmail"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"
        },
        "displayName": "Gmail",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 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": 1119,
        "icon": "fa:robot",
        "name": "@n8n/n8n-nodes-langchain.agent",
        "codex": {
          "data": {
            "alias": [
              "LangChain",
              "Chat",
              "Conversational",
              "Plan and Execute",
              "ReAct",
              "Tools"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Agents",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "AI Agent",
          "color": "#404040"
        },
        "iconData": {
          "icon": "robot",
          "type": "icon"
        },
        "displayName": "AI Agent",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1153,
        "icon": "file:openAiLight.svg",
        "name": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Language Models",
                "Root Nodes"
              ],
              "Language Models": [
                "Chat Models (Recommended)"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "OpenAI Chat Model"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="
        },
        "displayName": "OpenAI Chat Model",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1179,
        "icon": "fa:code",
        "name": "@n8n/n8n-nodes-langchain.outputParserStructured",
        "codex": {
          "data": {
            "alias": [
              "json",
              "zod"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Output Parsers"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Structured Output Parser"
        },
        "iconData": {
          "icon": "code",
          "type": "icon"
        },
        "displayName": "Structured Output Parser",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1250,
        "icon": "file:openAi.svg",
        "name": "@n8n/n8n-nodes-langchain.openAi",
        "codex": {
          "data": {
            "alias": [
              "LangChain",
              "ChatGPT",
              "Sora",
              "DallE",
              "whisper",
              "audio",
              "transcribe",
              "tts",
              "assistant"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Agents",
                "Miscellaneous",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "OpenAI"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"
        },
        "displayName": "OpenAI",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 17,
        "name": "HR"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}