{"workflow":{"id":13427,"name":"Validate emissions data and generate carbon compliance reports with GPT-4o and Google Sheets","views":11,"recentViews":0,"totalViews":11,"createdAt":"2026-02-16T13:42:14.556Z","description":"## How It Works\nThis workflow automates emissions data validation and compliance reporting for environmental managers, sustainability officers, and compliance teams across manufacturing, energy, and transportation sectors. Manual verification of emissions data against multiple regulatory frameworks such as GHG Protocol, EPA standards, is time-consuming and error-prone, risking missed deadlines and penalties. On a set schedule, the system ingests synthetic emissions data and deploys specialist AI agents in parallel: one verifies data accuracy, another reviews accounting methodology, and a third assesses regulatory compliance. An orchestrator consolidates all findings and routes outcomes intelligently, while non-compliant results trigger exception handling and corrective action workflows. Teams gain audit-ready records, consistent framework alignment, and timely reporting without manual bottlenecks.\n\n## Setup Steps\n1. Configure API credentials with Llama-3.1-70B-Instruct model access\n2. Set up schedule trigger for monthly/quarterly reporting cycles\n3. Connect Google Sheets for compliant report storage with appropriate folder permissions\n4. Configure compliance routing logic based on validation outcomes\n5. Customize AI agent prompts for specific regulatory frameworks and industry requirements\n\n## Prerequisites\nNVIDIA NIM API key and Google Sheets access with write permissions.\n\n## Use Cases\nAutomates monthly GHG reporting and EPA compliance submissions\n\n## Customization\nExtend with region-specific regulations and integrate live emissions monitoring systems\n\n## Benefits\nCuts report preparation time by 80% and eliminates manual calculation errors","workflow":{"id":"jE-RwcIvKAj0yzwr7xZeS","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"AI-powered carbon accounting and emissions verification system","tags":[],"nodes":[{"id":"e3bd3795-d1e2-4e2f-aa09-17ff5de7278c","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[-880,560],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"companyName","type":"string","value":"Acme Corporation"},{"id":"id-2","name":"reportingPeriod","type":"string","value":"2024-Q1"},{"id":"id-3","name":"emissionsThreshold","type":"number","value":1000},{"id":"id-4","name":"regulatoryFramework","type":"string","value":"GHG Protocol"}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"520bfe4e-07ab-4eb5-8ca1-0829bbaeb29c","name":"Generate Sample Emissions Data","type":"n8n-nodes-base.code","position":[-656,560],"parameters":{"jsCode":"// Generate sample emissions data for carbon accounting\nconst facilities = [\n  { name: 'Manufacturing Plant A', location: 'California, USA', type: 'Production' },\n  { name: 'Distribution Center B', location: 'Texas, USA', type: 'Logistics' },\n  { name: 'Office Complex C', location: 'New York, USA', type: 'Administrative' },\n  { name: 'Research Lab D', location: 'Massachusetts, USA', type: 'R&D' },\n  { name: 'Warehouse E', location: 'Illinois, USA', type: 'Storage' }\n];\n\nconst emissionsData = [];\n\nfor (let i = 0; i < facilities.length; i++) {\n  const facility = facilities[i];\n  \n  // Generate random energy consumption (kWh)\n  const electricityConsumption = Math.floor(Math.random() * 500000) + 100000;\n  const naturalGasConsumption = Math.floor(Math.random() * 300000) + 50000;\n  \n  // Generate random emissions values (metric tons CO2e)\n  const scope1Emissions = Math.floor(Math.random() * 1000) + 200; // Direct emissions\n  const scope2Emissions = Math.floor(Math.random() * 800) + 150; // Indirect emissions from purchased energy\n  const scope3Emissions = Math.floor(Math.random() * 1500) + 300; // Other indirect emissions\n  \n  const totalEmissions = scope1Emissions + scope2Emissions + scope3Emissions;\n  \n  emissionsData.push({\n    facilityId: `FAC-${String(i + 1).padStart(3, '0')}`,\n    facilityName: facility.name,\n    location: facility.location,\n    facilityType: facility.type,\n    reportingPeriod: '2024-Q1',\n    energyConsumption: {\n      electricity: electricityConsumption,\n      naturalGas: naturalGasConsumption,\n      unit: 'kWh'\n    },\n    emissions: {\n      scope1: scope1Emissions,\n      scope2: scope2Emissions,\n      scope3: scope3Emissions,\n      total: totalEmissions,\n      unit: 'metric tons CO2e'\n    },\n    emissionsIntensity: parseFloat((totalEmissions / (electricityConsumption + naturalGasConsumption) * 1000).toFixed(4)),\n    dataQuality: Math.random() > 0.3 ? 'High' : 'Medium',\n    verificationStatus: 'Pending',\n    timestamp: new Date().toISOString()\n  });\n}\n\nreturn emissionsData.map(data => ({ json: data }));"},"typeVersion":2},{"id":"4b96b0f6-f35e-405f-93d6-63ca5a98bd7e","name":"Emissions Validation Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-432,560],"parameters":{"text":"=Validate the following emissions data: {{ $json }}","options":{"systemMessage":"You are an Emissions Validation Specialist responsible for verifying the accuracy and completeness of carbon emissions data.\n\nYour task is to:\n1. Verify all required fields are present (facility_name, energy_consumption, scope1_emissions, scope2_emissions, scope3_emissions)\n2. Check data types and value ranges are valid (positive numbers, realistic values)\n3. Validate calculation consistency between energy consumption and emissions\n4. Identify any suspicious or anomalous values\n5. Check for completeness of scope 1, 2, and 3 emissions data\n6. Return validation status as VALID or INVALID\n7. Provide detailed validation findings and any issues detected"},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"0f514da6-e734-4fb5-b5e4-aa91309c19c7","name":"OpenAI Model - Validation","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-464,784],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.1},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"3096830a-8fa1-4733-b177-a1645a96b824","name":"Validation Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-288,784],"parameters":{"jsonSchemaExample":"{\n  \"validationStatus\": \"VALID\",\n  \"dataCompleteness\": 100,\n  \"issues\": [],\n  \"findings\": \"All emissions data validated successfully\",\n  \"scope1_valid\": true,\n  \"scope2_valid\": true,\n  \"scope3_valid\": true\n}"},"typeVersion":1.3},{"id":"49df4e9a-eb25-4be9-8262-bb1443a01474","name":"Route by Validation Status","type":"n8n-nodes-base.switch","position":[-80,544],"parameters":{"rules":{"values":[{"outputKey":"Valid","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.validationStatus }}","rightValue":"VALID"}]},"renameOutput":true},{"outputKey":"Invalid","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.validationStatus }}","rightValue":"INVALID"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.4},{"id":"d10498a0-e370-458d-8b12-8b6a866d25f9","name":"Carbon Accounting Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[272,704],"parameters":{"text":"={{ $fromAI(\"emissionsData\", \"Validated emissions data to calculate carbon accounting metrics\", \"json\") }}","options":{"systemMessage":"You are a Carbon Accounting Specialist responsible for calculating comprehensive carbon footprint metrics.\n\nYour task is to:\n1. Calculate total carbon footprint across all scopes (Scope 1, 2, and 3)\n2. Compute emissions intensity metrics (per revenue, per employee, per unit)\n3. Calculate year-over-year emissions trends and reduction percentages\n4. Identify highest emission sources and categories\n5. Compute carbon offset requirements to achieve net-zero targets\n6. Calculate emissions by facility and business unit\n7. Return structured carbon accounting report with all calculations"},"hasOutputParser":true,"toolDescription":"Calculates comprehensive carbon accounting metrics including total emissions, intensity metrics, trends, and offset requirements"},"typeVersion":3},{"id":"15b633ef-8137-4eaf-b4b1-3645738bb4ca","name":"OpenAI Model - Accounting","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[224,896],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.2},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"3e7ad908-5ca6-4698-bbd7-8e335e0bdfa1","name":"Accounting Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[432,912],"parameters":{"jsonSchemaExample":"{\n  \"total_emissions_tco2e\": 5000,\n  \"scope1_total\": 1500,\n  \"scope2_total\": 2000,\n  \"scope3_total\": 1500,\n  \"emissions_intensity_per_revenue\": 0.05,\n  \"highest_emission_source\": \"Facility A\",\n  \"carbon_offset_required\": 500,\n  \"yoy_reduction_percentage\": 10\n}"},"typeVersion":1.3},{"id":"6d4ea54f-2449-406e-a112-b16b3b019b0d","name":"Regulatory Compliance Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[832,704],"parameters":{"text":"={{ $fromAI(\"carbonReport\", \"Carbon accounting report to assess regulatory compliance\", \"json\") }}","options":{"systemMessage":"You are a Regulatory Compliance Specialist for carbon emissions and environmental reporting.\n\nYour task is to:\n1. Assess compliance with specified regulatory framework (GHG Protocol, CDP, TCFD, etc.)\n2. Verify all mandatory disclosure requirements are met\n3. Check data quality and verification standards\n4. Identify any compliance gaps or missing information\n5. Assess materiality and completeness of scope 3 emissions reporting\n6. Evaluate alignment with science-based targets and net-zero commitments\n7. Return compliance status as COMPLIANT, NON_COMPLIANT, or REQUIRES_REVIEW\n8. Provide detailed compliance assessment and remediation recommendations"},"hasOutputParser":true,"toolDescription":"Assesses regulatory compliance for carbon emissions reporting against frameworks like GHG Protocol, CDP, and TCFD"},"typeVersion":3},{"id":"408d58f4-a2c0-46db-bb20-133c0bbbbc14","name":"OpenAI Model - Compliance","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[864,912],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.1},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"c3fc86c8-973b-4d26-a5d2-a372a2efc54f","name":"Compliance Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1008,912],"parameters":{"jsonSchemaExample":"{\n  \"complianceStatus\": \"COMPLIANT\",\n  \"framework\": \"GHG Protocol\",\n  \"disclosure_completeness\": 95,\n  \"compliance_gaps\": [],\n  \"materiality_assessment\": \"Complete\",\n  \"recommendations\": \"Continue current reporting practices\"\n}"},"typeVersion":1.3},{"id":"dd69340b-648f-446e-b2fd-2dbffd19b9b8","name":"Reporting Orchestrator Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[432,496],"parameters":{"text":"=Generate comprehensive carbon accounting and regulatory disclosure report for: {{ $json }}","options":{"systemMessage":"You are a Carbon Reporting Orchestrator responsible for coordinating carbon accounting analysis and regulatory compliance assessment.\n\nYour task is to:\n1. Call the Carbon Accounting Calculator tool to compute all carbon metrics\n2. Call the Regulatory Compliance Checker tool to assess compliance status\n3. Synthesize results from both tools into a comprehensive report\n4. Generate executive summary with key findings and recommendations\n5. Identify priority actions for emissions reduction and compliance improvement\n6. Return structured report with carbon metrics, compliance status, and action items"},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"e7eea11b-6c9b-4cf2-b466-f772e8a5a954","name":"OpenAI Model - Orchestrator","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[144,704],"parameters":{"model":{"__rl":true,"mode":"id","value":"gpt-4o"},"options":{"temperature":0.3},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"2748314e-a2a2-4c30-9b37-c5322808c9d1","name":"Report Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1136,720],"parameters":{"jsonSchemaExample":"{\n  \"report_id\": \"RPT-2024-001\",\n  \"complianceStatus\": \"COMPLIANT\",\n  \"total_emissions_tco2e\": 5000,\n  \"executive_summary\": \"Carbon footprint analysis complete\",\n  \"carbon_metrics\": {},\n  \"compliance_assessment\": {},\n  \"priority_actions\": [],\n  \"report_date\": \"2024-01-15\"\n}"},"typeVersion":1.3},{"id":"8d79f728-9f70-4793-ac3f-aee6db288565","name":"Route by Compliance Status","type":"n8n-nodes-base.switch","position":[1296,576],"parameters":{"rules":{"values":[{"outputKey":"Compliant","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.complianceStatus }}","rightValue":"COMPLIANT"}]},"renameOutput":true},{"outputKey":"Non-Compliant","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output.complianceStatus }}","rightValue":"NON_COMPLIANT"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.4},{"id":"bcb92280-5164-4918-a3a5-f3e0e082379c","name":"Store Compliant Reports","type":"n8n-nodes-base.dataTable","position":[1520,496],"parameters":{"columns":{"value":{},"mappingMode":"defineBelow"},"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"CompliantEmissionsReports"}},"typeVersion":1.1},{"id":"46f66392-4d24-4e5b-b8a9-681466097291","name":"Store Non-Compliant Reports","type":"n8n-nodes-base.dataTable","position":[1520,688],"parameters":{"columns":{"value":{},"mappingMode":"defineBelow"},"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"NonCompliantEmissionsReports"}},"typeVersion":1.1},{"id":"ac6b667a-77e8-4a1d-8d17-ba29fb322e62","name":"Store Invalid Emissions Data","type":"n8n-nodes-base.dataTable","position":[960,1104],"parameters":{"columns":{"value":{},"mappingMode":"defineBelow"},"options":{},"dataTableId":{"__rl":true,"mode":"name","value":"InvalidEmissionsData"}},"typeVersion":1.1},{"id":"0a26673f-f90f-4115-8241-b4c92daacca7","name":"Merge All Results","type":"n8n-nodes-base.merge","position":[1744,672],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition","numberInputs":3},"typeVersion":3.2},{"id":"d8c6c9d0-cbce-4941-8b9c-59f33dc7eced","name":"Format Final Summary","type":"n8n-nodes-base.set","position":[1968,688],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"workflow_execution_date","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-2","name":"total_records_processed","type":"number","value":"={{ $items().length }}"},{"id":"id-3","name":"summary","type":"string","value":"Carbon accounting and emissions verification workflow completed successfully"}]}},"typeVersion":3.4},{"id":"00b3b7ec-750a-42c3-8df6-1834bfcabd5e","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[0,0],"parameters":{"color":5,"width":432,"height":368,"content":"## Prerequisites\nNVIDIA NIM API key and Google Sheets access with write permissions.\n## Use Cases\nAutomates monthly GHG reporting and EPA compliance submissions\n## Customization\nExtend with region-specific regulations and integrate live emissions monitoring systems\n## Benefits\nCuts report preparation time by 80% and eliminates manual calculation errors"},"typeVersion":1},{"id":"20044ad2-52a4-4368-8c77-934889ff607d","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-464,80],"parameters":{"width":400,"height":288,"content":"## Setup Steps\n1. Configure API credentials with Llama-3.1-70B-Instruct model access\n2. Set up schedule trigger for monthly/quarterly reporting cycles\n3. Connect Google Sheets for compliant report storage with appropriate folder permissions\n4. Configure compliance routing logic based on validation outcomes\n5. Customize AI agent prompts for specific regulatory frameworks and industry requirements"},"typeVersion":1},{"id":"7aa1e669-ba7e-4029-9f87-ffe318ccbf98","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-1120,80],"parameters":{"width":592,"height":288,"content":"## How It Works\nThis workflow automates emissions data validation and compliance reporting for environmental managers, sustainability officers, and compliance teams across manufacturing, energy, and transportation sectors. Manual verification of emissions data against multiple regulatory frameworks such as GHG Protocol, EPA standards, is time-consuming and error-prone, risking missed deadlines and penalties. On a set schedule, the system ingests synthetic emissions data and deploys specialist AI agents in parallel: one verifies data accuracy, another reviews accounting methodology, and a third assesses regulatory compliance. An orchestrator consolidates all findings and routes outcomes intelligently, while non-compliant results trigger exception handling and corrective action workflows. Teams gain audit-ready records, consistent framework alignment, and timely reporting without manual bottlenecks."},"typeVersion":1},{"id":"891c8b21-8d3a-41e6-80fe-22e293e2be72","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-1152,416],"parameters":{"color":7,"width":992,"height":512,"content":"## Emissions Validation\nIdentifies data gaps and mathematical errors before regulatory submission to prevent compliance violations."},"typeVersion":1},{"id":"5e1149e5-2d92-4c68-88d5-766c82f8eef5","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-128,400],"parameters":{"color":7,"width":848,"height":752,"content":"## Accounting Review \nEnsures emissions categorization meets international reporting standards for stakeholder transparency."},"typeVersion":1},{"id":"fe9db634-f68c-430e-9cdc-e68db55bd16a","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[752,400],"parameters":{"color":7,"width":1328,"height":864,"content":"## Compliance Assessment \nConfirms legal compliance and identifies gaps requiring corrective action before filing deadlines."},"typeVersion":1},{"id":"617efb7b-3ff4-4b38-8d09-0cf586200598","name":"Trigger for data collection","type":"n8n-nodes-base.scheduleTrigger","position":[-1104,560],"parameters":{"rule":{"interval":[{"triggerAtHour":9}]}},"typeVersion":1.3}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"2d782703-6128-4fef-aae2-0d39919e46c5","connections":{"Merge All Results":{"main":[[{"node":"Format Final Summary","type":"main","index":0}]]},"Report Output Parser":{"ai_outputParser":[[{"node":"Reporting Orchestrator Agent","type":"ai_outputParser","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Generate Sample Emissions Data","type":"main","index":0}]]},"Store Compliant Reports":{"main":[[{"node":"Merge All Results","type":"main","index":0}]]},"Accounting Output Parser":{"ai_outputParser":[[{"node":"Carbon Accounting Agent Tool","type":"ai_outputParser","index":0}]]},"Compliance Output Parser":{"ai_outputParser":[[{"node":"Regulatory Compliance Agent Tool","type":"ai_outputParser","index":0}]]},"Validation Output Parser":{"ai_outputParser":[[{"node":"Emissions Validation Agent","type":"ai_outputParser","index":0}]]},"OpenAI Model - Accounting":{"ai_languageModel":[[{"node":"Carbon Accounting Agent Tool","type":"ai_languageModel","index":0}]]},"OpenAI Model - Compliance":{"ai_languageModel":[[{"node":"Regulatory Compliance Agent Tool","type":"ai_languageModel","index":0}]]},"OpenAI Model - Validation":{"ai_languageModel":[[{"node":"Emissions Validation Agent","type":"ai_languageModel","index":0}]]},"Emissions Validation Agent":{"main":[[{"node":"Route by Validation Status","type":"main","index":0}]]},"Route by Compliance Status":{"main":[[{"node":"Store Compliant Reports","type":"main","index":0}],[{"node":"Store Non-Compliant Reports","type":"main","index":0}]]},"Route by Validation Status":{"main":[[{"node":"Reporting Orchestrator Agent","type":"main","index":0}],[{"node":"Store Invalid Emissions Data","type":"main","index":0}]]},"OpenAI Model - Orchestrator":{"ai_languageModel":[[{"node":"Reporting Orchestrator Agent","type":"ai_languageModel","index":0}]]},"Store Non-Compliant Reports":{"main":[[{"node":"Merge All Results","type":"main","index":1}]]},"Trigger for data collection":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Carbon Accounting Agent Tool":{"ai_tool":[[{"node":"Reporting Orchestrator Agent","type":"ai_tool","index":0}]]},"Reporting Orchestrator Agent":{"main":[[{"node":"Route by Compliance Status","type":"main","index":0}]]},"Store Invalid Emissions Data":{"main":[[{"node":"Merge All Results","type":"main","index":2}]]},"Generate Sample Emissions Data":{"main":[[{"node":"Emissions Validation Agent","type":"main","index":0}]]},"Regulatory Compliance Agent Tool":{"ai_tool":[[{"node":"Reporting Orchestrator Agent","type":"ai_tool","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":28,"nodeTypes":{"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.switch":{"count":2},"n8n-nodes-base.dataTable":{"count":3},"n8n-nodes-base.stickyNote":{"count":6},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":2},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":4},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":4}}},"status":"published","readyToDemo":null,"user":{"name":"Cheng Siong Chin","username":"cschin","bio":"Dr. Cheng Siong CHIN is an n8n workflow creator specializing in AI-powered automation, agent orchestration, and intelligent system integrations. He designs and builds end-to-end workflows that combine LLMs, APIs, and data pipelines to streamline complex processes and deliver production-ready automation solutions. Contact me to discuss custom AI workflows and agent architectures.\n","verified":true,"links":["https://gravatar.com/mysticluminary9fa255f7f5"],"avatar":"https://gravatar.com/avatar/54544f98e839bb9dd9a764ad1e6823eeddb6db5138d201e42f291a7b0a73303f?r=pg&d=retro&size=200"},"nodes":[{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1310,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agentTool","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent Tool","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent Tool","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1315,"icon":"fa:table","name":"n8n-nodes-base.dataTable","codex":{"data":{"alias":["data","table","knowledge","data table","table","sheet","database","data base","mysql","postgres","postgresql","airtable","supabase","noco","notion"],"details":"Data table","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datatable/"}]},"categories":["Core Nodes","Development"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\",\"transform\"]","defaults":{"name":"Data table"},"iconData":{"icon":"table","type":"icon"},"displayName":"Data table","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":35,"name":"Document Extraction"},{"id":49,"name":"AI Summarization"}],"image":[]}}