8
n8n 한국어amn8n.com

차량 점검 및 유지보수 워크플로우 자동화

고급

이것은자동화 워크플로우로, 20개의 노드를 포함합니다.주로 If, Set, Code, Gmail, GoogleSheets 등의 노드를 사용하며. OpenAI 및 JotForm을 사용한 차량 점검 및 유지보수 워크플로 자동화

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • Google Sheets API 인증 정보
  • OpenAI API Key

카테고리

-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "277842713620d9f5554de3b1518b865a152c8c4db680008bd8aec536fc18b4a8",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "d2e9183f-f32a-4e71-af56-402f3b93a80c",
      "name": "점검 데이터 파싱",
      "type": "n8n-nodes-base.code",
      "position": [
        272,
        112
      ],
      "parameters": {
        "jsCode": "// Parse vehicle inspection form data\nconst formData = $input.first().json;\n\nreturn {\n  json: {\n    inspectionId: formData.submissionID || 'INS-' + Date.now(),\n    inspectionDate: formData.inspectionDate || new Date().toISOString().split('T')[0],\n    driverName: formData.driverName || formData.q3_driverName,\n    driverEmail: formData.driverEmail || formData.q4_driverEmail,\n    vehicleId: formData.vehicleId || formData.q5_vehicleId,\n    vehicleMake: formData.vehicleMake || formData.q6_vehicleMake,\n    vehicleModel: formData.vehicleModel || formData.q7_vehicleModel,\n    vehicleYear: formData.vehicleYear || formData.q8_vehicleYear,\n    licensePlate: formData.licensePlate || formData.q9_licensePlate,\n    currentMileage: parseInt(formData.currentMileage || formData.q10_currentMileage),\n    fuelLevel: formData.fuelLevel || formData.q11_fuelLevel,\n    tiresCondition: formData.tiresCondition || formData.q12_tiresCondition || 'good',\n    brakesCondition: formData.brakesCondition || formData.q13_brakesCondition || 'good',\n    lightsCondition: formData.lightsCondition || formData.q14_lightsCondition || 'good',\n    fluidLevels: formData.fluidLevels || formData.q15_fluidLevels || 'good',\n    engineCondition: formData.engineCondition || formData.q16_engineCondition || 'good',\n    transmissionCondition: formData.transmissionCondition || formData.q17_transmissionCondition || 'good',\n    interiorCondition: formData.interiorCondition || formData.q18_interiorCondition || 'good',\n    exteriorCondition: formData.exteriorCondition || formData.q19_exteriorCondition || 'good',\n    hasIssues: formData.hasIssues || formData.q20_hasIssues || 'no',\n    issueDescription: formData.issueDescription || formData.q21_issueDescription || '',\n    damagePhotos: formData.damagePhotos || formData.q22_damagePhotos || '',\n    cleanlinessRating: formData.cleanlinessRating || formData.q23_cleanlinessRating || '5',\n    odometerPhoto: formData.odometerPhoto || formData.q24_odometerPhoto || '',\n    notes: formData.notes || formData.q25_notes || '',\n    submittedAt: new Date().toISOString(),\n    status: 'pending_review'\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "383f6d18-ad13-4f9c-ba67-50128170ef73",
      "name": "차량 이력 조회",
      "type": "n8n-nodes-base.code",
      "position": [
        528,
        80
      ],
      "parameters": {
        "jsCode": "// Retrieve maintenance history for vehicle\nconst data = $input.first().json;\n\nconst vehicleDatabase = {\n  lastInspectionMileage: data.currentMileage - 3500,\n  lastOilChangeMileage: data.currentMileage - 2800,\n  lastTireRotationMileage: data.currentMileage - 4200,\n  lastBrakeInspectionMileage: data.currentMileage - 5100,\n  oilChangeIntervalMiles: 5000,\n  tireRotationIntervalMiles: 6000,\n  brakeInspectionIntervalMiles: 10000,\n  annualInspectionDue: '2025-12-15',\n  registrationExpiry: '2025-11-30',\n  insuranceExpiry: '2026-03-15',\n  vehicleAge: new Date().getFullYear() - parseInt(data.vehicleYear),\n  fleetCategory: 'delivery',\n  dotInspectionDue: '2025-10-20'\n};\n\nconst oilChangeDue = (data.currentMileage - vehicleDatabase.lastOilChangeMileage) >= (vehicleDatabase.oilChangeIntervalMiles * 0.9);\nconst tireRotationDue = (data.currentMileage - vehicleDatabase.lastTireRotationMileage) >= (vehicleDatabase.tireRotationIntervalMiles * 0.9);\nconst brakeInspectionDue = (data.currentMileage - vehicleDatabase.lastBrakeInspectionMileage) >= (vehicleDatabase.brakeInspectionIntervalMiles * 0.9);\n\nconst today = new Date();\nconst annualInspectionOverdue = new Date(vehicleDatabase.annualInspectionDue) < today;\nconst dotInspectionOverdue = new Date(vehicleDatabase.dotInspectionDue) < today;\nconst registrationExpiringSoon = (new Date(vehicleDatabase.registrationExpiry) - today) / (1000 * 60 * 60 * 24) < 30;\n\nreturn {\n  json: {\n    ...data,\n    lastOilChangeMileage: vehicleDatabase.lastOilChangeMileage,\n    lastTireRotationMileage: vehicleDatabase.lastTireRotationMileage,\n    lastBrakeInspectionMileage: vehicleDatabase.lastBrakeInspectionMileage,\n    oilChangeDue: oilChangeDue,\n    tireRotationDue: tireRotationDue,\n    brakeInspectionDue: brakeInspectionDue,\n    milesSinceOilChange: data.currentMileage - vehicleDatabase.lastOilChangeMileage,\n    milesSinceTireRotation: data.currentMileage - vehicleDatabase.lastTireRotationMileage,\n    milesSinceBrakeInspection: data.currentMileage - vehicleDatabase.lastBrakeInspectionMileage,\n    annualInspectionDue: vehicleDatabase.annualInspectionDue,\n    annualInspectionOverdue: annualInspectionOverdue,\n    dotInspectionDue: vehicleDatabase.dotInspectionDue,\n    dotInspectionOverdue: dotInspectionOverdue,\n    registrationExpiry: vehicleDatabase.registrationExpiry,\n    registrationExpiringSoon: registrationExpiringSoon,\n    vehicleAge: vehicleDatabase.vehicleAge,\n    fleetCategory: vehicleDatabase.fleetCategory\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "f11733cb-050d-48a2-9009-7006b707a37d",
      "name": "AI 차량대 분석",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        752,
        144
      ],
      "parameters": {
        "text": "=You are an expert fleet maintenance analyst. Analyze this vehicle inspection:\n\n**Vehicle:** {{ $json.vehicleYear }} {{ $json.vehicleMake }} {{ $json.vehicleModel }} (ID: {{ $json.vehicleId }})\n**Mileage:** {{ $json.currentMileage }}\n**Age:** {{ $json.vehicleAge }} years\n**Category:** {{ $json.fleetCategory }}\n\n**Inspection Results:**\n- Tires: {{ $json.tiresCondition }}\n- Brakes: {{ $json.brakesCondition }}\n- Lights: {{ $json.lightsCondition }}\n- Fluids: {{ $json.fluidLevels }}\n- Engine: {{ $json.engineCondition }}\n- Transmission: {{ $json.transmissionCondition }}\n- Interior: {{ $json.interiorCondition }}\n- Exterior: {{ $json.exteriorCondition }}\n- Fuel: {{ $json.fuelLevel }}\n\n**Issues:** {{ $json.hasIssues }}\n{{ $json.issueDescription }}\n\n**Maintenance Status:**\n- Miles since oil change: {{ $json.milesSinceOilChange }}\n- Oil change due: {{ $json.oilChangeDue }}\n- Tire rotation due: {{ $json.tireRotationDue }}\n- Brake inspection due: {{ $json.brakeInspectionDue }}\n- Annual inspection overdue: {{ $json.annualInspectionOverdue }}\n- DOT inspection overdue: {{ $json.dotInspectionOverdue }}\n\nProvide JSON analysis:\n{\n  \"overallStatus\": {\n    \"condition\": \"excellent|good|fair|poor|critical\",\n    \"driveable\": true|false,\n    \"requiresImmediateAction\": true|false,\n    \"safetyRating\": 0-100,\n    \"summary\": \"brief assessment\"\n  },\n  \"criticalIssues\": [{\"component\": \"\", \"severity\": \"\", \"description\": \"\", \"action_required\": \"\", \"estimated_cost\": \"\", \"safety_concern\": true|false}],\n  \"maintenanceRequired\": {\n    \"immediate\": [{\"service\": \"\", \"reason\": \"\", \"urgency\": \"\", \"estimated_hours\": 0, \"estimated_cost\": \"\"}],\n    \"scheduled\": [{\"service\": \"\", \"due_in_miles\": 0, \"reason\": \"\"}]\n  },\n  \"complianceStatus\": {\"dotCompliant\": true|false, \"roadworthy\": true|false, \"complianceIssues\": []},\n  \"costAnalysis\": {\"totalEstimatedCost\": \"\", \"potentialDowntime\": \"\"},\n  \"workOrderGeneration\": {\"createWorkOrder\": true|false, \"workOrderType\": \"\", \"assignTo\": \"\", \"instructions\": []}\n}",
        "options": {
          "systemMessage": "You are an expert fleet maintenance analyst with DOT compliance expertise."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.6
    },
    {
      "id": "fd9848b3-1f60-459f-9abd-ace76e907b6d",
      "name": "AI 분석 추출",
      "type": "n8n-nodes-base.set",
      "position": [
        1024,
        256
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "aiAnalysis",
              "name": "aiAnalysis",
              "type": "string",
              "value": "={{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "ec1bfb09-a6b4-4981-97d1-0664f114f77c",
      "name": "차량대 분석 병합",
      "type": "n8n-nodes-base.code",
      "position": [
        1200,
        160
      ],
      "parameters": {
        "jsCode": "const inspectionData = $input.first().json;\nconst aiAnalysisRaw = inspectionData.aiAnalysis;\n\nlet aiAnalysis;\ntry {\n  aiAnalysis = JSON.parse(aiAnalysisRaw);\n} catch (e) {\n  aiAnalysis = {\n    overallStatus: {condition: 'good', driveable: true, requiresImmediateAction: false, safetyRating: 85, summary: 'Vehicle in acceptable condition'},\n    criticalIssues: [],\n    maintenanceRequired: {immediate: [], scheduled: []},\n    complianceStatus: {dotCompliant: true, roadworthy: true, complianceIssues: []},\n    costAnalysis: {totalEstimatedCost: '$0-500', potentialDowntime: '0 hours'},\n    workOrderGeneration: {createWorkOrder: false, workOrderType: 'routine', assignTo: 'general_maintenance', instructions: []}\n  };\n}\n\nlet vehicleStatus = 'operational';\nif (!aiAnalysis.overallStatus.driveable) {\n  vehicleStatus = 'out_of_service';\n} else if (aiAnalysis.overallStatus.requiresImmediateAction) {\n  vehicleStatus = 'requires_attention';\n}\n\nconst workOrderNumber = aiAnalysis.workOrderGeneration.createWorkOrder ? 'WO-' + inspectionData.vehicleId + '-' + Date.now() : null;\n\nreturn {\n  json: {\n    ...inspectionData,\n    overallCondition: aiAnalysis.overallStatus.condition,\n    driveable: aiAnalysis.overallStatus.driveable,\n    requiresImmediateAction: aiAnalysis.overallStatus.requiresImmediateAction,\n    safetyRating: aiAnalysis.overallStatus.safetyRating,\n    statusSummary: aiAnalysis.overallStatus.summary,\n    vehicleStatus: vehicleStatus,\n    criticalIssues: aiAnalysis.criticalIssues,\n    criticalIssueCount: aiAnalysis.criticalIssues.length,\n    immediateMaintenanceNeeded: aiAnalysis.maintenanceRequired.immediate,\n    scheduledMaintenanceNeeded: aiAnalysis.maintenanceRequired.scheduled,\n    dotCompliant: aiAnalysis.complianceStatus.dotCompliant,\n    roadworthy: aiAnalysis.complianceStatus.roadworthy,\n    complianceIssues: aiAnalysis.complianceStatus.complianceIssues,\n    totalEstimatedCost: aiAnalysis.costAnalysis.totalEstimatedCost,\n    potentialDowntime: aiAnalysis.costAnalysis.potentialDowntime,\n    createWorkOrder: aiAnalysis.workOrderGeneration.createWorkOrder,\n    workOrderNumber: workOrderNumber,\n    workOrderType: aiAnalysis.workOrderGeneration.workOrderType,\n    assignTo: aiAnalysis.workOrderGeneration.assignTo,\n    workOrderInstructions: aiAnalysis.workOrderGeneration.instructions\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "3b340f0c-7a07-4397-b442-67bdbc6c917b",
      "name": "중대한 문제?",
      "type": "n8n-nodes-base.if",
      "position": [
        1408,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "condition1",
              "operator": {
                "type": "boolean",
                "operation": "true"
              },
              "leftValue": "={{ $json.requiresImmediateAction }}",
              "rightValue": true
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "27cbd1d5-53ad-4a1c-b258-d9a710bcf150",
      "name": "긴급 경고 이메일",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1616,
        64
      ],
      "webhookId": "21b82ab8-74d6-4bc2-b6b0-7148e5d6ba16",
      "parameters": {
        "sendTo": "maintenance@fleet.com",
        "message": "=🚨 CRITICAL VEHICLE ISSUE\n\nVehicle: {{ $('Jotform Trigger').item.json['vehicle Year'] }} {{ $('Jotform Trigger').item.json['vehicle Make'] }} {{ $('Jotform Trigger').item.json['vehicle Model'] }}\nID: {{ $('Jotform Trigger').item.json['vehicle Id'] }}\nPlate: {{ $('Jotform Trigger').item.json['license Plate'] }}\nMileage: {{ $('Jotform Trigger').item.json['current Mileage'] }}\n\nStatus: {{ $('Merge Fleet Analysis').item.json.statusSummary }}\nDriveable: {{ $('Merge Fleet Analysis').item.json.driveable }}\nSafety Rating: {{ $('Merge Fleet Analysis').item.json.safetyRating }}/100\n\n{{ $('Merge Fleet Analysis').item.json.statusSummary }}\n\nCritical Issues: {{ $json.criticalIssueCount }}\n{{ $json.criticalIssues.map((i, idx) => `${idx + 1}. ${i.component}: ${i.description}\\n   Action: ${i.action_required}\\n   Cost: ${i.estimated_cost}`).join('\\n\\n') }}\n\nWork Order: {{ $json.workOrderNumber }}\nAssign To: {{ $json.assignTo }}\n\nDriver: {{ $json.driverName }}\nEmail: {{ $json.driverEmail }}",
        "options": {},
        "subject": "=🚨 CRITICAL: Vehicle {{ $('Jotform Trigger').item.json['vehicle Id'] }} Requires Immediate Action"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PIMDNhXNj8Zyiz3G",
          "name": "Gmail account - Deepanshi"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "2380918c-b8b4-4ccc-b5bb-c79fe921c439",
      "name": "정기 보고서 이메일",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1616,
        304
      ],
      "webhookId": "b392e74d-48b3-420c-8206-1af22a3d3549",
      "parameters": {
        "sendTo": "maintenance@fleet.com",
        "message": "=Vehicle Inspection Report\n\nVehicle: {{ $('Jotform Trigger').item.json['vehicle Year'] }} {{ $('Jotform Trigger').item.json['vehicle Make'] }} {{ $('Jotform Trigger').item.json['vehicle Model'] }}\nID: {{ $('Jotform Trigger').item.json['vehicle Id'] }}\nMileage: {{ $('Jotform Trigger').item.json['current Mileage'] }}\n\nCondition: {{ $json.overallCondition.toUpperCase() }}\nSafety Rating: {{ $json.safetyRating }}/100\nStatus: {{ $json.vehicleStatus }}\n\n{{ $json.statusSummary }}\n\nMaintenance Due:\n- Oil Change: {{ $json.oilChangeDue ? 'YES' : 'NO' }}\n- Tire Rotation: {{ $json.tireRotationDue ? 'YES' : 'NO' }}\n- Brake Inspection: {{ $json.brakeInspectionDue ? 'YES' : 'NO' }}\n\n{{ $json.createWorkOrder ? 'Work Order: ' + $json.workOrderNumber : 'No work order needed' }}\n\nDriver:{{ $('Jotform Trigger').item.json['driver Name'] }} \nInspection Date: {{ $('Parse Inspection Data').item.json.inspectionDate }}",
        "options": {},
        "subject": "=Vehicle Inspection: {{ $('Jotform Trigger').item.json['vehicle Id'] }} - {{ $json.overallCondition }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PIMDNhXNj8Zyiz3G",
          "name": "Gmail account - Deepanshi"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "783860df-163c-45c3-9102-105069dc1f21",
      "name": "운전자 확인",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1840,
        160
      ],
      "webhookId": "d5869319-cba9-404f-8644-d3ca740dc7af",
      "parameters": {
        "sendTo": "={{ $('Jotform Trigger').item.json['driver Email'] }}",
        "message": "=Hi {{ $('Jotform Trigger').item.json['driver Name'] }},\n\nThank you for your vehicle inspection.\n\nVehicle: {{ $('Jotform Trigger').item.json['vehicle Id'] }}\nCondition: {{ $('Merge Fleet Analysis').item.json.overallCondition }}\nSafety Rating: {{ $('Merge Fleet Analysis').item.json.safetyRating }}/100\n\n{{ $json.requiresImmediateAction ? '⚠️ IMMEDIATE ACTION REQUIRED - Contact maintenance immediately.' : 'Vehicle is operational.' }}\n\n{{ !$json.driveable ? '🚫 VEHICLE OUT OF SERVICE - Do not operate.' : '' }}\n\n{{ $json.createWorkOrder ? 'Maintenance scheduled. Work Order: ' + $json.workOrderNumber : 'No immediate maintenance needed.' }}\n\nThank you!\nFleet Management",
        "options": {},
        "subject": "=Vehicle Inspection Received - {{ $('Jotform Trigger').item.json['vehicle Id'] }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PIMDNhXNj8Zyiz3G",
          "name": "Gmail account - Deepanshi"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "be1876cf-fcde-4d45-a2b7-b970e6c3a5ca",
      "name": "Google 스프레드시트에 기록",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2080,
        160
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "driver Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "driver Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "vehicle Id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "vehicle Id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driver Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "driver Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "vehicle Make",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "vehicle Make",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "vehicle Make",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "vehicle Make",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "vehicle Model",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "vehicle Model",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "license Plate",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "license Plate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "current Mileage",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "current Mileage",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "fuel Level",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "fuel Level",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "tires Condition",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "tires Condition",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "brakes Condition",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "brakes Condition",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "lights Condition",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "lights Condition",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "fluid Levels",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "fluid Levels",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "engine Condition",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "engine Condition",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "transmission Condition",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "transmission Condition",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "interior Condition",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "interior Condition",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "exterior Condition",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "exterior Condition",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "has Issues",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "has Issues",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "issue Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "issue Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "cleanliness Rating",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "cleanliness Rating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "notes",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "notes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "vehicle Id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1K0lqkb-z0fbdb_pEUDtUfl5N2jQ_nT-YEQtylwB4968/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1K0lqkb-z0fbdb_pEUDtUfl5N2jQ_nT-YEQtylwB4968",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1K0lqkb-z0fbdb_pEUDtUfl5N2jQ_nT-YEQtylwB4968/edit?usp=drivesdk",
          "cachedResultName": "Fleet"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Kz2DdSp11rxqwlFt",
          "name": "Google Sheets account - Deepanshi"
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "aa9d87fe-0ee3-46d2-aabd-3565f4fab995",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        0
      ],
      "parameters": {
        "height": 240,
        "content": "📩 **TRIGGER**\nCaptures vehicle inspections\nvia Jotform with photos\nCreate your form for free on [Jotform using this link](https://www.jotform.com/?partner=mediajade)"
      },
      "typeVersion": 1
    },
    {
      "id": "e90fe0d1-e13e-494c-8661-280ac2fb2f73",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        -64
      ],
      "parameters": {
        "height": 240,
        "content": "🧾 **PARSE DATA**\nNormalizes form fields"
      },
      "typeVersion": 1
    },
    {
      "id": "d53d3939-3026-40c4-b616-f044250b4c15",
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        -32
      ],
      "parameters": {
        "height": 240,
        "content": "📊 **VEHICLE HISTORY**\nRetrieves maintenance records\nand calculates due dates"
      },
      "typeVersion": 1
    },
    {
      "id": "aa85e72a-c131-4a80-9978-39476ee0edbb",
      "name": "스티키 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        -32
      ],
      "parameters": {
        "height": 240,
        "content": "🤖 **AI ANALYSIS**\nAnalyzes condition, compliance,\nand generates recommendations"
      },
      "typeVersion": 1
    },
    {
      "id": "b808706d-27fb-429e-91d8-83fa0f4a81d1",
      "name": "스티키 노트4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        -32
      ],
      "parameters": {
        "width": 320,
        "height": 448,
        "content": "🔗 **MERGE**\nCombines AI insights\nwith inspection data"
      },
      "typeVersion": 1
    },
    {
      "id": "7007da02-c58e-48e4-96b8-c782dc5fbc28",
      "name": "스티키 노트5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -32
      ],
      "parameters": {
        "width": 352,
        "height": 528,
        "content": "⚡ **ROUTE**\nCritical vs Routine"
      },
      "typeVersion": 1
    },
    {
      "id": "f0308e9e-2544-4f86-bba8-e1d28ec3da4c",
      "name": "스티키 노트6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        48
      ],
      "parameters": {
        "height": 240,
        "content": "📧 **NOTIFICATIONS**\nMaintenance alerts\nand driver confirmation"
      },
      "typeVersion": 1
    },
    {
      "id": "c5a7463b-b685-4541-8f88-983e73569cc8",
      "name": "스티키 노트7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        0
      ],
      "parameters": {
        "height": 336,
        "content": "📊 **LOGGING**\nTracks all inspections,\nmaintenance, and compliance"
      },
      "typeVersion": 1
    },
    {
      "id": "cdfb30d5-2b65-4d3b-a07b-9b9c03abe993",
      "name": "OpenAI 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        752,
        336
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "8IkhtT3EbXygnvcr",
          "name": "Klinsman OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b61be557-a538-4239-a5ab-666c4b30554f",
      "name": "Jotform 트리거",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        0,
        128
      ],
      "webhookId": "vehicle-inspection",
      "parameters": {
        "form": "252866368275067"
      },
      "credentials": {
        "jotFormApi": {
          "id": "W7O1b225FpOwkwDT",
          "name": "JotForm account-Deepanshi"
        }
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "Jotform Trigger": [
      {
        "notes": "",
        "fuel Level": "full",
        "has Issues": "no",
        "vehicle Id": "123456",
        "driver Name": "Deepanshi",
        "driver Email": "Deepanshi@mediajade.com",
        "fluid Levels": "ok",
        "vehicle Make": "Hyundai",
        "vehicle Year": "2005",
        "damage Photos": "",
        "license Plate": "yes",
        "vehicle Model": "i20",
        "odometer Photo": "",
        "current Mileage": "200000",
        "tires Condition": "good",
        "brakes Condition": "bad",
        "engine Condition": "ok",
        "lights Condition": "god",
        "issue Description": "no",
        "cleanliness Rating": "4",
        "exterior Condition": "good",
        "interior Condition": "good",
        "transmission Condition": "ok"
      }
    ]
  },
  "connections": {
    "3b340f0c-7a07-4397-b442-67bdbc6c917b": {
      "main": [
        [
          {
            "node": "27cbd1d5-53ad-4a1c-b258-d9a710bcf150",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "2380918c-b8b4-4ccc-b5bb-c79fe921c439",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b61be557-a538-4239-a5ab-666c4b30554f": {
      "main": [
        [
          {
            "node": "d2e9183f-f32a-4e71-af56-402f3b93a80c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f11733cb-050d-48a2-9009-7006b707a37d": {
      "main": [
        [
          {
            "node": "fd9848b3-1f60-459f-9abd-ace76e907b6d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cdfb30d5-2b65-4d3b-a07b-9b9c03abe993": {
      "ai_languageModel": [
        [
          {
            "node": "f11733cb-050d-48a2-9009-7006b707a37d",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "783860df-163c-45c3-9102-105069dc1f21": {
      "main": [
        [
          {
            "node": "be1876cf-fcde-4d45-a2b7-b970e6c3a5ca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fd9848b3-1f60-459f-9abd-ace76e907b6d": {
      "main": [
        [
          {
            "node": "ec1bfb09-a6b4-4981-97d1-0664f114f77c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "383f6d18-ad13-4f9c-ba67-50128170ef73": {
      "main": [
        [
          {
            "node": "f11733cb-050d-48a2-9009-7006b707a37d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "27cbd1d5-53ad-4a1c-b258-d9a710bcf150": {
      "main": [
        [
          {
            "node": "783860df-163c-45c3-9102-105069dc1f21",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ec1bfb09-a6b4-4981-97d1-0664f114f77c": {
      "main": [
        [
          {
            "node": "3b340f0c-7a07-4397-b442-67bdbc6c917b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2380918c-b8b4-4ccc-b5bb-c79fe921c439": {
      "main": [
        [
          {
            "node": "783860df-163c-45c3-9102-105069dc1f21",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d2e9183f-f32a-4e71-af56-402f3b93a80c": {
      "main": [
        [
          {
            "node": "383f6d18-ad13-4f9c-ba67-50128170ef73",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수20
카테고리-
노드 유형9
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
Jitesh Dugar

Jitesh Dugar

@jiteshdugar

AI Automation Specialist - OpenAI, CRM & Automation Expert with a solid understanding of various tools that include Zapier, Make, Zoho CRM, Hubspot, Google Sheets, Airtable, Pipedrive, Google Analytics, and more.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34