8
n8n ํ•œ๊ตญ์–ดamn8n.com

๐Ÿค–๐Ÿšš GPT-4o์™€ ์˜คํ”ˆ ๋ผ์ดํŠธ API๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์šด์†ก ์ฃผ๋ฌธ ๊ด€๋ฆฌ AI ๋Œ€๋ฆฌ์ธ

๊ณ ๊ธ‰

์ด๊ฒƒ์€AI, IT Ops๋ถ„์•ผ์˜์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ์šฐ๋กœ, 26๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.์ฃผ๋กœ Set, Wait, Gmail, HttpRequest, GmailTrigger ๋“ฑ์˜ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ์ธ๊ณต์ง€๋Šฅ ๊ธฐ์ˆ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์Šค๋งˆํŠธ ์ž๋™ํ™”๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿค–๐Ÿšš GPT-4o์™€ ์˜คํ”ˆ ๋ผ์ดํŠธ API๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์šด์†ก ์ฃผ๋ฌธ ๊ด€๋ฆฌ AI ๋Œ€๋ฆฌ์ธ

์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ
  • โ€ขGoogle ๊ณ„์ • ๋ฐ Gmail API ์ธ์ฆ ์ •๋ณด
  • โ€ข๋Œ€์ƒ API์˜ ์ธ์ฆ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ
  • โ€ขGoogle Sheets API ์ธ์ฆ ์ •๋ณด
  • โ€ขOpenAI API Key
์›Œํฌํ”Œ๋กœ์šฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๋…ธ๋“œ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๋ฉฐ, ํ™•๋Œ€/์ถ•์†Œ ๋ฐ ์ด๋™์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค
์›Œํฌํ”Œ๋กœ์šฐ ๋‚ด๋ณด๋‚ด๊ธฐ
๋‹ค์Œ JSON ๊ตฌ์„ฑ์„ ๋ณต์‚ฌํ•˜์—ฌ n8n์— ๊ฐ€์ ธ์˜ค๋ฉด ์ด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
{
  "meta": {
    "instanceId": ""
  },
  "nodes": [
    {
      "id": "f24429ab-1276-4655-a3ef-1fbbb6d80602",
      "name": "Gmail ํŠธ๋ฆฌ๊ฑฐ",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        20,
        400
      ],
      "parameters": {
        "simple": false,
        "filters": {},
        "options": {
          "downloadAttachments": false
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 1.2
    },
    {
      "id": "62ced604-4de3-4a6d-bbfe-b1c2f985117f",
      "name": "๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ ํŒŒ์„œ",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        560,
        560
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"shipment_number\": \"15487-PLO\",\n  \"pickup_location\": \"Centre de Distribution Leclerc\",\n  \"pickup_address\": \"77 Rue Albert Garry, 94450 Limeil-Brรฉvannes\",\n  \"expected_pickup_time\": \"24-09-2024, 09:00:00\",\n  \"temperature_control\": \"Chilled\",\n  \"quantity\": \"12 pallets\",\n  \"destination_store_name\": \"E.Leclerc Store 124\",\n  \"destination_address\": \"43-45 Quai Jules Guesde, 94405 Vitry-sur-Seine\",\n  \"expected_delivery_time\": \"24-09-2024, 18:00:00\",\n  \"sender_name\":\"Jacques Chirac\",\n  \"sender_company\": \"RPR\"\n}\n\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "767ee78a-d0ff-4399-bea1-4310aff116f7",
      "name": "AI ์—์ด์ „ํŠธ ํŒŒ์„œ",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        320,
        400
      ],
      "parameters": {
        "text": "=Here is an email from a customer requesting a shipment:\n\nSubject: {{ $json.subject }}\nBody: {{ $json.text }}\n\nPlease extract all the structured logistics data based on the format provided.",
        "options": {
          "systemMessage": "=You are a logistics assistant for a transportation company. \n\nYour job is to extract all structured data from shipping request emails sent by customers (typically retail chains like E.Leclerc). These emails contain information about the sender, shipment pickup and delivery details.\n\nReturn the result as a JSON object with the following fields:\n\n{\n  \"shipment_number\": \"\",\n  \"pickup_location\": \"\",\n  \"pickup_address\": \"\",\n  \"expected_pickup_time\": \"\",\n  \"temperature_control\": \"\",\n  \"quantity\": \"\",\n  \"destination_store_name\": \"\",\n  \"destination_address\": \"\",\n  \"expected_delivery_time\": \"\",\n  \"sender_name\": \"\",\n  \"sender_company\": \"\"\n}\n\nOnly include values mentioned explicitly in the email. Do not infer or guess. If a field is missing, set its value to `null`.\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "8a0c7eb8-322b-47c1-8547-2afe0370f3fc",
      "name": "์ด๋ฉ”์ผ ๋‚ด์šฉ ๊ธฐ๋ก",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        820,
        440
      ],
      "parameters": {
        "columns": {
          "value": {
            "pickup_address": "={{ $json.output.pickup_address }}",
            "pickup_location": "={{ $json.output.pickup_location }}",
            "shipment_number": "={{ $json.output.shipment_number }}",
            "destination_address": "={{ $json.output.destination_address }}",
            "temperature_control": "={{ $json.output.temperature_control }}",
            "expected_pickup_time": "={{ $json.output.expected_pickup_time }}",
            "destination_store_name": "={{ $json.output.destination_store_name }}",
            "expected_delivery_time": "={{ $json.output.expected_delivery_time}}"
          },
          "schema": [
            {
              "id": "shipment_number",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "shipment_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "pickup_location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_address",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "pickup_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_longitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "pickup_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_latitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "pickup_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_pickup_time",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "expected_pickup_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "temperature_control",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "temperature_control",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_store_name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "destination_store_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_address",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "destination_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_longitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "destination_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_latitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "destination_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_delivery_time",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "expected_delivery_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_distance",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "driving_distance",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_time",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "driving_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "shipment_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Orders"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": "Transportation Orders"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "b2c5c252-c464-4094-93c0-9c94ccd82b14",
      "name": "์ฃผ์†Œ ์ˆ˜์ง‘",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        820,
        640
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.output.shipment_number }}",
              "lookupColumn": "shipment_number"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Orders"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": "Transportation Orders"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ePnaAS4PG1sN2E50",
          "name": "Google Sheets LogiGreenBot"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "840698a1-2f87-43d1-a6d3-27a107d4038b",
      "name": "5์ดˆ",
      "type": "n8n-nodes-base.wait",
      "position": [
        1700,
        540
      ],
      "webhookId": "6ecebf96-14ed-4c7b-b467-eb48c143408e",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "82cc284e-14a4-45de-a463-511e2a70e182",
      "name": "Open Route API ํ”ฝ์—… ์กฐํšŒ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1040,
        540
      ],
      "parameters": {
        "url": "https://api.openrouteservice.org/geocode/search",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "api_key"
            },
            {
              "name": "text",
              "value": "={{ $json.pickup_address }}"
            },
            {
              "name": "boundary.country",
              "value": "=FR"
            },
            {
              "name": "sources",
              "value": "openstreetmap"
            },
            {
              "name": "size",
              "value": "1"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json; charset=utf-8"
            },
            {
              "name": "Accept",
              "value": "application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "ba4f843c-f922-486d-944c-d9ea6655ccda",
      "name": "ํ”ฝ์—… GPS ์ €์žฅ",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1480,
        540
      ],
      "parameters": {
        "columns": {
          "value": {
            "pickup_latitude": "={{ $json.latitude }}",
            "shipment_number": "={{ $('AI Agent Parser').item.json.output.shipment_number }}",
            "pickup_longitude": "={{ $json.longitude }}"
          },
          "schema": [
            {
              "id": "shipment_number",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "shipment_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_location",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_address",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_longitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "pickup_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_latitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "pickup_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_pickup_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "expected_pickup_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "temperature_control",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "temperature_control",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_store_name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_store_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_address",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_longitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_latitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_delivery_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "expected_delivery_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_distance",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "driving_distance",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "driving_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "shipment_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Orders"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": "Transportation Orders"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "e87c8abb-34b4-41c2-8c4a-139248d41a20",
      "name": "GPS ํ”ฝ์—…",
      "type": "n8n-nodes-base.set",
      "position": [
        1260,
        540
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e4c92077-f294-4e49-8276-20d1441c0c2c",
              "name": "longitude",
              "type": "string",
              "value": "={{ $json.features[0].geometry.coordinates[0] }}"
            },
            {
              "id": "899e5304-e7a1-4ce1-bf9a-f403d74934fb",
              "name": "latitude",
              "type": "string",
              "value": "={{ $json.features[0].geometry.coordinates[1] }}"
            },
            {
              "id": "5b35642b-dda4-42b8-b7bb-1275616bfb59",
              "name": "borough",
              "type": "string",
              "value": "={{ $json.features[0].properties.borough }}"
            },
            {
              "id": "aa74bd9a-f543-48e1-a69b-0e6472bda053",
              "name": "neighbourhood",
              "type": "string",
              "value": "={{ $json.features[0].properties.neighbourhood }}"
            },
            {
              "id": "7f303dc8-4e28-4d46-8e3e-9db00dbcac3a",
              "name": "localadmin",
              "type": "string",
              "value": "={{ $json.features[0].properties.localadmin }}"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "556c1a60-e086-47a2-bafe-2aa3646c7846",
      "name": "Open Route API ๋ฐฐ์†ก ์กฐํšŒ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1040,
        740
      ],
      "parameters": {
        "url": "https://api.openrouteservice.org/geocode/search",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "api_key"
            },
            {
              "name": "text",
              "value": "={{ $json.destination_address }}"
            },
            {
              "name": "boundary.country",
              "value": "=FR"
            },
            {
              "name": "sources",
              "value": "openstreetmap"
            },
            {
              "name": "size",
              "value": "1"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json; charset=utf-8"
            },
            {
              "name": "Accept",
              "value": "application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "dd81a2cb-fe60-4e3c-95c7-08b89b111ad8",
      "name": "GPS ๋ฐฐ์†ก",
      "type": "n8n-nodes-base.set",
      "position": [
        1260,
        740
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e4c92077-f294-4e49-8276-20d1441c0c2c",
              "name": "longitude",
              "type": "string",
              "value": "={{ $json.features[0].geometry.coordinates[0] }}"
            },
            {
              "id": "899e5304-e7a1-4ce1-bf9a-f403d74934fb",
              "name": "latitude",
              "type": "string",
              "value": "={{ $json.features[0].geometry.coordinates[1] }}"
            },
            {
              "id": "5b35642b-dda4-42b8-b7bb-1275616bfb59",
              "name": "borough",
              "type": "string",
              "value": "={{ $json.features[0].properties.borough }}"
            },
            {
              "id": "aa74bd9a-f543-48e1-a69b-0e6472bda053",
              "name": "neighbourhood",
              "type": "string",
              "value": "={{ $json.features[0].properties.neighbourhood }}"
            },
            {
              "id": "7f303dc8-4e28-4d46-8e3e-9db00dbcac3a",
              "name": "localadmin",
              "type": "string",
              "value": "={{ $json.features[0].properties.localadmin }}"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "652c3a8f-9e47-4386-a932-be99a94e72bd",
      "name": "๋ฐฐ์†ก GPS ์ €์žฅ",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1480,
        740
      ],
      "parameters": {
        "columns": {
          "value": {
            "shipment_number": "={{ $('AI Agent Parser').item.json.output.shipment_number }}",
            "destination_latitude": "={{ $json.latitude }}",
            "destination_longitude": "={{ $json.longitude }}"
          },
          "schema": [
            {
              "id": "shipment_number",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "shipment_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_location",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_address",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_longitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_latitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_pickup_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "expected_pickup_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "temperature_control",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "temperature_control",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_store_name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_store_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_address",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_longitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "destination_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_latitude",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "destination_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_delivery_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "expected_delivery_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_distance",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "driving_distance",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "driving_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "shipment_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Orders"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": "Transportation Orders"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "0d31ad24-c3b3-42bb-b98a-ad443005341a",
      "name": "์ขŒํ‘œ ์ˆ˜์ง‘",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        820,
        940
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.output.shipment_number }}",
              "lookupColumn": "shipment_number"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Orders"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": "Transportation Orders"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ePnaAS4PG1sN2E50",
          "name": "Google Sheets LogiGreenBot"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "f813ecde-ea6e-4780-9bae-2be7e171419d",
      "name": "Open Route API ์š”์ฒญ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1040,
        940
      ],
      "parameters": {
        "url": "https://api.openrouteservice.org/v2/directions/driving-hgv",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "api_key"
            },
            {
              "name": "start",
              "value": "={{ $json.pickup_longitude }}, {{ $json.pickup_latitude }}"
            },
            {
              "name": "end",
              "value": "={{ $json.destination_longitude }}, {{ $json.destination_latitude }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json; charset=utf-8"
            },
            {
              "name": "Accept",
              "value": "application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "f9fb4321-398f-439e-832a-531245cad968",
      "name": "๊ฒฐ๊ณผ ์ €์žฅ",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1480,
        940
      ],
      "parameters": {
        "columns": {
          "value": {
            "driving_time": "={{ $json.duration }}",
            "shipment_number": "={{ $('AI Agent Parser').item.json.output.shipment_number }}",
            "driving_distance": "={{ $json.distance }}"
          },
          "schema": [
            {
              "id": "shipment_number",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "shipment_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_location",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_address",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_longitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pickup_latitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "pickup_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_pickup_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "expected_pickup_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "temperature_control",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "temperature_control",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_store_name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_store_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_address",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_longitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_longitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "destination_latitude",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "destination_latitude",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "expected_delivery_time",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "expected_delivery_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_distance",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "driving_distance",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driving_time",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "driving_time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "shipment_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Orders"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17wbroY0w6xmw8AT-p2c_n1WbHzmfesz6d1DJbp39fn8",
          "cachedResultUrl": "",
          "cachedResultName": "Transportation Orders"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ePnaAS4PG1sN2E50",
          "name": "Google Sheets LogiGreenBot"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "ac878430-fe68-42ee-9b0b-20ad9a245d9b",
      "name": "์šด์†ก ์ •๋ณด ์ˆ˜์ง‘",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        800,
        1520
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.output.shipment_number }}",
              "lookupColumn": "shipment_number"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Orders"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": "Transportation Orders"
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.6
    },
    {
      "id": "21631974-c8a7-4b0c-a19b-3edcf2682200",
      "name": "์ฃผํ–‰ ์‹œ๊ฐ„ ๋ฐ ๊ฑฐ๋ฆฌ",
      "type": "n8n-nodes-base.set",
      "position": [
        1260,
        940
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4d0acd1a-c049-4353-9fb7-8eb08c138b9c",
              "name": "distance",
              "type": "string",
              "value": "={{ ($json.features[0].properties.segments[0].distance.round()/1000).toFixed(2) }}"
            },
            {
              "id": "2a6ff46a-f620-4dad-a60a-018b8add76d5",
              "name": "duration",
              "type": "string",
              "value": "={{ ($json.features[0].properties.segments[0].duration/60).toFixed(2) }}"
            },
            {
              "id": "de20932f-4eb5-4372-ad6d-64679df104cb",
              "name": "n_steps",
              "type": "number",
              "value": "={{ $json.features[0].properties.segments[0].steps.length }}"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "aad7e5f3-5eae-4be1-beb5-e57f7723086f",
      "name": "OpenAI ์ฑ„ํŒ… ๋ชจ๋ธ",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        940,
        1660
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "a73dfa1c-4f4e-4cab-950d-91021fc28c5d",
      "name": "AI ์—์ด์ „ํŠธ ์‘๋‹ต",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1000,
        1520
      ],
      "parameters": {
        "text": "=Here is the output:\n\n- Shipment Number: {{ $json.shipment_number }}\n- Pickup Location: {{ $json.pickup_location }}\n- Pickup Address: {{ $json.pickup_address }}  \n- Expected Pickup Time: {{ $json.expected_pickup_time }}  \n- Temperature Control: {{ $json.temperature_control }}  \n- Destination: {{ $json.destination_store_name }} \n- Destination Address: {{ $json.destination_address }}\n- Expected Delivery Time: {{ $json.expected_delivery_time }} \n- Driving Distance: {{ $json.driving_distance }} km\n- Estimated Transit Time: {{ $json.driving_time }} min\n- Contact Name: {{ $('AI Agent Parser').item.json.output.sender_name }}\n- Contact Company: {{ $('AI Agent Parser').item.json.output.sender_company }}\n",
        "options": {
          "systemMessage": "=You are a logistics assistant working for a transportation company. Your job is to write polite and professional response confirming shipment planification to retail customers.\n\nYour tone should be clear, efficient, and customer-friendly. Keep it concise and formal.\n\nThe confirmation must repeat the key shipment details to avoid confusion and should reassure the customer that the transport has been scheduled.\n\nDo not invent details โ€” only use the provided data. The email must be in **English**.\n\nโš ๏ธ Always format the result in **HTML**, not plain text or Markdown. Use proper HTML tags like `<p>`, `<strong>`, `<br>`, and `<ul><li>` where needed.\n\nYou do not need to add a subject, just the body.\n\nAbout you\n[Name]: LogiGreen Bot\n[Position]: Transportation Planner\n[Company]: LogiGreen Transportation\n[Contact]: logigreenbot@gmail.com\n\n"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "4d83c51c-b124-4732-9757-6b5490002425",
      "name": "์‘๋‹ต",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1340,
        1520
      ],
      "webhookId": "2b6b8447-1f25-4ceb-8c5f-e14f6b6f425a",
      "parameters": {
        "message": "={{ $json.output }}",
        "options": {},
        "messageId": "={{ $('Gmail Trigger').item.json.id }}",
        "operation": "reply"
      },
      "notesInFlow": true,
      "typeVersion": 2.1
    },
    {
      "id": "958e7446-0078-4823-a696-eca00fa6c3fb",
      "name": "์Šคํ‹ฐ์ปค ๋…ธํŠธ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 1040,
        "height": 1100,
        "content": "### 3. Record Shipment Request Information and fetch distance and driving time using Open Route API\nThis starts by recording all the information parsed by the AI node. Then, we use the **Open Route API** to complete with **geocoding data** *(GPS Coordinates)* that will be used to fetch **driving distance and time**.\n\n#### How to setup?\n- **Setup API Credentials**\n  1. Get your free API key: [Open Route API Documentation](https://openrouteservice.org/dev/#/api-docs)\n  2. Fill the API key in the HTTP request node\n  3. Select the driving mode (**driving-car**: individual truck) or (**driving-hgv**: commercial truck)\n- **Load records in the Google Sheet Node**:\n   1. Add your Google Sheet API credentials to access the Google Sheet file\n   2. Select the file using the list, an URL or an ID\n   3. Select the sheet in which you want to record your working sessions\n   4. Map the fields: **shipment_number**, **pickup_location**, **pickup_address**, **pickup_longitude**, **pickup_latitude**, **expected_pickup_time**,\t**temperature_control**, **destination_store_name**, **destination_address**, **destination_longitude**, **destination_latitude**, **expected_delivery_time**, **driving_distance**, **driving_time**\t\t\t\t\t\t\t\t\t\t\t\t\t\n  [Learn more about the Google Sheet Node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets)\n\nLongitudes, latitudes, distance and time will be fetched from the **Open Route API**.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1ef6e4fd-67a2-4d07-a6a8-294456fc3fad",
      "name": "์Šคํ‹ฐ์ปค ๋…ธํŠธ1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 180,
        "height": 700,
        "content": "### 1. Workflow Trigger with Gmail Trigger\nThe workflow is triggered by a new email received in your Gmail mailbox dedicated to process **shipment request**.\n\n#### How to setup?\n- **Gmail Trigger Node:** set up your Gmail API credentials\n[Learn more about the Gmail Trigger Node](https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.gmailtrigger)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c470fc5f-b74b-4b3f-b9bd-6e52220f9159",
      "name": "์Šคํ‹ฐ์ปค ๋…ธํŠธ2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 700,
        "content": "### 2. AI Agent to parse shipment information from email\nThis node will analyze the content of the email to extract information about the **sender** *(name, company)* and the **shipment** *(departure, arrival, timing and locations)*.\n\n#### How to setup?\n- **AI Agent with the Chat Model**:\n   1. Add a **chat model** with the required credentials *(Example: Open AI 4o-mini)*\n   2. Adapt the system prompt to the format of emails you expect to receive *(type of information included)*\n  [Learn more about the AI Agent Node](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "80ed9218-8c59-4b1b-b3a6-f97f2ece11c8",
      "name": "OpenAI ์ฑ„ํŒ… ๋ชจ๋ธ2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        240,
        560
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "30592283-3d1e-4f41-b18f-55e4dd87457e",
      "name": "์Šคํ‹ฐ์ปค ๋…ธํŠธ3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        780,
        1120
      ],
      "parameters": {
        "color": 7,
        "width": 680,
        "height": 720,
        "content": "### 4. Reply with a confirmation of shipment allocation\nWe first collect all the information from the **Google Sheets** that will be used by the AI Agent to generate a reply by email.\n#### How to setup?\n- **Load records in the Google Sheet Node**:\n   1. Add your Google Sheet API credentials to access the Google Sheet file\n   2. Select the file using the list, an URL or an ID\n   3. Select the sheet in which you want to record your working sessions\t\t\t\t\t\t\t\t\t\t\t\n  [Learn more about the Google Sheet Node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets)\n- **AI Agent with the Chat Model**:\n   1. Add a **chat model** with the required credentials *(Example: Open AI 4o-mini)*\n   2. Adapt the system prompt with your company information **(name, contact, position)**\n  [Learn more about the AI Agent Node](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent)\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7cce6421-6771-4cdf-a8aa-6454c6a4e27f",
      "name": "์Šคํ‹ฐ์ปค ๋…ธํŠธ4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        720
      ],
      "parameters": {
        "width": 580,
        "height": 380,
        "content": "### [Check the Tutorial](https://youtu.be/0InkUBOUMQQ)\n![Thumbnail](https://www.samirsaci.com/content/images/2025/06/temp.png)"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "e87c8abb-34b4-41c2-8c4a-139248d41a20": {
      "main": [
        [
          {
            "node": "ba4f843c-f922-486d-944c-d9ea6655ccda",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd81a2cb-fe60-4e3c-95c7-08b89b111ad8": {
      "main": [
        [
          {
            "node": "652c3a8f-9e47-4386-a932-be99a94e72bd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f24429ab-1276-4655-a3ef-1fbbb6d80602": {
      "main": [
        [
          {
            "node": "767ee78a-d0ff-4399-bea1-4310aff116f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a73dfa1c-4f4e-4cab-950d-91021fc28c5d": {
      "main": [
        [
          {
            "node": "4d83c51c-b124-4732-9757-6b5490002425",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "767ee78a-d0ff-4399-bea1-4310aff116f7": {
      "main": [
        [
          {
            "node": "0d31ad24-c3b3-42bb-b98a-ad443005341a",
            "type": "main",
            "index": 0
          },
          {
            "node": "8a0c7eb8-322b-47c1-8547-2afe0370f3fc",
            "type": "main",
            "index": 0
          },
          {
            "node": "b2c5c252-c464-4094-93c0-9c94ccd82b14",
            "type": "main",
            "index": 0
          },
          {
            "node": "ac878430-fe68-42ee-9b0b-20ad9a245d9b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba4f843c-f922-486d-944c-d9ea6655ccda": {
      "main": [
        [
          {
            "node": "840698a1-2f87-43d1-a6d3-27a107d4038b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b2c5c252-c464-4094-93c0-9c94ccd82b14": {
      "main": [
        [
          {
            "node": "82cc284e-14a4-45de-a463-511e2a70e182",
            "type": "main",
            "index": 0
          },
          {
            "node": "556c1a60-e086-47a2-bafe-2aa3646c7846",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "aad7e5f3-5eae-4be1-beb5-e57f7723086f": {
      "ai_languageModel": [
        [
          {
            "node": "a73dfa1c-4f4e-4cab-950d-91021fc28c5d",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "80ed9218-8c59-4b1b-b3a6-f97f2ece11c8": {
      "ai_languageModel": [
        [
          {
            "node": "767ee78a-d0ff-4399-bea1-4310aff116f7",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "0d31ad24-c3b3-42bb-b98a-ad443005341a": {
      "main": [
        [
          {
            "node": "f813ecde-ea6e-4780-9bae-2be7e171419d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f813ecde-ea6e-4780-9bae-2be7e171419d": {
      "main": [
        [
          {
            "node": "21631974-c8a7-4b0c-a19b-3edcf2682200",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "21631974-c8a7-4b0c-a19b-3edcf2682200": {
      "main": [
        [
          {
            "node": "f9fb4321-398f-439e-832a-531245cad968",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "62ced604-4de3-4a6d-bbfe-b1c2f985117f": {
      "ai_outputParser": [
        [
          {
            "node": "767ee78a-d0ff-4399-bea1-4310aff116f7",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "82cc284e-14a4-45de-a463-511e2a70e182": {
      "main": [
        [
          {
            "node": "e87c8abb-34b4-41c2-8c4a-139248d41a20",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ac878430-fe68-42ee-9b0b-20ad9a245d9b": {
      "main": [
        [
          {
            "node": "a73dfa1c-4f4e-4cab-950d-91021fc28c5d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "556c1a60-e086-47a2-bafe-2aa3646c7846": {
      "main": [
        [
          {
            "node": "dd81a2cb-fe60-4e3c-95c7-08b89b111ad8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์ด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?

์œ„์˜ JSON ๊ตฌ์„ฑ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ n8n ์ธ์Šคํ„ด์Šค์—์„œ ์ƒˆ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  "JSON์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ"๋ฅผ ์„ ํƒํ•œ ํ›„, ๊ตฌ์„ฑ์„ ๋ถ™์—ฌ๋„ฃ๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์ธ์ฆ ์„ค์ •์„ ์ˆ˜์ •ํ•˜์„ธ์š”.

์ด ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์–ด๋–ค ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•œ๊ฐ€์š”?

๊ณ ๊ธ‰ - ์ธ๊ณต์ง€๋Šฅ, IT ์šด์˜

์œ ๋ฃŒ์ธ๊ฐ€์š”?

์ด ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์™„์ „ํžˆ ๋ฌด๋ฃŒ์ด๋ฉฐ ์ง์ ‘ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํƒ€์‚ฌ ์„œ๋น„์Šค(์˜ˆ: OpenAI API)๋Š” ์‚ฌ์šฉ์ž ์ง์ ‘ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”์ฒœ

โœˆ๏ธ CarbonInterface API์™€ GPT-4o๋ฅผ ์‚ฌ์šฉํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์—ฌํ–‰ CO2 ๋ฐฐ์ถœ๋Ÿ‰ ๊ณ„์‚ฐ
โœˆ๏ธ Carbon Interface API์™€ GPT-4o๋ฅผ ํ†ตํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ์—ฌํ–‰ไบŒๆฐงๅŒ–็ขณ ๋ฐฐ์ถœ ๊ณ„์‚ฐ
Split Out
Http Request
Gmail Trigger
+
Split Out
Http Request
Gmail Trigger
12 ๋…ธ๋“œSamir Saci
๊ธฐํƒ€
ํ™”๋ฌผ์„ ์ด์šฉํ•˜์—ฌ Carbon Interface API์™€ GPT-4o๋ฅผ ํ†ตํ•ด CO2 ๋ฐฐ์ถœ๋Ÿ‰์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
ํ™”๋ฌผ ๋ฐฐ์†ก๋Ÿ‰์˜ CO2 ๋ฐฐ์ถœ๋Ÿ‰์„ Carbon Interface API์™€ GPT-4o๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
Http Request
Gmail Trigger
Google Sheets
+
Http Request
Gmail Trigger
Google Sheets
10 ๋…ธ๋“œSamir Saci
์ธ๊ณต์ง€๋Šฅ
๐Ÿ—ž๏ธ AI๋กœ์šด ์ง€์† ๊ฐ€๋Šฅํ•œ ๋งˆ์ผ€ํŒ… ๋ธŒ๋ฆฌํ•‘(gmail, GPT-4o ์‚ฌ์šฉ)
๐Ÿ—ž๏ธ AI ์ฃผ๋„์˜ ์ง€์† ๊ฐ€๋Šฅ์„ฑ ๋งˆ์ผ€ํŒ… ๋ธŒ๋ฆฌํ•‘( Gmail, GPT-4o ์‚ฌ์šฉ)
If
Set
Code
+
If
Set
Code
21 ๋…ธ๋“œSamir Saci
์ธ๊ณต์ง€๋Šฅ
AI์ด๋ฉ”์ผๅˆ†่ฏŠไธŽGPT-4่ญฆๆŠฅ็ณป็ปŸๅŠTelegram์•Œ๋ฆผ
AI์ด๋ฉ”์ผๅˆ†่ฏŠไธŽGPT-4่ญฆๆŠฅ็ณป็ปŸๅŠTelegram์•Œ๋ฆผ
If
Set
Gmail
+
If
Set
Gmail
104 ๋…ธ๋“œPeter Joslyn
์ง€์›
๐Ÿ‰‘ Google Translate์™€ GPT-4o๋ฅผ ์‚ฌ์šฉํ•œ ์–ธ์–ด ํ•™์Šต Anki ํ”Œ๋ž˜์‹œ ์นด๋“œ ์ƒ์„ฑ
๐Ÿ‰‘ ๊ตฌ๊ธ€ ๋ฒˆ์—ญ๊ณผ GPT-4o๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ธ์–ด ํ•™์Šต Anki ํ”Œ๋ž˜์‹œ ์นด๋“œ ์ƒ์„ฑ
If
Set
Merge
+
If
Set
Merge
21 ๋…ธ๋“œSamir Saci
๊ธฐํƒ€
AI, ElevenLabs, PIAPI Shotstack/Creatomate๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋””์˜ค ์ƒ์„ฑ ๋ฐ YouTube์— ์—…๋กœ๋“œ
AI, ElevenLabs, PIAPI Shotstack/Creatomate๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋””์˜ค ์ƒ์„ฑ ๋ฐ YouTube์— ์—…๋กœ๋“œ
If
Set
Code
+
If
Set
Code
79 ๋…ธ๋“œImmanuel
์ธ๊ณต์ง€๋Šฅ
์›Œํฌํ”Œ๋กœ์šฐ ์ •๋ณด
๋‚œ์ด๋„
๊ณ ๊ธ‰
๋…ธ๋“œ ์ˆ˜26
์นดํ…Œ๊ณ ๋ฆฌ2
๋…ธ๋“œ ์œ ํ˜•10
๋‚œ์ด๋„ ์„ค๋ช…

๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ 16+๊ฐœ ๋…ธ๋“œ์˜ ๋ณต์žกํ•œ ์›Œํฌํ”Œ๋กœ์šฐ

์ €์ž
Samir Saci

Samir Saci

@samirsaci

Automation, AI and Analytics for Supply Chain & Business Optimization Helping businesses streamline operations using n8n, AI agents, and data science to enhance efficiency and sustainability. Linkedin: www.linkedin.com/in/samir-saci

์™ธ๋ถ€ ๋งํฌ
n8n.io์—์„œ ๋ณด๊ธฐ โ†’

์ด ์›Œํฌํ”Œ๋กœ์šฐ ๊ณต์œ 

์นดํ…Œ๊ณ ๋ฆฌ

์นดํ…Œ๊ณ ๋ฆฌ: 34