{
  "workflow": {
    "id": 9841,
    "name": "Automate loan pre-approvals with Jotform, GPT-4 analysis & Gmail notifications",
    "views": 206,
    "recentViews": 0,
    "totalViews": 206,
    "createdAt": "2025-10-17T14:19:35.925Z",
    "description": "# Jotform AI-Powered Loan Application & Pre-Approval Automation System\n\nTransform manual loan processing into same-day pre-approvals - achieving 50% faster closings, 90% reduction in manual review time, and automated underwriting decisions with AI-powered financial analysis and instant applicant notifications.\n\n## What This Workflow Does\n\nRevolutionizes mortgage and loan processing with AI-driven financial analysis and automated decision workflows:\n\n📝 **Digital Application Capture** - Jotform collects complete applicant data, income, employment, and loan details  \n🤖 **AI Financial Analysis** - GPT-4 calculates debt-to-income ratio, loan-to-value ratio, and approval likelihood  \n💳 **Automated Credit Assessment** - Instant credit score evaluation and payment history analysis  \n📊 **Risk Scoring** - AI assigns 1-100 risk scores based on multiple financial factors  \n✅ **Intelligent Routing** - Automatic pre-approval, conditional approval, or denial based on lending criteria  \n📧 **Instant Notifications** - Applicants receive approval letters within minutes of submission  \n👔 **Underwriter Alerts** - Pre-approved loans automatically route to loan officers with complete analysis  \n📋 **Document Tracking** - Required documents list generated based on application specifics  \n📅 **Closing Scheduling** - Approved loans trigger closing coordination workflows  \n📈 **Complete Audit Trail** - Every application logged with financial metrics and decision rationale\n\n## Key Features\n\n**AI Underwriting Analyst**: GPT-4 evaluates loan applications across 10+ financial dimensions including debt ratios, risk assessment, and approval recommendations\n\n**Debt-to-Income Calculation**: Automatically calculates DTI ratio and compares against lending standards (43% threshold for qualified mortgages)\n\n**Loan-to-Value Analysis**: Evaluates down payment adequacy and property value against loan amount requested\n\n**Credit Score Integration**: Simulated credit assessment (ready for real credit bureau API integration like Experian, Equifax, TransUnion)\n\n**Approval Likelihood Scoring**: AI predicts approval probability as high/medium/low based on complete financial profile\n\n**Risk Assessment**: 1-100 risk score considers income stability, debt levels, credit history, and employment status\n\n**Interest Rate Recommendations**: AI suggests appropriate rate ranges based on applicant qualifications\n\n**Conditional Approval Logic**: Identifies specific requirements needed for final approval (additional documentation, debt paydown, etc.)\n\n**Multi-Path Routing**: Different workflows for pre-approved (green path), conditional (yellow path), and denied (red path) applications\n\n**Monthly Payment Estimates**: AI calculates estimated mortgage payments including principal, interest, taxes, and insurance\n\n**Employment Verification Tracking**: Flags employment status and stability in approval decision\n\n**Document Requirements Generator**: Custom list of required documents based on applicant situation and loan type\n\n**Underwriter Dashboard Integration**: Pre-approved applications automatically notify underwriters with complete financial summary\n\n**Applicant Communication**: Professional, branded emails for every outcome (pre-approval, conditional, denial)\n\n**Alternative Options for Denials**: Denied applicants receive constructive guidance on improving qualifications\n\n**Compliance Ready**: Decision rationale documented for regulatory compliance and audit requirements\n\n## Perfect For\n\n**Mortgage Lenders**: Banks and credit unions processing home loan applications (purchase, refinance, HELOC)  \n**Commercial Lenders**: Business loan and commercial real estate financing institutions  \n**Auto Finance Companies**: Car dealerships and auto loan providers needing instant credit decisions  \n**Personal Loan Providers**: Fintech companies and online lenders offering consumer loans  \n**Credit Unions**: Member-focused financial institutions streamlining loan approval processes  \n**Mortgage Brokers**: Independent brokers managing applications for multiple lenders  \n**Hard Money Lenders**: Alternative lenders with custom underwriting criteria  \n**Student Loan Services**: Educational financing with income-based qualification  \n\n## What You'll Need\n\n### Required Integrations\n\n**Jotform** - Loan application form (free tier works, Pro recommended for file uploads)  \n*Create your form for free on Jotform using this link: https://www.jotform.com*\n\n**OpenAI API** - GPT-4 for AI financial analysis and underwriting decisions (approximately 0.30-0.50 USD per application)  \n\n**Gmail** - Automated notifications to applicants and underwriters  \n\n**Google Sheets** - Loan application database and pipeline tracking  \n\n### Optional Integrations (Recommended for Production)\n\n**Credit Bureau APIs** - Experian, Equifax, or TransUnion for real credit pulls  \n**Document Management** - DocuSign, HelloSign for e-signatures and document collection  \n**Property Appraisal APIs** - Automated valuation models for property verification  \n**Calendar Integration** - Calendly or Google Calendar for closing date scheduling  \n**CRM Systems** - Salesforce, HubSpot for lead management and follow-up  \n**Loan Origination Software (LOS)** - Encompass, Calyx, BytePro integration  \n\n## Quick Start\n\n1. **Import Template** - Copy JSON and import into n8n\n2. **Add OpenAI Credentials** - Set up OpenAI API key (GPT-4 required for accurate underwriting)\n3. **Create Jotform Loan Application**:\n   - Full Name (q3_fullName)\n   - Email (q4_email)\n   - Phone (q5_phone)\n   - Social Security Number (q6_ssn) - encrypted field\n   - Monthly Income (q7_monthlyIncome) - number field\n   - Monthly Debts (q8_monthlyDebts) - number field (credit cards, car loans, student loans)\n   - Loan Amount Requested (q9_loanAmount) - number field\n   - Down Payment (q10_downPayment) - number field\n   - Property Value (q11_propertyValue) - number field\n   - Employment Status (q12_employmentStatus) - dropdown (Full-time, Part-time, Self-employed, Retired)\n   - Additional fields: Date of Birth, Address, Employer Name, Years at Job, Property Address\n4. **Configure Gmail** - Add Gmail OAuth2 credentials (same for all 4 Gmail nodes)\n5. **Setup Google Sheets**:\n   - Create spreadsheet with \"Loan_Applications\" sheet\n   - Replace YOUR_GOOGLE_SHEET_ID in workflow\n   - 16 columns auto-populate: timestamp, applicationId, applicantName, email, phone, loanAmount, downPayment, monthlyIncome, monthlyDebts, creditScore, dtiRatio, ltvRatio, riskScore, approvalStatus, monthlyPayment, interestRate\n6. **Customize Approval Criteria** (Optional):\n   - Edit \"Check Approval Status\" node\n   - Adjust credit score minimum (default: 680)\n   - Modify DTI threshold (default: 43%)\n   - Set LTV requirements\n7. **Configure Credit Integration**:\n   - Replace \"Simulate Credit Check\" node with real credit bureau API\n   - Or keep simulation for testing/demo purposes\n8. **Brand Email Templates**:\n   - Update company name, logo, contact information\n   - Customize approval letter formatting\n   - Add compliance disclosures as required\n9. **Set Underwriter Email**:\n   - Update underwriter contact in \"Notify Underwriter\" node\n   - Add CC recipients for loan ops team\n10. **Test Workflow** - Submit test applications with different scenarios:\n    - High income, low debt (should pre-approve)\n    - Moderate income, high debt (should conditional)\n    - Low income, excessive debt (should deny)\n11. **Compliance Review** - Have legal/compliance team review automated decision logic\n12. **Go Live** - Deploy form on website, share with loan officers, integrate with marketing\n\n## Customization Options\n\n**Loan Type Variations**: Customize for conventional, FHA, VA, USDA, jumbo, or commercial loans  \n**Custom Underwriting Rules**: Adjust DTI limits, credit minimums, LTV requirements per loan product  \n**Manual Review Triggers**: Flag edge cases for manual underwriter review before automation  \n**Document Upload Integration**: Add Jotform file upload fields for paystubs, tax returns, bank statements  \n**Income Verification APIs**: Integrate with Plaid, Finicity, or Argyle for automated income verification  \n**Employment Verification**: Connect to The Work Number or other employment databases  \n**Property Appraisal Automation**: Integrate AVMs (Automated Valuation Models) from CoreLogic, HouseCanary  \n**Co-Borrower Support**: Add fields and logic for joint applications with multiple income sources  \n**Business Loan Customization**: Modify for business financials (revenue, EBITDA, business credit scores)  \n**Rate Shopping**: Integrate rate tables to provide real-time interest rate quotes  \n**Pre-Qualification vs Pre-Approval**: Create lighter version for soft credit pull pre-qualification  \n**Conditional Approval Workflows**: Automated follow-up sequences for document collection  \n**Closing Coordination**: Integrate with title companies, attorneys, closing services  \n**Regulatory Compliance**: Add TRID timeline tracking, adverse action notices, HMDA reporting  \n**Multi-Language Support**: Translate forms and emails for Spanish, Chinese, other languages  \n\n## Expected Results\n\n**Same-day pre-approval** - Applications processed in minutes vs 3-5 days manual review  \n**50% faster closings** - Streamlined process reduces time from application to closing  \n**90% reduction in manual review time** - AI handles initial underwriting, humans only review exceptions  \n**95% applicant satisfaction** - Instant decisions and clear communication improve experience  \n**75% reduction in incomplete applications** - Required fields force complete submission  \n**60% fewer applicant calls** - Automated status updates reduce \"where's my application\" inquiries  \n**100% application tracking** - Complete audit trail from submission to final decision  \n**40% increase in loan officer productivity** - Focus on high-value activities, not data entry  \n**80% decrease in approval errors** - Consistent AI analysis eliminates human calculation mistakes  \n**30% improvement in compliance** - Automated documentation and decision rationale for audits  \n\n\n\n\n## Pro Tips\n\n**Test with Multiple Scenarios**: Submit applications with various income/debt combinations to validate routing logic works correctly\n\n**Adjust DTI Thresholds for Loan Type**: Conventional mortgages: 43% max. FHA loans: 50% max. Auto loans: 35-40% max. Personal loans: 40-45% max.\n\n**Credit Score Tiers Matter**: Build rate sheets with score tiers (740+: prime, 680-739: near-prime, 620-679: subprime, below 620: denied or hard money)\n\n**Income Verification Priorities**: W-2 employees (easy), self-employed (complex), commission/bonus heavy (average 2 years), rental income (75% counts), gig economy (difficult)\n\n**Document Checklist Customization**: Vary required docs by loan type, amount, and risk profile to avoid over-documentation for low-risk loans\n\n**Conditional Approval vs Outright Denial**: When in doubt, use conditional - gives applicants path to approval and keeps them in pipeline\n\n**Adverse Action Notices**: For denials, include specific reasons (per FCRA requirements) and instructions for disputing credit report errors\n\n**Pre-Qualification vs Pre-Approval**: Pre-qual uses soft credit pull (no impact on score), pre-approval uses hard pull (official decision)\n\n**Co-Borrower Logic**: When DTI is high, automatically suggest co-borrower as option to strengthen application\n\n**Rate Lock Automation**: Pre-approved applications should include rate lock expiration date (typically 30-60 days)\n\n**Property Appraisal Triggers**: Auto-order appraisals for pre-approved mortgage applications to keep process moving\n\n**Underwriter Dashboard**: Build Google Sheets dashboard with filters for underwriters to sort by approval status, loan amount, date\n\n**Compliance Monitoring**: Regular audits of AI decisions to ensure no discriminatory patterns (disparate impact analysis)\n\n**Customer Service Integration**: Link application IDs to support tickets so agents can quickly pull up loan status\n\n**Marketing Attribution**: Track lead sources in form to measure which marketing channels produce best-quality applicants\n\n## Learning Resources\n\nThis workflow demonstrates advanced automation:\n\n**AI Agents for Financial Analysis**: Multi-dimensional loan qualification using BANT-style underwriting criteria\n\n**Complex Conditional Logic**: Multi-path routing with nested IF conditions for approval/conditional/denial workflows\n\n**Financial Calculations**: Automated DTI, LTV, DSCR, and payment estimation algorithms\n\n**Risk Scoring Models**: Comprehensive risk assessment combining credit, income, debt, and employment factors\n\n**Decision Documentation**: Complete audit trail with AI reasoning for regulatory compliance\n\n**Email Customization**: Dynamic content generation based on approval outcomes and applicant situations\n\n**Data Pipeline Design**: Structured data flow from application through analysis to decision and notification\n\n**Simulation vs Production**: Credit check node designed for easy swap from simulation to real API integration\n\n**Parallel Processing**: Simultaneous logging and notification workflows for efficiency\n\n**Workflow Orchestration**: Coordination of multiple decision points and communication touchpoints\n\n**Questions or customization?** The workflow includes detailed sticky notes explaining each analysis component and decision logic.\n\n### Template Compatibility\n- ✅ n8n version 1.0+\n- ✅ Works with n8n Cloud and Self-Hosted\n- ✅ Production-ready for financial institutions\n- ✅ Fully customizable for any loan type\n\n**Compliance Note**: This template is designed for demonstration and automation purposes. Always consult with legal counsel to ensure compliance with TILA, RESPA, ECOA, FCRA, and applicable state lending regulations before deploying in production.",
    "workflow": {
      "meta": {
        "instanceId": "277842713620d9f5554de3b1518b865a152c8c4db680008bd8aec536fc18b4a8",
        "templateCredsSetupCompleted": true
      },
      "nodes": [
        {
          "id": "dcd9d4c8-a065-46c1-974f-d3a8042ed8bd",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -608,
            -96
          ],
          "parameters": {
            "color": 4,
            "width": 360,
            "height": 632,
            "content": "## 🏦 Loan Application System\n\nAutomates loan processing from application to approval\n\nFeatures:\n- AI debt-to-income calculation\n- Automated credit checks\n- Approval likelihood scoring\n- Document tracking\n- Conditional letters\n- Closing scheduling\n\nROI: Same-day approval, 50% faster closings"
          },
          "typeVersion": 1
        },
        {
          "id": "64ff6562-d154-4b39-afd7-b6232a2e02f3",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -208,
            -128
          ],
          "parameters": {
            "color": 5,
            "width": 320,
            "height": 624,
            "content": "## 📝 Form Fields\nCreate your form for free on [Jotform using this link](https://www.jotform.com/?partner=mediajade)\n\nApplicant Info:\n- Full Name\n- Email, Phone\n- SSN, DOB\n- Address\n\nFinancial Info:\n- Monthly Income\n- Employment Status\n- Current Debts\n- Loan Amount Requested\n- Down Payment\n- Property Value\n"
          },
          "typeVersion": 1
        },
        {
          "id": "d106adca-3600-4df9-8057-bf70a4c652ae",
          "name": "Extract Application Data",
          "type": "n8n-nodes-base.set",
          "position": [
            -16,
            288
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3
        },
        {
          "id": "bad60885-2792-4f80-b545-5938e44fa5c7",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            144,
            -96
          ],
          "parameters": {
            "color": 6,
            "width": 484,
            "height": 552,
            "content": "## 🤖 AI Financial Analysis\n\nCalculates:\n- Debt-to-Income Ratio\n- Loan-to-Value Ratio\n- Approval Likelihood\n- Risk Assessment\n- Recommended Terms\n- Required Documentation"
          },
          "typeVersion": 1
        },
        {
          "id": "5d01d4bc-2940-496a-adb1-7fc33fbe5650",
          "name": "AI Financial Analysis",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            160,
            240
          ],
          "parameters": {
            "text": "=Analyze this loan application:\n\nApplicant: {{ $json['Customer name'] }}\nMonthly Income: {{ $json['Monthly Income'] }}\nMonthly Debts: {{ $json['Current debts'] }}\nLoan Amount: {{ $json['Loan Amount Requested'] }}\nDown Payment: {{ $json.Downpayment }}\nProperty Value: {{ $json['Property Value'] }}\nEmployment: {{ $json['Employment Status'] }}\n\nReturn JSON:\n{\n\"debtToIncomeRatio\": 0.35,\n\"loanToValueRatio\": 0.80,\n\"approvalLikelihood\": \"high/medium/low\",\n\"riskScore\": 1-100,\n\"recommendedStatus\": \"pre-approved/conditional/denied\",\n\"monthlyPaymentEstimate\": 2500,\n\"requiredDocuments\": [\"paystubs\", \"tax returns\"],\n\"conditionsForApproval\": [\"condition1\"],\n\"reasoningNotes\": \"explanation\",\n\"interestRateRange\": \"3.5-4.0%\"\n}",
            "agent": "conversationalAgent",
            "options": {
              "systemMessage": "You are a mortgage underwriting AI. Analyze loan applications objectively based on standard lending criteria."
            },
            "promptType": "define"
          },
          "typeVersion": 1.6
        },
        {
          "id": "0c50a9a5-658e-4265-859b-ed6aea84e1a4",
          "name": "Parse AI Analysis",
          "type": "n8n-nodes-base.set",
          "position": [
            464,
            240
          ],
          "parameters": {
            "fields": {
              "values": [
                {
                  "name": "Analysis",
                  "stringValue": "={{ $json.output }}"
                }
              ]
            },
            "options": {}
          },
          "typeVersion": 3
        },
        {
          "id": "4f990f13-dca5-49f7-b7dd-9bc1c5b8ae88",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            672,
            -80
          ],
          "parameters": {
            "color": 2,
            "width": 320,
            "height": 632,
            "content": "## 💳 Credit Check\n\nSimulates credit pull:\n- Credit Score\n- Payment History\n- Credit Utilization\n- Recent Inquiries\n\nNote: Replace with real credit API integration"
          },
          "typeVersion": 1
        },
        {
          "id": "7e1f7975-da4b-42a6-a276-bb4f0b7e0f91",
          "name": "Simulate Credit Check",
          "type": "n8n-nodes-base.code",
          "position": [
            736,
            256
          ],
          "parameters": {
            "jsCode": "const income = $('Extract Application Data').first().json.monthlyIncome;\nconst debts = $('Extract Application Data').first().json.monthlyDebts;\nconst dti = $('Parse AI Analysis').first().json.debtToIncomeRatio;\n\nlet creditScore = 720;\nif (dti < 0.30 && income > 8000) creditScore = 760;\nelse if (dti > 0.43 || income < 4000) creditScore = 650;\n\nconst creditData = {\n  creditScore: creditScore,\n  paymentHistory: creditScore > 700 ? 'excellent' : creditScore > 650 ? 'good' : 'fair',\n  creditUtilization: creditScore > 700 ? 25 : 45,\n  recentInquiries: creditScore > 700 ? 1 : 3,\n  creditCheckDate: new Date().toISOString(),\n  ...$('Parse AI Analysis').first().json,\n  ...$('Extract Application Data').first().json\n};\n\nreturn [{ json: creditData }];"
          },
          "typeVersion": 2
        },
        {
          "id": "a0554431-c558-4a3b-9200-15edf155858d",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1008,
            -80
          ],
          "parameters": {
            "color": 7,
            "height": 472,
            "content": "## 🎯 Approval Decision\n\nRoutes based on:\n- AI recommendation\n- Credit score\n- DTI ratio\n- LTV ratio\n\nPaths:\n- Pre-Approved (green)\n- Conditional (yellow)\n- Denied (red)"
          },
          "typeVersion": 1
        },
        {
          "id": "a73df01e-588e-4428-99f9-f15640c02aec",
          "name": "Check Approval Status",
          "type": "n8n-nodes-base.if",
          "position": [
            1056,
            288
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "version": 1,
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "strict"
              },
              "combinator": "and",
              "conditions": [
                {
                  "id": "c1",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.recommendedStatus }}",
                  "rightValue": "pre-approved"
                },
                {
                  "id": "c2",
                  "operator": {
                    "type": "number",
                    "operation": "gte"
                  },
                  "leftValue": "={{ $json.creditScore }}",
                  "rightValue": 680
                },
                {
                  "id": "c3",
                  "operator": {
                    "type": "number",
                    "operation": "lte"
                  },
                  "leftValue": "={{ $json.debtToIncomeRatio }}",
                  "rightValue": 0.43
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "ab117b82-a32d-40a9-8b13-2a975b5d795a",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1264,
            -112
          ],
          "parameters": {
            "color": 3,
            "width": 300,
            "height": 468,
            "content": "## ✅ Pre-Approved Path\n\nActions:\n- Send approval letter\n- Route to underwriter\n- Schedule closing\n- Request final docs"
          },
          "typeVersion": 1
        },
        {
          "id": "c0f70116-85b3-454a-91f8-7619e980cebb",
          "name": "Send Pre-Approval Letter",
          "type": "n8n-nodes-base.gmail",
          "position": [
            1328,
            128
          ],
          "webhookId": "eea286dd-ea39-4c4c-94fb-2bac6ff431d5",
          "parameters": {
            "sendTo": "={{ $json.email }}",
            "message": "=<div style='font-family: Arial; max-width: 650px; margin: 0 auto;'>\n<div style='background: linear-gradient(135deg, #28a745 0%, #20c997 100%); color: white; padding: 40px; text-align: center;'>\n<h1 style='margin: 0;'>Congratulations!</h1>\n<p style='margin: 10px 0 0 0; font-size: 18px;'>You are Pre-Approved</p>\n</div>\n<div style='padding: 30px;'>\n<p>Dear {{ $json.applicantName }},</p>\n<p>Great news! Your loan application has been pre-approved.</p>\n<div style='background: #d4edda; padding: 20px; margin: 20px 0; border-radius: 8px; border-left: 4px solid #28a745;'>\n<h3 style='margin-top: 0; color: #155724;'>Loan Details</h3>\n<p style='margin: 5px 0;'><strong>Loan Amount:</strong> ${{ $json.loanAmount.toLocaleString() }}</p>\n<p style='margin: 5px 0;'><strong>Estimated Monthly Payment:</strong> ${{ $json.monthlyPaymentEstimate.toLocaleString() }}</p>\n<p style='margin: 5px 0;'><strong>Interest Rate Range:</strong> {{ $json.interestRateRange }}</p>\n<p style='margin: 5px 0;'><strong>Debt-to-Income Ratio:</strong> {{ ($json.debtToIncomeRatio * 100).toFixed(1) }}%</p>\n</div>\n<div style='background: #fff3cd; padding: 20px; margin: 20px 0; border-radius: 8px;'>\n<h3 style='margin-top: 0; color: #856404;'>Required Documents</h3>\n<ul style='color: #856404;'>\n<li>Last 2 months paystubs</li>\n<li>Last 2 years tax returns</li>\n<li>Bank statements (60 days)</li>\n<li>Photo ID</li>\n<li>Proof of down payment</li>\n</ul>\n</div>\n<p><strong>Next Steps:</strong></p>\n<ol>\n<li>Upload required documents within 5 business days</li>\n<li>Complete property appraisal</li>\n<li>Final underwriter review</li>\n<li>Schedule closing date</li>\n</ol>\n<p>Application ID: {{ $json.submissionId }}</p>\n<p>Questions? Call us at (555) 123-4567</p>\n</div>\n</div>",
            "options": {},
            "subject": "=Pre-Approval: Congratulations {{ $json.applicantName.split(' ')[0] }}!"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "2f7eb615-f4f9-4157-8d64-6d4063517506",
          "name": "Notify Underwriter",
          "type": "n8n-nodes-base.gmail",
          "position": [
            1328,
            256
          ],
          "webhookId": "b76cebb3-e3b8-4673-b51e-a7c0dbb1a1c2",
          "parameters": {
            "sendTo": "user@example.com",
            "message": "=<div style='font-family: Arial;'>\n<h2>New Pre-Approved Loan Application</h2>\n<p><strong>Applicant:</strong> {{ $json.applicantName }}</p>\n<p><strong>Loan Amount:</strong> ${{ $json.loanAmount.toLocaleString() }}</p>\n<p><strong>Credit Score:</strong> {{ $json.creditScore }}</p>\n<p><strong>DTI Ratio:</strong> {{ ($json.debtToIncomeRatio * 100).toFixed(1) }}%</p>\n<p><strong>LTV Ratio:</strong> {{ ($json.loanToValueRatio * 100).toFixed(1) }}%</p>\n<p><strong>Risk Score:</strong> {{ $json.riskScore }}/100</p>\n<p><strong>Employment:</strong> {{ $json.employmentStatus }}</p>\n<p>Please review for final approval.</p>\n</div>",
            "options": {},
            "subject": "=New Pre-Approved Application: {{ $json.applicantName }}"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "681e4be6-fb63-41ae-ac9d-9ef6530b22b2",
          "name": "Sticky Note6",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1248,
            400
          ],
          "parameters": {
            "width": 300,
            "height": 420,
            "content": "## ⚠️ Conditional/Denied Path\n\nActions:\n- Send conditional approval\n- List requirements\n- Or send denial letter\n- Offer alternatives"
          },
          "typeVersion": 1
        },
        {
          "id": "b789aa66-b4da-4e61-8359-b3bb72a8ce76",
          "name": "Check If Conditional",
          "type": "n8n-nodes-base.if",
          "position": [
            1360,
            656
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "caseSensitive": true
              },
              "conditions": [
                {
                  "id": "c4",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{ $json.recommendedStatus }}",
                  "rightValue": "conditional"
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "e05e0a09-5dca-4b45-96ff-859ec77e5bbe",
          "name": "Send Conditional Letter",
          "type": "n8n-nodes-base.gmail",
          "position": [
            1712,
            528
          ],
          "webhookId": "9aa1e6c0-79ea-446c-ae6d-eea96010a27e",
          "parameters": {
            "sendTo": "={{ $json.email }}",
            "message": "=<div style='font-family: Arial; max-width: 650px; margin: 0 auto;'>\n<div style='background: #ffc107; color: #333; padding: 40px; text-align: center;'>\n<h1 style='margin: 0;'>Conditional Approval</h1>\n</div>\n<div style='padding: 30px;'>\n<p>Dear {{ $json.applicantName }},</p>\n<p>Your loan application is conditionally approved pending the following requirements:</p>\n<div style='background: #fff3cd; padding: 20px; margin: 20px 0; border-radius: 8px;'>\n<h3 style='color: #856404;'>Required Actions</h3>\n<ul>\n<li>{{ $json.conditionsForApproval[0] }}</li>\n</ul>\n</div>\n<p>Please address these items within 10 business days.</p>\n<p>Application ID: {{ $json.submissionId }}</p>\n</div>\n</div>",
            "options": {},
            "subject": "=Conditional Approval: Action Required"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "3bc859db-ab7c-4877-8f41-6b4429d3f918",
          "name": "Send Denial Letter",
          "type": "n8n-nodes-base.gmail",
          "position": [
            1696,
            704
          ],
          "webhookId": "407cbcab-dda3-40a5-bb1c-13dd2f0f10c3",
          "parameters": {
            "sendTo": "={{ $json.email }}",
            "message": "=<div style='font-family: Arial; max-width: 650px; margin: 0 auto;'>\n<div style='background: #dc3545; color: white; padding: 40px; text-align: center;'>\n<h1 style='margin: 0;'>Application Update</h1>\n</div>\n<div style='padding: 30px;'>\n<p>Dear {{ $json.applicantName }},</p>\n<p>After careful review, we are unable to approve your loan application at this time.</p>\n<p><strong>Reason:</strong> {{ $json.reasoningNotes }}</p>\n<div style='background: #d1ecf1; padding: 20px; margin: 20px 0; border-radius: 8px;'>\n<h3 style='color: #0c5460;'>Alternative Options</h3>\n<p>We recommend:</p>\n<ul>\n<li>Reduce existing debt to improve DTI ratio</li>\n<li>Increase down payment amount</li>\n<li>Consider co-borrower</li>\n<li>Reapply in 6 months after improving credit</li>\n</ul>\n</div>\n<p>Questions? Call (555) 123-4567</p>\n</div>\n</div>",
            "options": {},
            "subject": "=Loan Application Status Update"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "typeVersion": 2
        },
        {
          "id": "0b2c638e-1677-4e31-b99c-6f18a0c003e2",
          "name": "Sticky Note7",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            1696,
            -48
          ],
          "parameters": {
            "color": 4,
            "width": 320,
            "height": 536,
            "content": "## 📊 Application Tracking\n\nLogs to Google Sheets:\n- All application data\n- AI analysis results\n- Credit information\n- Approval status\n- Next steps\n- Timestamps"
          },
          "typeVersion": 1
        },
        {
          "id": "c33156be-0706-4e32-9cd5-3c5957fc8b8a",
          "name": "Log Application",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            1792,
            176
          ],
          "parameters": {
            "columns": {
              "value": {
                "email": "={{ $json.email }}",
                "phone": "={{ $json.phone }}",
                "dtiRatio": "={{ $json.debtToIncomeRatio }}",
                "ltvRatio": "={{ $json.loanToValueRatio }}",
                "riskScore": "={{ $json.riskScore }}",
                "timestamp": "={{ $json.submittedAt }}",
                "loanAmount": "={{ $json.loanAmount }}",
                "creditScore": "={{ $json.creditScore }}",
                "downPayment": "={{ $json.downPayment }}",
                "interestRate": "={{ $json.interestRateRange }}",
                "monthlyDebts": "={{ $json.monthlyDebts }}",
                "applicantName": "={{ $json.applicantName }}",
                "applicationId": "={{ $json.submissionId }}",
                "monthlyIncome": "={{ $json.monthlyIncome }}",
                "approvalStatus": "={{ $json.recommendedStatus }}",
                "monthlyPayment": "={{ $json.monthlyPaymentEstimate }}"
              },
              "mappingMode": "defineBelow"
            },
            "options": {
              "useAppend": true,
              "cellFormat": "USER_ENTERED"
            },
            "operation": "appendOrUpdate",
            "sheetName": {
              "__rl": true,
              "mode": "name",
              "value": "Loan_Applications"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "YOUR_GOOGLE_SHEET_ID"
            }
          },
          "credentials": {
            "googleSheetsOAuth2Api": {
              "id": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "typeVersion": 4
        },
        {
          "id": "7adf0d8f-09ad-4872-9263-c9c540f5782e",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            160,
            432
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4.1-mini"
            },
            "options": {}
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "fdf2f8e2-7dde-4bf3-b894-18d22b6ba321",
          "name": "Jotform Trigger",
          "type": "n8n-nodes-base.jotFormTrigger",
          "position": [
            -208,
            288
          ],
          "webhookId": "13b81a5e-3cb0-4d7d-8c29-6a34bee984f4",
          "parameters": {
            "form": "252894100907054"
          },
          "credentials": {
            "jotFormApi": {
              "id": "credential-id",
              "name": "jotFormApi Credential"
            }
          },
          "typeVersion": 1
        }
      ],
      "pinData": {
        "Jotform Trigger": [
          {
            "DOB": "",
            "Email": "deepanshi@mediajade.com",
            "Address": {
              "city": "Hisar",
              "state": "Haryana",
              "postal": "125001",
              "addr_line1": "41, Aggarsein colony",
              "addr_line2": ""
            },
            "Downpayment": "",
            "Phone Number": {
              "full": "(070) 249-3591"
            },
            "Current debts": "0",
            "Customer name": "Deepanshi Singhal",
            "Monthly Income": "",
            "Property Value": "",
            "Employment Status": "",
            "Loan Amount Requested": ""
          }
        ]
      },
      "connections": {
        "Jotform Trigger": {
          "main": [
            [
              {
                "node": "Extract Application Data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "AI Financial Analysis",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Parse AI Analysis": {
          "main": [
            [
              {
                "node": "Simulate Credit Check",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Check If Conditional": {
          "main": [
            [
              {
                "node": "Send Conditional Letter",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Send Denial Letter",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "AI Financial Analysis": {
          "main": [
            [
              {
                "node": "Parse AI Analysis",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Check Approval Status": {
          "main": [
            [
              {
                "node": "Send Pre-Approval Letter",
                "type": "main",
                "index": 0
              },
              {
                "node": "Notify Underwriter",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Check If Conditional",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Simulate Credit Check": {
          "main": [
            [
              {
                "node": "Check Approval Status",
                "type": "main",
                "index": 0
              },
              {
                "node": "Log Application",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Extract Application Data": {
          "main": [
            [
              {
                "node": "AI Financial Analysis",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 1,
    "workflowInfo": {
      "nodeCount": 21,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 2
        },
        "n8n-nodes-base.set": {
          "count": 2
        },
        "n8n-nodes-base.code": {
          "count": 1
        },
        "n8n-nodes-base.gmail": {
          "count": 4
        },
        "n8n-nodes-base.stickyNote": {
          "count": 8
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "n8n-nodes-base.jotFormTrigger": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.agent": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.lmChatOpenAi": {
          "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": 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": 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"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 38,
        "name": "Lead Nurturing"
      },
      {
        "id": 47,
        "name": "AI Chatbot"
      }
    ],
    "image": []
  }
}