{"workflow":{"id":14426,"name":"Automate ESG compliance routing and reporting with GPT-4o, Slack and Google Sheets","views":21,"recentViews":1,"totalViews":21,"createdAt":"2026-03-29T05:10:18.806Z","description":"## How It Works\nThis workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves the challenge of manually aggregating multi-source ESG data, applying scoring logic, and routing records through approval chains, a process that is slow, error-prone, and difficult to audit. Sustainability data enters via two sources: a periodic scheduler and an external ESG platform webhook. Inputs are normalised and passed to a Green Governance Agent equipped with a Sustainability Oversight Sub-Agent, ESG Scoring Engine, Multi-Cloud Sustainability API, Governance Alerts Tool, Compliance Documentation Tool, and ESG Reporting Sheets Tool. The agent produces a structured compliance output, which is then routed by approval status, rejected records are logged, review requests are sent via Slack, and approved records are stored and synced to the enterprise ESG platform. Sync errors trigger Slack alerts and error logging. Approved data simultaneously updates environmental impact lineage, KPI performance tracking, and the ESG dashboard in Google Sheets.\n\n\n## Setup Steps\n1. Import workflow and configure the periodic trigger interval and ESG platform webhook URL.\n2. Add AI model credentials to the Green Governance Agent and Sustainability Oversight Sub-Agent.\n3. Connect Slack credentials to Governance Alerts Tool and Sync Failure Alert nodes.\n4. Link Google Sheets credentials; set sheet IDs for Rejected Items, etc.\n5. Configure the Multi-Cloud Sustainability API and Enterprise ESG Platform sync endpoint URLs.\n6. Set ESG scoring thresholds in the ESG Scoring Engine node.\n\n## Prerequisites\n- OpenAI API key (or compatible LLM)\n- Slack workspace with bot credentials\n- Google Sheets with ESG log tabs pre-created\n- Enterprise ESG platform API endpoint access\n## Use Cases\n- Corporations automating quarterly ESG compliance report generation\n## Customisation\n- Swap ESG Scoring Engine thresholds to match regional regulatory frameworks (EU Taxonomy, GRI, SASB)\n## Benefits\n- Eliminates manual ESG data aggregation, cutting reporting cycle time significantly\n","workflow":{"id":"mLG9RV1ET0em2G6Y","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"AI-powered ESG sustainability governance with compliance routing and tracking","tags":[],"nodes":[{"id":"930cbe9c-6b2e-44ff-a679-2d9bd1458a04","name":"Periodic Sustainability Monitoring","type":"n8n-nodes-base.scheduleTrigger","position":[256,400],"parameters":{"rule":{"interval":[{"field":"hours","hoursInterval":6}]}},"typeVersion":1.3},{"id":"327b9cd8-b505-4e18-9284-166cd4e77819","name":"External ESG Platform Events","type":"n8n-nodes-base.webhook","position":[256,592],"webhookId":"57a1e4e6-0b8f-4c4e-84c6-1d54b1b12858","parameters":{"path":"sustainability-events","options":{},"httpMethod":"POST"},"typeVersion":2.1},{"id":"e7e61ba9-02f6-48ec-8063-fe286dab79c4","name":"Normalize Sustainability Input","type":"n8n-nodes-base.set","position":[480,496],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"eventType","type":"string","value":"={{ $json.eventType || 'scheduled_monitoring' }}"},{"id":"id-2","name":"carbonFootprint","type":"number","value":"={{ $json.carbonFootprint || $json.metrics?.carbonFootprint || 0 }}"},{"id":"id-3","name":"energyConsumption","type":"number","value":"={{ $json.energyConsumption || $json.metrics?.energyConsumption || 0 }}"},{"id":"id-4","name":"resourceUtilization","type":"number","value":"={{ $json.resourceUtilization || $json.metrics?.resourceUtilization || 0 }}"},{"id":"id-5","name":"complianceSignals","type":"array","value":"={{ $json.complianceSignals || $json.metrics?.complianceSignals || [] }}"},{"id":"id-6","name":"timestamp","type":"string","value":"={{ $json.timestamp || $now.toISO() }}"},{"id":"id-7","name":"source","type":"string","value":"={{ $json.source || 'internal' }}"}]}},"typeVersion":3.4},{"id":"57303e02-afd8-4ca6-9557-38cb990f36e8","name":"Green Governance Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1104,496],"parameters":{"text":"={{ $json.eventType + ': Carbon=' + $json.carbonFootprint + 'kg, Energy=' + $json.energyConsumption + 'kWh, Resources=' + $json.resourceUtilization + '%, Compliance Signals=' + JSON.stringify($json.complianceSignals) + ', Source=' + $json.source + ', Timestamp=' + $json.timestamp }}","options":{"systemMessage":"You are the Green Governance Agent orchestrating sustainability approvals, access controls, and compliance documentation across green economy platforms and enterprise sustainability initiatives. Your responsibilities include: 1) Coordinating with the Sustainability Oversight Agent to validate environmental metrics, 2) Making governance decisions on sustainability approvals based on ESG requirements, 3) Tracking green KPI performance and environmental impact lineage, 4) Automating sustainability governance processes, 5) Generating audit-ready compliance documentation, 6) Managing access controls for sustainability data, 7) Coordinating across multi-cloud and enterprise platforms. Use the sustainability_oversight_validator tool to validate metrics before making governance decisions. Ensure all actions are compliant, traceable, and aligned with green economy principles."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"bd259f2a-111c-4084-babc-844cc730094d","name":"Governance Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[912,688],"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":"54039690-1b8f-4095-b400-c36b08c038ca","name":"ESG Compliance Output Schema","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1520,1008],"parameters":{"jsonSchemaExample":"{\n\t\"approvalStatus\": \"approved\",\n\t\"complianceScore\": 85.5,\n\t\"carbonFootprintValidated\": 1250.75,\n\t\"energyEfficiencyRating\": \"A+\",\n\t\"resourceUtilizationScore\": 92.3,\n\t\"greenPolicyCompliance\": true,\n\t\"esgRequirementsMet\": [\"ISO 14001\", \"GRI Standards\", \"TCFD\"],\n\t\"sustainabilityKPIs\": {\n\t\t\"renewableEnergyPercentage\": 65,\n\t\t\"wasteReduction\": 40,\n\t\t\"waterConservation\": 30\n\t},\n\t\"governanceActions\": [\"Implement carbon offset program\", \"Enhance energy monitoring\"],\n\t\"auditTrail\": \"ESG compliance audit completed on 2024-01-15\",\n\t\"riskLevel\": \"low\",\n\t\"recommendations\": [\"Increase renewable energy usage\", \"Optimize resource allocation\", \"Strengthen sustainability reporting\"]\n}"},"typeVersion":1.3},{"id":"4a4aaaf0-438b-49eb-a015-f97104ca093d","name":"Sustainability Oversight Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[912,992],"parameters":{"text":"={{ $fromAI('metrics_data', 'Environmental metrics and compliance data to validate') }}","options":{"systemMessage":"You are the Sustainability Oversight Agent responsible for validating environmental impact metrics with precision and rigor. Analyze carbon footprint data, energy consumption patterns, resource utilization efficiency, and green policy compliance signals. Validate against ESG requirements, industry standards, and regulatory frameworks. Calculate sustainability KPIs, identify compliance gaps, assess environmental impact severity, and provide detailed validation reports. Use available tools for calculations and data retrieval. Be thorough, data-driven, and focused on accuracy."},"toolDescription":"Validates environmental impact metrics including carbon footprint, energy consumption, resource utilization, and green policy compliance signals. Returns detailed validation results and ESG requirement assessments."},"typeVersion":3},{"id":"94042d83-f340-466d-926d-8c84619ea0a9","name":"Oversight Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[912,1264],"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":"55e957f5-b65e-48ca-9c77-eb3415c79bce","name":"Sustainability Metrics Calculator","type":"@n8n/n8n-nodes-langchain.toolCalculator","position":[1104,1264],"parameters":{},"typeVersion":1},{"id":"ca938994-5b99-4384-b398-3968142b8e2a","name":"ESG Scoring Engine","type":"@n8n/n8n-nodes-langchain.toolCode","position":[1312,1264],"parameters":{"jsCode":"// ESG Scoring Calculator\n// Accepts environmental metrics and calculates comprehensive ESG scores\n\n// Parse the input query (expecting JSON string or object)\nlet metrics;\ntry {\n  metrics = typeof query === 'string' ? JSON.parse(query) : query;\n} catch (e) {\n  return JSON.stringify({ error: 'Invalid input format. Expected JSON with carbon, energy, and resource data.' });\n}\n\nconst carbon = metrics.carbonFootprint || metrics.carbon || 0;\nconst energy = metrics.energyConsumption || metrics.energy || 0;\nconst resources = metrics.resourceUtilization || metrics.resources || 0;\n\n// Calculate Carbon Efficiency Score (0-100, lower carbon is better)\nconst carbonScore = Math.max(0, 100 - (carbon / 50)); // Assuming 5000kg is poor, 0 is perfect\n\n// Calculate Energy Efficiency Score (0-100, lower consumption is better)\nconst energyScore = Math.max(0, 100 - (energy / 100)); // Assuming 10000kWh is poor, 0 is perfect\n\n// Resource Utilization Score (already a percentage, higher is better)\nconst resourceScore = Math.min(100, resources);\n\n// Overall ESG Score (weighted average)\nconst esgScore = (carbonScore * 0.4 + energyScore * 0.35 + resourceScore * 0.25).toFixed(2);\n\n// Energy Efficiency Rating\nlet energyRating;\nif (energyScore >= 90) energyRating = 'A+';\nelse if (energyScore >= 80) energyRating = 'A';\nelse if (energyScore >= 70) energyRating = 'B';\nelse if (energyScore >= 60) energyRating = 'C';\nelse energyRating = 'D';\n\n// Risk Level Assessment\nlet riskLevel;\nif (esgScore >= 80) riskLevel = 'low';\nelse if (esgScore >= 60) riskLevel = 'medium';\nelse riskLevel = 'high';\n\n// Compliance Status\nconst complianceStatus = esgScore >= 70 ? 'compliant' : 'non-compliant';\n\n// Build result object\nconst result = {\n  esgScore: parseFloat(esgScore),\n  carbonScore: parseFloat(carbonScore.toFixed(2)),\n  energyScore: parseFloat(energyScore.toFixed(2)),\n  resourceScore: parseFloat(resourceScore.toFixed(2)),\n  energyEfficiencyRating: energyRating,\n  riskLevel: riskLevel,\n  complianceStatus: complianceStatus,\n  carbonFootprintValidated: carbon,\n  energyConsumptionValidated: energy,\n  resourceUtilizationValidated: resources,\n  sustainabilityKPIs: {\n    carbonEfficiency: carbonScore,\n    energyEfficiency: energyScore,\n    resourceOptimization: resourceScore\n  }\n};\n\nreturn JSON.stringify(result, null, 2);","description":"Calculates comprehensive ESG scores, carbon footprint metrics, energy efficiency ratios, resource utilization percentages, and sustainability KPI performance based on input environmental data"},"typeVersion":1.3},{"id":"34d69e6f-ed46-495b-9b7b-9382e85d0364","name":"Multi-Cloud Sustainability API","type":"n8n-nodes-base.httpRequestTool","position":[1456,1264],"parameters":{"url":"={{ $fromAI('api_endpoint', 'The API endpoint to query for sustainability data', 'string') }}","options":{},"toolDescription":"Retrieves real-time sustainability metrics, emissions data, and resource utilization statistics from multi-cloud monitoring platforms and enterprise ESG systems"},"typeVersion":4.4},{"id":"1bb3ec8c-a62c-49d0-804e-c59ab05ace97","name":"ESG Reporting Sheets Tool","type":"n8n-nodes-base.googleSheetsTool","position":[1600,1264],"parameters":{"sheetName":{"__rl":true,"mode":"list","value":""},"documentId":{"__rl":true,"mode":"list","value":""},"descriptionType":"manual","toolDescription":"Reads ESG compliance thresholds, industry benchmarks, and sustainability baseline data from Google Sheets for validation and comparison"},"credentials":{"googleSheetsOAuth2Api":{"id":"hQFe8XTqJEiHL03Z","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"88cc074d-ada0-4c87-9124-89156bf713d7","name":"Governance Alerts Tool","type":"n8n-nodes-base.slackTool","position":[1200,992],"webhookId":"36d3ac23-1162-4684-97a3-a492ce2615f4","parameters":{"text":"={{ $fromAI('alert_message', 'The alert message content', 'string') }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $fromAI('slack_channel', 'The Slack channel to send the alert to', 'string') }}"},"otherOptions":{},"authentication":"oAuth2","descriptionType":"manual","toolDescription":"Sends sustainability alerts, ESG compliance notifications, and governance approval requests to designated Slack channels"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"c4dd16b3-a657-422e-9070-976f5374d939","name":"Compliance Documentation Tool","type":"n8n-nodes-base.airtableTool","position":[1344,992],"parameters":{"base":{"__rl":true,"mode":"list","value":""},"table":{"__rl":true,"mode":"id","value":"={{ $fromAI('table_name', 'The Airtable table to store compliance documentation', 'string') }}"},"options":{},"operation":"create","descriptionType":"manual","toolDescription":"Creates audit-ready compliance documentation records in Airtable with environmental impact lineage, governance actions, and ESG validation results"},"typeVersion":2.2},{"id":"10d7e8cc-fc39-46b2-8b2e-c82bdfecdff9","name":"Route by Approval Status","type":"n8n-nodes-base.switch","position":[1632,480],"parameters":{"rules":{"values":[{"conditions":{"string":[{"value1":"={{ $json.approvalStatus }}","value2":"approved","operation":"equals"}]}},{"conditions":{"string":[{"value1":"={{ $json.approvalStatus }}","value2":"needs_review","operation":"equals"}]}},{"conditions":{"string":[{"value1":"={{ $json.approvalStatus }}","value2":"rejected","operation":"equals"}]}}]},"options":{}},"typeVersion":3.4},{"id":"bebfb315-df07-4c7b-b7e1-2e873b091204","name":"Store Approved Sustainability Records","type":"n8n-nodes-base.dataTable","position":[2080,688],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__approved_sustainability_records__>"}},"typeVersion":1.1},{"id":"1a19f88e-4a28-4c8f-aba7-f70b83fadd63","name":"Send Review Request","type":"n8n-nodes-base.slack","position":[1856,496],"webhookId":"f911c36e-224a-4a19-9923-c883fe4cadcd","parameters":{"text":"=🔍 **Sustainability Review Required**\n\n**Compliance Score:** {{ $json.complianceScore }}\n**Carbon Footprint:** {{ $json.carbonFootprintValidated }} kg CO2e\n**Energy Rating:** {{ $json.energyEfficiencyRating }}\n**Risk Level:** {{ $json.riskLevel }}\n\n**ESG Requirements:** {{ JSON.stringify($json.esgRequirementsMet) }}\n\n**Recommendations:**\n{{ $json.recommendations.join('\\n') }}\n\n**Audit Trail:** {{ $json.auditTrail }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__sustainability_review_channel__>"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"5efe9d06-82bc-421d-812c-ec1088733f85","name":"Log Rejected Items","type":"n8n-nodes-base.dataTable","position":[2080,304],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__rejected_sustainability_items__>"}},"typeVersion":1.1},{"id":"e7762aa8-602a-4c22-b87d-ef2012fb54fa","name":"Prepare Approved Record","type":"n8n-nodes-base.set","position":[1856,688],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"approvalStatus","type":"string","value":"={{ $json.approvalStatus }}"},{"id":"id-2","name":"complianceScore","type":"number","value":"={{ $json.complianceScore }}"},{"id":"id-3","name":"carbonFootprint","type":"number","value":"={{ $json.carbonFootprintValidated }}"},{"id":"id-4","name":"energyRating","type":"string","value":"={{ $json.energyEfficiencyRating }}"},{"id":"id-5","name":"resourceScore","type":"number","value":"={{ $json.resourceUtilizationScore }}"},{"id":"id-6","name":"greenCompliance","type":"boolean","value":"={{ $json.greenPolicyCompliance }}"},{"id":"id-7","name":"esgRequirements","type":"string","value":"={{ JSON.stringify($json.esgRequirementsMet) }}"},{"id":"id-8","name":"kpis","type":"string","value":"={{ JSON.stringify($json.sustainabilityKPIs) }}"},{"id":"id-9","name":"governanceActions","type":"string","value":"={{ JSON.stringify($json.governanceActions) }}"},{"id":"id-10","name":"auditTrail","type":"string","value":"={{ $json.auditTrail }}"},{"id":"id-11","name":"riskLevel","type":"string","value":"={{ $json.riskLevel }}"},{"id":"id-12","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"}]}},"typeVersion":3.4},{"id":"70659d96-bdca-45ce-9329-c5878ed852b4","name":"Update ESG Dashboard","type":"n8n-nodes-base.googleSheets","position":[2752,1136],"parameters":{"operation":"append","sheetName":{"__rl":true,"mode":"list","value":""},"documentId":{"__rl":true,"mode":"list","value":""}},"credentials":{"googleSheetsOAuth2Api":{"id":"hQFe8XTqJEiHL03Z","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"82da3a03-132e-478a-ba3a-579313e77d67","name":"Send Compliance Report","type":"n8n-nodes-base.gmail","position":[2304,400],"webhookId":"0de9af03-34d8-4591-b408-f89c760f3e85","parameters":{"sendTo":"<__PLACEHOLDER_VALUE__compliance_stakeholder_email__>","message":"=**Sustainability Governance Report**\n\n**Status:** {{ $json.approvalStatus }}\n**Compliance Score:** {{ $json.complianceScore }}/100\n**Risk Level:** {{ $json.riskLevel }}\n\n**Environmental Metrics:**\n- Carbon Footprint: {{ $json.carbonFootprint }} kg CO2e\n- Energy Efficiency: {{ $json.energyRating }}\n- Resource Utilization: {{ $json.resourceScore }}%\n- Green Policy Compliance: {{ $json.greenCompliance ? 'Yes' : 'No' }}\n\n**ESG Requirements Met:**\n{{ JSON.stringify($json.esgRequirements, null, 2) }}\n\n**Sustainability KPIs:**\n{{ JSON.stringify($json.kpis, null, 2) }}\n\n**Governance Actions:**\n{{ JSON.stringify($json.governanceActions, null, 2) }}\n\n**Audit Trail:**\n{{ $json.auditTrail }}\n\nThis is an automated compliance report generated by the Green Governance Agent.","options":{},"subject":"=ESG Compliance Report - {{ $json.approvalStatus.toUpperCase() }} - {{ $now.toFormat('yyyy-MM-dd') }}"},"credentials":{"gmailOAuth2":{"id":"u1N5nBDvQ0AWhNnV","name":"Gmail account"}},"typeVersion":2.2},{"id":"95438d6f-c47a-4133-b30a-ac4fc18ba674","name":"Sync to Enterprise ESG Platform","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[2304,592],"parameters":{"url":"<__PLACEHOLDER_VALUE__enterprise_esg_platform_api__>","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"approvalStatus","value":"={{ $json.approvalStatus }}"},{"name":"complianceScore","value":"={{ $json.complianceScore }}"},{"name":"carbonFootprint","value":"={{ $json.carbonFootprint }}"},{"name":"energyRating","value":"={{ $json.energyRating }}"},{"name":"resourceScore","value":"={{ $json.resourceScore }}"},{"name":"greenCompliance","value":"={{ $json.greenCompliance }}"},{"name":"esgRequirements","value":"={{ $json.esgRequirements }}"},{"name":"kpis","value":"={{ $json.kpis }}"},{"name":"governanceActions","value":"={{ $json.governanceActions }}"},{"name":"auditTrail","value":"={{ $json.auditTrail }}"},{"name":"riskLevel","value":"={{ $json.riskLevel }}"},{"name":"timestamp","value":"={{ $json.timestamp }}"}]}},"typeVersion":4.4},{"id":"2f835735-3732-4aa2-b690-0bcd26da8698","name":"Track Environmental Impact Lineage","type":"n8n-nodes-base.dataTable","position":[2528,880],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__environmental_impact_lineage__>"}},"typeVersion":1.1},{"id":"875a5f40-ba89-468f-b5f0-b19b277efa4e","name":"Prepare Lineage Record","type":"n8n-nodes-base.set","position":[2304,880],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"recordId","type":"string","value":"={{ $json.approvalStatus + '_' + $now.toMillis() }}"},{"id":"id-2","name":"eventType","type":"string","value":"={{ $('Normalize Sustainability Input').item.json.eventType }}"},{"id":"id-3","name":"source","type":"string","value":"={{ $('Normalize Sustainability Input').item.json.source }}"},{"id":"id-4","name":"inputTimestamp","type":"string","value":"={{ $('Normalize Sustainability Input').item.json.timestamp }}"},{"id":"id-5","name":"validationTimestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-6","name":"approvalStatus","type":"string","value":"={{ $json.approvalStatus }}"},{"id":"id-7","name":"complianceScore","type":"number","value":"={{ $json.complianceScore }}"},{"id":"id-8","name":"carbonFootprintOriginal","type":"number","value":"={{ $('Normalize Sustainability Input').item.json.carbonFootprint }}"},{"id":"id-9","name":"carbonFootprintValidated","type":"number","value":"={{ $json.carbonFootprint }}"},{"id":"id-10","name":"energyConsumptionOriginal","type":"number","value":"={{ $('Normalize Sustainability Input').item.json.energyConsumption }}"},{"id":"id-11","name":"energyEfficiencyRating","type":"string","value":"={{ $json.energyRating }}"},{"id":"id-12","name":"resourceUtilizationOriginal","type":"number","value":"={{ $('Normalize Sustainability Input').item.json.resourceUtilization }}"},{"id":"id-13","name":"resourceUtilizationScore","type":"number","value":"={{ $json.resourceScore }}"},{"id":"id-14","name":"governanceActions","type":"string","value":"={{ JSON.stringify($json.governanceActions) }}"},{"id":"id-15","name":"auditTrail","type":"string","value":"={{ $json.auditTrail }}"},{"id":"id-16","name":"riskLevel","type":"string","value":"={{ $json.riskLevel }}"}]}},"typeVersion":3.4},{"id":"d3c3fd61-a5d4-4d4b-8254-7b8af71560e7","name":"Log API Sync Errors","type":"n8n-nodes-base.dataTable","position":[2752,496],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__api_sync_errors__>"}},"typeVersion":1.1},{"id":"a77e2769-28e8-495a-a91f-93a882b591dd","name":"Alert on Sync Failure","type":"n8n-nodes-base.slack","position":[2752,688],"webhookId":"e90f56ed-4815-4dda-b0f9-35d97dd4d431","parameters":{"text":"=⚠️ **Enterprise ESG Platform Sync Failed**\n\n**Error:** {{ $json.error.message }}\n**Timestamp:** {{ $now.toISO() }}\n\n**Record Details:**\n- Approval Status: {{ $('Prepare Approved Record').item.json.approvalStatus }}\n- Compliance Score: {{ $('Prepare Approved Record').item.json.complianceScore }}\n- Carbon Footprint: {{ $('Prepare Approved Record').item.json.carbonFootprint }} kg CO2e\n\nPlease investigate and retry the sync manually.","select":"channel","channelId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__sustainability_alerts_channel__>"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"b5cdbc7d-7614-41ac-9f57-3d954c620240","name":"Track Green KPI Performance","type":"n8n-nodes-base.dataTable","position":[2976,880],"parameters":{"columns":{"value":null,"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__green_kpi_performance__>"}},"typeVersion":1.1},{"id":"970a4bbb-0c72-45ad-9898-56a4f42e0281","name":"Prepare KPI Record","type":"n8n-nodes-base.set","position":[2752,880],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-2","name":"kpiType","type":"string","value":"sustainability_performance"},{"id":"id-3","name":"complianceScore","type":"number","value":"={{ $json.complianceScore }}"},{"id":"id-4","name":"carbonFootprint","type":"number","value":"={{ $json.carbonFootprint }}"},{"id":"id-5","name":"energyRating","type":"string","value":"={{ $json.energyRating }}"},{"id":"id-6","name":"resourceScore","type":"number","value":"={{ $json.resourceScore }}"},{"id":"id-7","name":"greenCompliance","type":"boolean","value":"={{ $json.greenCompliance }}"},{"id":"id-8","name":"riskLevel","type":"string","value":"={{ $json.riskLevel }}"},{"id":"id-9","name":"kpiDetails","type":"string","value":"={{ JSON.stringify($json.kpis) }}"},{"id":"id-10","name":"period","type":"string","value":"={{ $now.toFormat('yyyy-MM') }}"}]}},"typeVersion":3.4},{"id":"1e30e816-a932-4b55-8fb0-fd1acafb7f49","name":"Prepare Rejected Record","type":"n8n-nodes-base.set","position":[1856,304],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"approvalStatus","type":"string","value":"={{ $json.approvalStatus }}"},{"id":"id-2","name":"complianceScore","type":"number","value":"={{ $json.complianceScore }}"},{"id":"id-3","name":"carbonFootprint","type":"number","value":"={{ $json.carbonFootprintValidated }}"},{"id":"id-4","name":"riskLevel","type":"string","value":"={{ $json.riskLevel }}"},{"id":"id-5","name":"rejectionReasons","type":"string","value":"={{ JSON.stringify($json.recommendations) }}"},{"id":"id-6","name":"auditTrail","type":"string","value":"={{ $json.auditTrail }}"},{"id":"id-7","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"}]}},"typeVersion":3.4},{"id":"310d2246-9824-4110-a123-f11f717d6384","name":"Prepare Error Record","type":"n8n-nodes-base.set","position":[2528,592],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"errorMessage","type":"string","value":"={{ $json.error.message }}"},{"id":"id-2","name":"errorType","type":"string","value":"={{ $json.error.name }}"},{"id":"id-3","name":"approvalStatus","type":"string","value":"={{ $('Prepare Approved Record').item.json.approvalStatus }}"},{"id":"id-4","name":"complianceScore","type":"number","value":"={{ $('Prepare Approved Record').item.json.complianceScore }}"},{"id":"id-5","name":"carbonFootprint","type":"number","value":"={{ $('Prepare Approved Record').item.json.carbonFootprint }}"},{"id":"id-6","name":"timestamp","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-7","name":"syncAttempt","type":"string","value":"enterprise_esg_platform"}]}},"typeVersion":3.4},{"id":"c2f1c7cc-15c4-4f21-a2f7-f1f9ef591a2f","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[320,880],"parameters":{"color":7,"width":1504,"height":576,"content":"## Sustainability Oversight Sub-Agent & ESG Scoring Engine\n**Why** — Applies governance rules and quantitative scoring to surface non-compliant records early."},"typeVersion":1},{"id":"58c07aa9-e7b7-415a-9b22-f30510ff0a93","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[2256,160],"parameters":{"color":7,"width":432,"height":1024,"content":"##  Synchronise, Track Environmental Impact Lineage & Green KPI Performance\n**Why** — Maintains auditable data lineage and performance records required for regulatory reporting."},"typeVersion":1},{"id":"282086bb-1abe-436b-ae42-6f0d6f8b017b","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1552,208],"parameters":{"color":7,"width":656,"height":640,"content":"## Route by Approval Status\n**Why** — Rules-based routing separates rejected, under-review, and approved records for appropriate handling.\n "},"typeVersion":1},{"id":"eeffd6e1-8f7a-4580-a4cf-c932b071b494","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[672,320],"parameters":{"color":7,"width":784,"height":512,"content":"## Green Governance Agent\n**Why** — Orchestrates ESG scoring, compliance checks, and documentation generation in one coordinated pass."},"typeVersion":1},{"id":"79ce4150-78e0-439d-adc5-4c5356e39a47","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[64,320],"parameters":{"color":7,"width":592,"height":416,"content":"## Normalise Sustainability Input\n**Why** — Standardises heterogeneous ESG data before AI processing to prevent scoring errors."},"typeVersion":1},{"id":"962eb213-14d0-4dac-a365-f75b0a599ef7","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[1296,-208],"parameters":{"color":6,"width":416,"height":416,"content":"## Prerequisites\n- OpenAI API key (or compatible LLM)\n- Slack workspace with bot credentials\n- Google Sheets with ESG log tabs pre-created\n- Enterprise ESG platform API endpoint access\n## Use Cases\n- Corporations automating quarterly ESG compliance report generation\n## Customisation\n- Swap ESG Scoring Engine thresholds to match regional regulatory frameworks (EU Taxonomy, GRI, SASB)\n## Benefits\n- Eliminates manual ESG data aggregation, cutting reporting cycle time significantly"},"typeVersion":1},{"id":"aeae0570-6324-47d8-9354-f1c85c994a7b","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[880,-112],"parameters":{"width":368,"height":320,"content":"## Setup Steps\n1. Import workflow and configure the periodic trigger interval and ESG platform webhook URL.\n2. Add AI model credentials to the Green Governance Agent and Sustainability Oversight Sub-Agent.\n3. Connect Slack credentials to Governance Alerts Tool and Sync Failure Alert nodes.\n4. Link Google Sheets credentials; set sheet IDs for Rejected Items, etc.\n5. Configure the Multi-Cloud Sustainability API and Enterprise ESG Platform sync endpoint URLs.\n6. Set ESG scoring thresholds in the ESG Scoring Engine node.\n"},"typeVersion":1},{"id":"1d1700ea-59fc-4dc2-ad49-0eb628b8f767","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[224,-112],"parameters":{"width":624,"height":336,"content":"## How It Works\nThis workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves the challenge of manually aggregating multi-source ESG data, applying scoring logic, and routing records through approval chains, a process that is slow, error-prone, and difficult to audit. Sustainability data enters via two sources: a periodic scheduler and an external ESG platform webhook. Inputs are normalised and passed to a Green Governance Agent equipped with a Sustainability Oversight Sub-Agent, ESG Scoring Engine, Multi-Cloud Sustainability API, Governance Alerts Tool, Compliance Documentation Tool, and ESG Reporting Sheets Tool. The agent produces a structured compliance output, which is then routed by approval status, rejected records are logged, review requests are sent via Slack, and approved records are stored and synced to the enterprise ESG platform. Sync errors trigger Slack alerts and error logging. Approved data simultaneously updates environmental impact lineage, KPI performance tracking, and the ESG dashboard in Google Sheets.\n"},"typeVersion":1},{"id":"8727416c-1db9-4b1b-b092-24b292041bcc","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[2704,352],"parameters":{"color":7,"width":480,"height":944,"content":"## Update ESG Dashboard\n**Why** — Keeps the Google Sheets dashboard current for real-time stakeholder visibility."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","executionOrder":"v1"},"versionId":"c6b60819-218d-4d4d-a9de-19de396a7aa6","connections":{"Oversight Model":{"ai_languageModel":[[{"node":"Sustainability Oversight Agent Tool","type":"ai_languageModel","index":0}]]},"Governance Model":{"ai_languageModel":[[{"node":"Green Governance Agent","type":"ai_languageModel","index":0}]]},"ESG Scoring Engine":{"ai_tool":[[{"node":"Sustainability Oversight Agent Tool","type":"ai_tool","index":0}]]},"Prepare KPI Record":{"main":[[{"node":"Track Green KPI Performance","type":"main","index":0}]]},"Prepare Error Record":{"main":[[{"node":"Log API Sync Errors","type":"main","index":0},{"node":"Alert on Sync Failure","type":"main","index":0}]]},"Governance Alerts Tool":{"ai_tool":[[{"node":"Green Governance Agent","type":"ai_tool","index":0}]]},"Green Governance Agent":{"main":[[{"node":"Route by Approval Status","type":"main","index":0}]]},"Prepare Lineage Record":{"main":[[{"node":"Track Environmental Impact Lineage","type":"main","index":0}]]},"Prepare Approved Record":{"main":[[{"node":"Store Approved Sustainability Records","type":"main","index":0}]]},"Prepare Rejected Record":{"main":[[{"node":"Log Rejected Items","type":"main","index":0}]]},"Route by Approval Status":{"main":[[{"node":"Prepare Approved Record","type":"main","index":0}],[{"node":"Send Review Request","type":"main","index":0}],[{"node":"Prepare Rejected Record","type":"main","index":0}]]},"ESG Reporting Sheets Tool":{"ai_tool":[[{"node":"Sustainability Oversight Agent Tool","type":"ai_tool","index":0}]]},"ESG Compliance Output Schema":{"ai_outputParser":[[{"node":"Green Governance Agent","type":"ai_outputParser","index":0}]]},"External ESG Platform Events":{"main":[[{"node":"Normalize Sustainability Input","type":"main","index":0}]]},"Compliance Documentation Tool":{"ai_tool":[[{"node":"Green Governance Agent","type":"ai_tool","index":0}]]},"Multi-Cloud Sustainability API":{"ai_tool":[[{"node":"Sustainability Oversight Agent Tool","type":"ai_tool","index":0}]]},"Normalize Sustainability Input":{"main":[[{"node":"Green Governance Agent","type":"main","index":0}]]},"Sync to Enterprise ESG Platform":{"main":[[],[{"node":"Prepare Error Record","type":"main","index":0}]]},"Sustainability Metrics Calculator":{"ai_tool":[[{"node":"Sustainability Oversight Agent Tool","type":"ai_tool","index":0}]]},"Periodic Sustainability Monitoring":{"main":[[{"node":"Normalize Sustainability Input","type":"main","index":0}]]},"Track Environmental Impact Lineage":{"main":[[{"node":"Prepare KPI Record","type":"main","index":0}]]},"Sustainability Oversight Agent Tool":{"ai_tool":[[{"node":"Green Governance Agent","type":"ai_tool","index":0}]]},"Store Approved Sustainability Records":{"main":[[{"node":"Update ESG Dashboard","type":"main","index":0},{"node":"Send Compliance Report","type":"main","index":0},{"node":"Sync to Enterprise ESG Platform","type":"main","index":0},{"node":"Prepare Lineage Record","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":39,"nodeTypes":{"n8n-nodes-base.set":{"count":6},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.dataTable":{"count":5},"n8n-nodes-base.slackTool":{"count":1},"n8n-nodes-base.stickyNote":{"count":9},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.airtableTool":{"count":1},"n8n-nodes-base.googleSheets":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.httpRequestTool":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-base.googleSheetsTool":{"count":1},"@n8n/n8n-nodes-langchain.toolCode":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":2},"@n8n/n8n-nodes-langchain.toolCalculator":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"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":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":47,"icon":"file:webhook.svg","name":"n8n-nodes-base.webhook","codex":{"data":{"alias":["HTTP","API","Build","WH"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Webhook","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":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":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":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":1195,"icon":"fa:calculator","name":"@n8n/n8n-nodes-langchain.toolCalculator","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolcalculator/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Other Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"Calculator"},"iconData":{"icon":"calculator","type":"icon"},"displayName":"Calculator","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1197,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.toolCode","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolcode/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Tools"],"Tools":["Recommended Tools"]}}},"group":"[\"transform\"]","defaults":{"name":"Code Tool"},"iconData":{"icon":"code","type":"icon"},"displayName":"Code Tool","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":48,"name":"AI RAG"}],"image":[]}}