دسته‌بندی خودکار ایمیل جیمیل با GPT-4o و هشدار Slack

دسته‌بندی خودکار ایمیل جیمیل با GPT-4o و هشدار Slack

10 دقیقه مطالعه · منتشر شده ۱۴۰۵/۵/۶

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 7643 · منبع: کاتالوگ Pixori

دسته‌بندی خودکار ایمیل‌های جیمیل با GPT-4o و ارسال هشدارهای اولویت‌بندی شده Slack

این گردش کار، پردازش ایمیل‌های خوانده نشده جیمیل را با استفاده از GPT-4o برای دسته‌بندی خودکار می‌کند. سپس بر اساس دسته بندی و اولویت ایمیل، تیم‌های مربوطه را از طریق Slack مطلع و هدایت می‌کند. این روش برای سازمان‌هایی که حجم بالایی از ایمیل‌های متنوع (مانند درخواست‌های فروش، درخواست‌های پشتیبانی فنی، سوالات صورتحساب، شکایات) دریافت می‌کنند و نیاز به روشی کارآمد برای اولویت‌بندی و توزیع آن‌ها برای پیگیری به موقع دارند، ایده‌آل است.

شما می‌توانید این گردش کار و سایر گردش کارهای قدرتمند را در کاتالوگ Axeto بیابید: https://axeto.ai/n8n

تشریح گردش کار (Workflow Breakdown)

این گردش کار به بلوک‌های عملکردی زیر تقسیم می‌شود:

1. تشخیص ایمیل: زمانی که یک ایمیل جدید خوانده نشده در Gmail دریافت می‌شود، فعال شده و محتوای کامل آن را بازیابی می‌کند.

2. تحلیل هوش مصنوعی: از یک عامل هوش مصنوعی مبتنی بر GPT-4o برای دسته‌بندی، اولویت‌بندی و خلاصه‌سازی محتوای ایمیل استفاده می‌کند.

3. ساختاردهی داده: خروجی هوش مصنوعی را به یک فرمت JSON سازگار برای پردازش قابل اعتماد تجزیه می‌کند.

4. منطق مسیریابی: دسته‌بندی تعیین شده توسط هوش مصنوعی را به کانال‌ها یا کاربران خاص Slack نگاشت می‌کند.

5. اعلان Slack: یک هشدار اولویت‌بندی شده به کانال Slack مناسب ارسال می‌کند.

---

۱. تشخیص ایمیل

این بلوک مسئول شناسایی ایمیل‌های جدید خوانده نشده در صندوق ورودی Gmail شما و دریافت محتوای کامل آن‌ها برای تحلیل بیشتر است.

  • Node ها:

* Trigger on Unread Email (Gmail Trigger)

* Get Email (Gmail)

  • جزئیات Node:

* Trigger on Unread Email (Gmail Trigger)

* هدف: صندوق ورودی Gmail شما را به طور مداوم برای ایمیل‌های جدید و خوانده نشده نظارت می‌کند.

* پیکربندی: برای بررسی هر دقیقه و فیلتر کردن فقط پیام‌های خوانده نشده تنظیم شده است.

* خروجی: فراداده (metadata) را برای هر ایمیل خوانده نشده جدید، از جمله شناسه پیام منحصر به فرد آن، منتشر می‌کند.

* ملاحظات: مراقب محدودیت‌های نرخ (rate limits) API Gmail باشید. اگر ایمیل جدیدی یافت نشود، گردش کار فعال نخواهد شد.

* Get Email (Gmail)

* هدف: محتوای کامل یک ایمیل را با استفاده از شناسه پیام آن بازیابی می‌کند.

* پیکربندی: از شناسه پیام به صورت پویا از Node Trigger on Unread Email استفاده می‌کند. اطمینان حاصل کنید که "Simple" روی false تنظیم شده است تا بدنه کامل ایمیل، هدرها و غیره بازیابی شود.

* ورودی: شناسه پیام را از Node trigger دریافت می‌کند.

* خروجی: داده‌های جامع ایمیل، از جمله موضوع، بدنه متن ساده و هدرها را ارائه می‌دهد.

* ملاحظات: ممکن است ایمیل‌ها قبل از بازیابی حذف یا جابجا شوند. خطاهای API یا بازیابی ناقص محتوا، موارد لبه (edge cases) احتمالی هستند.

---

۲. تحلیل هوش مصنوعی

این بلوک از GPT-4o برای تجزیه و تحلیل موضوع و بدنه ایمیل، دسته‌بندی آن، تخصیص اولویت و تولید خلاصه‌ای مختصر با دلیل استفاده می‌کند.

  • Node ها:

* AI Agent (Langchain Agent)

* OpenAI Chat Model (Langchain OpenAI Chat Model)

* Structured Output Parser (Langchain Output Parser Structured)

  • جزئیات Node:

* AI Agent (Langchain Agent)

* هدف: یک prompt دقیق برای مدل زبان می‌سازد، موضوع و بدنه ایمیل را در بر می‌گیرد و خروجی JSON ساختاریافته را درخواست می‌کند.

* پیکربندی:

* Prompt به مدل دستور می‌دهد تا یک دسته بندی واحد از یک لیست از پیش تعریف شده و یک سطح اولویت را اختصاص دهد.

* فقط برای خروجی JSON فشرده (minified) پیکربندی شده است.

* منطقی را برای استخراج آدرس ایمیل فرستنده از فیلدهای بالقوه مختلف شامل می‌شود.

* ورودی: داده‌های کامل ایمیل را از Node Get Email دریافت می‌کند.

* خروجی: خروجی خام تولید شده توسط هوش مصنوعی را به مدل زبان و تجزیه‌کننده خروجی ارسال می‌کند.

* ملاحظات: مشکلات احتمالی شامل خروجی نامعتبر هوش مصنوعی، خرابی prompt، timeout های API یا متن بدنه ایمیل گمشده است.

* OpenAI Chat Model (Langchain OpenAI Chat Model)

* هدف: prompt را با استفاده از مدل GPT-4o-mini اجرا می‌کند تا پاسخ هوش مصنوعی را تولید کند.

* پیکربندی: به طور صریح برای استفاده از مدل "gpt-4o-mini" تنظیم شده است.

* ورودی: prompt را از Node AI Agent دریافت می‌کند.

* خروجی: پاسخ هوش مصنوعی را برای تجزیه به Node AI Agent باز می‌فرستد.

* ملاحظات: محدودیت‌های سهمیه API، خطاهای شبکه یا در دسترس نبودن مدل می‌تواند بر عملکرد تأثیر بگذارد.

* Structured Output Parser (Langchain Output Parser Structured)

* هدف: خروجی JSON هوش مصنوعی را در برابر یک طرحواره (schema) سختگیرانه اعتبارسنجی و تجزیه می‌کند و از یکپارچگی داده اطمینان حاصل می‌کند.

* پیکربندی: طرحواره انتظار فیلدهای خاصی را دارد: category (enum)، priority (enum)، summary، reason، subject و from. این طرحواره تضمین می‌کند که فقط این خصوصیات وجود دارند و تمام فیلدهای مورد نیاز گنجانده شده‌اند.

* ورودی: خروجی JSON خام هوش مصنوعی را از AI Agent و OpenAI Chat Model دریافت می‌کند.

* خروجی: یک شیء JSON معتبر و ساختاریافته.

* ملاحظات: خطاهای تجزیه ممکن است در صورتی رخ دهد که خروجی هوش مصنوعی با طرحواره مطابقت نداشته باشد، یا اگر فیلدهای مورد نیاز گمشده باشند.

---

۳. منطق مسیریابی

این بلوک دسته‌بندی‌های ایمیل شناسایی شده توسط هوش مصنوعی را به برچسب‌های کاربرپسند و شناسه‌های کانال Slack خاص نگاشت می‌کند و داده‌ها را برای مسیریابی اعلان آماده می‌کند.

  • Node ها:

* Routing Map (Set)

  • جزئیات Node:

* Routing Map (Set)

* هدف: یک برچسب قابل فهم برای انسان و شناسه کانال Slack مناسب را بر اساس دسته بندی ایمیل تجزیه شده تعیین می‌کند.

* پیکربندی: از عبارات شرطی بر روی فیلد output.category برای تخصیص استفاده می‌کند:

* label: به عنوان مثال، "Sales"، "Support"، "Billing"، "Complaint".

* slackChannel: شناسه کانال Slack یا شناسه کاربر خاص برای هر دسته.

* سایر فیلدها بدون تغییر عبور داده می‌شوند.

* ورودی: داده‌های JSON تجزیه شده از Structured Output Parser را دریافت می‌کند.

* خروجی: داده‌های JSON غنی شده حاوی اطلاعات مسیریابی برای Slack.

* ملاحظات: مقادیر دسته بندی غیرمنتظره به کانال پیش‌فرض "Complaint" هدایت می‌شوند. یک دسته بندی گمشده نیز یک fallback را فعال می‌کند.

---

۴. اعلان Slack

این بلوک نهایی یک پیام هشدار مختصر را به کانال یا کاربر Slack تعیین شده قالب‌بندی و ارسال می‌کند، شامل اولویت و خلاصه ایمیل.

  • Node ها:

* Send Notification to Slack (Slack)

  • جزئیات Node:

* Send Notification to Slack (Slack)

* هدف: یک پیام اعلان قالب‌بندی شده را به کانال یا کاربر Slack مناسب ارسال می‌کند.

* پیکربندی:

* محتوای پیام شامل فیلدهای اولویت، فرستنده، خلاصه و دلیل مشتق شده از تحلیل هوش مصنوعی است.

* گیرنده به صورت پویا با استفاده از فیلد slackChannel که در Node Routing Map تعیین شده است، تنظیم می‌شود.

* نیاز به احراز هویت OAuth2 برای API Slack دارد.

* ورودی: داده‌های غنی شده را از Node Routing Map دریافت می‌کند.

* خروجی: پاسخ API Slack، تأیید کننده ارسال پیام.

* ملاحظات: محدودیت‌های نرخ API Slack، شناسه‌های کانال/کاربر نامعتبر، توکن‌های احراز هویت منقضی شده یا مشکلات شبکه می‌تواند از تحویل پیام جلوگیری کند.

---

خلاصه گردش کار (Workflow)

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))
Trigger on Unread EmailGmail Triggerتشخیص ایمیل‌های خوانده نشدهNoneGet Email
Get EmailGmailبازیابی محتوای کامل ایمیلTrigger on Unread EmailAI Agent
AI AgentLangchain Agentتولید خروجی دسته‌بندی شده با هوش مصنوعیGet EmailStructured Output Parser, OpenAI Chat Model
OpenAI Chat ModelLangchain OpenAI Chat Modelاجرای مدل GPT-4oAI AgentAI Agent
Structured Output ParserLangchain Output Parser Structuredاعتبارسنجی خروجی JSON هوش مصنوعیAI Agent, OpenAI Chat ModelRouting Map
Routing MapSetنگاشت دسته بندی به کانال SlackStructured Output ParserSend Notification to Slack
Send Notification to SlackSlackارسال اعلان به SlackRouting MapNone

---

ساخت گردش کار

برای بازسازی این گردش کار از ابتدا، مراحل زیر را دنبال کنید:

1. افزودن Trigger on Unread Email (Gmail Trigger):

* آن را برای تشخیص فقط ایمیل‌های خوانده نشده پیکربندی کنید.

* بازه زمانی بررسی را روی یک دقیقه تنظیم کنید.

* از تنظیم بودن اعتبارنامه‌های OAuth2 جیمیل خود اطمینان حاصل کنید.

2. افزودن Get Email (Gmail):

* عملیات را روی Get تنظیم کنید.

* برای Message ID، از عبارت {{$json.id}} استفاده کنید تا آن را به صورت پویا از خروجی تریگر دریافت کنید.

* Simple را روی false تنظیم کنید تا محتوای کامل ایمیل بازیابی شود.

* خروجی گره Trigger on Unread Email را به این گره متصل کنید.

3. افزودن AI Agent (Langchain Agent):

* یک اعلان متنی دقیق بنویسید که هوش مصنوعی را برای دسته‌بندی ایمیل در قالب JSON با فیلدهای زیر راهنمایی کند: category, from, subject, priority, summary, و reason.

* از عبارت {{$json.textPlain || $json.text || ''}} برای استخراج متن اصلی ایمیل استفاده کنید.

* تجزیه‌کننده خروجی را فعال کنید.

* خروجی گره Get Email را به این گره متصل کنید.

4. افزودن OpenAI Chat Model (Langchain OpenAI Chat Model):

* "gpt-4o-mini" را به عنوان مدل انتخاب کنید.

* خروجی ai_languageModel از گره AI Agent را به ورودی این گره متصل کنید.

* اعتبارنامه‌های کلید API OpenAI خود را پیکربندی کنید.

5. افزودن Structured Output Parser (Langchain Output Parser Structured):

* یک طرحواره JSON دستی تعریف کنید که شامل فیلدهای مورد نیاز (category, priority, summary, reason, subject, from) و انواع enum مربوطه در صورت لزوم، همانطور که در اعلان هوش مصنوعی استفاده شده است، باشد.

* خروجی ai_outputParser از گره AI Agent را به این گره متصل کنید.

6. افزودن Routing Map (Set):

* دو فیلد جدید ایجاد کنید:

* label: از منطق شرطی بر اساس output.category برای اختصاص یک برچسب قابل فهم برای انسان (مانند "Sales", "Support") استفاده کنید.

* slackChannel: از منطق شرطی بر اساس output.category برای اختصاص شناسه کانال یا شناسه کاربر مربوطه در Slack استفاده کنید.

* اطمینان حاصل کنید که تمام فیلدهای دیگر از گره قبلی منتقل می‌شوند.

* خروجی گره Structured Output Parser را به این گره متصل کنید.

7. افزودن Send Notification to Slack (Slack):

* اعتبارنامه‌های OAuth2 Slack خود را پیکربندی کنید.

* متن پیام را با استفاده از عبارات برای گنجاندن فیلدهای priority, from, summary, و reason بسازید.

* گیرنده را به صورت پویا با استفاده از عبارت {{$json.slackChannel}} تنظیم کنید.

* خروجی گره Routing Map را به این گره متصل کنید.

8. تست و فعال‌سازی:

* تأیید کنید که تمام اعتبارنامه‌ها (Gmail, OpenAI, Slack) به درستی پیکربندی شده و معتبر هستند.

* یک ایمیل آزمایشی به حساب جیمیل خود ارسال کنید تا گردش کار فعال شود.

* پس از تأیید کارکرد، گردش کار را برای خودکارسازی پردازش ایمیل خود فعال کنید.

نکات مهم و منابع

نکتهزمینه / لینک
شناسه کانال Slack: برای یافتن شناسه کانال Slack، می‌توانید از ابزارهای توسعه‌دهنده Slack یا جستجو در کانال‌های عمومی استفاده کنید.راهنمای Slack برای یافتن شناسه کانال
محدودیت‌های API: هنگام استفاده از APIهای Gmail، OpenAI و Slack، مراقب محدودیت‌های نرخ و سهمیه‌ها باشید تا از قطع سرویس جلوگیری شود.مستندات API Gmail <br> مستندات API OpenAI <br> مستندات API Slack
مدل GPT-4o-mini: این مدل تعادل خوبی بین هزینه و عملکرد برای وظایف پردازش زبان طبیعی ارائه می‌دهد.مدل‌های OpenAI
Langchain: این کتابخانه ابزارهای قدرتمندی برای ساخت برنامه‌های کاربردی مبتنی بر مدل‌های زبان بزرگ فراهم می‌کند.مستندات Langchain

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه ایمیل‌های جیمیل را دسته‌بندی می‌کند؟

این گردش کار از مدل GPT-4o برای تجزیه و تحلیل محتوای ایمیل (موضوع و بدنه) استفاده می‌کند تا آن را به یک دسته از پیش تعریف شده اختصاص دهد و سطح اولویت آن را تعیین کند.

چه نوع هشدارهایی از طریق Slack ارسال می‌شود؟

پس از دسته‌بندی و اولویت‌بندی ایمیل توسط GPT-4o، گردش کار یک هشدار اولویت‌بندی شده به کانال Slack مربوطه ارسال می‌کند تا تیم مناسب را از محتوای ایمیل مطلع سازد.

آیا این گردش کار برای حجم بالای ایمیل مناسب است؟

بله، این گردش کار برای سازمان‌هایی که حجم بالایی از ایمیل‌های متنوع دریافت می‌کنند ایده‌آل است، زیرا به طور خودکار آن‌ها را اولویت‌بندی و به تیم‌های مربوطه هدایت می‌کند.

چه ابزارهایی در این گردش کار استفاده شده است؟

این گردش کار از گره‌های n8n برای Gmail و Slack، و همچنین از مدل‌های Langchain با GPT-4o برای تحلیل هوش مصنوعی و تجزیه خروجی استفاده می‌کند.

workflowهای مرتبط

این workflow در کاتالوگ Pixori.me بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.