Dropcontact를 사용하여 매시간 최대 1500개의 이메일을 풍부화
중급
이것은Sales, Support, Product, Marketing분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 Code, Wait, Slack, Postgres, SplitOut 등의 노드를 사용하며. Dropcontact를 통해 매시간 최대 1500개의 이메일을 풍부화
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •PostgreSQL 데이터베이스 연결 정보
- •대상 API의 인증 정보가 필요할 수 있음
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "a2435d996b378e3a6fdef0468d70285e3aa0fbd0004de817bfc80e80afee4e7b"
},
"nodes": [
{
"id": "5fa5ccd8-81be-45a2-ac00-7ef28148c0c7",
"name": "메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
700,
460
],
"parameters": {
"width": 1767.817629414989,
"height": 470.03830555074103,
"content": "## DROPCONTACT 250 BATCH ASYNCHRONOUSLY \n## 1500/HOUR REQUESTS\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)"
},
"typeVersion": 1
},
{
"id": "9c6826a3-ec94-4ff4-92a6-0ff7fa22349e",
"name": "집계",
"type": "n8n-nodes-base.aggregate",
"position": [
1000,
620
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "first_name"
},
{
"fieldToAggregate": "last_name"
},
{
"fieldToAggregate": "domain"
},
{
"fieldToAggregate": "phantom_linkedin"
},
{
"fieldToAggregate": "full_name"
}
]
}
},
"typeVersion": 1
},
{
"id": "c0d5b884-de58-42f3-bc50-0c7e6ca5e576",
"name": "PROFILES QUERY",
"type": "n8n-nodes-base.postgres",
"position": [
560,
600
],
"parameters": {
"query": "select first_name, last_name, domain, full_name\nfrom accounts a \nleft join profiles p on a.company_id = p.company_id \nwhere title = 'Bestuurder' and p.email is null and a.domain != ''\nand domain NOT IN ('gmail.com', 'hotmail.com', 'hotmail.be', 'hotmail%','outlook.com','telenet.be', 'live.be', 'skynet.be','SKYNET%', 'yahoo.com' , 'yahoo%', 'msn%', 'hotmail', 'belgacom%') and dropcontact_found is null \nlimit 1000\n",
"options": {},
"operation": "executeQuery"
},
"credentials": {
"postgres": {
"id": "pYryZTyzA44MBOiN",
"name": "Postgres account"
}
},
"typeVersion": 2.3
},
{
"id": "ddf11e8d-f1db-406c-9c2a-ab5a510fee47",
"name": "BULK DROPCONTACT REQUESTS",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"maxTries": 3,
"position": [
1360,
620
],
"parameters": {
"url": "https://api.dropcontact.io/batch",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.toJsonString()}}\n",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "X-Access-Token",
"value": "apiKey"
}
]
},
"nodeCredentialType": "dropcontactApi"
},
"credentials": {
"dropcontactApi": {
"id": "kUzEc345AiEZDjK7",
"name": "Dropcontact Willow account"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 600
},
{
"id": "606e2898-eb44-46c2-9576-8e3cc1bd2578",
"name": "항목 반복2",
"type": "n8n-nodes-base.splitInBatches",
"position": [
780,
600
],
"parameters": {
"options": {},
"batchSize": 250
},
"typeVersion": 3
},
{
"id": "ace20caa-3c9b-432a-a572-6bad48181347",
"name": "분할 출력",
"type": "n8n-nodes-base.splitOut",
"onError": "continueRegularOutput",
"position": [
1940,
600
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "2c581721-a399-4d48-98a1-cee82246c4f4",
"name": "Postgres",
"type": "n8n-nodes-base.postgres",
"onError": "continueErrorOutput",
"maxTries": 2,
"position": [
2100,
600
],
"parameters": {
"table": {
"__rl": true,
"mode": "list",
"value": "profiles",
"cachedResultName": "profiles"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"columns": {
"value": {
"email": "={{ $json.email[0].email }}",
"phone": "={{ $json.phone }}",
"full_name": "={{ $json.custom_fields.full_name }}",
"dropcontact_found": "={{ true }}",
"email_qualification": "={{ $json.email[0].qualification }}"
},
"schema": [
{
"id": "company_id",
"type": "number",
"display": true,
"removed": true,
"required": false,
"displayName": "company_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "create_date",
"type": "dateTime",
"display": true,
"removed": true,
"required": false,
"displayName": "create_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "phone",
"type": "string",
"display": true,
"required": false,
"displayName": "phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "first_name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "first_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last_name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "last_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "start_date_raw",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "start_date_raw",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "full_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "full_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "seniority",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "seniority",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email",
"type": "string",
"display": true,
"required": false,
"displayName": "email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_qualification",
"type": "string",
"display": true,
"required": false,
"displayName": "email_qualification",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "dropcontact_found",
"type": "boolean",
"display": true,
"required": false,
"displayName": "dropcontact_found",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"full_name"
]
},
"options": {
"replaceEmptyStrings": true
},
"operation": "update"
},
"credentials": {
"postgres": {
"id": "pYryZTyzA44MBOiN",
"name": "Postgres account"
}
},
"retryOnFail": true,
"typeVersion": 2.3,
"alwaysOutputData": true
},
{
"id": "7e94c87d-3f83-4fd1-877d-3463dce3cdd1",
"name": "BULK DROPCONTACT DOWNLOAD",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
1740,
620
],
"parameters": {
"url": "=https://api.dropcontact.io/batch/{{ $json.request_id }}",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "dropcontactApi"
},
"credentials": {
"dropcontactApi": {
"id": "kUzEc345AiEZDjK7",
"name": "Dropcontact Willow account"
}
},
"typeVersion": 4.2
},
{
"id": "17aab456-72dc-482d-b5e3-b3dfb3a3b3f7",
"name": "대기2",
"type": "n8n-nodes-base.wait",
"position": [
1540,
620
],
"webhookId": "de669d58-95c5-480e-9acc-17c396859fcf",
"parameters": {
"amount": 600
},
"typeVersion": 1.1
},
{
"id": "148cec0c-985b-4c82-8835-fff8eacf6e38",
"name": "DATA TRANSFORMATION",
"type": "n8n-nodes-base.code",
"position": [
1180,
620
],
"parameters": {
"mode": "runOnceForEachItem",
"language": "python",
"pythonCode": "import json\n\n## Load & access the existing JSON data\nfor item in _input.all():\n data = item.json \n\n # Define the output data structure\n output_data = {\"data\": [], \"siren\": True}\n\n # Unpack data from the single element list\n first_names = data[\"first_name\"]\n last_names = data[\"last_name\"]\n domain = data[\"domain\"]\n full_name = data[\"full_name\"]\n\n # Combine data into a list of dictionaries\n transformed_data = []\n for i, (first_name, last_name, domain_name, full_name_value) in enumerate(zip(first_names, last_names, domain, full_name)):\n transformed_data.append({\n \"first_name\": first_name,\n \"last_name\": last_name,\n \"website\": domain_name,\n \"custom_fields\": {\n \"full_name\": full_name_value}\n })\n\n output_data[\"data\"] = transformed_data\n\n return output_data \n\n"
},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "b233abfe-cfae-474a-b86d-29e56e1f3ac7",
"name": "Slack",
"type": "n8n-nodes-base.slack",
"position": [
1740,
820
],
"parameters": {
"text": "Dropcontact Credits issue: url ",
"user": {
"__rl": true,
"mode": "list",
"value": ""
},
"select": "user",
"otherOptions": {}
},
"typeVersion": 2.1
},
{
"id": "d4e90677-89c9-418b-b618-f751b797d395",
"name": "일정 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
380,
600
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.1
}
],
"pinData": {},
"connections": {
"Wait2": {
"main": [
[
{
"node": "7e94c87d-3f83-4fd1-877d-3463dce3cdd1",
"type": "main",
"index": 0
}
]
]
},
"2c581721-a399-4d48-98a1-cee82246c4f4": {
"main": [
[
{
"node": "Loop Over Items2",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "148cec0c-985b-4c82-8835-fff8eacf6e38",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "2c581721-a399-4d48-98a1-cee82246c4f4",
"type": "main",
"index": 0
}
]
]
},
"c0d5b884-de58-42f3-bc50-0c7e6ca5e576": {
"main": [
[
{
"node": "Loop Over Items2",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items2": {
"main": [
null,
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "c0d5b884-de58-42f3-bc50-0c7e6ca5e576",
"type": "main",
"index": 0
}
]
]
},
"148cec0c-985b-4c82-8835-fff8eacf6e38": {
"main": [
[
{
"node": "ddf11e8d-f1db-406c-9c2a-ab5a510fee47",
"type": "main",
"index": 0
}
]
]
},
"7e94c87d-3f83-4fd1-877d-3463dce3cdd1": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
],
[
{
"node": "b233abfe-cfae-474a-b86d-29e56e1f3ac7",
"type": "main",
"index": 0
}
]
]
},
"ddf11e8d-f1db-406c-9c2a-ab5a510fee47": {
"main": [
[
{
"node": "Wait2",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 영업, 지원, 제품, 마케팅
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Bright Data와 Google 검색을 사용하여 이메일과 도메인을 통해 풍부한 판매자 데이터를 찾기
Bright Data와 Google 검색을 통해 이메일과 도메인을 통해 판매자 데이터를 풍부화
If
Set
Code
+
If
Set
Code
32 노드Cyril Nicko Gaspar
영업
[템플릿] AI 반려동물 가게 v8
🐶 AI 펫 샵 어시스턴트 - GPT-4o, Google 캘린더 및 WhatsApp/Instagram/Facebook 통합
If
N8n
Set
+
If
N8n
Set
244 노드Amanda Benks
영업
HDW 리드 베이비
AI 에이전트를 사용한 자동화된 LinkedIn 리드 생성, 점수 매기기 및 소통
If
Code
Sort
+
If
Code
Sort
86 노드Andrey
영업
AI个性化多제품이메일마케팅
基于SMTP轮换의AI个性化多제품이메일마케팅(GPT-4o/o3-mini)
If
Code
Wait
+
If
Code
Wait
41 노드Badr
영업
Google Maps를 사용하여 잠재 고객 생성 - AlexK1919
Google Maps를 사용하여 잠재 고객 생성
If
Set
Code
+
If
Set
Code
42 노드Alex Kim
영업
OpenAI, Google Sheets, Jina AI 및 Slack을 활용한 AI 기반 정보 모니터링
AI 기반 정보 모니터링 워크플로우로 OpenAI, Google Sheets, Jina AI 및 Slack을 통합합니다
If
Set
Code
+
If
Set
Code
31 노드Dataki
영업