내 워크플로 5
고급
이것은자동화 워크플로우로, 19개의 노드를 포함합니다.주로 Code, Merge, Airtable, HttpRequest, ManualTrigger 등의 노드를 사용하며. GPT-4, SendGrid, Airtable를 사용한 이메일 성과 분석 및 마케팅 캠페인 최적화
사전 요구사항
- •Airtable API Key
- •대상 API의 인증 정보가 필요할 수 있음
- •OpenAI API Key
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "42b2652ebb0a87755df4710a5630695eec8e35cb0ce04a63b0e25751b1f044f1"
},
"name": "My workflow 5",
"tags": [],
"nodes": [
{
"id": "05a392cc-4f92-4716-8738-6a0fbd45e3ed",
"name": "'워크플로우 실행' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-16,
384
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1da7c095-0587-46fa-ae74-558f9cf7d0e1",
"name": "Sendgrid 데이터 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
176,
496
],
"parameters": {
"url": "https://api.sendgrid.com/v3/stats",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "start_date",
"value": "={{ $now.minus(7, 'days').format('yyyy-MM-dd') }}"
},
{
"name": "end_date",
"value": "={{ $now.format('yyyy-MM-dd') }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "KB5CcNJcpZPU6DRn",
"name": "Sendgrid"
}
},
"typeVersion": 4.2
},
{
"id": "abeda94c-de1e-492d-b63a-ad01ad1f7ab2",
"name": "레코드 업데이트",
"type": "n8n-nodes-base.airtable",
"position": [
1024,
464
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "apptBBudqpCku19Sw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw",
"cachedResultName": "Untitled Base"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl2nb9vURHJVghpw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw/tbl2nb9vURHJVghpw",
"cachedResultName": "Email Campaign Performance"
},
"columns": {
"value": {
"id": "={{ $json.id }}",
"ctr": "={{ $json.ctr }}",
"delivered": "={{ $json.delivered }}",
"open_rate": "={{ $json.open_rate }}",
"week_ending": "={{ $json.week_ending }}",
"unique_opens": "={{ $json.unique_opens }}",
"unique_clicks": "={{ $json.unique_clicks }}",
"performance_delta": 0
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "week_ending",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "week_ending",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "delivered",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "delivered",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "unique_opens",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "unique_opens",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "unique_clicks",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "unique_clicks",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "open_rate",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "open_rate",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ctr",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "ctr",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "prompt_version",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "prompt_version",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "changes_made",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "changes_made",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subject_line_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "subject_line_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_template_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "email_template_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "performance_delta",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "performance_delta",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "decision",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "decision",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"typecast": true
},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "77pJURtbEjVETtBQ",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "eaacc354-b476-42e1-aae1-49bdffa6e87c",
"name": "레코드 검색",
"type": "n8n-nodes-base.airtable",
"position": [
400,
608
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "apptBBudqpCku19Sw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw",
"cachedResultName": "Untitled Base"
},
"sort": {
"property": [
{
"field": "week_ending",
"direction": "desc"
}
]
},
"limit": 1,
"table": {
"__rl": true,
"mode": "list",
"value": "tbl2nb9vURHJVghpw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw/tbl2nb9vURHJVghpw",
"cachedResultName": "Email Campaign Performance"
},
"options": {},
"operation": "search",
"returnAll": false
},
"credentials": {
"airtableTokenApi": {
"id": "77pJURtbEjVETtBQ",
"name": "Airtable Personal Access Token account"
}
},
"executeOnce": false,
"typeVersion": 2.1
},
{
"id": "6af1e213-6695-4fad-98f9-a1be2db331fb",
"name": "병합",
"type": "n8n-nodes-base.merge",
"position": [
720,
464
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "aadc8253-4066-472a-9cbd-92ab2cb07a74",
"name": "레코드 검색1",
"type": "n8n-nodes-base.airtable",
"position": [
1168,
464
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "apptBBudqpCku19Sw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw",
"cachedResultName": "Untitled Base"
},
"limit": 4,
"table": {
"__rl": true,
"mode": "list",
"value": "tbl2nb9vURHJVghpw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw/tbl2nb9vURHJVghpw",
"cachedResultName": "Email Campaign Performance"
},
"options": {},
"operation": "search",
"returnAll": false
},
"credentials": {
"airtableTokenApi": {
"id": "77pJURtbEjVETtBQ",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "da85d884-583f-46e1-aab0-fc2fbf44311f",
"name": "레코드 생성",
"type": "n8n-nodes-base.airtable",
"position": [
1856,
464
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "apptBBudqpCku19Sw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw",
"cachedResultName": "Untitled Base"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl2nb9vURHJVghpw",
"cachedResultUrl": "https://airtable.com/apptBBudqpCku19Sw/tbl2nb9vURHJVghpw",
"cachedResultName": "Email Campaign Performance"
},
"columns": {
"value": {
"ctr": 0,
"decision": "={{ $json.decision }}",
"delivered": 0,
"open_rate": 0,
"week_ending": "={{ $json.week_ending }}",
"unique_opens": 0,
"unique_clicks": 0,
"test_directive": "={{ $json.test_directive }}",
"test_variable ": "={{ $json.test_variable }}",
"confidence_level": "={{ $json.confidence_level }}",
"test_hypothesis ": "={{ $json.test_hypothesis }}",
"performance_delta": 0,
"implementation_instruction": "={{ $json.implementation_instruction }}"
},
"schema": [
{
"id": "week_ending",
"type": "dateTime",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "week_ending",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "delivered",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "delivered",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "unique_opens",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "unique_opens",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "unique_clicks",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "unique_clicks",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "open_rate",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "open_rate",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ctr",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "ctr",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "prompt_version",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "prompt_version",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "changes_made",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "changes_made",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subject_line_used",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "subject_line_used",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_body",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "email_body",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "performance_delta",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "performance_delta",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "decision",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "decision",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "icp ",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "icp ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "test_variable ",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "test_variable ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "test_hypothesis ",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "test_hypothesis ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "confidence_level",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "confidence_level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "use_case ",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "use_case ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "test_directive",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "test_directive",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "implementation_instruction",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "implementation_instruction",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"typecast": true
},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "77pJURtbEjVETtBQ",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "90478127-979e-4a99-ae48-9bcd15ad54fe",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
304
],
"parameters": {
"width": 1184,
"height": 496,
"content": "## Update Previous Week's Data\n"
},
"typeVersion": 1
},
{
"id": "73a3a0e3-582d-4916-90b9-dbf3a6ee5f78",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1152,
304
],
"parameters": {
"width": 528,
"height": 496,
"content": "## Previous week analysis"
},
"typeVersion": 1
},
{
"id": "8c5c2ab1-d5ed-4282-89f2-a336fff022ad",
"name": "스티커 메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1696,
304
],
"parameters": {
"width": 448,
"height": 496,
"content": "## Testing instructions for coming week"
},
"typeVersion": 1
},
{
"id": "46c405d5-e363-42d7-b166-1948d5bbf45c",
"name": "스티커 메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
496,
-96
],
"parameters": {
"width": 1184,
"height": 384,
"content": "## Prompt Injection\n**<!-- EMAIL OPTIMIZATION GUIDANCE - START -->\n\n## Performance Intelligence from Previous Campaigns\n\nAnother AI agent has analyzed your recent email performance data and identified opportunities for improvement. Consider these data-driven insights while crafting your email:\n\n**Previous Performance:**\n{{ $json.baseline_performance }}\n\n**Key Finding:**\n{{ $json.analysis }}\n\n**Recommended Test:**\n- **What to change:** {{ $json.test_variable }}\n- **How to change it:** {{ $json.test_directive }}\n- **Specific instruction:** {{ $json.implementation_instruction }}\n- **Expected outcome:** {{ $json.test_hypothesis }}\n- **Confidence level:** {{ $json.confidence_level }}\n- **Target metric:** Improve {{ $json.success_metric }} by {{ $json.target_improvement }}\n\n⚠️ **Important:** You maintain creative control. These are data-informed suggestions based on what hasn't worked and what we believe will work better. Use your judgment to incorporate these insights while ensuring the email remains authentic and aligned with the brand voice.\n\n## Required Output Format\n\nYour response MUST include these specific fields in your output (in addition to any other content you generate):\n\n```json\n{\n \"subject_line_used\": \"[The exact subject line you created]\",\n \"email_body\": \"[The complete email body text you created]\",\n \"icp\": \"[Target audience/Ideal Customer Profile for this email]\",\n \"use_case\": \"[Primary use case or problem this email addresses]\"\n}\n```\n\n<!-- EMAIL OPTIMIZATION GUIDANCE - END -->"
},
"typeVersion": 1
},
{
"id": "479113e4-e753-40b1-ae8d-d72d7e7cda62",
"name": "스티커 메모5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1696,
-96
],
"parameters": {
"width": 448,
"height": 384,
"content": "## INTEGRATION INSTRUCTIONS\n\n**Copy and paste the optimization prompt below directly into your email generation prompt as a standalone section.**\n\n### Setup Requirements:\n1. **Before your email node:** Add \"Get Record\" to retrieve the most recent week's recommendations\n2. **After your email node:** Add \"Update Record\" to save what was actually sent\n3. **Use the provided \"Most Recent Week\" code** to identify the correct row for both operations\n4. **Connect to Airtable:** Map the JSON fields to the provided Airtable template\n\nOnce configured, the system runs autonomously—analyzing performance and optimizing future emails automatically."
},
"typeVersion": 1
},
{
"id": "5ca4055b-256d-423d-8a69-51ce35a0bb8b",
"name": "최근 주차 데이터 가져오기",
"type": "n8n-nodes-base.code",
"position": [
544,
608
],
"parameters": {
"jsCode": "// Get the record from Airtable List\nconst record = $input.all()[0].json;\n\nreturn [{\n json: {\n id: record.id\n }\n}];"
},
"typeVersion": 2
},
{
"id": "fef40f34-74c2-440d-a36a-741184d8c98c",
"name": "데이터 X-양식",
"type": "n8n-nodes-base.code",
"position": [
400,
448
],
"parameters": {
"jsCode": "// Get ALL items (each day is a separate item)\nconst allDays = $input.all();\nlet delivered = 0;\nlet unique_opens = 0;\nlet unique_clicks = 0;\n\n// Loop through each day (each item)\nallDays.forEach(item => {\n const day = item.json;\n delivered += day.stats[0].metrics.delivered;\n unique_opens += day.stats[0].metrics.unique_opens;\n unique_clicks += day.stats[0].metrics.unique_clicks;\n});\n\n// Calculate rates from totals\nconst open_rate = delivered > 0 ? unique_opens / delivered : 0;\nconst ctr = delivered > 0 ? unique_clicks / delivered : 0;\n\nreturn [{\n json: {\n week_ending: new Date().toISOString(), // ← Changed this line\n delivered: delivered,\n unique_opens: unique_opens,\n unique_clicks: unique_clicks,\n open_rate: open_rate,\n ctr: ctr\n }\n}];"
},
"typeVersion": 2
},
{
"id": "cba63111-b8a7-43b1-91cd-72aab8d0af6b",
"name": "데이터 병합",
"type": "n8n-nodes-base.code",
"position": [
880,
464
],
"parameters": {
"jsCode": "// Just combine the objects cleanly\nconst stats = $input.all()[0].json;\nconst recordInfo = $input.all()[1].json;\n\nreturn [{\n json: {\n id: recordInfo.id,\n ...stats // Spread all stats fields\n }\n}];"
},
"typeVersion": 2
},
{
"id": "7c91372e-74d2-46e3-a40a-85afb327a797",
"name": "이전 주차 분석",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1296,
464
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "chatgpt-4o-latest",
"cachedResultName": "CHATGPT-4O-LATEST"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are an email optimization specialist analyzing historical performance patterns.\n\nPerformance data (last 4 weeks):\n{{ JSON.stringify($input.all().map(item => item.json), null, 2) }}\n\nIMPORTANT: Analyze ALL weeks for context, but base your recommendation on the MOST RECENT week's performance (the first record in the array).\n\nIMPORTANT: Each recipient only sees our email ONCE. Declining performance means our message is becoming less relevant to NEW recipients, not that people are tired of seeing it.\n\nAnalyze trends to identify ONE element to test based on the most recent week:\n- Most recent week performance is your PRIMARY focus\n- Use previous weeks for trend context only\n- Declining open rates = Subject line losing relevance to current market context/needs\n- Declining CTR = Value prop or CTA not resonating with current audience priorities \n- Stable low metrics = Fundamental mismatch with audience expectations\n- Week-to-week variance = Inconsistent targeting or timing\n\nConsider:\n- Seasonal/temporal relevance (what's top of mind NOW?)\n- Market shifts (new competitors, trends, problems emerging)\n- Audience evolution (are we reaching different segments?)\n\nOutput a SINGLE test variable that adapts to CURRENT market conditions.\n\nFormat your response as JSON:\n{\n \"analysis\": \"Open rates fell 15% over 3 weeks - subject line may not reflect current audience priorities\",\n \"decision\": \"test_subject_line\",\n \"test_variable\": \"subject_line_relevance\",\n \"test_hypothesis\": \"Addressing current market concerns will increase relevance and open rates\",\n \"confidence_level\": \"high\",\n \"test_directive\": \"Reference current/timely pain point\",\n \"implementation_instruction\": \"IMPORTANT: Frame the subject line around a problem or opportunity that's particularly relevant RIGHT NOW in your industry, not timeless benefits\",\n \"baseline_performance\": \"12% open rate, 1.5% CTR\",\n \"success_metric\": \"open_rate\",\n \"target_improvement\": \"15%\"\n}"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "oge162MIvDKTkyvR",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "0b834d38-c9e2-46f3-b7f2-615bce2dfab4",
"name": "출력 파싱",
"type": "n8n-nodes-base.code",
"position": [
1568,
464
],
"parameters": {
"jsCode": "// Get the GPT response (should be just one item now)\nconst gptResponse = $input.first().json;\n\n// Parse the JSON content from the message\nconst analysis = JSON.parse(gptResponse.message.content);\n\n// Get the most recent week_ending from your previous data\n// This assumes you have access to the original data from Search records1\n// You may need to pass this through from an earlier node\nconst previousData = $('Search records1').first().json;\nconst lastWeekEnding = previousData.week_ending;\n\n// Calculate next week's date (7 days after the most recent week_ending)\nconst nextWeekDate = new Date(lastWeekEnding);\nnextWeekDate.setDate(nextWeekDate.getDate() + 7);\n\n// Format the date as full ISO string for Airtable\nconst weekEnding = nextWeekDate.toISOString();\n\n// Return formatted data for Airtable\nreturn [{\n json: {\n week_ending: weekEnding,\n decision: analysis.decision,\n test_variable: analysis.test_variable,\n test_hypothesis: analysis.test_hypothesis,\n confidence_level: analysis.confidence_level,\n test_directive: analysis.test_directive,\n implementation_instruction: analysis.implementation_instruction,\n baseline_performance: analysis.baseline_performance,\n success_metric: analysis.success_metric,\n target_improvement: analysis.target_improvement,\n analysis: analysis.analysis,\n // Initialize performance metrics as 0 for the upcoming week\n delivered: 0,\n unique_opens: 0,\n unique_clicks: 0,\n open_rate: 0,\n ctr: 0,\n performance_delta: 0\n }\n}];"
},
"typeVersion": 2
},
{
"id": "dbe1a199-7f8b-4c69-b6e4-9152d3119b48",
"name": "스티커 메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
-96
],
"parameters": {
"width": 528,
"height": 384,
"content": "## PURPOSE\n\nThis flow functions as a true agentic, drag-and-drop extension that continuously improves any automated email campaign. Simply add the Airtable template, connect it to your email sending node, and link the remaining components. The system automatically analyzes previous weeks' performance data, evaluates results, and updates future strategies based on past decisions—constantly optimizing toward better email engagement. \n\n**Requirements:** SendGrid or similar email service provider (ESP) for tracking metrics."
},
"typeVersion": 1
},
{
"id": "17f731d5-650e-432d-8691-a1c1e28e4e5f",
"name": "일정 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-16,
640
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "",
"connections": {
"6af1e213-6695-4fad-98f9-a1be2db331fb": {
"main": [
[
{
"node": "cba63111-b8a7-43b1-91cd-72aab8d0af6b",
"type": "main",
"index": 0
}
]
]
},
"cba63111-b8a7-43b1-91cd-72aab8d0af6b": {
"main": [
[
{
"node": "abeda94c-de1e-492d-b63a-ad01ad1f7ab2",
"type": "main",
"index": 0
}
]
]
},
"fef40f34-74c2-440d-a36a-741184d8c98c": {
"main": [
[
{
"node": "6af1e213-6695-4fad-98f9-a1be2db331fb",
"type": "main",
"index": 0
}
]
]
},
"0b834d38-c9e2-46f3-b7f2-615bce2dfab4": {
"main": [
[
{
"node": "da85d884-583f-46e1-aab0-fc2fbf44311f",
"type": "main",
"index": 0
}
]
]
},
"abeda94c-de1e-492d-b63a-ad01ad1f7ab2": {
"main": [
[
{
"node": "aadc8253-4066-472a-9cbd-92ab2cb07a74",
"type": "main",
"index": 0
}
]
]
},
"eaacc354-b476-42e1-aae1-49bdffa6e87c": {
"main": [
[
{
"node": "5ca4055b-256d-423d-8a69-51ce35a0bb8b",
"type": "main",
"index": 0
}
]
]
},
"aadc8253-4066-472a-9cbd-92ab2cb07a74": {
"main": [
[
{
"node": "7c91372e-74d2-46e3-a40a-85afb327a797",
"type": "main",
"index": 0
}
]
]
},
"17f731d5-650e-432d-8691-a1c1e28e4e5f": {
"main": [
[
{
"node": "1da7c095-0587-46fa-ae74-558f9cf7d0e1",
"type": "main",
"index": 0
}
]
]
},
"1da7c095-0587-46fa-ae74-558f9cf7d0e1": {
"main": [
[
{
"node": "fef40f34-74c2-440d-a36a-741184d8c98c",
"type": "main",
"index": 0
},
{
"node": "eaacc354-b476-42e1-aae1-49bdffa6e87c",
"type": "main",
"index": 0
}
]
]
},
"5ca4055b-256d-423d-8a69-51ce35a0bb8b": {
"main": [
[
{
"node": "6af1e213-6695-4fad-98f9-a1be2db331fb",
"type": "main",
"index": 1
}
]
]
},
"7c91372e-74d2-46e3-a40a-85afb327a797": {
"main": [
[
{
"node": "0b834d38-c9e2-46f3-b7f2-615bce2dfab4",
"type": "main",
"index": 0
}
]
]
},
"05a392cc-4f92-4716-8738-6a0fbd45e3ed": {
"main": [
[
{
"node": "1da7c095-0587-46fa-ae74-558f9cf7d0e1",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
AI를 사용하여 LinkedIn 기여 내용 생성하고 Slack에서 사용자에게 알림
AI를 통해 LinkedIn 기여 및 Slack에서 사용자 알림
Set
Code
Html
+
Set
Code
Html
33 노드Darryn
인공지능
소셜 미디어 AI 에이전트 - Telegram
AI 기반 소셜 미디어 증폭기
Code
Wait
Merge
+
Code
Wait
Merge
26 노드Mudit Juneja
인공지능
자동화 블로그 작성 및 소셜 미디어 프로모션 에이전트
GPT-4, Perplexity 및 WordPress를 사용한 SEO 블로그 생성 + 소셜 미디어 자동화
Set
Code
Gmail
+
Set
Code
Gmail
79 노드LukaszB
디자인
Airtable, OpenAI 및 Unipile을 사용한 자동화된 LinkedIn 잠재 고객 생성 및 개인 메시지 발송
Airtable, OpenAI 및 Unipile을 사용한 자동화된 LinkedIn 리드 생성 및 개인 메시지 발송
If
Set
Code
+
If
Set
Code
143 노드Ruben AI
리드 육성
WordPress 콘텐츠 생성기 v3
WordPress 내용 생성기 v3
If
Set
Code
+
If
Set
Code
102 노드Alex Kim
인공지능
OpenAI, ElevenLabs, Hedra를 사용하여 바이러스 성婴儿播客 YouTube短视频 생성
OpenAI, ElevenLabs, Hedra를 사용하여 바이러스성 베이비 블로그 YouTube 짧은 비디오 만들기
Code
Wait
Merge
+
Code
Wait
Merge
38 노드Electrabot
콘텐츠 제작