8
n8n 한국어amn8n.com

이메일을 WhatsApp으로 - AI 다중 계정 브리지

고급

이것은Personal Productivity, AI Summarization분야의자동화 워크플로우로, 22개의 노드를 포함합니다.주로 Code, Gmail, HttpRequest, GmailTrigger, Agent 등의 노드를 사용하며. AI가 구동하는 이메일을 WhatsApp으로 전달, Gmail, Outlook 및 Google Gemini 통합

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Gemini API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "name": "Email to WhatsApp - AI Multi-Account Bridge",
  "tags": [
    {
      "id": "jI0BIUFr6PMyBv84",
      "name": "email-automation",
      "createdAt": "2025-10-13T20:32:05.900Z",
      "updatedAt": "2025-10-13T20:32:05.900Z"
    },
    {
      "id": "rxgkgqJKF9XaNJW5",
      "name": "inbox-forwarding",
      "createdAt": "2025-10-13T20:50:58.294Z",
      "updatedAt": "2025-10-13T20:50:58.294Z"
    }
  ],
  "nodes": [
    {
      "id": "a4fcf610-1624-4966-82ee-85c51f67ab77",
      "name": "읽음 표시 (Gmail)",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1216,
        -16
      ],
      "webhookId": "b10aa89f-b663-4677-81df-6061a0530411",
      "parameters": {
        "messageId": "={{ $('Gmail Trigger').item.json.id }}",
        "operation": "markAsRead"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "Gmail OAuth2 Account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b02ca228-1a77-4425-b49b-8a90edf0bc85",
      "name": "이메일 필터링 및 포맷팅 (Gmail)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        640,
        128
      ],
      "parameters": {
        "text": "=You are an email formatter. Here is the cleaned email data:\n\nFrom: {{ $json.from }}\nSubject: {{ $json.subject }}\nDate: {{ $json.date }}\nBody:\n{{ $json.body }}\n\nTask: Format this exactly as a WhatsApp message with no code fences, JSON, or extra characters. Output only the message text:\n\n*━━━ 📬 New Email ━━━*\n👤 {{ $json.from }}\n📋 {{ $json.subject }}\n🕐 {{ $json.date }}\n\n{{ $json.body }}\n\n*━━━━━━━━━━━━*",
        "options": {
          "systemMessage": "لا تنسى ان قوم بارسال المحتوى كامل مع توفير روابط Urls ان وجدت خصوصا بعض الرسائل تتطلب النقر على الصور ف كل ماعليك هو استخراج الرابط التفعيل منها وكذلك كل ماعليك هو ارسال الرسالة بلغتها وسوف يتم ترجمتها بعدك مباشرة\nقم بارسال كل مايتعلق بالتفعيل او التأكيد الحساب او التحقق بخطوتين وغيرهم ولكن الاعلانات والرسائل المزعجة قم بتخطيها واذا كانت الرسالة مرسلة مسبقاً قم باشعاري انه لا توجد رساله جديده لا تقم بتكرار ارسال الرسالة نفسها في كل مرة\n✅ ALWAYS FORWARD (Any Sender):\n\nAccount activation emails\n\n2FA codes & security alerts\n\nCritical system notifications\n\nUrgent security warnings\n\nPassword reset requests\n✅ APPROVED SENDERS SPECIAL ACCESS:\n\n# REPLACE THESE WITH YOUR TRUSTED EMAIL ADDRESSES:\nyour-trusted-email@example.com\nyour-trusted-email@example.com\nyour-trusted-email@example.com\n\nFrom approved senders ONLY, also forward:\n\nInformal greetings (هلا, السلام, etc.)\n\nPersonal conversations\n\nNon-urgent communications\n\n❌ IGNORE COMPLETELY:\n\nPromotions & marketing\n\nNewsletters\n\nSocial media notifications\n\nAdvertisement emails\n📧 EMAIL MANAGEMENT PERMISSIONS\nDelete all messages from Spam folder\n\nDelete all messages from Drafts folder\n\nEmpty Trash folder completely\n\nAutomatic cleanup of non-essential folders\nاذا كانت الرسالة فرنسية او اية لغة اخرى قم بترجمتها فوراً الى العربية وارسالها دون ارسال الاصل\nلا تقم بارسال رسائل بينترست"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "a88ba984-3fda-4915-a4b5-51be459d891d",
      "name": "Google Gemini 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        640,
        288
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "Google Gemini API Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "19fd23b5-1cbe-43e2-8373-00a082f096cd",
      "name": "Gmail 데이터 파싱",
      "type": "n8n-nodes-base.code",
      "position": [
        272,
        128
      ],
      "parameters": {
        "jsCode": "// Get the first email object from the trigger array\nconst emailArray = $input.all();\nif (!emailArray.length) throw new Error('No email data received');\nconst email = emailArray[0].json;\n\n// Helper to collect all body parts recursively\nfunction collectBodies(parts) {\n  let bodies = [];\n  for (const part of parts) {\n    if (part.mimeType === 'text/plain' && part.body?.data) {\n      bodies.push(Buffer.from(part.body.data, 'base64').toString('utf-8'));\n    }\n    if (part.mimeType === 'text/html' && part.body?.data) {\n      // Optionally strip HTML tags here, or leave for the AI\n      bodies.push(Buffer.from(part.body.data, 'base64').toString('utf-8'));\n    }\n    if (part.parts) {\n      bodies = bodies.concat(collectBodies(part.parts));\n    }\n  }\n  return bodies;\n}\n\n// Build the full body string\nlet body = '';\nif (email.payload?.parts) {\n  const parts = collectBodies(email.payload.parts);\n  body = parts.join('\\n\\n').trim();\n}\nif (!body && email.text) body = email.text;\nif (!body && email.textAsHtml) body = email.textAsHtml.replace(/<[^>]+>/g, '\\n');\nif (!body && email.snippet) body = email.snippet;\nif (!body) body = 'لا يوجد محتوى رسائل';\n\n// Extract the Date header value\nconst rawDate = email.headers?.date?.replace(/^Date:\\s*/, '') || email.date;\nconst date = new Date(rawDate).toLocaleString('ar-SA', {\n  year: 'numeric',\n  month: 'long',\n  day: 'numeric',\n  hour: '2-digit',\n  minute: '2-digit'\n});\n\n// Return simplified JSON for downstream nodes\nreturn [\n  {\n    json: {\n      from: `${email.from.value[0]?.name || 'غير معلوم'} <${email.from.value[0]?.address || 'غير معروف'}>`,\n      subject: email.subject,\n      date: date,\n      body: body\n    }\n  }\n];\n"
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "7d4fb53a-d9b9-4926-a31e-43e2fddffc58",
      "name": "WhatsApp으로 전송 (Gmail)",
      "type": "n8n-nodes-evolution-api-en.evolutionApi",
      "position": [
        1216,
        112
      ],
      "parameters": {
        "resource": "messages-api",
        "remoteJid": "YOUR_WHATSAPP_NUMBER@s.whatsapp.net",
        "messageText": "={{ $json.output }}",
        "instanceName": "YourInstanceName",
        "options_message": {}
      },
      "credentials": {
        "evolutionApi": {
          "name": "Evolution API Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "015bf9ca-42dc-4f5f-a7aa-60dbc0a0c2a9",
      "name": "Gmail 트리거",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        -16,
        128
      ],
      "parameters": {
        "simple": false,
        "filters": {},
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "Gmail OAuth2 Account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "52a45c12-271f-4592-91f1-0a3f9f47b3a7",
      "name": "이메일 필터링 및 포맷팅 (Outlook 개인)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        640,
        432
      ],
      "parameters": {
        "text": "=You are an email formatter. Here is the cleaned email data:\n\nFrom: {{ $json.from }}\nSubject: {{ $json.subject }}\nDate: {{ $json.date }}\nBody:\n{{ $json.body }}\n\nTask: Format this exactly as a WhatsApp message with no code fences, JSON, or extra characters. Output only the message text:\n\n*━━━ 📬 New Outlook Email ━━━*\n👤 {{ $json.from }}\n📋 {{ $json.subject }}\n🕐 {{ $json.date }}\n\n{{ $json.body }}\n\n*━━━━━━━━━━━━*",
        "options": {
          "systemMessage": "You are an email-forwarding assistant. Produce only the WhatsApp message text (no JSON, no code, no comments).\n\nINPUT:\n- from, subject, date, classification (\"focused\"/\"other\"), body, id, rawHtml.\n\nRULES (in order):\n1. **ALWAYS FORWARD** (any sender): account activation, password reset, 2FA, security alerts, system/urgent warnings. Include full content + all links.\n2. **APPROVED SENDERS** (forward all, even casual):\n# REPLACE THESE WITH YOUR TRUSTED EMAIL ADDRESSES:\n   - your-trusted-email@example.com\n   - your-trusted-email@example.com\n   - your-trusted-email@example.com\n   - your-trusted-email@example.com\n3. **IGNORE**: ads, promotions, newsletters, social notifications, Pinterest.\n4. **DUPLICATES** (same id/body): output only → ⚠️ لا توجد رسائل جديدة\n\nLINKS:\n- Extract all URLs from body & rawHtml (`http`, `href`, `src`).\n- Show under `🔗 Links found:` each on new line.\n- Prioritize activation/reset/verify links first.\n- If none, still show header.\n\nLANGUAGE:\n- Arabic/English → send as-is.\n- Other languages → translate full body to Arabic only (no original text), wrap with RTL markers (U+202B ... U+202C).\n\nFORMAT (WhatsApp message):\n*━━━ 📬 New Outlook Email ━━━*\n👤 {{from}}\n📋 {{subject}}\n🕐 {{date}}\n📂 Category: {{classificationCapitalized}}\n\n{{body}}\n\n🔗 Links found:\nhttps://...\n\n*━━━━━━━━━━━━*\n\nOTHER RULES:\n- Keep all numbers/codes exactly.\n- No Pinterest or spam messages ever.\n- If activation/verify email has no link → forward full body anyway.\n- Only output the formatted WhatsApp message (no extra text, no JSON).\n\nIf duplicate → ⚠️ لا توجد رسائل جديدة only.\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "7aa39c16-4b4a-43be-ae36-5098d28ebe13",
      "name": "Google Gemini 채팅 모델1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        640,
        592
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "Google Gemini API Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8c7582a2-2e1b-45e9-9da5-ed95a6e03210",
      "name": "Outlook 개인 데이터 파싱",
      "type": "n8n-nodes-base.code",
      "position": [
        352,
        432
      ],
      "parameters": {
        "jsCode": "// 📨 استلام أول رسالة من Outlook Trigger\nconst emailArray = $input.all();\nif (!emailArray.length) throw new Error('No email data received');\nconst email = emailArray[0].json;\n\n// 🧩 Decode HTML entities\nfunction decodeHtmlEntities(text) {\n  if (!text) return '';\n  const entities = {\n    '&nbsp;': ' ',\n    '&amp;': '&',\n    '&quot;': '\"',\n    ''': \"'\",\n    '&lt;': '<',\n    '&gt;': '>',\n  };\n  return text.replace(/&[a-z#0-9]+;/gi, m => entities[m] || m);\n}\n\n// 📨 Extract and clean body\nlet body = '';\nif (email.body?.content) {\n  if (email.body.contentType === 'html') {\n    body = decodeHtmlEntities(\n      email.body.content\n        .replace(/<style[\\s\\S]*?<\\/style>/gi, '')\n        .replace(/<script[\\s\\S]*?<\\/script>/gi, '')\n        .replace(/<[^>]+>/g, '\\n')\n        .replace(/\\n\\s*\\n+/g, '\\n')\n        .replace(/\\s{2,}/g, ' ')\n        .replace(/\\u200B/g, '')\n        .trim()\n    );\n  } else {\n    body = decodeHtmlEntities(email.body.content.trim());\n  }\n}\nif (!body && email.bodyPreview) body = decodeHtmlEntities(email.bodyPreview);\nif (!body) body = 'No message content found';\n\n// 🧠 Classification\nconst classification = email.inferenceClassification?.toLowerCase() || 'other';\nconst categoryLine = `📂 Category: ${classification.charAt(0).toUpperCase() + classification.slice(1)}`;\n\n// 🗓️ Format date\nconst date = email.receivedDateTime\n  ? new Date(email.receivedDateTime).toLocaleString('ar-SA', {\n      year: 'numeric',\n      month: 'long',\n      day: 'numeric',\n      hour: '2-digit',\n      minute: '2-digit'\n    })\n  : 'Unknown date';\n\n// ✅ Output simplified JSON\nreturn [\n  {\n    json: {\n      id: email.id,\n      from: `${email.from?.emailAddress?.name || 'Unknown'} <${email.from?.emailAddress?.address || 'Unknown'}>`,\n      subject: email.subject || 'No Subject',\n      date,\n      classification,\n      body: `${categoryLine}\\n\\n${body}`,\n      rawHtml: email.body?.contentType === 'html' ? email.body.content : ''\n    }\n  }\n];\n"
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "2bdfebb3-4f9e-4fd3-a721-74ea8cfe8556",
      "name": "WhatsApp으로 전송 (Outlook 개인)",
      "type": "n8n-nodes-evolution-api-en.evolutionApi",
      "position": [
        1168,
        432
      ],
      "parameters": {
        "resource": "messages-api",
        "remoteJid": "YOUR_WHATSAPP_NUMBER@s.whatsapp.net",
        "messageText": "={{ $json.output }}",
        "instanceName": "YourInstanceName",
        "options_message": {}
      },
      "credentials": {
        "evolutionApi": {
          "name": "Evolution API Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9ee77eed-b447-441d-9ad8-eec3850591db",
      "name": "Microsoft Outlook 트리거",
      "type": "n8n-nodes-base.microsoftOutlookTrigger",
      "position": [
        0,
        432
      ],
      "parameters": {
        "output": "raw",
        "filters": {},
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "Microsoft Outlook OAuth2 Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "84113157-9f7c-4138-81f7-fc9b767afbe1",
      "name": "이메일 필터링 및 포맷팅 (Outlook 비즈니스)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        640,
        720
      ],
      "parameters": {
        "text": "=You are an email formatter. Here is the cleaned email data:\n\nFrom: {{ $json.from }}\nSubject: {{ $json.subject }}\nDate: {{ $json.date }}\nBody:\n{{ $json.body }}\n\nTask: Format this exactly as a WhatsApp message with no code fences, JSON, or extra characters. Output only the message text:\n\n*━━━ 📬 New Outlook Email ━━━*\n👤 {{ $json.from }}\n📋 {{ $json.subject }}\n🕐 {{ $json.date }}\n\n{{ $json.body }}\n\n*━━━━━━━━━━━━*",
        "options": {
          "systemMessage": "You are an email-forwarding assistant. Produce only the WhatsApp message text (no JSON, no code, no comments).\n\nINPUT:\n- from, subject, date, classification (\"focused\"/\"other\"), body, id, rawHtml.\n\nRULES (in order):\n1. **ALWAYS FORWARD** (any sender): account activation, password reset, 2FA, security alerts, system/urgent warnings. Include full content + all links.\n2. **APPROVED SENDERS** (forward all, even casual):\n# REPLACE THESE WITH YOUR TRUSTED EMAIL ADDRESSES:\n   - your-trusted-email@example.com\n   - your-trusted-email@example.com\n   - your-trusted-email@example.com\n   - your-trusted-email@example.com\n3. **IGNORE**: ads, promotions, newsletters, social notifications, Pinterest.\n4. **DUPLICATES** (same id/body): output only → ⚠️ لا توجد رسائل جديدة\n\nLINKS:\n- Extract all URLs from body & rawHtml (`http`, `href`, `src`).\n- Show under `🔗 Links found:` each on new line.\n- Prioritize activation/reset/verify links first.\n- If none, still show header.\n\nLANGUAGE:\n- Arabic/English → send as-is.\n- Other languages → translate full body to Arabic only (no original text), wrap with RTL markers (U+202B ... U+202C).\n\nFORMAT (WhatsApp message):\n*━━━ 📬 New Outlook Email ━━━*\n👤 {{from}}\n📋 {{subject}}\n🕐 {{date}}\n📂 Category: {{classificationCapitalized}}\n\n{{body}}\n\n🔗 Links found:\nhttps://...\n\n*━━━━━━━━━━━━*\n\nOTHER RULES:\n- Keep all numbers/codes exactly.\n- No Pinterest or spam messages ever.\n- If activation/verify email has no link → forward full body anyway.\n- Only output the formatted WhatsApp message (no extra text, no JSON).\n\nIf duplicate → ⚠️ لا توجد رسائل جديدة only.\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "a08000de-0200-446c-9d02-94709c956215",
      "name": "Google Gemini 채팅 모델3",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        640,
        864
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "Google Gemini API Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9f2e63ba-5271-4637-a414-f13bbbc50b92",
      "name": "Outlook 비즈니스 데이터 파싱",
      "type": "n8n-nodes-base.code",
      "position": [
        336,
        720
      ],
      "parameters": {
        "jsCode": "// 📨 استلام أول رسالة من Outlook Trigger\nconst emailArray = $input.all();\nif (!emailArray.length) throw new Error('No email data received');\nconst email = emailArray[0].json;\n\n// 🧩 Decode HTML entities\nfunction decodeHtmlEntities(text) {\n  if (!text) return '';\n  const entities = {\n    '&nbsp;': ' ',\n    '&amp;': '&',\n    '&quot;': '\"',\n    ''': \"'\",\n    '&lt;': '<',\n    '&gt;': '>',\n  };\n  return text.replace(/&[a-z#0-9]+;/gi, m => entities[m] || m);\n}\n\n// 📨 Extract and clean body\nlet body = '';\nif (email.body?.content) {\n  if (email.body.contentType === 'html') {\n    body = decodeHtmlEntities(\n      email.body.content\n        .replace(/<style[\\s\\S]*?<\\/style>/gi, '')\n        .replace(/<script[\\s\\S]*?<\\/script>/gi, '')\n        .replace(/<[^>]+>/g, '\\n')\n        .replace(/\\n\\s*\\n+/g, '\\n')\n        .replace(/\\s{2,}/g, ' ')\n        .replace(/\\u200B/g, '')\n        .trim()\n    );\n  } else {\n    body = decodeHtmlEntities(email.body.content.trim());\n  }\n}\nif (!body && email.bodyPreview) body = decodeHtmlEntities(email.bodyPreview);\nif (!body) body = 'No message content found';\n\n// 🧠 Classification\nconst classification = email.inferenceClassification?.toLowerCase() || 'other';\nconst categoryLine = `📂 Category: ${classification.charAt(0).toUpperCase() + classification.slice(1)}`;\n\n// 🗓️ Format date\nconst date = email.receivedDateTime\n  ? new Date(email.receivedDateTime).toLocaleString('ar-SA', {\n      year: 'numeric',\n      month: 'long',\n      day: 'numeric',\n      hour: '2-digit',\n      minute: '2-digit'\n    })\n  : 'Unknown date';\n\n// ✅ Output simplified JSON\nreturn [\n  {\n    json: {\n      id: email.id,\n      from: `${email.from?.emailAddress?.name || 'Unknown'} <${email.from?.emailAddress?.address || 'Unknown'}>`,\n      subject: email.subject || 'No Subject',\n      date,\n      classification,\n      body: `${categoryLine}\\n\\n${body}`,\n      rawHtml: email.body?.contentType === 'html' ? email.body.content : ''\n    }\n  }\n];\n"
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "59be9e86-117b-4e64-82ed-0ff4d7f90432",
      "name": "WhatsApp으로 전송 (Outlook 비즈니스)",
      "type": "n8n-nodes-evolution-api-en.evolutionApi",
      "position": [
        1200,
        720
      ],
      "parameters": {
        "resource": "messages-api",
        "remoteJid": "YOUR_BUSINESS_WHATSAPP@s.whatsapp.net",
        "messageText": "={{ $json.output }}",
        "instanceName": "YourInstanceName",
        "options_message": {}
      },
      "credentials": {
        "evolutionApi": {
          "name": "Evolution API Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b456d602-7144-4d30-bff6-a0760b93c74d",
      "name": "Microsoft Outlook 트리거1",
      "type": "n8n-nodes-base.microsoftOutlookTrigger",
      "position": [
        -16,
        720
      ],
      "parameters": {
        "output": "raw",
        "filters": {},
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "Microsoft Outlook OAuth2 Account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "88861f50-f36a-4dc5-9753-30830df1e4b9",
      "name": "읽음 표시 (Outlook 비즈니스)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        160,
        720
      ],
      "parameters": {
        "url": "=https://graph.microsoft.com/v1.0/me/messages/{{$json[\"id\"]}}",
        "method": "PATCH",
        "options": {},
        "jsonBody": "{\n  \"isRead\": true\n}\n",
        "sendBody": true,
        "jsonHeaders": "={\n  \"Content-Type\": \"application/json\"\n}\n",
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "specifyHeaders": "json",
        "nodeCredentialType": "microsoftOutlookOAuth2Api"
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "Microsoft Outlook OAuth2 Account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "87cbb822-ad87-4f49-89fc-fdc7376552e6",
      "name": "읽음 표시 (Outlook 개인)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        176,
        432
      ],
      "parameters": {
        "url": "=https://graph.microsoft.com/v1.0/me/messages/{{$json[\"id\"]}}",
        "method": "PATCH",
        "options": {},
        "jsonBody": "{\n  \"isRead\": true\n}\n",
        "sendBody": true,
        "jsonHeaders": "={\n  \"Content-Type\": \"application/json\"\n}\n",
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "specifyHeaders": "json",
        "nodeCredentialType": "microsoftOutlookOAuth2Api"
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "name": "Microsoft Outlook OAuth2 Account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c7d231b7-4959-4588-afd9-15e661a4843c",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -384
      ],
      "parameters": {
        "width": 1376,
        "height": 1616,
        "content": "📧 EMAIL TO WHATSAPP AUTOMATION\n================================\nAI-powered multi-account email forwarding to WhatsApp\n\n🚀 FEATURES:\n• Gmail + 2 Outlook accounts\n• AI filtering with Google Gemini  \n• Automatic Arabic translation\n• Security email prioritization\n• Spam filtering\n\n⚙️ SETUP REQUIRED:\n1. Add 4 credentials (Gmail, Outlook, Gemini, Evolution API)\n2. Update WhatsApp numbers in send nodes\n3. Replace \"YourInstanceName\" with your Evolution API instance\n4. Customize approved emails in AI Agent prompts\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6aacb364-caab-41a2-85b7-5e85c15783b8",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        128
      ],
      "parameters": {
        "width": 544,
        "height": 176,
        "content": "📬 GMAIL → WHATSAPP\n===================\nMonitors Gmail → AI filters → Sends to WhatsApp\n\nSetup:\n• Gmail OAuth2 credential\n• Update phone in \"Send to WhatsApp (Gmail)\" node\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4a0d060f-bd4e-4538-89cf-04890dd28ccc",
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        432
      ],
      "parameters": {
        "width": 544,
        "height": 208,
        "content": "📬 OUTLOOK PERSONAL → WHATSAPP\n==============================\nMonitors personal account\n\nSetup:\n• Same Outlook credential\n• Update phone in \"Send to WhatsApp (Outlook Personal)\" node\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e6ce8653-5192-43de-b3ef-707871c88aac",
      "name": "스티키 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        640
      ],
      "parameters": {
        "width": 544,
        "height": 208,
        "content": "📬 OUTLOOK BUSINESS → WHATSAPP\n==============================\nMonitors business account\n\nSetup:\n• Outlook OAuth2 credential\n• Update phone in \"Send to WhatsApp (Outlook Business)\" node\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "template-ready-final",
  "connections": {
    "015bf9ca-42dc-4f5f-a7aa-60dbc0a0c2a9": {
      "main": [
        [
          {
            "node": "19fd23b5-1cbe-43e2-8373-00a082f096cd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "19fd23b5-1cbe-43e2-8373-00a082f096cd": {
      "main": [
        [
          {
            "node": "b02ca228-1a77-4425-b49b-8a90edf0bc85",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a88ba984-3fda-4915-a4b5-51be459d891d": {
      "ai_languageModel": [
        [
          {
            "node": "b02ca228-1a77-4425-b49b-8a90edf0bc85",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "7aa39c16-4b4a-43be-ae36-5098d28ebe13": {
      "ai_languageModel": [
        [
          {
            "node": "52a45c12-271f-4592-91f1-0a3f9f47b3a7",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "a08000de-0200-446c-9d02-94709c956215": {
      "ai_languageModel": [
        [
          {
            "node": "84113157-9f7c-4138-81f7-fc9b767afbe1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "9ee77eed-b447-441d-9ad8-eec3850591db": {
      "main": [
        [
          {
            "node": "87cbb822-ad87-4f49-89fc-fdc7376552e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b456d602-7144-4d30-bff6-a0760b93c74d": {
      "main": [
        [
          {
            "node": "88861f50-f36a-4dc5-9753-30830df1e4b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9f2e63ba-5271-4637-a414-f13bbbc50b92": {
      "main": [
        [
          {
            "node": "84113157-9f7c-4138-81f7-fc9b767afbe1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8c7582a2-2e1b-45e9-9da5-ed95a6e03210": {
      "main": [
        [
          {
            "node": "52a45c12-271f-4592-91f1-0a3f9f47b3a7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b02ca228-1a77-4425-b49b-8a90edf0bc85": {
      "main": [
        [
          {
            "node": "a4fcf610-1624-4966-82ee-85c51f67ab77",
            "type": "main",
            "index": 0
          },
          {
            "node": "7d4fb53a-d9b9-4926-a31e-43e2fddffc58",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "88861f50-f36a-4dc5-9753-30830df1e4b9": {
      "main": [
        [
          {
            "node": "9f2e63ba-5271-4637-a414-f13bbbc50b92",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "87cbb822-ad87-4f49-89fc-fdc7376552e6": {
      "main": [
        [
          {
            "node": "8c7582a2-2e1b-45e9-9da5-ed95a6e03210",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "84113157-9f7c-4138-81f7-fc9b767afbe1": {
      "main": [
        [
          {
            "node": "59be9e86-117b-4e64-82ed-0ff4d7f90432",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "52a45c12-271f-4592-91f1-0a3f9f47b3a7": {
      "main": [
        [
          {
            "node": "2bdfebb3-4f9e-4fd3-a721-74ea8cfe8556",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

고급 - 개인 생산성, AI 요약

유료인가요?

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

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

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34