8
n8n 한국어amn8n.com

GPT-4 Mini와 Google Sheets를 사용하여 차가운 이메일 회사 이름을 정리

중급

이것은Lead Generation, AI Summarization분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 Set, Merge, FormTrigger, GoogleSheets, ChainLlm 등의 노드를 사용하며. GPT-4 Mini와 Google 스프레드시트를 사용하여 차단 이메일 회사 이름을 정리

사전 요구사항
  • Google Sheets API 인증 정보
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "9192ad8880fb52b25f18408be81eae9d996a6784a1da3c68d52d3b7ef01d482b",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "fce88a0b-ba03-4657-8d7c-62a96bb12d50",
      "name": "리드 가져오기",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        260,
        -35
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "0"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "={{ $('On Form Submit').item.json['Lead Spreadsheet Url'] }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "KzK0OnjPiiYVoDTG",
          "name": "Google Sheets | Paper Jam"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "73e028cc-a9e0-4bf1-ac13-5fb9a5e937da",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        60
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "xn9xslEO7m3MAqNQ",
          "name": "OpenAI | Paper Jam"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1b43f3d4-d9d6-4929-8fad-dc9f884feff9",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        660,
        60
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"cleanCompanyName\": \"Techwave\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "15fe57a0-4cd5-4907-b9cf-103d5be6cdc7",
      "name": "회사명 정리",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        480,
        -160
      ],
      "parameters": {
        "text": "=Company Name:  {{ $json.Company }}",
        "batching": {
          "batchSize": 5
        },
        "messages": {
          "messageValues": [
            {
              "message": "**Situation** \nYou are processing a lead list for a cold email campaign where company names  will be used as personalization variables. The raw company names in the dataset contain various formatting inconsistencies, unnecessary suffixes, taglines, and casing issues that make them unsuitable for professional, natural, personalized outreach.  \n\n**Task** \nClean and standardize company names from a lead list to create professional, polished variables suitable for cold email personalization. For each company name provided, you must: \n1. Remove common business suffixes (LLC, Inc., Corp., Corporation, Ltd., Limited, Co., Company, etc.) \n2. Remove common words that are in the formal company name but that a human likely wouldn't include when identifying the company in an email (Systems, Solutions, Communications, Agency, Group, Partners, etc.)\n3. Remove taglines, slogans, or descriptive phrases (typically found after dashes, pipes, or \"the\" statements) \n4. Apply proper title case formatting \n5. Shorten names to their most recognizable form when possible while maintaining professionalism \n6. Ensure the result maintains the company's professional identity and recognizability  \n\n**Objective** \nTransform formal, cluttered company names into clean, professional versions that will make cold emails feel more natural, personal and polished, ultimately improving engagement rates and response likelihood in the outreach campaign.\n\n**Knowledge** \n- Business suffixes to remove include: LLC, Inc., Corp., Corporation, Ltd., Limited, Co., Company, LP, LLP, PC, PLLC, and their variations with different punctuation \n- Taglines often appear after symbols like: dash (-), pipe (|), colon (:), or phrases starting with \"the,\" \"your,\" \"we,\" etc. \n- Proper title case means capitalizing the first letter of each major word, but keeping articles, prepositions, and conjunctions lowercase unless they start the name. Acronyms should remain in all caps.\n- Maintain professional tone \n- Keep established business names recognizable (e.g., \"Microsoft Corporation\" becomes \"Microsoft\") \n- Avoid over-shortening if it makes the company unrecognizable or unprofessional \n- Service descriptions and taglines should be completely removed (e.g., \"ExtraSlice, LLC - Workspace as a Service\" becomes \"ExtraSlice\")  \n\n<examples> \nInput: \"ExtraSlice, LLC - Workspace as a Service\" \nOutput: \"ExtraSlice\"  \n\nInput: \"ACRE Solutions\" \nOutput: \"ACRE\"  \n\nInput: \"MRP Capital Group\" \nOutput: \"MRP\"  \n\nInput: \"Paul & Associates Real Estate Services\" \nOutput: \"Paul & Associates\"  \n\nInput: \"Global Valuation & Consulting, LLC.\" \nOutput: \"Global Valuation & Consulting\"  \n\nInput: \"Agent Career Education | Ace\" \nOutput: \"Agent Career Education\"  \n\nInput: \"PROPERTY AGENTS\" \nOutput: \"Property Agents\"  \n\nInput: \"Agently - Agent Success Platform for Brokerages\" \nOutput: \"Agently\"  \n\nInput: \"Monserrate Premium Home Agents\" \nOutput: \"Monserrate\"  \n\nInput: \"Belmont Howard Group, LLC.\"\nOutput: \"Belmont Howard\"  \n\nInput: \"BruZiv Partners, LLC\" \nOutput: \"BruZiv\"  \n\nInput: \"Van Vlissingen and Co.\" \nOutput: \"Van Vlissingen\" \n</examples>\n\nIt's critical that the company's professional recognizability while removing all unnecessary suffixes and taglines - the cleaned name must sound natural and professional when used in a business email context."
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "5d61e2e3-f881-4919-87ae-5af5a62e12a1",
      "name": "병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        856,
        -35
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2
    },
    {
      "id": "11b87495-d6a1-4e72-a019-efbb44a7c8dc",
      "name": "필드 편집",
      "type": "n8n-nodes-base.set",
      "position": [
        1076,
        -35
      ],
      "parameters": {
        "include": "except",
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4195d1e4-0d85-43e9-be6e-085944f197df",
              "name": "Clean Company Name",
              "type": "string",
              "value": "={{ $json.output.cleanCompanyName }}"
            }
          ]
        },
        "excludeFields": "output,row_number",
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "1883c284-9adf-43e5-8461-d419f112379a",
      "name": "출력 저장",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1300,
        -40
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "First Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "First Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn Url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "LinkedIn Url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Clean Company Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Clean Company Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "useAppend": true
        },
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Create Destination Sheet').item.json.sheetId }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Create Destination Sheet').item.json.spreadsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "KzK0OnjPiiYVoDTG",
          "name": "Google Sheets | Paper Jam"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "602d2068-9694-4722-ac83-909a37bc0c4c",
      "name": "대상 시트 생성",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        40,
        -35
      ],
      "parameters": {
        "title": "Cleaned Companies",
        "options": {
          "tabColor": "0aa55c"
        },
        "operation": "create",
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "={{ $('On Form Submit').item.json['Lead Spreadsheet Url'] }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "KzK0OnjPiiYVoDTG",
          "name": "Google Sheets | Paper Jam"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "dd66b31e-aaa1-4e23-95e7-da2e62e9dc99",
      "name": "양식 제출 시",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -180,
        -35
      ],
      "webhookId": "6ff9a6f5-1f05-4d03-ae18-cab031763ebc",
      "parameters": {
        "options": {},
        "formTitle": "Clean Up Company Names",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Lead Spreadsheet Url",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "ecb26e43-a1fb-4d08-b871-444c7f0d4b75",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        820,
        -340
      ],
      "parameters": {
        "color": 7,
        "width": 660,
        "height": 560,
        "content": "## Prep and save output\nHere we merge in the LLM's output with the original lead data and save everything back to the new sheet we created earlier in the workflow."
      },
      "typeVersion": 1
    },
    {
      "id": "ae44d84f-f177-4b01-ab27-29dda23f53d8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        -340
      ],
      "parameters": {
        "color": 7,
        "width": 620,
        "height": 560,
        "content": "## Fetch the lead data\nWhen a form is submitted with the url to a Google Sheet with the lead data, we create a new sheet in the document that we will use to store the results and fetch all the lead data from the first sheet.\n\nNote that the account associated with the Google Sheet credentials you use must have edit access to the sheet submitted in the form."
      },
      "typeVersion": 1
    },
    {
      "id": "3beae3d0-d242-4430-8d3d-bd0e24cad78f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -340
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 560,
        "content": "## Clean up the company name with AI\n**Important**: For better results, update the system prompt with more specific examples based on the company industry / patterns in your lead data."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "5d61e2e3-f881-4919-87ae-5af5a62e12a1": {
      "main": [
        [
          {
            "node": "11b87495-d6a1-4e72-a019-efbb44a7c8dc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fce88a0b-ba03-4657-8d7c-62a96bb12d50": {
      "main": [
        [
          {
            "node": "15fe57a0-4cd5-4907-b9cf-103d5be6cdc7",
            "type": "main",
            "index": 0
          },
          {
            "node": "5d61e2e3-f881-4919-87ae-5af5a62e12a1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "11b87495-d6a1-4e72-a019-efbb44a7c8dc": {
      "main": [
        [
          {
            "node": "1883c284-9adf-43e5-8461-d419f112379a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd66b31e-aaa1-4e23-95e7-da2e62e9dc99": {
      "main": [
        [
          {
            "node": "602d2068-9694-4722-ac83-909a37bc0c4c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "73e028cc-a9e0-4bf1-ac13-5fb9a5e937da": {
      "ai_languageModel": [
        [
          {
            "node": "15fe57a0-4cd5-4907-b9cf-103d5be6cdc7",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "15fe57a0-4cd5-4907-b9cf-103d5be6cdc7": {
      "main": [
        [
          {
            "node": "5d61e2e3-f881-4919-87ae-5af5a62e12a1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "602d2068-9694-4722-ac83-909a37bc0c4c": {
      "main": [
        [
          {
            "node": "fce88a0b-ba03-4657-8d7c-62a96bb12d50",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1b43f3d4-d9d6-4929-8fad-dc9f884feff9": {
      "ai_outputParser": [
        [
          {
            "node": "15fe57a0-4cd5-4907-b9cf-103d5be6cdc7",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

중급 - 리드 생성, AI 요약

유료인가요?

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

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

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

저자
James Francis

James Francis

@paperjam

👋 Hi, I'm James. I run an AI automation agency focused on building small, focused workflows that have a direct and measurable impact on business growth or optimization.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34