غربالگری خودکار متقاضیان با هوش مصنوعی: لینکدین به تلگرام ب…

غربالگری خودکار متقاضیان با هوش مصنوعی: لینکدین به تلگرام ب…

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

دانلود workflow

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

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

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

پایپ‌لاین غربالگری خودکار متقاضیان با هوش مصنوعی: از لینکدین تا تلگرام با Gemini و Apify

---

۱. نمای کلی گردش کار (Workflow Overview)

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

این گردش کار شامل مراحل منطقی زیر است:

  • ۱.۱ دریافت و اعتبارسنجی ورودی: پیام‌های متقاضی را در تلگرام دریافت می‌کند، URLهای پروفایل لینکدین را استخراج کرده و فرمت ورودی را اعتبارسنجی می‌کند.
  • ۱.۲ پیام‌رسانی ضد اسپم و تأیید: محدودیت‌های ارسال برای هر متقاضی را برای جلوگیری از اسپم بررسی کرده و پیام‌های تأیید یا خطا ارسال می‌کند.
  • ۱.۳ استخراج پروفایل لینکدین از طریق Apify: اکتر (Actor) استخراج‌کننده پروفایل لینکدین Apify را برای استخراج داده‌های دقیق پروفایل متقاضی راه‌اندازی و نظارت می‌کند.
  • ۱.۴ تطبیق شرح شغل: متقاضیان را با مرتبط‌ترین شرح شغل(ها) با استفاده از هوش مصنوعی، با بهره‌گیری از زمینه پیام تلگرام و داده‌های پروفایل لینکدین، تطبیق می‌دهد.
  • ۱.۵ انتخاب دقیق JD و پردازش سند: در صورت یافتن چندین تطابق، انتخاب JD را اصلاح کرده، دانلود و محتوای سند JD را استخراج می‌کند.
  • ۱.۶ غربالگری و امتیازدهی متقاضی با هوش مصنوعی: پروفایل متقاضی را در برابر JD انتخاب شده با استفاده از هوش مصنوعی Google Gemini تحلیل می‌کند تا گزارش‌های غربالگری ساختاریافته تولید کند.
  • ۱.۷ تجمیع داده‌ها و ثبت وقایع: تمام نتایج را تجمیع کرده، شناسه‌های ارسال منحصربه‌فرد تولید می‌کند و تحلیل متقاضی را در Google Sheets ثبت می‌کند.
  • ۱.۸ اعلان‌ها و گزارش‌دهی: پیام‌های خلاصه را در مورد پیشرفت و تکمیل غربالگری متقاضی به گروه‌های داخلی تلگرام استعدادها ارسال می‌کند.

---

۲. تشریح دقیق گردش کار

۲.۱ دریافت و اعتبارسنجی ورودی

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

نودها (Nodes):

  • Receive Telegram Msg to Recruiter Bot (Telegram Trigger)
  • Start Msg Sent + Valid LinkedIn Profile URL? (IF)
  • Grab Clean LinkedIn URL (Code)
  • Reply with Error/Try Again Msg (Telegram)

جزئیات نودها:

  • Receive Telegram Msg to Recruiter Bot

* نوع: telegram.trigger

* نقش: نقطه ورود گردش کار، گوش دادن به پیام‌های دریافتی از متقاضیان.

* پیکربندی: برای گوش دادن به به‌روزرسانی‌های "پیام" پیکربندی شده و به اعتبارنامه‌های API تلگرام نیاز دارد.

* خروجی: داده‌های خام JSON پیام تلگرام.

* شکست‌های احتمالی: مشکلات مربوط به توکن ربات، پیکربندی نادرست وب‌هوک (Webhook)، یا قطعی سرویس تلگرام.

  • Start Msg Sent + Valid LinkedIn Profile URL?

* نوع: core.if

* نقش: تعیین می‌کند که آیا پیام دریافتی یک دستور "/start" نیست و حاوی URL پروفایل لینکدین است (با نشان "linkedin.com/in/").

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

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

* شکست‌های احتمالی: منفی کاذب (False negatives) اگر URL نادرست باشد، یا اگر متقاضی URLهای کوتاه‌شده را ارسال کند.

  • Grab Clean LinkedIn URL

* نوع: core.code

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

* پیکربندی: از عبارات منظم (Regular Expressions) برای شناسایی URLهایی که به پروفایل‌های لینکدین با اسلاگ /in/ اشاره دارند، استفاده می‌کند.

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

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

  • Reply with Error/Try Again Msg

* نوع: telegram.sendMessage

* نقش: ارسال پیام خطا به متقاضی در صورت نامعتبر بودن یا گم شدن URL پروفایل لینکدین.

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

* شکست‌های احتمالی: خطاهای API تلگرام یا شناسه چت نامعتبر.

۲.۲ ضد اسپم و پیام‌های تأیید

هدف: محدود کردن متقاضیان به سه ارسال پروفایل لینکدین برای جلوگیری از اسپم و ارسال پیام‌های تأیید پس از ارسال معتبر.

نودها:

  • Get All Rows Matching Telegram Username (Google Sheets)
  • Count Rows Matching Telegram Username (Summarize)
  • Spam Check: Sent <4 LinkedIn Profiles? (IF)
  • Reply - Too Many LinkedIn URLs Sent Msg (Telegram)
  • Reply with Confirmation Msg (Telegram)
  • Send Msg to Internal Talent Group (Telegram)

جزئیات نودها:

  • Get All Rows Matching Telegram Username

* نوع: google.sheets.getRows

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

* پیکربندی: ردیف‌ها را بر اساس ستون "Telegram Username" فیلتر می‌کند و از نام کاربری کاربر فعلی استفاده می‌کند.

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

  • Count Rows Matching Telegram Username

* نوع: core.summarize

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

* پیکربندی: وقوع فیلد "Telegram Username" را خلاصه می‌کند.

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

  • Spam Check: Sent <4 LinkedIn Profiles?

* نوع: core.if

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

* پیکربندی: تعداد ارسال‌ها را کمتر یا مساوی ۳ بررسی می‌کند.

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

  • Reply - Too Many LinkedIn URLs Sent Msg

* نوع: telegram.sendMessage

* نقش: اطلاع‌رسانی به متقاضی که محدودیت ارسال را رد کرده است و ارائه اطلاعات تماس برای استثنائات.

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

* شکست‌های احتمالی: خطاهای API تلگرام یا شناسه چت نامعتبر.

  • Reply with Confirmation Msg

* نوع: telegram.sendMessage

* نقش: ارسال تأییدیه به متقاضی، تأیید دریافت URL پروفایل لینکدین او.

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

* شکست‌های احتمالی: خطاهای API تلگرام یا شناسه چت نامعتبر.

  • Send Msg to Internal Talent Group

* نوع: telegram.sendMessage

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

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

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

۲.۳ استخراج پروفایل لینکدین از طریق Apify

هدف: راه‌اندازی استخراج پروفایل لینکدین با استفاده از API Apify و نظرسنجی تا زمانی که فرآیند استخراج کامل شود.

نودها:

  • Extract LinkedIn Profile Information (HTTP Request)
  • Initialize Loop Counter to Poll for Completion (Set)
  • Check LinkedIn Profile Extraction Status (HTTP Request)
  • Restore Loop Counter (Code)
  • Checked 10x for LinkedIn Profile Data? (IF)
  • Wait for LinkedIn Profile (Wait)
  • Get Fully Extracted LinkedIn Profile Data (HTTP Request)
  • Set Key LinkedIn Profile Data (Set)
  • Reply with Error/Try Again Msg (Telegram)

جزئیات نودها:

  • Extract LinkedIn Profile Information

* نوع: core.httpRequest

* نقش: فراخوانی اکتر Apify برای شروع استخراج پروفایل لینکدین، با ارسال URL پروفایل پاکسازی شده.

* پیکربندی: درخواست POST را به نقطه پایانی اجرای Apify با توکن Apify و URL پروفایل در بدنه درخواست ارسال می‌کند.

* شکست‌های احتمالی: توکن Apify نامعتبر، قطعی API، یا بار داده URL نادرست.

  • Initialize Loop Counter to Poll for Completion

* نوع: core.set

* نقش: مقداردهی اولیه یک شمارنده حلقه (شروع از ۰) برای محدود کردن تعداد تلاش‌های نظرسنجی برای وضعیت استخراج.

* پیکربندی: مقدار 0 را به متغیر loopCount اختصاص می‌دهد.

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

  • Check LinkedIn Profile Extraction Status

* نوع: core.httpRequest

* نقش: پرس و جو وضعیت اجرای اکتر Apify برای تعیین اینکه آیا فرآیند استخراج به پایان رسیده است.

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

* شکست‌های احتمالی: توکن نامعتبر، خطاهای API، یا مهلت زمانی شبکه.

  • Restore Loop Counter

* نوع: core.code

* نقش: حفظ مقدار loopCount در تکرارهای حلقه با بازیابی آن از وضعیت یا مقداردهی اولیه نود قبلی.

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

* شکست‌های احتمالی: خطاهای ارجاع اگر نودها تغییر نام داده یا حذف شوند.

  • Checked 10x for LinkedIn Profile Data?

* نوع: core.if

* نقش: بررسی می‌کند که آیا تلاش‌های نظرسنجی به حد مجاز (۱۰ تلاش) رسیده‌اند و در صورت رسیدن به حد مجاز، حلقه نظرسنجی را خاتمه می‌دهد.

* پیکربندی: یک مقایسه عددی روی متغیر loopCount انجام می‌دهد.

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

  • Wait for LinkedIn Profile

* نوع: core.wait

* نقش: توقف گردش کار برای ۱۵ ثانیه قبل از تلاش بعدی نظرسنجی برای جلوگیری از تماس‌های API بیش از حد.

* پیکربندی: زمان انتظار را روی ۱۵ ثانیه تنظیم می‌کند.

* شکست‌های احتمالی: اجرای گردش کار را به تأخیر می‌اندازد؛ مهلت زمانی احتمالی اگر API خارجی کند باشد.

  • Get Fully Extracted LinkedIn Profile Data

* نوع: core.httpRequest

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

* پیکربندی: درخواست GET را با توکن Apify ارسال می‌کند و از شناسه اکتر از اجرا استفاده می‌کند.

* شکست‌های احتمالی: توکن نامعتبر، خطاهای API، یا داده‌های ناقص/خالی.

  • Set Key LinkedIn Profile Data

* نوع: core.set

* نقش: ذخیره داده‌های استخراج شده پروفایل لینکدین (به صورت JSON) و مُهر زمانی برای استفاده در نودهای بعدی.

* پیکربندی: فیلدهای linkedinProfileData و dateShared را تنظیم می‌کند.

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

  • Reply with Error/Try Again Msg (همچنین در اینجا استفاده می‌شود)

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

۲.۴ تطبیق شرح شغل

هدف: تطبیق متقاضیان با شرح شغل‌های مرتبط (JD) با استفاده از هوش مصنوعی، ابتدا با تجزیه و تحلیل پیام تلگرام آن‌ها و سپس به عنوان پشتیبان، پروفایل لینکدین آن‌ها.

نودها:

  • JD Matching Agent (LangChain AI Agent node)
  • Structured Output Parser-1 (AI output parser)
  • JD Match w/Telegram Msg? (IF)
  • Download Selected JD (Google Drive)
  • Transform for Multiple JDs (Code)
  • Loop Over Items (Split In Batches)
  • Detailed JD Matching Agent (LangChain AI Agent node)
  • Structured Output Parser-2 (AI output parser)
  • Download Selected JD1 (Google Drive)
  • Extract from File1 (Extract from PDF)
  • Set JD Data (Set)

جزئیات نودها:

  • JD Matching Agent

* نوع: langchain.agent

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

* پیکربندی: از یک اعلان سفارشی استفاده می‌کند که به ذکر نقش در پیام تلگرام اولویت می‌دهد و به تجزیه و تحلیل پروفایل لینکدین به عنوان پشتیبان می‌پردازد. انتظار پاسخ JSON حاوی نوع تطابق (match_type) و شناسه‌های فایل JD (jd_match) را دارد.

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

  • Structured Output Parser-1

* نوع: langchain.outputParser

* نقش: اعتبارسنجی و تجزیه خروجی JSON از عامل تطبیق JD.

* پیکربندی: یک طرحواره JSON برای پاسخ اجباری می‌کند و از وجود داده‌های match_type و jd_match اطمینان حاصل می‌کند.

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

  • JD Match w/Telegram Msg?

* نوع: core.if

* نقش: انشعاب گردش کار بر اساس match_type شناسایی شده توسط هوش مصنوعی: "telegram\_msg\_match" برای یک JD واحد یا "linkedin\_profile\_match" برای چندین JD بالقوه.

* پیکربندی: بررسی شرطی روی یک فیلد در خروجی JSON هوش مصنوعی.

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

  • Download Selected JD

* نوع: google.drive.downloadFile

* نقش: دانلود فایل JD واحد مطابق (به صورت PDF) برای پردازش بیشتر.

* پیکربندی: از شناسه فایل JD ارائه شده در خروجی هوش مصنوعی استفاده می‌کند. در صورت لزوم می‌تواند Google Docs را به PDF تبدیل کند.

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

  • Transform for Multiple JDs

* نوع: core.code

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

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

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

  • Loop Over Items

* نوع: core.splitInBatches

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

* پیکربندی: معمولاً از اندازه دسته ۱ استفاده می‌کند.

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

  • Detailed JD Matching Agent

* نوع: langchain.agent

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

* پیکربندی: اعلان سفارشی طراحی شده برای مقایسه دقیق؛ انتظار پاسخ JSON با jd_match و match_type نهایی را دارد.

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

  • Structured Output Parser-2

* نوع: langchain.outputParser

* نقش: اعتبارسنجی و تجزیه خروجی JSON از عامل تطبیق دقیق JD.

* پیکربندی: یک طرحواره JSON برای پاسخ اجباری می‌کند و اطمینان حاصل می‌کند که فیلدهای jd_match و match_type وجود دارند.

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

  • Download Selected JD1

* نوع: google.drive.downloadFile

* نقش: دانلود فایل JD شناسایی شده به عنوان بهترین تطابق پس از تجزیه و تحلیل دقیق.

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

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

  • Extract from File1

* نوع: core.extractPdf (با فرض اینکه این نوع نود مورد نظر برای استخراج PDF است)

* نقش: استخراج محتوای متنی از فایل PDF JD دانلود شده.

* پیکربندی: ورودی را از فایل دانلود شده می‌گیرد.

* شکست‌های احتمالی: فایل‌های PDF خراب یا مشکلات مربوط به کتابخانه تجزیه PDF.

  • Set JD Data

* نوع: core.set

* نقش: ذخیره محتوای متنی استخراج شده از JD انتخاب شده برای استفاده در فرآیند غربالگری هوش مصنوعی.

* پیکربندی: یک متغیر، به عنوان مثال jobDescriptionText، با محتوای استخراج شده تنظیم می‌کند.

* شکست‌های احتمالی: هیچ مورد قابل توجهی، با فرض اینکه مرحله قبل متن معتبری ارائه کرده است.

---

۲.۵ غربالگری و امتیازدهی کاندیدا با هوش مصنوعی

هدف: تجزیه و تحلیل پروفایل لینکدین متقاضی در برابر شرح شغل انتخاب شده با استفاده از هوش مصنوعی Google Gemini، تولید یک گزارش غربالگری ساختاریافته.

نودها:

  • Candidate Screening Agent (LangChain AI Agent node)
  • Structured Output Parser-3 (AI output parser)
  • Set Screening Score and Summary (Set)
  • Reply with Screening Results (Telegram)

جزئیات نودها:

  • Candidate Screening Agent

* نوع: langchain.agent

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

* پیکربندی: اعلان سفارشی که هوش مصنوعی را برای ایفای نقش یک استخدام‌کننده، ارزیابی مهارت‌ها، تجربه و تناسب فرهنگی، و ارائه امتیاز (مثلاً ۱-۵) و خلاصه مختصر آموزش می‌دهد. به هر دو ورودی linkedinProfileData و jobDescriptionText نیاز دارد.

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

  • Structured Output Parser-3

* نوع: langchain.outputParser

* نقش: اعتبارسنجی و تجزیه خروجی JSON از عامل غربالگری متقاضی.

* پیکربندی: یک طرحواره JSON برای پاسخ اجباری می‌کند و انتظار فیلدهایی مانند screening_score و screening_summary را دارد.

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

  • Set Screening Score and Summary

* نوع: core.set

* نقش: ذخیره امتیاز غربالگری و خلاصه تولید شده توسط هوش مصنوعی برای ثبت و گزارش‌دهی.

* پیکربندی: متغیرهایی مانند screeningScore و screeningSummary را تنظیم می‌کند.

* شکست‌های احتمالی: هیچ مورد قابل توجهی، با فرض اینکه مرحله قبل داده‌های معتبری ارائه کرده است.

  • Reply with Screening Results

* نوع: telegram.sendMessage

* نقش: ارسال خلاصه مختصری از نتایج غربالگری (امتیاز و نظرات کوتاه) به متقاضی از طریق تلگرام.

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

* شکست‌های احتمالی: خطاهای API تلگرام یا شناسه چت نامعتبر.

---

۲.۶ تجمیع داده‌ها و ثبت وقایع

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

نودها:

  • Generate Unique Submission ID (Code)
  • Prepare Data for Google Sheets (Set)
  • Append Row to Candidate Log (Google Sheets)
  • Send Success Notification (Telegram)

جزئیات نودها:

  • Generate Unique Submission ID

* نوع: core.code

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

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

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

  • Prepare Data for Google Sheets

* نوع: core.set

* نقش: سازماندهی تمام نقاط داده مربوطه (اطلاعات متقاضی، جزئیات JD، نتایج غربالگری، شناسه ارسال) در قالبی ساختاریافته مناسب برای یک ردیف صفحه گسترده Google.

* پیکربندی: نگاشت فیلدهای داده استخراج شده به کلیدهای خاص (به عنوان مثال، submissionId، candidateName، linkedInUrl، jobTitle، screeningScore، screeningSummary، dateShared).

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

  • Append Row to Candidate Log

* نوع: google.sheets.addRows

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

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

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

  • Send Success Notification

* نوع: telegram.sendMessage

* نقش: ارسال یک پیام تأیید نهایی به گروه استعدادهای داخلی، نشان می‌دهد که یک متقاضی با موفقیت غربالگری و ثبت شده است.

* پیکربندی: شامل نام متقاضی، شغلی که برای آن درخواست داده است، و شناسه ارسال.

* شکست‌های احتمالی: خطاهای API تلگرام یا شناسه چت نامعتبر.

---

۲.۷ مدیریت خطا و اعلان‌ها

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

نودها:

  • Error Handler (Catch node - if applicable in your n8n version)
  • Notify Admin of Failure (Telegram)

جزئیات نودها:

  • Error Handler

* نوع: core.catchError (مفهومی - پیاده‌سازی واقعی به نسخه و پیکربندی n8n بستگی دارد)

* نقش: گرفتن خطاهای رخ داده در نودهای قبلی.

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

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

  • Notify Admin of Failure

* نوع: telegram.sendMessage

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

* پیکربندی: شامل جزئیات مربوط به نود ناموفق، پیام خطا، و احتمالاً داده‌های ورودی که باعث خطا شده‌اند.

* شکست‌های احتمالی: خطاهای API تلگرام یا شناسه چت نامعتبر.

---

۳. پیش‌نیازها و راه‌اندازی

  • حساب کاربری Axeto: دسترسی به پلتفرم Axeto الزامی است.
  • نمونه n8n: برای اجرای گردش کار، نیاز به یک نمونه فعال n8n دارید. می‌توانید ادغام‌ها و منابع n8n را در Axeto.ai/n8n پیدا کنید.
  • ربات تلگرام: باید یک ربات تلگرام از طریق BotFather ایجاد کرده و توکن API آن را دریافت کنید.
  • حساب گوگل: دسترسی به Google Drive و Google Sheets با مجوزهای مناسب برای گردش کار.
  • حساب Apify: برای استفاده از اکترهای استخراج‌کننده لینکدین (LinkedIn scraping actors) آن‌ها، به یک حساب Apify و توکن API نیاز دارید.
  • کلیدهای API LangChain/Gemini: برای نودهای عامل هوش مصنوعی (AI agent nodes)، کلیدهای API ارائه‌دهنده مدل زبان (مانند Google AI Studio برای Gemini) مورد نیاز است.

۴. نحوه استفاده

۱. وارد کردن گردش کار: این گردش کار را به صورت JSON در نمونه n8n خود وارد کنید.

۲. پیکربندی اعتبارنامه‌ها: اعتبارنامه‌های لازم برای Telegram، Google Drive، Google Sheets، Apify و ارائه‌دهنده مدل هوش مصنوعی خود را در n8n راه‌اندازی و احراز هویت کنید.

۳. تنظیمات نودها:

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

* شناسه Google Sheet و نام برگه مربوطه را مشخص کنید.

* توکن API Apify و جزئیات اکتر را پیکربندی کنید.

* کلیدهای API مدل هوش مصنوعی خود را وارد کرده و Prompt ها را در صورت نیاز تنظیم کنید.

* اطمینان حاصل کنید که ساختار پوشه Google Drive با انتظارات برای ذخیره‌سازی JD مطابقت دارد.

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

۵. تعامل با متقاضی: متقاضیان با ربات تلگرام شما تعامل می‌کنند و URL پروفایل لینکدین خود را ارسال می‌کنند. سپس گردش کار فرآیند غربالگری را خودکار می‌کند.

---

توجه: این گردش کار از ویژگی‌های پیشرفته‌ای مانند عوامل هوش مصنوعی (AI Agents) و یکپارچه‌سازی‌های API خارجی استفاده می‌کند. اطمینان حاصل کنید که نمونه n8n شما برای مدیریت این عملیات‌ها به اندازه کافی قوی است و گزارش‌های اجرا را برای هرگونه مشکل نظارت کنید. برای اطلاعات بیشتر در مورد n8n و قابلیت‌های آن، از Axeto.ai/n8n بازدید کنید.

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

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

این گردش کار چگونه به غربالگری متقاضیان کمک می‌کند؟

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

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

ابزارهای اصلی شامل n8n برای اتوماسیون گردش کار، تلگرام برای ارتباط با متقاضیان، Apify برای استخراج داده از لینکدین و Google Gemini برای تحلیل هوش مصنوعی است.

چگونه پروفایل لینکدین متقاضیان استخراج می‌شود؟

از یک اکتر (Actor) مخصوص استخراج پروفایل لینکدین در پلتفرم Apify برای جمع‌آوری اطلاعات دقیق از پروفایل‌های ارسالی متقاضیان استفاده می‌شود.

نقش هوش مصنوعی Gemini در این فرآیند چیست؟

Gemini برای تحلیل پروفایل لینکدین متقاضی در برابر شرح شغل مورد نظر استفاده می‌شود تا گزارش‌های غربالگری ساختاریافته و امتیازدهی اولیه را تولید کند.

workflowهای مرتبط

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