Zoho CRM Lead Custom Fields Error

Describe the problem/error/question

I am having an issue while creating/updating leads in our Zoho CRM. The issue only seems to arise when trying to add custom fields.

What is the error message (if any)?

{
“errorMessage”: “There was an unknown issue while executing the node”,
“errorDescription”: “Double-check the node configuration and the service it connects to. Check the error details below and refer to the n8n documentation to troubleshoot the issue.“,
“errorDetails”: {},
“n8nDetails”: {
“nodeName”: “Create or update a lead”,
“nodeType”: “n8n-nodes-base.zohoCrm”,
“nodeVersion”: 1,
“resource”: “lead”,
“operation”: “upsert”,
“time”: “4/29/2026, 11:54:43 AM”,
“n8nVersion”: “2.17.5 (Cloud)”,
“binaryDataMode”: “filesystem”,
“stackTrace”: [
“NodeApiError: There was an unknown issue while executing the node”,
" at ExecuteContext.zohoApiRequest (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base*@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Zoho/GenericFunctions.ts:82:9)”,
" at processTicksAndRejections (node:internal/process/task_queues:104:5)“,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/Zoho/ZohoCrm.node.ts:828:22)”,
" at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_2d19a9be2839cb42cd2e8c9cacd05d5a/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1048:9)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_2d19a9be2839cb42cd2e8c9cacd05d5a/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1239:11)”,
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_2d19a9be2839cb42cd2e8c9cacd05d5a/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1687:27”,
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_2d19a9be2839cb42cd2e8c9cacd05d5a/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2339:11"
]
}
}

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

{
  "nodes": [
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Message a model in Perplexity",
        "messages": {
          "message": [
            {
              "content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('message0_Text', ``, 'string') }}",
              "role": "system"
            },
            {
              "content": "=Company Domain: {{ $json['Company Domain'] }}"
            }
          ]
        },
        "options": {},
        "requestOptions": {}
      },
      "id": "87e68835-2a7a-448f-afcb-660ecb4874ce",
      "name": "Perplexity Research Tool",
      "type": "n8n-nodes-base.perplexityTool",
      "typeVersion": 1,
      "position": [
        480,
        336
      ],
      "credentials": {
        "perplexityApi": {
          "id": "5JJhQfjXLPJvKzjT",
          "name": "Perplexity account"
        }
      }
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Research Lead on LinkedIn Perplexity",
        "messages": {
          "message": [
            {
              "content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('message0_Text', ``, 'string') }}",
              "role": "system"
            },
            {
              "content": "=LinkedIN URL: {{ $json['LinkedIn Profile URL'] }}"
            }
          ]
        },
        "options": {},
        "requestOptions": {}
      },
      "id": "21f09e90-00ce-4fdd-844a-03953f369f22",
      "name": "Perplexity for LinkedIn Research",
      "type": "n8n-nodes-base.perplexityTool",
      "typeVersion": 1,
      "position": [
        656,
        336
      ],
      "credentials": {
        "perplexityApi": {
          "id": "5JJhQfjXLPJvKzjT",
          "name": "Perplexity account"
        }
      }
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "1wmNeu8bkUP6e0ewHb4E4GIGBsdyzHl00fxcamq7VJnQ",
          "mode": "list",
          "cachedResultName": "Lead Research Analyst",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wmNeu8bkUP6e0ewHb4E4GIGBsdyzHl00fxcamq7VJnQ/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1wmNeu8bkUP6e0ewHb4E4GIGBsdyzHl00fxcamq7VJnQ/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Date": "={{ $('Research Agent').item.json.output.date }}",
            "Email": "={{ $('Research Agent').item.json.output.email }}",
            "Name": "={{ $('Research Agent').item.json.output.leadName }}",
            "Decision maker?": "={{ $('Research Agent').item.json.output.decisionMaker }}",
            "Company Name": "={{ $('Research Agent').item.json.output.companyName }}",
            "Revenue": "={{ $('Research Agent').item.json.output.monthlyRevenue }}",
            "Interest Summary": "={{ $('Research Agent').item.json.output.CPPInterestSummary }}",
            "Potential Company Solutions": "={{ $('Research Agent').item.json.output.potentialCompanySolutions }}",
            "Score": "={{ $json.output.score }}",
            "Phone Number": "={{ $('Research Agent').item.json.output.phonenumber }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "Date",
              "displayName": "Date",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "displayName": "Email",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "displayName": "Name",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Decision maker?",
              "displayName": "Decision maker?",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Company Name",
              "displayName": "Company Name",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Revenue",
              "displayName": "Revenue",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Interest Summary",
              "displayName": "Interest Summary",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Potential Company Solutions",
              "displayName": "Potential Company Solutions",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Score",
              "displayName": "Score",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone Number",
              "displayName": "Phone Number",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        1456,
        128
      ],
      "id": "e227ee83-6a19-4bf4-8561-d428c31648b7",
      "name": "Append row in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "jAtkSnPzs7rCgiD8",
          "name": "Google Sheets OAuth2 API"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "builtInTools": {},
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.3,
      "position": [
        336,
        320
      ],
      "id": "f8f17995-6d87-478a-8d1e-b00742d4269c",
      "name": "Brain1",
      "credentials": {
        "openAiApi": {
          "id": "GoiPh1Fp6oeQ6J6i",
          "name": "OpenAI account"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "builtInTools": {},
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.3,
      "position": [
        992,
        336
      ],
      "id": "72da7f3d-8c57-4b95-bf10-bdbcc2870431",
      "name": "Brain2",
      "credentials": {
        "openAiApi": {
          "id": "GoiPh1Fp6oeQ6J6i",
          "name": "OpenAI account"
        }
      }
    },
    {
      "parameters": {
        "formTitle": "Lead Intelligence Research Request",
        "formDescription": "Submit lead information to get comprehensive intelligence and insights",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Full Name",
              "placeholder": "Eg. John Smith"
            },
            {
              "fieldLabel": "Company Domain",
              "placeholder": "Company website domain (e.g., example.com)"
            },
            {
              "fieldLabel": "Company Name"
            },
            {
              "fieldLabel": "LinkedIn Profile URL",
              "placeholder": "LinkedIn profile URL (optional)"
            },
            {
              "fieldLabel": "Company City"
            },
            {
              "fieldLabel": "Industry Type"
            },
            {
              "fieldLabel": "Phone Number"
            },
            {
              "fieldLabel": "Email Address"
            }
          ]
        },
        "options": {
          "buttonLabel": "Start Research"
        }
      },
      "id": "75dcc00a-8191-4f71-b37e-ca7709f95d5f",
      "name": "New Lead",
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.3,
      "position": [
        80,
        128
      ],
      "webhookId": "18fa90a4-12bd-4c85-a1aa-694a01b7bffc"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=\n{{ $('New Lead').item.json['Company Domain'] }}\n\n{{ $json['Full Name'] }}\n\n{{ $json['LinkedIn Profile URL'] }}\n\n{{ $json['Company City'] }}\n\n{{ $json['Industry Type'] }}\n\n{{ $json['Company Name'] }}\n\n{{ $json['Phone Number'] }}\n\n{{ $json['Email Address'] }}\n",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "=## Overview\n\nYou are an **expert lead intelligence analyst** specializing in **Credit Card Processing Services (Merchant Services) sales, underwriting, and implementation readiness**.\n\nYour goal is to transform all available data about a lead and their company into a **concise, highly actionable intelligence report** that helps a **Merchant Services ISO, Payment Processor, or Sales Organization. Max Iterations is 9 **:\n\n* Win the deal\n* Optimize pricing (interchange + margin)\n* Reduce risk exposure\n* Accelerate onboarding and implementation\n* Identify long-term revenue opportunities\n\n---\n\n## 1. Research Tools & Mandatory Usage\n\n**Always use external research tools (Perplexity, LinkedIn, job boards, review platforms)** to gather intelligence on:\n\n### Business & Operational Signals\n\n* **Recent job postings**\n\n  * High-volume hiring (cashiers, support, billing, finance)\n  * Manual processing roles (AP/AR, reconciliation, bookkeeping)\n* **Revenue model & transaction flow**\n\n  * Online vs in-person vs hybrid\n  * Subscription, one-time, high-ticket, or recurring billing\n\n### Payment & Infrastructure Insights\n\n* Current or likely **POS systems** (Toast, Clover, Square, Lightspeed, Shopify, etc.)\n* **Payment processors** (Stripe, Square, PayPal, legacy processors)\n* E-commerce platforms (Shopify, WooCommerce, Magento)\n* Billing systems, invoicing tools, or ERP integrations\n\n### Customer & Experience Signals\n\n* Reviews (Google, Yelp, Glassdoor, Trustpilot)\n\n  * Complaints about:\n\n    * Checkout friction\n    * Payment failures\n    * Refund delays\n    * Customer service issues\n\n### Industry & Competitive Trends\n\n* Payment trends in their vertical (e.g., high-risk, card-present, card-not-present)\n* Competitor adoption of:\n\n  * POS upgrades\n  * Omnichannel payments\n  * Subscription billing\n  * Buy Now Pay Later (BNPL)\n\n### Merchant Services-Specific Indicators\n\n* Mentions of:\n\n  * High credit card fees\n  * Chargebacks\n  * Fraud issues\n  * Payment disputes\n  * Outdated terminals or systems\n\n---\n\n## 2. Internal Data Sources to Use\n\nSystematically synthesize:\n\n1. **Merchant Interest Signals**\n\n   * Any indication they are exploring:\n\n     * Lower fees\n     * New processors\n     * POS upgrades\n     * Payment optimization\n\n2. **Firmographic Data (Clearbit, etc.)**\n\n   * Industry, size, revenue band\n   * Physical locations vs online presence\n   * Growth stage\n\n3. **Contact Intelligence (Hunter, LinkedIn)**\n\n   * Decision-makers:\n\n     * Owner, CFO, COO\n     * Head of Finance\n     * Operations Manager\n     * IT / Systems Manager\n   * Identify who influences:\n\n     * Payment decisions\n     * Vendor selection\n     * Financial operations\n\n4. **Recent Company Developments**\n\n   * Expansion, new locations\n   * E-commerce launches\n   * Pricing changes\n   * Operational scaling\n\n5. **Lead Score & Service Interest**\n\n   * Use all scoring inputs to determine:\n\n     * Likelihood to switch processors\n     * Revenue potential\n     * Implementation complexity\n\n---\n\n## 3. Core Analytic Tasks\n\n---\n\n### 3.1 Merchant Readiness Assessment (Score 1–10)\n\nProvide a **Merchant Services Readiness Score (1–10)** based on:\n\n* **Current payment infrastructure maturity**\n\n  * Modern POS vs outdated terminals\n  * Integrated vs fragmented systems\n\n* **Transaction complexity**\n\n  * Volume, ticket size, recurring vs one-time\n\n* **Fee sensitivity**\n\n  * Likelihood they are overpaying on interchange or markup\n\n* **Operational efficiency**\n\n  * Manual reconciliation, invoicing, reporting\n\n* **Growth stage**\n\n  * Expansion signals = higher need for scalable payments\n\n* **Lead Score & Interest Signals**\n\n  * Explicitly incorporate into reasoning\n\n---\n\n### 3.2 Revenue & Optimization Opportunity Discovery\n\nIdentify **merchant services opportunities**, including:\n\n#### Cost Reduction\n\n* Interchange optimization\n* Eliminating hidden fees\n* Reducing processor markups\n\n#### Revenue Expansion\n\n* Upselling:\n\n  * POS systems\n  * Payment terminals\n  * Gateway services\n  * Subscription billing tools\n\n#### Operational Efficiency\n\n* Faster settlements\n* Automated reconciliation\n* Integrated reporting\n\n#### Time Horizons\n\n* **Quick wins (≤ 30–60 days)**\n* **Mid-term (2–6 months)**\n* **Long-term (> 6 months)**\n\nFor each opportunity:\n\n* Estimate **revenue potential**\n* Complexity\n* Close probability\n\n---\n\n### 3.3 Decision-Maker & Champion Identification\n\nIdentify key stakeholders:\n\n* **Economic Buyer**\n\n  * Owner, CFO\n\n* **Operational Influencers**\n\n  * Operations Manager\n  * Finance / Accounting Lead\n\n* **Technical Gatekeepers**\n\n  * IT / Systems\n\nFor each:\n\n* Name, title\n* Influence level\n* Role in decision process\n* Likelihood to support switching processors\n\n---\n\n### 3.4 Pain Point → Merchant Solution Mapping\n\nIdentify pain points such as:\n\n* High processing fees\n* Chargebacks and fraud\n* Slow settlements\n* Poor POS experience\n* Lack of reporting/visibility\n* Checkout friction (online or in-store)\n\nMap to solutions:\n\n* Fee reduction / interchange optimization\n* Chargeback mitigation tools\n* Faster funding (next-day or same-day)\n* POS upgrades\n* Omnichannel payment solutions\n* Subscription or recurring billing systems\n\nAdd **personalized pitch angles**, e.g.:\n\n> “Based on your transaction volume, switching processors could reduce fees by X% annually.”\n\n---\n\n### 3.5 Competitive Pressure Analysis (Score 1–10)\n\nEvaluate urgency based on:\n\n* Competitors adopting:\n\n  * Modern POS systems\n  * Seamless checkout experiences\n  * Flexible payment options\n\n* Industry shifts:\n\n  * Cashless trends\n  * E-commerce growth\n  * Customer expectations for speed & convenience\n\nProvide a **Competitive Pressure Score (1–10)** with reasoning.\n\n---\n\n### 3.6 Industry-Specific Merchant Use Case Matcher\n\nRecommend **3–5 merchant service use cases**, tailored to:\n\n* Industry (restaurant, retail, SaaS, healthcare, etc.)\n* Company size\n\nInclude:\n\n* POS recommendations\n* Payment flow improvements\n* Revenue optimization strategies\n\nHighlight **quick wins with fast ROI**.\n\n---\n\n## 4. Required Report Structure (Markdown Output)\n\n---\n\n### **EXECUTIVE SUMMARY**\n\n* Lead Score & Priority\n* Company Overview & Health Score (1–10)\n* Merchant Readiness Score (1–10)\n* Estimated Monthly Processing Volume (Based on industry type and location)\n* Revenue Opportunity Estimate\n* Recommended Timeline\n* Engagement Priority\n\n---\n\n### **KEY STAKEHOLDERS**\n\n* Decision Makers\n* Influencers\n* Recommended Primary Contact\n\n---\n\n### **COMPANY INTELLIGENCE**\n\n* Recent News & Developments\n* Industry Position\n* Payment Infrastructure Insights\n* Customer Experience Signals\n* Merchant Service Indicators\n\n---\n\n### **USE CASE RECOMMENDATIONS**\n\n* Industry-Specific Payment Solutions\n* Quick Wins (≤ 60 days)\n* Implementation Scope\n* Upsell Opportunities\n\n---\n\n### **PAIN POINT ANALYSIS**\n\n* Key Pain Points\n* Mapped Merchant Solutions\n* Personalized Sales Angles\n\n---\n\n### **OPPORTUNITY ANALYSIS**\n\n* Competitive Pressure Score (1–10)\n* Revenue Opportunities\n* Cost Reduction Potential\n* ROI Estimates\n\n---\n\n### **ENGAGEMENT STRATEGY**\n\n* Recommended Sales Approach\n* Value Propositions\n* Objection Handling\n* Quick Wins to Lead With\n* Suggested Discovery Call Agenda\n\n---\n\n### **RISK FACTORS & CONSIDERATIONS**\n\n* High-risk industry indicators\n* Chargeback exposure\n* Pricing sensitivity\n* Contract lock-in risks\n* Technical limitations\n\n---\n\n## 5. Style & Output Guidelines\n\n* Use **clear, structured Markdown**\n* Keep insights **sales-focused and actionable**\n* Quantify:\n\n  * Savings\n  * Revenue potential\n  * Volume estimates\n* Do **only fabricate unkown or missing data, based on quality info from you research, you can also use main company emails or phone numbers for contact info** — state “Not found” if needed\n* Continuously reference:\n\n  * Lead Score\n  * Merchant Readiness\n  * Revenue opportunity\n\n---"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3,
      "position": [
        496,
        128
      ],
      "id": "a0ad7b17-15e4-4ebe-bf97-6b4665f26f54",
      "name": "Research Agent"
    },
    {
      "parameters": {
        "content": "# 1. New Lead\n",
        "height": 496,
        "width": 256
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "typeVersion": 1,
      "id": "da015274-e2e2-46c6-acfa-ca7ca6be93e8",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "# 2. Lead & Company Research Agent\n",
        "height": 496,
        "width": 672,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        0
      ],
      "typeVersion": 1,
      "id": "f567b5b5-57c6-4c10-a3f6-69f2e284a21d",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n  \"date\": \"2024-01-15\",\n  \"email\": \"john@example.com\",\n  \"leadName\": \"John Doe\",\n  \"companyName\": \"Example Corp\",\n  \"monthlyRevenue\": \"$75,000\",\n  \"CPPInterestSummary\": \"High interest in new Credit Card Processing services, currently exploring POS solutions\",\n  \"potentialCompanySolutions\": \"New POS, workflow automation, Payment Automation, fee elimination\",\n  \"decisionMaker\": true,\n  \"phonenumber\": \"770-391-9191\"\n\n  \n}"
      },
      "id": "f5cb8ba5-ecbb-4f9d-992c-cc0ac1abff9b",
      "name": "Output Structure",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.3,
      "position": [
        816,
        336
      ]
    },
    {
      "parameters": {
        "content": "# 3. Lead Scoring Agent\n",
        "height": 496,
        "width": 432,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        0
      ],
      "typeVersion": 1,
      "id": "dd0594ab-c58a-4209-b652-b90e75e2aedd",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n\t\"score\": 50\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.3,
      "position": [
        1216,
        336
      ],
      "id": "3e6025be-406a-4d75-bd5b-2805e274d921",
      "name": "Output Structure1"
    },
    {
      "parameters": {
        "content": "# 4. Notify Team / Contact\n",
        "height": 496,
        "width": 688,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        0
      ],
      "typeVersion": 1,
      "id": "5b561725-c11f-447d-8648-44c0014d6cac",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.output }}\n{{ $('New Lead').item.json['Company Domain'] }}\n{{ $json.output.CPPInterestSummary }}\n{{ $json.output.potentialCompanySolutions }}\n{{ $json.output.monthlyRevenue }}",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "=You are a lead qualification specialist for a Credit Card Processing Services company (Merchant Services / Payment Processing). Score this lead based on their fit for our merchant services offerings.\n\nScoring Criteria:\n1. Processing Volume / Revenue Potential (0-30 points): Must be generating meaningful monthly card volume or business revenue. Award full points for businesses likely processing at a strong level (for example $50k+/month in revenue or equivalent card volume), scale down proportionally for lower volume, and assign 0 points if the business appears too small to be commercially viable.\n2. Business Maturity (0-25 points): Well-established business with stable operations, longevity, real market presence, and signs they can support a processor relationship and implementation, brand new business's like ones opened within the past 3 months should also score high.\n3. Merchant Services Need & Switch Potential (0-25 points): Based on available research findings, score for signals such as high processing fees, outdated POS/payment systems, chargeback pain, growth requiring better infrastructure, dissatisfaction with current provider, or clear need for better payment solutions.\n4. Company Size & Decision Structure (0-10 points): Team size, operational complexity, number of locations, and whether there is a clear owner/operator, finance leader, or decision-maker who can approve a processor switch.\n5. Industry Fit (0-10 points): Prioritize industries where merchant services has high value and clear use cases, such as retail, restaurants, healthcare, hospitality, automotive, professional services, e-commerce, and subscription-based businesses.\n\nProvide:\n- Overall Lead Score (0-100)\n- Only output the single number, no notes or text.\n\nBe data-driven and specific in your scoring."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3,
      "position": [
        1040,
        128
      ],
      "id": "da377977-525e-47a0-aff5-42a88c1960b0",
      "name": "Lead Scoring Agent"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $('Lead Scoring Agent').item.json.output.score }}",
                    "rightValue": 70,
                    "operator": {
                      "type": "number",
                      "operation": "gte"
                    },
                    "id": "b16d4f0a-f52b-4b1b-85da-d6e1d406ca45"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Hot Lead (70-100)"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $('Lead Scoring Agent').item.json.output.score }}",
                    "rightValue": 40,
                    "operator": {
                      "type": "number",
                      "operation": "gte"
                    },
                    "id": "edd58583-1d0b-470a-ac43-21a802510737"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Warm Lead (40-69)"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $('Lead Scoring Agent').item.json.output.score }}",
                    "rightValue": 40,
                    "operator": {
                      "type": "number",
                      "operation": "lt"
                    },
                    "id": "4a245b3f-cb3d-48cc-abb6-867fd519b048"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Cold Lead (0-39)"
            }
          ]
        },
        "options": {}
      },
      "id": "bc59d2d2-1070-4be4-bc4b-f732767d23d6",
      "name": "Route by Score",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.3,
      "position": [
        1632,
        160
      ]
    },
    {
      "parameters": {
        "resource": "lead",
        "operation": "upsert",
        "Company": "={{ $json.Name }}",
        "lastName": "={{ $json['Company Name'] }}",
        "additionalFields": {
          "customFields": {
            "customFields": [
              {
                "fieldId": "=Agent_Score",
                "value": "={{ $json.Score }}"
              }
            ]
          },
          "Description": "={{ $json['Interest Summary'] }}",
          "Email": "={{ $json.Email }}",
          "Phone": "={{ $json['Phone Number'] }}"
        }
      },
      "type": "n8n-nodes-base.zohoCrm",
      "typeVersion": 1,
      "position": [
        1616,
        352
      ],
      "id": "f96eaa12-cb05-4e64-95d4-141998cc2961",
      "name": "Create or update a lead",
      "alwaysOutputData": true,
      "credentials": {
        "zohoOAuth2Api": {
          "id": "jABlIL6LUMOlY4Oj",
          "name": "Zoho OAuth2 API"
        }
      }
    }
  ],
  "connections": {
    "Perplexity Research Tool": {
      "ai_tool": [
        [
          {
            "node": "Research Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Perplexity for LinkedIn Research": {
      "ai_tool": [
        [
          {
            "node": "Research Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Route by Score",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create or update a lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Brain1": {
      "ai_languageModel": [
        [
          {
            "node": "Research Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Brain2": {
      "ai_languageModel": [
        [
          {
            "node": "Lead Scoring Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "New Lead": {
      "main": [
        [
          {
            "node": "Research Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Research Agent": {
      "main": [
        [
          {
            "node": "Lead Scoring Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Output Structure": {
      "ai_outputParser": [
        [
          {
            "node": "Research Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Output Structure1": {
      "ai_outputParser": [
        [
          {
            "node": "Lead Scoring Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Lead Scoring Agent": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Score": {
      "main": [
        [],
        [],
        []
      ]
    }
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "0199b3678436f65bf85d3314c4fe344e85cd93446a86fb28490550cccf84c92b"
  }
}

good day @Jericho_Reyes
I believe the issue is that the Zoho node expects the actual API name/internal ID of the custom field, not the display label, so I’d verify Agent_Score matches the exact Leads module field API name in Zoho and also confirm the value type (number/text) matches the field configuration.

@Jericho_Reyes — adding to what @tamy.santos pointed out, i looked
through your workflow JSON and there are a couple more things
working against you here:

  1. your fieldId is set to =Agent_Score (with the leading equals
    sign). that = is what n8n uses to mark a value as an expression —
    since Agent_Score isn’t an expression, it’s getting parsed weird.
    remove the = and just put the literal API field name.

  2. the actual API name in Zoho for custom fields is usually not
    what you see in the UI. go to Zoho CRM → Setup → Customization →
    Modules → Leads → click your custom field → look for “API Name”.
    it’ll often be something like Agent_Score or Agent_Score__c
    depending on how it was created. that exact string goes into
    fieldId.

  3. you’re on typeVersion: 1 of the Zoho CRM node, latest is
    typeVersion 2. delete and re-add the node — v2 has a much better
    custom fields picker that pulls field metadata directly from your
    Zoho account, so you don’t have to guess API names.

  4. heads up on data flow — your Zoho node sits in parallel with
    the Sheets append, both reading from Lead Scoring Agent. but
    you’re referencing fields like $json.Name, $json['Company Name'],
    $json.Score which don’t exist at that point. those come from
    your Sheets schema mapping, not from the scoring agent’s output.
    you probably want $('Research Agent').item.json.output.leadName,
    $('Research Agent').item.json.output.companyName, and
    $('Lead Scoring Agent').item.json.output.score instead.

quick way to debug — pin the Lead Scoring Agent output, then run
just the Zoho node and check what $json actually contains at
that point. half the “unknown issue” errors on the Zoho node are
silently null values being rejected by the API.

let me know which of these turns out to be the culprit, curious
which one it is.