آماده‌سازی جلسات با هوش مصنوعی: تقویم گوگل، Attio CRM و Slack

آماده‌سازی جلسات با هوش مصنوعی: تقویم گوگل، Attio CRM و Slack

14 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷

دانلود workflow

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

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

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

تحلیل دقیق گردش کار

۱. تریگر و دریافت تقویم

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

  • تریگر زمان‌بندی (Schedule Trigger)

* نوع: scheduleTrigger

* پیکربندی: عبارت Cron تنظیم شده برای اجرا از دوشنبه تا جمعه ساعت ۶ صبح.

* ورودی‌ها: ندارد.

* خروجی‌ها: گره "دریافت رویدادهای متعدد" (Get many events) را فعال می‌کند.

* ملاحظات: از صحت پیکربندی منطقه زمانی برای تریگر اطمینان حاصل کنید.

  • دریافت رویدادهای متعدد (Get many events)

* نوع: googleCalendar

* پیکربندی: تمام رویدادهای روز جاری را از یک Google Calendar مشخص دریافت می‌کند.

* ورودی‌ها: تریگر از گره "تریگر زمان‌بندی" (Schedule Trigger).

* خروجی‌ها: تمام رویدادهای تقویم برای روز.

* ملاحظات: نیاز به اعتبارنامه OAuth معتبر Google Calendar دارد. محدودیت‌های نرخ API و انقضای احتمالی توکن OAuth را رصد کنید.

۲. فیلتر کردن و انشعاب

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

  • فیلتر جلسات خارجی (Filter External Meetings)

* نوع: filter

* پیکربندی: رویدادها را فیلتر می‌کند تا فقط مواردی که دارای آرایه "attendees" هستند (نشان‌دهنده شرکت‌کنندگان خارجی) را شامل شود.

* ورودی‌ها: تمام رویدادهای تقویم از گره "دریافت رویدادهای متعدد" (Get many events).

* خروجی‌ها: رویدادهایی که شرکت‌کننده دارند.

* ملاحظات: داده‌های احتمالی رویداد ناقص را مدیریت می‌کند.

  • آیا جلسات خارجی وجود دارد؟ (Has External Meetings?)

* نوع: if

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

* ورودی‌ها: رویدادهای فیلتر شده از "فیلتر جلسات خارجی" (Filter External Meetings).

* خروجی‌ها:

* بله: به مرحله تحقیق با هوش مصنوعی می‌رود.

* خیر: پیامی مبنی بر "عدم وجود جلسه" از طریق Slack ارسال می‌کند.

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

  • پیام عدم وجود جلسه (No Meetings Message)

* نوع: slack

* پیکربندی: پیامی را به یک کانال Slack پیکربندی شده ارسال می‌کند که نشان می‌دهد هیچ جلسه خارجی برای آن روز برنامه‌ریزی نشده است.

* ورودی‌ها: توسط شاخه "خیر" گره "آیا جلسات خارجی وجود دارد؟" (Has External Meetings?) فعال می‌شود.

* خروجی‌ها: ندارد (پایان این شاخه).

* ملاحظات: نیاز به اعتبارنامه OAuth معتبر Slack دارد. اطمینان حاصل کنید که کانال هدف وجود دارد.

۳. تحقیق با هوش مصنوعی در مورد شرکت‌کنندگان

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

  • تقسیم رویدادها برای پردازش فردی (Split Events for Individual Processing)

* نوع: splitOut

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

* ورودی‌ها: جلسات خارجی فیلتر شده از "آیا جلسات خارجی وجود دارد؟" (Has External Meetings?).

* خروجی‌ها: یک شیء جلسه در هر اجرا.

* ملاحظات: لیست‌های ورودی خالی را مدیریت می‌کند.

  • عامل هوش مصنوعی - تحقیق جلسه (AI Agent - Meeting Research)

* نوع: langchain:agent (دستیار هوش مصنوعی)

* پیکربندی: یک پرامپت به هوش مصنوعی دستور می‌دهد تا جزئیات جلسه، شرکت‌کنندگان، شرکت‌ها، تعاملات گذشته و اهداف را تحقیق کرده و یک گزارش جامع تولید کند.

* ورودی‌ها: داده‌های جلسه فردی.

* خروجی‌ها: نتایج تحقیق (مثلاً markdown یا JSON).

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

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

* ملاحظات: احتمال بروز مشکلاتی مانند timeout مدل هوش مصنوعی، داده‌های ناقص یا محدودیت‌های API وجود دارد.

  • مدل چت OpenRouter (OpenRouter Chat Model)

* نوع: langchain:llm:openrouter

* پیکربندی: به عنوان بک‌اند مدل زبان هوش مصنوعی برای گره "عامل هوش مصنوعی - تحقیق جلسه" (AI Agent - Meeting Research) عمل می‌کند.

* ورودی‌ها: پرامپت از عامل هوش مصنوعی.

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

* ملاحظات: مشمول محدودیت‌های کلید API OpenRouter و تأخیر است.

  • جستجوی تاریخچه Gmail (Search Gmail History)

* نوع: gmailTool

* پیکربندی: Gmail را برای یافتن تعاملات ایمیلی گذشته مرتبط با زمینه جلسه جستجو می‌کند.

* ورودی‌ها: کوئری‌های پویا که توسط عامل هوش مصنوعی تولید شده‌اند.

* خروجی‌ها: داده‌های رشته ایمیل.

* ملاحظات: نیاز به اعتبارنامه OAuth معتبر Gmail دارد. از صحت نحو کوئری اطمینان حاصل کنید.

  • ابزار جستجوی وب (Web Search Tool)

* نوع: httpRequest (اغلب از طریق یک wrapper ابزار هوش مصنوعی یکپارچه می‌شود)

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

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

* خروجی‌ها: نتایج جستجوی وب.

* ملاحظات: استفاده محدود در هر اجرا. احتمال شکست API یا محدودیت‌های نرخ وجود دارد.

  • جستجو در CRM Attio (Search Attio CRM)

* نوع: httpRequest

* پیکربندی: یک درخواست POST به API CRM Attio ارسال می‌کند تا یک شخص را بر اساس آدرس ایمیل او پیدا کند.

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

* خروجی‌ها: داده‌های تماس CRM Attio یا یک پاسخ خالی در صورت عدم یافتن تطابق.

* ملاحظات: نیاز به احراز هویت API Attio دارد. مواردی را که هیچ مخاطبی وجود ندارد مدیریت می‌کند.

  • جستجوی داده‌های شرکت Apollo (Search Apollo Company Data)

* نوع: httpRequest

* پیکربندی: درخواستی را به API Apollo.io ارسال می‌کند تا اطلاعات شرکت را بر اساس پارامترهای ارائه شده توسط عامل هوش مصنوعی بازیابی کند.

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

* خروجی‌ها: داده‌های شرکت (مانند صنعت، اندازه، درآمد).

* ملاحظات: نیاز به کلید API Apollo.io دارد. سناریوهای داده‌های گمشده را مدیریت می‌کند.

  • پاکسازی محتوای تحقیق جلسه (Clean Meeting Research Content)

* نوع: code

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

* ورودی‌ها: خروجی‌های تحقیق خام از عامل هوش مصنوعی.

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

* ملاحظات: متن ورودی خالی یا ناقص را مدیریت می‌کند.

۴. مدیریت مخاطبین CRM

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

  • استخراج شرکت‌کنندگان خارجی (Extract External Attendees)

* نوع: set

* پیکربندی: یک فیلد جدید "attendees" ایجاد می‌کند که فقط شامل شرکت‌کنندگان خارجی (به استثنای ایمیل خود کاربر) است.

* ورودی‌ها: محتوای تحقیق پاکسازی شده (همراه با داده‌های جلسه).

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

* ملاحظات: مواردی را که شرکت‌کننده خارجی وجود ندارد، مدیریت می‌کند.

  • تقسیم شرکت‌کنندگان برای بررسی CRM (Split Attendees for CRM Check)

* نوع: splitOut

* پیکربندی: آرایه "attendees" را تقسیم می‌کند تا هر شرکت‌کننده را به صورت جداگانه برای جستجو در CRM پردازش کند.

* ورودی‌ها: آرایه "attendees".

* خروجی‌ها: اشیاء شرکت‌کننده فردی.

* ملاحظات: لیست‌های شرکت‌کننده خالی را مدیریت می‌کند.

  • یافتن شخص در Attio (Find Person in Attio)

* نوع: httpRequest

* پیکربندی: یک درخواست POST به API Attio ارسال می‌کند تا یک شخص را با ایمیل جستجو کند و نتایج را به یک مورد محدود کند.

* ورودی‌ها: یک آدرس ایمیل شرکت‌کننده.

* خروجی‌ها: رکورد شخص CRM Attio یا یک پاسخ خالی.

* ملاحظات: نیاز به احراز هویت API Attio دارد. خطاها و سناریوهای عدم تطابق API را مدیریت می‌کند.

  • آیا شخص در CRM وجود دارد؟ (Person Exists in CRM?)

* نوع: if

* پیکربندی: بررسی می‌کند که آیا پاسخ "یافتن شخص در Attio" (Find Person in Attio) حاوی شناسه رکورد است یا خیر، که نشان‌دهنده وجود شخص در CRM است.

* ورودی‌ها: پاسخ از "یافتن شخص در Attio" (Find Person in Attio).

* خروجی‌ها:

* بله: به ادغام نتایج می‌رود.

* خیر: به ایجاد رکورد جدید می‌رود.

* ملاحظات: به تغییرات در فرمت پاسخ API Attio حساس است.

  • ایجاد رکورد شخص (Create Person Record)

* نوع: httpRequest

* پیکربندی: یک درخواست POST به API Attio برای ایجاد یک رکورد شخص جدید با استفاده از ایمیل شرکت‌کننده ارسال می‌کند.

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

* خروجی‌ها: داده‌های رکورد شخص تازه ایجاد شده.

* ملاحظات: نیاز به احراز هویت API Attio دارد. خطاهای احتمالی ایجاد رکورد تکراری یا اعتبارسنجی را مدیریت می‌کند.

  • ادغام نتایج CRM (Merge CRM Results)

* نوع: merge

* پیکربندی: نتایج شاخه‌های گره "آیا شخص در CRM وجود دارد؟" (Person Exists in CRM?) (چه داده‌های رکورد موجود و چه داده‌های رکورد تازه ایجاد شده) را ترکیب می‌کند.

* ورودی‌ها: خروجی از شاخه "بله" گره "آیا شخص در CRM وجود دارد؟" (Person Exists in CRM?) و خروجی از "ایجاد رکورد شخص" (Create Person Record).

* خروجی‌ها: یک شیء رکورد شخص یکپارچه.

* ملاحظات: تداخلات احتمالی ادغام را مدیریت می‌کند.

  • ایجاد یادداشت در مورد شخص (Create Note on Person)

* نوع: httpRequest

* پیکربندی: یک درخواست POST به نقطه پایانی یادداشت‌های API Attio ارسال می‌کند تا یک یادداشت جدید با عنوان "آماده‌سازی جلسه" (Meeting Prep) ایجاد کند. محتوای یادداشت، تحقیق پاکسازی شده است که به رکورد شخص مربوطه پیوند داده شده است.

* ورودی‌ها: شناسه رکورد شخص و محتوای تحقیق پاکسازی شده.

* خروجی‌ها: تأیید ایجاد یادداشت.

* ملاحظات: نیاز به احراز هویت API Attio دارد. خطاها و مشکلات رمزگذاری محتوا را مدیریت می‌کند.

۵. تدوین و تحویل خلاصه

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

  • جمع‌آوری نتایج تحقیق (Aggregate Research Results)

* نوع: aggregate

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

* ورودی‌ها: نتایج تحقیق پاکسازی شده از جلسات متعدد.

* خروجی‌ها: یک آرایه جمع‌آوری شده از خلاصه‌های تحقیق جلسه.

* ملاحظات: آرایه‌های ورودی خالی را مدیریت می‌کند.

  • قالب‌بندی خلاصه جلسه روزانه (Format Daily Meeting Brief)

* نوع: langchain:chain:llm

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

* ورودی‌ها: آرایه تحقیق جمع‌آوری شده.

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

* ملاحظات: اثربخشی به کیفیت پرامپت و تفسیر مدل هوش مصنوعی بستگی دارد.

  • مدل چت OpenRouter1 (OpenRouter Chat Model1)

* نوع: langchain:llm:openrouter

* پیکربندی: به عنوان بک‌اند مدل زبان هوش مصنوعی برای زنجیره "قالب‌بندی خلاصه جلسه روزانه" (Format Daily Meeting Brief) عمل می‌کند.

* ورودی‌ها: پرامپت از زنجیره قالب‌بندی.

* خروجی‌ها: متن نهایی قالب‌بندی شده.

* ملاحظات: مشمول محدودیت‌های کلید API OpenRouter و تأخیر است.

  • ارسال خلاصه روزانه به Slack (Send Daily Brief to Slack)

* نوع: slack

* پیکربندی: خلاصه روزانه نهایی قالب‌بندی شده را به کانال Slack پیکربندی شده ارسال می‌کند.

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

* خروجی‌ها: ندارد (پایان گردش کار).

* ملاحظات: نیاز به اعتبارنامه OAuth معتبر Slack دارد. اطمینان حاصل کنید که کانال هدف به درستی پیکربندی شده است.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود ورودی (Input Node(s))نود خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Schedule TriggerscheduleTriggerشروع گردش کار (Workflow initiation)NoneGet many eventsروزانه ساعت ۶ صبح، دوشنبه تا جمعه اجرا می‌شود.
Get many eventsgoogleCalendarدریافت رویدادهای تقویم روزانهSchedule TriggerFilter External Meetingsنیاز به Google Calendar OAuth دارد.
Filter External Meetingsfilterنگهداری فقط جلسات با شرکت‌کنندگانGet many eventsHas External Meetings?رویدادهای بدون شرکت‌کننده را فیلتر می‌کند.
Has External Meetings?ifانشعاب شرطی (Conditional branching)Filter External MeetingsSplit Events for Individual Processing / No Meetings Messageبررسی می‌کند که آیا جلسات خارجی برنامه‌ریزی شده‌اند یا خیر.
No Meetings Messageslackاطلاع‌رسانی در مورد عدم وجود جلسهHas External Meetings? (No)Noneیک اعلان به Slack ارسال می‌کند. نیاز به Slack OAuth دارد.
Split Events for Individual ProcessingsplitOutپردازش جلسات یک به یکHas External Meetings? (Yes)AI Agent - Meeting Researchآرایه جلسات را برای پردازش هوش مصنوعی جداگانه تقسیم می‌کند.
AI Agent - Meeting Researchlangchain:agentتحقیق مبتنی بر هوش مصنوعی در مورد شرکت‌کنندگان/شرکتSplit Events for Individual ProcessingClean Meeting Research Contentبا استفاده از ابزارهای مختلف تحقیق را هماهنگ می‌کند. ایمیل کاربر را از شرکت‌کنندگان حذف می‌کند.
OpenRouter Chat Modellangchain:llm:openrouterبک‌اند مدل زبان هوش مصنوعیAI Agent - Meeting ResearchAI Agent - Meeting Researchمنطق عامل هوش مصنوعی را تامین می‌کند.
Search Gmail HistorygmailToolبازیابی تاریخچه تعامل ایمیلAI Agent - Meeting ResearchAI Agent - Meeting Researchنیاز به Gmail OAuth دارد.
Web Search ToolhttpRequest (AI Tool)جمع‌آوری اطلاعات عمومی وبAI Agent - Meeting ResearchAI Agent - Meeting Researchاستفاده محدود.
Search Attio CRMhttpRequestیافتن مخاطبین در Attio CRMAI Agent - Meeting ResearchAI Agent - Meeting Researchنیاز به احراز هویت API Attio دارد.
Search Apollo Company DatahttpRequestدریافت جزئیات شرکت از ApolloAI Agent - Meeting ResearchAI Agent - Meeting Researchنیاز به کلید API Apollo.io دارد.
Clean Meeting Research Contentcodeقالب‌بندی خروجی هوش مصنوعیAI Agent - Meeting ResearchExtract External Attendeesمتن تولید شده توسط هوش مصنوعی را برای خوانایی بهتر تمیز می‌کند.
Extract External Attendeessetجداسازی شرکت‌کنندگان خارجیClean Meeting Research ContentSplit Attendees for CRM Checkیک فیلد اختصاصی برای شرکت‌کنندگان خارجی ایجاد می‌کند.
Split Attendees for CRM ChecksplitOutپردازش شرکت‌کنندگان به صورت جداگانهExtract External AttendeesFind Person in Attioبرای بررسی CRM، هر شرکت‌کننده را تکرار می‌کند.
Find Person in AttiohttpRequestبررسی وجود شرکت‌کننده در AttioSplit Attendees for CRM CheckPerson Exists in CRM?با ایمیل در Attio CRM جستجو می‌کند.
Person Exists in CRM?ifمنطق شرطی برای به‌روزرسانی CRMFind Person in AttioMerge CRM Results / Create Person Recordتعیین می‌کند که آیا نیاز به ایجاد رکورد جدید است یا خیر.
Create Person RecordhttpRequestافزودن مخاطب جدید به Attio CRMPerson Exists in CRM? (No)Merge CRM Resultsدر صورت عدم یافتن مخاطب، رکورد جدید Attio CRM را ایجاد می‌کند. نیاز به Attio API دارد.
Merge CRM Resultsmergeادغام داده‌های CRMPerson Exists in CRM? (Yes) / Create Person RecordCreate Note on Personداده‌ها را از رکوردهای CRM موجود یا تازه ایجاد شده ترکیب می‌کند.
Create Note on PersonhttpRequestافزودن یادداشت آماده‌سازی جلسه به AttioMerge CRM ResultsAggregate Research Resultsتحقیقات پاکسازی شده را به عنوان یک یادداشت به مخاطب Attio پیوند می‌دهد. نیاز به Attio API دارد.
Aggregate Research Resultsaggregateترکیب تحقیقات از همه جلساتCreate Note on PersonFormat Daily Meeting Briefتمام تحقیقات جلسات فردی را در یک لیست واحد جمع‌آوری می‌کند.
Format Daily Meeting Brieflangchain:chain:llmقالب‌بندی خلاصه مبتنی بر هوش مصنوعیAggregate Research ResultsSend Daily Brief to Slackتحقیقات تجمیع شده را در یک پیام مختصر Slack سازماندهی می‌کند.
OpenRouter Chat Model1langchain:llm:openrouterبک‌اند مدل زبان هوش مصنوعیFormat Daily Meeting BriefFormat Daily Meeting Briefهوش مصنوعی قالب‌بندی خلاصه را تامین می‌کند.
Send Daily Brief to Slackslackتحویل خلاصه جلسهFormat Daily Meeting BriefNoneخلاصه نهایی را به Slack ارسال می‌کند. نیاز به Slack OAuth دارد.
Sticky NotestickyNoteنمای کلی گردش کارNoneNoneمستندات و زمینه را در بوم n8n فراهم می‌کند.

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

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

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

این گردش کار به طور خودکار جلسات برنامه‌ریزی شده در Google Calendar شما را شناسایی کرده و با استفاده از هوش مصنوعی، اطلاعاتی در مورد شرکت‌کنندگان و شرکت‌های آن‌ها از Attio CRM و سایر منابع جمع‌آوری می‌کند. سپس خلاصه‌ای مختصر را از طریق Slack ارسال می‌نماید.

چه ابزارهایی در این گردش کار ادغام شده‌اند؟

این گردش کار از Google Calendar برای دریافت اطلاعات جلسات، Attio CRM برای تحقیق در مورد شرکت‌ها و Slack برای ارسال اعلان‌ها و خلاصه‌ها استفاده می‌کند. همچنین از ابزارهای هوش مصنوعی مانند Langchain و OpenRouter برای پردازش و تحقیق بهره می‌برد.

آیا این گردش کار فقط برای جلسات خارجی است؟

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

چه نوع اطلاعاتی در خلاصه جلسه ارائه می‌شود؟

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

workflowهای مرتبط

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