{"workflow":{"id":13338,"name":"Validate property compliance risk and orchestrate actions with OpenAI, Google Calendar, Gmail, Slack, and Google Sheets","views":28,"recentViews":0,"totalViews":28,"createdAt":"2026-02-12T15:02:38.901Z","description":"## How It Works\nThis workflow automates medical imaging analysis and diagnostic reporting for radiology departments, imaging centers, and hospital networks managing high patient volumes. Designed for radiologists, medical imaging technicians, and diagnostic coordinators, it solves the challenge of rapidly analyzing imaging studies, prioritizing critical findings, routing cases appropriately, and generating structured reports while maintaining diagnostic accuracy and regulatory compliance. The system triggers on new imaging studies, fetches imagery and metadata, prepares data through AI agents (Validation ensures image quality and completeness), calculates risk scores, routes by validation status and risk level through multiple pathways, deploys specialized AI agents for comprehensive analysis (Orchestration coordinates findings, Google Calendar manages scheduling, Slack Tool enables team communication, Email Actions handles notifications, Water Monitoring tracks contrast protocols, Compliance Validation ensures regulatory adherence, Leave Management coordinates radiologist availability), and generates final diagnostic reports with complete audit trails. Organizations reduce diagnosis turnaround time by 60%, improve critical finding detection rates, ensure consistent reporting standards, and enable radiologists to focus on complex cases requiring expert judgment.\n\n## Setup Steps\n1. Connect **imaging trigger** for automatic study notifications\n2. Configure **PACS/VNA system APIs** with credentials for DICOM image retrieval and metadata access\n3. Add **AI model API keys** to Validation Agent and specialized diagnostic agents \n4. Define **risk stratification criteria** in routing logic based on clinical protocols and imaging findings\n5. Link **Google Calendar API** for radiologist scheduling and case assignment workflows\n6. Configure **Slack** integration for care team communication and critical finding alerts\n7. Connect **email system** for patient/referring physician notifications and report distribution\n \n## Prerequisites\nPACS/VNA system API access, HIPAA-compliant AI service accounts\n## Use Cases\nEmergency radiology triage (stroke, trauma), lung nodule detection and tracking\n## Customization\nModify AI models for modality-specific analysis (CT, MRI, X-ray, ultrasound)\n## Benefits\nReduces diagnosis turnaround time by 60%, improves critical finding detection rates","workflow":{"id":"6Yqm_5DSIKSMTvB5OvcRU","meta":{"instanceId":"b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502"},"name":"AI-powered pedical imaging analysis & diagnostic reporting system","tags":[],"nodes":[{"id":"b4793f80-d9d0-4af8-a629-3a6b50eb3d63","name":"Schedule Property Monitoring","type":"n8n-nodes-base.scheduleTrigger","position":[-3776,216],"parameters":{"rule":{"interval":[{"field":"minutes","minutesInterval":15}]}},"typeVersion":1.3},{"id":"9d79a67b-0896-47ce-932c-0614b9a8f2d8","name":"Workflow Configuration","type":"n8n-nodes-base.set","position":[-3552,216],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"sensorApiUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Property Sensor API URL__>"},{"id":"id-2","name":"complianceApiUrl","type":"string","value":"<__PLACEHOLDER_VALUE__Compliance Database API URL__>"},{"id":"id-3","name":"criticalRiskThreshold","type":"number","value":75},{"id":"id-4","name":"highRiskThreshold","type":"number","value":50},{"id":"id-5","name":"mediumRiskThreshold","type":"number","value":25}]},"includeOtherFields":true},"typeVersion":3.4},{"id":"b89fe18b-91d0-46dc-9e2c-8233d8183037","name":"Fetch Property Sensor Data","type":"n8n-nodes-base.httpRequest","position":[-3328,120],"parameters":{"url":"={{ $('Workflow Configuration').first().json.sensorApiUrl }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.3},{"id":"519a0c7c-6623-4bc4-beea-7fb3ebe47c86","name":"Fetch Compliance Database","type":"n8n-nodes-base.httpRequest","position":[-3328,312],"parameters":{"url":"={{ $('Workflow Configuration').first().json.complianceApiUrl }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.3},{"id":"aaa93ed9-d69e-47ee-bc9a-960029588d20","name":"Combine Property Data","type":"n8n-nodes-base.merge","position":[-3104,216],"parameters":{"mode":"combine","options":{},"joinMode":"enrichInput1"},"typeVersion":3.2},{"id":"9074d575-8bb2-405f-9eec-e43d5037740d","name":"Property Validation Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-2880,216],"parameters":{"text":"=Property Data:\n{{ JSON.stringify($json, null, 2) }}\n\nAnalyze this property data and validate construction integrity, occupancy compliance, and maintenance requirements.","options":{"systemMessage":"You are a Property Validation Specialist AI Agent responsible for monitoring and validating property conditions.\n\nYour task is to:\n1. Analyze construction sensor data (structural integrity, temperature, humidity, vibration)\n2. Validate occupancy compliance (capacity limits, safety regulations, zoning requirements)\n3. Assess maintenance signals (equipment status, wear indicators, preventive maintenance needs)\n4. Identify anomalies, violations, or degradation patterns\n5. Classify issues by severity: CRITICAL, HIGH, MEDIUM, LOW\n6. Provide detailed validation findings with evidence from sensor data\n7. Return structured validation results\n\nValidation criteria:\n- Construction: Structural stress >80% threshold, foundation settlement >5mm, vibration >0.5g\n- Occupancy: Capacity >95%, fire safety violations, accessibility non-compliance\n- Maintenance: Equipment failure indicators, overdue maintenance >30 days, efficiency <70%\n\nYou MUST provide traceable evidence for all findings by referencing specific sensor readings and compliance standards."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"037f646d-de05-4a0e-8cff-dfebf61d09e2","name":"OpenAI Model - Validation Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-2928,448],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"fbcd1598-926a-4366-9022-47f05cd59e8e","name":"Validation Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-2744,440],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"validationStatus\": {\n      \"type\": \"string\",\n      \"enum\": [\"PASS\", \"FAIL\", \"WARNING\"]\n    },\n    \"issues\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"category\": {\n            \"type\": \"string\",\n            \"enum\": [\"construction\", \"occupancy\", \"maintenance\"]\n          },\n          \"severity\": {\n            \"type\": \"string\",\n            \"enum\": [\"CRITICAL\", \"HIGH\", \"MEDIUM\", \"LOW\"]\n          },\n          \"description\": {\"type\": \"string\"},\n          \"evidence\": {\"type\": \"string\"},\n          \"recommendation\": {\"type\": \"string\"}\n        },\n        \"required\": [\"category\", \"severity\", \"description\", \"evidence\", \"recommendation\"]\n      }\n    },\n    \"complianceScore\": {\n      \"type\": \"number\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"timestamp\": {\"type\": \"string\"}\n  },\n  \"required\": [\"validationStatus\", \"issues\", \"complianceScore\", \"timestamp\"],\n  \"additionalProperties\": false\n}"},"typeVersion":1.3},{"id":"eb1fee08-df75-47bc-ab6d-2930f8944664","name":"Route by Validation Status","type":"n8n-nodes-base.switch","position":[-2304,96],"parameters":{"rules":{"values":[{"outputKey":"CRITICAL","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.riskLevel }}","rightValue":"CRITICAL"}]},"renameOutput":true},{"outputKey":"HIGH","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.riskLevel }}","rightValue":"HIGH"}]},"renameOutput":true},{"outputKey":"MEDIUM","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.riskLevel }}","rightValue":"MEDIUM"}]},"renameOutput":true},{"outputKey":"LOW","conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.riskLevel }}","rightValue":"LOW"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.4},{"id":"1bc21640-8f81-43e4-b0d2-fc5d1aa57741","name":"Governance Orchestration Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-1712,80],"parameters":{"text":"=Validation Results:\n{{ JSON.stringify($json, null, 2) }}\n\nCoordinate appropriate actions based on these validation findings.","options":{"systemMessage":"You are a Governance Orchestration Agent responsible for coordinating property compliance and maintenance operations.\n\nYour task is to:\n1. Analyze validation results and determine required actions\n2. Coordinate repair scheduling for maintenance issues\n3. Initiate compliance inspections for regulatory violations\n4. Manage lease notifications for tenant-impacting issues\n5. Execute escalation workflows for critical situations\n6. Ensure all actions are traceable and auditable\n7. Log all decisions and actions taken\n\nAvailable specialized agents:\n- Repair Scheduling Agent: Handles maintenance work orders, contractor scheduling, resource allocation\n- Compliance Inspection Agent: Manages regulatory inspections, certification renewals, audit preparation\n- Lease Management Agent: Handles tenant notifications, lease compliance, occupancy management\n\nAvailable tools:\n- Google Calendar: Schedule repairs, inspections, and follow-ups\n- Gmail: Send formal notifications to stakeholders\n- Slack: Alert operations teams for immediate action\n- Google Sheets: Log all actions for audit trail\n\nDecision framework:\n- CRITICAL issues: Immediate escalation + all relevant agents + emergency notifications\n- HIGH issues: Schedule within 24 hours + relevant agents + stakeholder notifications\n- MEDIUM issues: Schedule within 7 days + relevant agents + routine notifications\n- LOW issues: Schedule within 30 days + log for tracking\n\nYou MUST provide structured output documenting all decisions and actions for compliance auditing."},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"0bc11a35-52b2-48f5-9848-edaaa6077f9e","name":"OpenAI Model - Orchestration Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-2080,320],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"af7af4ea-c10b-4518-8bf9-e0144e1f1fee","name":"Orchestration Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-480,320],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"actionsExecuted\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"actionType\": {\n            \"type\": \"string\",\n            \"enum\": [\"repair_scheduled\", \"inspection_initiated\", \"notification_sent\", \"escalation_triggered\", \"logged\"]\n          },\n          \"tool\": {\"type\": \"string\"},\n          \"details\": {\"type\": \"string\"},\n          \"timestamp\": {\"type\": \"string\"}\n        },\n        \"required\": [\"actionType\", \"tool\", \"details\", \"timestamp\"]\n      }\n    },\n    \"agentsInvoked\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"escalationLevel\": {\n      \"type\": \"string\",\n      \"enum\": [\"none\", \"operational\", \"managerial\", \"executive\"]\n    },\n    \"reasoning\": {\"type\": \"string\"},\n    \"nextReviewDate\": {\"type\": \"string\"}\n  },\n  \"required\": [\"actionsExecuted\", \"agentsInvoked\", \"escalationLevel\", \"reasoning\", \"nextReviewDate\"],\n  \"additionalProperties\": false\n}"},"typeVersion":1.3},{"id":"c9862be0-b028-47b8-8244-7ac5d29dd1e9","name":"Google Calendar Tool - Schedule Repairs","type":"n8n-nodes-base.googleCalendarTool","position":[-1968,432],"parameters":{"end":"={{ $fromAI('endDateTime', 'End date and time in ISO format', 'string') }}","start":"={{ $fromAI('startDateTime', 'Start date and time in ISO format', 'string') }}","calendar":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__Property Management Calendar ID__>"},"additionalFields":{"summary":"={{ $fromAI('eventTitle', 'Title for the calendar event', 'string') }}","description":"={{ $fromAI('eventDescription', 'Description of the scheduled activity', 'string') }}"}},"credentials":{"googleCalendarOAuth2Api":{"id":"26RxMvw1rSjTSjmV","name":"Google Calendar account"}},"typeVersion":1.3},{"id":"1993a81e-d934-4eef-819b-cd147e3e5976","name":"Gmail Tool - Send Notifications","type":"n8n-nodes-base.gmailTool","position":[-1824,320],"webhookId":"22270937-f51f-4968-aa5e-2222ec8df9a3","parameters":{"sendTo":"={{ $fromAI('recipients', 'Email recipients', 'string') }}","message":"={{ $fromAI('messageBody', 'Email message content', 'string') }}","options":{},"subject":"={{ $fromAI('subject', 'Email subject line', 'string') }}"},"credentials":{"gmailOAuth2":{"id":"u1N5nBDvQ0AWhNnV","name":"Gmail account"}},"typeVersion":2.2},{"id":"7abd623c-1f43-46bf-a2d3-00140f10cd19","name":"Slack Tool - Alert Teams","type":"n8n-nodes-base.slackTool","position":[-1696,432],"webhookId":"6d775605-d6d5-49db-966e-798048b66956","parameters":{"text":"={{ $fromAI('alertMessage', 'Alert message for the team', 'string') }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $fromAI('slackChannel', 'Slack channel ID or name', 'string') }}"},"otherOptions":{},"authentication":"oAuth2"},"credentials":{"slackOAuth2Api":{"id":"d34b1ayEBbvZm2lT","name":"Slack account"}},"typeVersion":2.4},{"id":"0740d1a4-0589-4b43-b513-f0dd8b5c59bf","name":"Google Sheets Tool - Log Actions","type":"n8n-nodes-base.googleSheetsTool","position":[-1568,320],"parameters":{"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"name","value":"<__PLACEHOLDER_VALUE__Audit Log Sheet Name__>"},"documentId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__Audit Log Spreadsheet ID__>"}},"credentials":{"googleSheetsOAuth2Api":{"id":"hQFe8XTqJEiHL03Z","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"d565e2af-83ca-4966-9ed1-44a889952e76","name":"Repair Scheduling Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1344,320],"parameters":{"text":"={{ $fromAI('repairRequest', 'Repair scheduling request details', 'json') }}","options":{"systemMessage":"You are a Repair Scheduling Specialist Agent.\n\nYour task is to:\n1. Analyze repair requirements from validation findings\n2. Determine urgency and resource requirements\n3. Identify appropriate contractors or maintenance teams\n4. Calculate estimated duration and costs\n5. Recommend optimal scheduling windows\n6. Provide structured repair plan\n\nConsiderations:\n- Emergency repairs: <4 hours response time\n- Urgent repairs: <24 hours response time\n- Standard repairs: <7 days response time\n- Preventive maintenance: <30 days scheduling\n\nReturn structured repair scheduling recommendations."},"hasOutputParser":true,"toolDescription":"Analyzes repair requirements and provides detailed scheduling recommendations including urgency, resources, timeline, and cost estimates"},"typeVersion":3},{"id":"e7ccc9ca-ba60-4563-ad94-e3acac06657a","name":"OpenAI Model - Repair Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1328,496],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"0135665a-d832-490a-a471-69b627da14dd","name":"Repair Agent Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1184,528],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"repairPriority\": {\n      \"type\": \"string\",\n      \"enum\": [\"emergency\", \"urgent\", \"standard\", \"preventive\"]\n    },\n    \"estimatedDuration\": {\"type\": \"string\"},\n    \"estimatedCost\": {\"type\": \"number\"},\n    \"requiredResources\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"recommendedSchedule\": {\"type\": \"string\"},\n    \"contractorType\": {\"type\": \"string\"}\n  },\n  \"required\": [\"repairPriority\", \"estimatedDuration\", \"estimatedCost\", \"requiredResources\", \"recommendedSchedule\"],\n  \"additionalProperties\": false\n}"},"typeVersion":1.3},{"id":"9c7c7ab9-fe1b-4e6f-80e5-ff5d1d15ea7f","name":"Compliance Inspection Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-1056,320],"parameters":{"text":"={{ $fromAI('complianceRequest', 'Compliance inspection request details', 'json') }}","options":{"systemMessage":"You are a Compliance Inspection Specialist Agent.\n\nYour task is to:\n1. Analyze compliance violations from validation findings\n2. Identify applicable regulations and standards\n3. Determine inspection requirements and scope\n4. Assess regulatory risk and potential penalties\n5. Recommend inspection timeline and preparation steps\n6. Provide structured compliance action plan\n\nRegulatory frameworks:\n- Building codes and safety standards\n- Fire safety and emergency egress\n- Accessibility (ADA/local requirements)\n- Environmental regulations\n- Occupancy and zoning compliance\n\nReturn structured compliance inspection recommendations."},"hasOutputParser":true,"toolDescription":"Analyzes compliance violations and provides detailed inspection requirements including regulatory framework, risk assessment, timeline, and preparation steps"},"typeVersion":3},{"id":"695d159d-b128-476f-9302-56381615b4e0","name":"OpenAI Model - Compliance Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-1008,528],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"f084aefa-7884-4fb9-8b55-6dbd5c473989","name":"Compliance Agent Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-864,528],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"inspectionType\": {\n      \"type\": \"string\",\n      \"enum\": [\"building_code\", \"fire_safety\", \"accessibility\", \"environmental\", \"occupancy\"]\n    },\n    \"regulatoryFramework\": {\"type\": \"string\"},\n    \"riskLevel\": {\n      \"type\": \"string\",\n      \"enum\": [\"critical\", \"high\", \"medium\", \"low\"]\n    },\n    \"potentialPenalties\": {\"type\": \"string\"},\n    \"inspectionTimeline\": {\"type\": \"string\"},\n    \"preparationSteps\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    }\n  },\n  \"required\": [\"inspectionType\", \"regulatoryFramework\", \"riskLevel\", \"inspectionTimeline\", \"preparationSteps\"],\n  \"additionalProperties\": false\n}"},"typeVersion":1.3},{"id":"8be7bdfb-c574-49c7-810d-059a96647514","name":"Lease Management Agent Tool","type":"@n8n/n8n-nodes-langchain.agentTool","position":[-768,320],"parameters":{"text":"={{ $fromAI('leaseRequest', 'Lease management request details', 'json') }}","options":{"systemMessage":"You are a Lease Management Specialist Agent.\n\nYour task is to:\n1. Analyze tenant-impacting issues from validation findings\n2. Determine lease compliance implications\n3. Identify required tenant notifications\n4. Assess impact on lease terms and obligations\n5. Recommend communication strategy and timeline\n6. Provide structured lease management action plan\n\nLease considerations:\n- Habitability and quiet enjoyment obligations\n- Maintenance and repair responsibilities\n- Notice requirements for entry and repairs\n- Rent abatement or compensation scenarios\n- Lease violation documentation\n\nReturn structured lease management recommendations."},"hasOutputParser":true,"toolDescription":"Analyzes tenant-impacting issues and provides detailed lease management recommendations including notification requirements, compliance implications, and communication strategy"},"typeVersion":3},{"id":"61922ca7-8aef-4c9a-808c-2cc751ddef76","name":"OpenAI Model - Lease Agent","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-688,528],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"mv2ECvRtbAK63G2g","name":"OpenAi account"}},"typeVersion":1.3},{"id":"780d7cfc-b8ee-4c3a-a41f-b0dd29f6dd1e","name":"Lease Agent Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-528,528],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"notificationType\": {\n      \"type\": \"string\",\n      \"enum\": [\"maintenance_notice\", \"repair_entry\", \"service_disruption\", \"lease_violation\", \"rent_adjustment\"]\n    },\n    \"affectedTenants\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    },\n    \"noticeRequirement\": {\"type\": \"string\"},\n    \"leaseImplications\": {\"type\": \"string\"},\n    \"communicationTimeline\": {\"type\": \"string\"},\n    \"recommendedActions\": {\n      \"type\": \"array\",\n      \"items\": {\"type\": \"string\"}\n    }\n  },\n  \"required\": [\"notificationType\", \"affectedTenants\", \"noticeRequirement\", \"communicationTimeline\", \"recommendedActions\"],\n  \"additionalProperties\": false\n}"},"typeVersion":1.3},{"id":"3ad2cd9b-9704-4f1c-a1eb-ce4a606affb2","name":"Store Validation Results","type":"n8n-nodes-base.dataTable","position":[-2304,416],"parameters":{"columns":{"value":{},"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__Validation Results Table ID__>"}},"typeVersion":1.1},{"id":"d0ea4f15-5295-4e9f-854d-87e6da776914","name":"Store Orchestration Decisions","type":"n8n-nodes-base.dataTable","position":[-32,192],"parameters":{"columns":{"value":{},"mappingMode":"autoMapInputData"},"options":{},"dataTableId":{"__rl":true,"mode":"id","value":"<__PLACEHOLDER_VALUE__Orchestration Decisions Table ID__>"}},"typeVersion":1.1},{"id":"2ce95a82-8690-4b48-b0c5-2d677ccf80a9","name":"Calculate Risk Scores","type":"n8n-nodes-base.code","position":[-2528,216],"parameters":{"jsCode":"const items = $input.all();\nconst results = [];\n\nfor (const item of items) {\n  const validation = item.json;\n  let riskScore = 0;\n  \n  // Calculate risk score based on issues\n  if (validation.issues && validation.issues.length > 0) {\n    for (const issue of validation.issues) {\n      switch(issue.severity) {\n        case 'CRITICAL':\n          riskScore += 25;\n          break;\n        case 'HIGH':\n          riskScore += 15;\n          break;\n        case 'MEDIUM':\n          riskScore += 8;\n          break;\n        case 'LOW':\n          riskScore += 3;\n          break;\n      }\n    }\n  }\n  \n  // Cap at 100\n  riskScore = Math.min(riskScore, 100);\n  \n  // Determine risk level\n  let riskLevel = 'LOW';\n  const config = $('Workflow Configuration').first().json;\n  \n  if (riskScore >= config.criticalRiskThreshold) {\n    riskLevel = 'CRITICAL';\n  } else if (riskScore >= config.highRiskThreshold) {\n    riskLevel = 'HIGH';\n  } else if (riskScore >= config.mediumRiskThreshold) {\n    riskLevel = 'MEDIUM';\n  }\n  \n  results.push({\n    json: {\n      ...validation,\n      riskScore,\n      riskLevel,\n      calculatedAt: new Date().toISOString()\n    }\n  });\n}\n\nreturn results;"},"typeVersion":2},{"id":"94c3c769-0d20-49e1-8f06-e618b45c40fc","name":"Check Critical Threshold","type":"n8n-nodes-base.if","position":[-272,96],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"id-1","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.escalationLevel }}","rightValue":"executive"}]}},"typeVersion":2.3},{"id":"fb5cc31f-965e-492c-8689-34f5fe82fabd","name":"Consolidate All Actions","type":"n8n-nodes-base.merge","position":[-32,384],"parameters":{},"typeVersion":3.2},{"id":"38e7642e-8299-4b41-be79-34173e69d93c","name":"Format Audit Report","type":"n8n-nodes-base.set","position":[192,384],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"reportTitle","type":"string","value":"Property Compliance and Maintenance Audit Report"},{"id":"id-2","name":"reportDate","type":"string","value":"={{ $now.toISO() }}"},{"id":"id-3","name":"validationSummary","type":"string","value":"={{ $json.validationStatus }}"},{"id":"id-4","name":"riskLevel","type":"string","value":"={{ $json.riskLevel }}"},{"id":"id-5","name":"riskScore","type":"number","value":"={{ $json.riskScore }}"},{"id":"id-6","name":"actionsExecuted","type":"string","value":"={{ JSON.stringify($json.actionsExecuted, null, 2) }}"},{"id":"id-7","name":"escalationLevel","type":"string","value":"={{ $json.escalationLevel }}"},{"id":"id-8","name":"nextReviewDate","type":"string","value":"={{ $json.nextReviewDate }}"},{"id":"id-9","name":"auditTrail","type":"string","value":"Complete audit trail stored in data tables for regulatory compliance"}]}},"typeVersion":3.4},{"id":"49bc2c0c-4ed4-4f9b-a81a-ca579d5aa4ca","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-2608,-416],"parameters":{"color":4,"width":576,"height":336,"content":"## Prerequisites\nPACS/VNA system API access, HIPAA-compliant AI service accounts\n## Use Cases\nEmergency radiology triage (stroke, trauma), lung nodule detection and tracking\n## Customization\nModify AI models for modality-specific analysis (CT, MRI, X-ray, ultrasound)\n## Benefits\nReduces diagnosis turnaround time by 60%, improves critical finding detection rates"},"typeVersion":1},{"id":"724ded3e-e77b-4840-a478-c4051cfa50b1","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-3120,-432],"parameters":{"width":448,"height":336,"content":"## Setup Steps\n1. Connect **imaging trigger** for automatic study notifications\n2. Configure **PACS/VNA system APIs** with credentials for DICOM image retrieval and metadata access\n3. Add **AI model API keys** to Validation Agent and specialized diagnostic agents \n4. Define **risk stratification criteria** in routing logic based on clinical protocols and imaging findings\n5. Link **Google Calendar API** for radiologist scheduling and case assignment workflows\n6. Configure **Slack** integration for care team communication and critical finding alerts\n7. Connect **email system** for patient/referring physician notifications and report distribution"},"typeVersion":1},{"id":"70dd2af1-9684-4a99-a9ae-89739ce75366","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-3856,-464],"parameters":{"width":704,"height":368,"content":"## How It Works\nThis workflow automates medical imaging analysis and diagnostic reporting for radiology departments, imaging centers, and hospital networks managing high patient volumes. Designed for radiologists, medical imaging technicians, and diagnostic coordinators, it solves the challenge of rapidly analyzing imaging studies, prioritizing critical findings, routing cases appropriately, and generating structured reports while maintaining diagnostic accuracy and regulatory compliance. The system triggers on new imaging studies, fetches imagery and metadata, prepares data through AI agents (Validation ensures image quality and completeness), calculates risk scores, routes by validation status and risk level through multiple pathways, deploys specialized AI agents for comprehensive analysis (Orchestration coordinates findings, Google Calendar manages scheduling, Slack Tool enables team communication, Email Actions handles notifications, Water Monitoring tracks contrast protocols, Compliance Validation ensures regulatory adherence, Leave Management coordinates radiologist availability), and generates final diagnostic reports with complete audit trails. Organizations reduce diagnosis turnaround time by 60%, improve critical finding detection rates, ensure consistent reporting standards, and enable radiologists to focus on complex cases requiring expert judgment."},"typeVersion":1},{"id":"65d298b8-0f5a-4c1f-85af-d9d91b7549d9","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-2992,-32],"parameters":{"color":7,"width":592,"height":752,"content":"## AI Quality Validation\n**What**: Validation Agent assesses image quality, completeness, and technical adequacy for diagnostic interpretation  \n**Why**: Quality checks prevent misdiagnosis from poor images and trigger automatic re-acquisition "},"typeVersion":1},{"id":"04213bfc-7be2-4915-af3b-12b691c9389d","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-3888,-32],"parameters":{"color":7,"width":864,"height":608,"content":"\n## Automated Image Acquisition\n**What**: Trigger captures new imaging studies, fetches DICOM data and patient metadata from PACS systems  \n**Why**: Immediate processing upon study completion eliminates delays"},"typeVersion":1},{"id":"ee58bb95-f1ce-4e67-8562-51d0d596dae5","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-2368,-32],"parameters":{"color":7,"width":912,"height":688,"content":"\n## Risk-Based Prioritization\n**What**: Calculates clinical risk scores, routes by validation status and urgency through multi-path workflows  \n**Why**: Priority queuing ensures critical cases (stroke, trauma, cancer) receive immediate radiologist attention"},"typeVersion":1},{"id":"808a21d8-92e6-48ae-9ebb-2a8da10dd841","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[-1424,-64],"parameters":{"color":7,"width":1824,"height":800,"content":"## Multi-Agent Diagnostic Coordination\n**What**: Orchestration Agent coordinates specialized agents for scheduling, communication, compliance, and report generation  \n**Why**: Parallel workflows manage complex diagnostic processes while maintaining regulatory compliance and care coordination"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"b7beb7bf-ebaf-40ed-a6c5-9219e9b50d52","connections":{"Calculate Risk Scores":{"main":[[{"node":"Store Validation Results","type":"main","index":0},{"node":"Route by Validation Status","type":"main","index":0}]]},"Combine Property Data":{"main":[[{"node":"Property Validation Agent","type":"main","index":0}]]},"Workflow Configuration":{"main":[[{"node":"Fetch Property Sensor Data","type":"main","index":0},{"node":"Fetch Compliance Database","type":"main","index":0}]]},"Consolidate All Actions":{"main":[[{"node":"Format Audit Report","type":"main","index":0}]]},"Check Critical Threshold":{"main":[[{"node":"Store Orchestration Decisions","type":"main","index":0},{"node":"Consolidate All Actions","type":"main","index":0}],[{"node":"Consolidate All Actions","type":"main","index":1}]]},"Slack Tool - Alert Teams":{"ai_tool":[[{"node":"Governance Orchestration Agent","type":"ai_tool","index":0}]]},"Validation Output Parser":{"ai_outputParser":[[{"node":"Property Validation Agent","type":"ai_outputParser","index":0}]]},"Fetch Compliance Database":{"main":[[{"node":"Combine Property Data","type":"main","index":1}]]},"Lease Agent Output Parser":{"ai_outputParser":[[{"node":"Lease Management Agent Tool","type":"ai_outputParser","index":0}]]},"Property Validation Agent":{"main":[[{"node":"Calculate Risk Scores","type":"main","index":0}]]},"Fetch Property Sensor Data":{"main":[[{"node":"Combine Property Data","type":"main","index":0}]]},"OpenAI Model - Lease Agent":{"ai_languageModel":[[{"node":"Lease Management Agent Tool","type":"ai_languageModel","index":0}]]},"Repair Agent Output Parser":{"ai_outputParser":[[{"node":"Repair Scheduling Agent Tool","type":"ai_outputParser","index":0}]]},"Route by Validation Status":{"main":[[{"node":"Governance Orchestration Agent","type":"main","index":0}]]},"Lease Management Agent Tool":{"ai_tool":[[{"node":"Governance Orchestration Agent","type":"ai_tool","index":0}]]},"OpenAI Model - Repair Agent":{"ai_languageModel":[[{"node":"Repair Scheduling Agent Tool","type":"ai_languageModel","index":0}]]},"Orchestration Output Parser":{"ai_outputParser":[[{"node":"Governance Orchestration Agent","type":"ai_outputParser","index":0}]]},"Repair Scheduling Agent Tool":{"ai_tool":[[{"node":"Governance Orchestration Agent","type":"ai_tool","index":0}]]},"Schedule Property Monitoring":{"main":[[{"node":"Workflow Configuration","type":"main","index":0}]]},"Compliance Agent Output Parser":{"ai_outputParser":[[{"node":"Compliance Inspection Agent Tool","type":"ai_outputParser","index":0}]]},"Governance Orchestration Agent":{"main":[[{"node":"Check Critical Threshold","type":"main","index":0}]]},"Gmail Tool - Send Notifications":{"ai_tool":[[{"node":"Governance Orchestration Agent","type":"ai_tool","index":0}]]},"OpenAI Model - Compliance Agent":{"ai_languageModel":[[{"node":"Compliance Inspection Agent Tool","type":"ai_languageModel","index":0}]]},"OpenAI Model - Validation Agent":{"ai_languageModel":[[{"node":"Property Validation Agent","type":"ai_languageModel","index":0}]]},"Compliance Inspection Agent Tool":{"ai_tool":[[{"node":"Governance Orchestration Agent","type":"ai_tool","index":0}]]},"Google Sheets Tool - Log Actions":{"ai_tool":[[{"node":"Governance Orchestration Agent","type":"ai_tool","index":0}]]},"OpenAI Model - Orchestration Agent":{"ai_languageModel":[[{"node":"Governance Orchestration Agent","type":"ai_languageModel","index":0}]]},"Google Calendar Tool - Schedule Repairs":{"ai_tool":[[{"node":"Governance Orchestration Agent","type":"ai_tool","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":38,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.merge":{"count":2},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.dataTable":{"count":2},"n8n-nodes-base.gmailTool":{"count":1},"n8n-nodes-base.slackTool":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-base.googleSheetsTool":{"count":1},"n8n-nodes-base.googleCalendarTool":{"count":1},"@n8n/n8n-nodes-langchain.agentTool":{"count":3},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":5},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":5}}},"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":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":[]}}