8
n8n 한국어amn8n.com

내 작업 흐름

중급

이것은AI Summarization, Multimodal AI분야의자동화 워크플로우로, 13개의 노드를 포함합니다.주로 If, Set, Gmail, SplitInBatches, Agent 등의 노드를 사용하며. Gmail 정리: GPT-4 사용하여 비활동 메일 분류 및 아카이브

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "name": "My workflow",
  "nodes": [
    {
      "id": "7e91ccc0-03e5-4989-8c3f-d3635313f393",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -864,
        368
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 2
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "eea7bc1f-c4a4-4c2d-bd6f-27f977948e32",
      "name": "오래된 수신함 메일 목록 조회",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -640,
        368
      ],
      "webhookId": "a77f2f37-91b8-44e1-9d9e-7a58136627c0",
      "parameters": {
        "simple": false,
        "filters": {
          "q": "label:inbox older_than:45d",
          "labelIds": [
            "INBOX"
          ],
          "readStatus": "read"
        },
        "options": {},
        "operation": "getAll",
        "returnAll": true
      },
      "typeVersion": 2.1,
      "alwaysOutputData": false
    },
    {
      "id": "d88c4116-55e9-48b8-ae1f-9d89cc39bd99",
      "name": "AI 처리용 메일 준비",
      "type": "n8n-nodes-base.set",
      "position": [
        -192,
        240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5d3c4c5b-5f80-4340-82ca-fb584a1fc953",
              "name": "threadId",
              "type": "string",
              "value": "={{ $json.threadId }}"
            },
            {
              "id": "a33a5a8a-dc7a-4fed-9262-8c6d10434128",
              "name": "messageId",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "c982f401-ce58-4d5e-ba30-a13d03971705",
              "name": "Subject",
              "type": "string",
              "value": "={{ $json.subject }}"
            },
            {
              "id": "c18cd58e-407a-48a4-b9e1-5877a1f90df4",
              "name": "text",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
      "name": "메일 반복 처리",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -416,
        368
      ],
      "parameters": {
        "options": {},
        "batchSize": 50
      },
      "typeVersion": 3
    },
    {
      "id": "3dab757d-460d-4935-a6bc-10e761072575",
      "name": "AI 에이전트",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        32,
        240
      ],
      "parameters": {
        "text": "=You are an assistant classifying Gmail emails. Output JSON only, no prose.\n\nOnly use these inputs:\nthreadId: {{ $json.threadId }}\nmessageId: {{ $json.messageId }}\nsubject: {{ $json.subject }}\ntext: {{ $json.text }}\n\nAssume today's date is {{ $now.toFormat('yyyy-LL-dd') }}.\n\nTasks:\n1) Extract a due date from the text if present, format YYYY-MM-DD. If none, use null.\n2) Decide if the email requires action. Action means at least one of:\n   - It is an invoice or bill that expects payment\n   - It explicitly requests a reply or a decision\n   - It clearly contains a task or meeting to schedule\n3) Set trashable = true if any of these are true:\n   - due_date is null\n   - due_date is earlier than today\n   - requires_action is false\n   Otherwise trashable = false.\n\nReturn JSON with this exact structure:\n{\n  \"threadId\": \"<string>\",\n  \"messageId\": \"<string>\",\n  \"requires_action\": true | false,\n  \"due_date\": \"YYYY-MM-DD\" | null,\n  \"trashable\": true | false,\n  \"reason\": \"<short explanation>\"\n}\n",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "54867a18-8d2b-4697-92ed-b01c53cb322c",
      "name": "OpenAI 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        48,
        464
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "20193ea2-1b6d-428b-9219-160ffab88242",
      "name": "구조화 출력 파서",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        176,
        464
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"title\": \"SimpleEmailTriage\",\n  \"type\": \"object\",\n  \"required\": [\"threadId\", \"messageId\", \"requires_action\", \"due_date\", \"trashable\", \"reason\"],\n  \"properties\": {\n    \"threadId\": { \"type\": \"string\" },\n    \"messageId\": { \"type\": \"string\" },\n    \"requires_action\": { \"type\": \"boolean\" },\n    \"due_date\": { \"type\": [\"string\", \"null\"], \"pattern\": \"^\\\\d{4}-\\\\d{2}-\\\\d{2}$\" },\n    \"trashable\": { \"type\": \"boolean\" },\n    \"reason\": { \"type\": \"string\" }\n  },\n  \"additionalProperties\": false\n}\n"
      },
      "typeVersion": 1.3
    },
    {
      "id": "2495ccbf-8a5b-4cc3-bce3-6d961616dc16",
      "name": "완료",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -192,
        48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e7a26dcc-ded8-4d74-8fff-19942a46c5cc",
      "name": "If - 아카이브 여부 확인",
      "type": "n8n-nodes-base.if",
      "position": [
        384,
        368
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7426c831-e458-48fe-80ef-5b2fe11c897c",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.trashable }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c9824337-668f-490b-a32c-0e10c6ebe7db",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 304,
        "height": 608,
        "content": "### 🧠 AI Email Classifier\n\n• The \"AI Agent\" sends email content to OpenAI with a clear instruction set to classify the email (due date, action needed, trashable).\n• If \"trashable\" is true, the email can be archived or trashed. "
      },
      "typeVersion": 1
    },
    {
      "id": "5a40520c-0d16-442f-a9ef-d13ca97d204d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        112
      ],
      "parameters": {
        "color": 5,
        "height": 416,
        "content": "### 📥 Gmail: List Old Emails\n\n• This Gmail node fetches all emails in the inbox that are read and older than 45 days.\n• You can modify the search filter to change which emails are targeted (e.g., change older_than:45d to a different duration)."
      },
      "typeVersion": 1
    },
    {
      "id": "0672da9a-b5bb-4709-ac87-99ddb56632cd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        112
      ],
      "parameters": {
        "color": 5,
        "height": 416,
        "content": "### 📆 Schedule the Workflow\n\n• The \"Schedule Trigger\" by default, it's 2am everyday. \n• Modify it to your desired interval (e.g., daily, hourly) to control how often the workflow runs."
      },
      "typeVersion": 1
    },
    {
      "id": "ef9dfef6-9d58-4d49-9bc6-407bd4853b35",
      "name": "메일 아카이빙",
      "type": "n8n-nodes-base.gmail",
      "position": [
        608,
        448
      ],
      "webhookId": "eeb7c097-a237-4d0f-98bc-ae823c89822b",
      "parameters": {
        "labelIds": [
          "INBOX"
        ],
        "resource": "thread",
        "threadId": "={{ $json.output.threadId }}",
        "operation": "removeLabels"
      },
      "typeVersion": 2.1
    }
  ],
  "connections": {
    "3dab757d-460d-4935-a6bc-10e761072575": {
      "main": [
        [
          {
            "node": "e7a26dcc-ded8-4d74-8fff-19942a46c5cc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ef9dfef6-9d58-4d49-9bc6-407bd4853b35": {
      "main": [
        [
          {
            "node": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236": {
      "main": [
        [
          {
            "node": "2495ccbf-8a5b-4cc3-bce3-6d961616dc16",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "d88c4116-55e9-48b8-ae1f-9d89cc39bd99",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7e91ccc0-03e5-4989-8c3f-d3635313f393": {
      "main": [
        [
          {
            "node": "eea7bc1f-c4a4-4c2d-bd6f-27f977948e32",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "54867a18-8d2b-4697-92ed-b01c53cb322c": {
      "ai_languageModel": [
        [
          {
            "node": "3dab757d-460d-4935-a6bc-10e761072575",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "d88c4116-55e9-48b8-ae1f-9d89cc39bd99": {
      "main": [
        [
          {
            "node": "3dab757d-460d-4935-a6bc-10e761072575",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e7a26dcc-ded8-4d74-8fff-19942a46c5cc": {
      "main": [
        [
          {
            "node": "ef9dfef6-9d58-4d49-9bc6-407bd4853b35",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eea7bc1f-c4a4-4c2d-bd6f-27f977948e32": {
      "main": [
        [
          {
            "node": "57e6c6b6-fe9a-49ff-aac6-3687bdb3b236",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "20193ea2-1b6d-428b-9219-160ffab88242": {
      "ai_outputParser": [
        [
          {
            "node": "3dab757d-460d-4935-a6bc-10e761072575",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

중급 - AI 요약, 멀티모달 AI

유료인가요?

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

워크플로우 정보
난이도
중급
노드 수13
카테고리2
노드 유형10
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Matt Chong | n8n Creator

Matt Chong | n8n Creator

@mattxchong

Automation nerd fueled by good coffee, deep curiosity, and clean flows.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34