گردش کار n8n: امتیازدهی مشاغل لینکدین با هوش مصنوعی و GPT-4…

گردش کار n8n: امتیازدهی مشاغل لینکدین با هوش مصنوعی و GPT-4…

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

دانلود workflow

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

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

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

امتیازدهنده مرتبط بودن شغل با هوش مصنوعی: جستجوی مشاغل لینکدین با GPT-4o-mini و Google Sheets

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

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

مرور کلی گردش کار (Workflow Overview):

1. دریافت ورودی: یک فرم عمومی ورودی‌های کاربر را جمع‌آوری می‌کند، از جمله معیارهای جستجوی شغل، رزومه، ترجیحات، امتیاز مرتبط بودن مورد نظر و URL یک Google Sheet.

2. گردآوری پارامتر: پارامترهای انتخاب شده توسط کاربر از فرم به قالبی سازگار با API برای LinkedIn Jobs API تبدیل می‌شوند.

3. واکشی داده‌های شغلی: Apify LinkedIn Jobs Scraper API برای بازیابی لیست‌های شغلی بر اساس پارامترهای گردآوری شده فراخوانی می‌شود.

4. فیلتر و حذف موارد تکراری مشاغل: داده‌های شغلی واکشی شده با حذف موارد تکراری، شرکت‌های لیست سیاه و ورودی‌های نامعتبر پاکسازی می‌شوند.

5. امتیازدهی شغلی مبتنی بر هوش مصنوعی: مدل GPT-4o-mini از OpenAI مرتبط بودن هر شغل را با پروفایل کاندیدا ارزیابی کرده و امتیازی از ۰ تا ۱۰۰ اختصاص می‌دهد.

6. فیلتر امتیاز: مشاغلی که امتیاز مرتبط بودن هدف تعریف شده توسط کاربر را برآورده نمی‌کنند، فیلتر می‌شوند.

7. بررسی و غنی‌سازی مشاغل موجود: گردش کار (Workflow) با Google Sheet ارائه شده مقایسه می‌شود تا مشاغل در حال پیگیری شناسایی و حذف شوند.

8. افزودن مشاغل جدید به Google Sheets: لیست‌های شغلی جدید امتیازدهی شده، فیلتر شده و منحصربه‌فرد به Google Sheet کاربر اضافه می‌شوند.

9. پشتیبانی گردش کار (Workflow Support): یادداشت‌های چسبان (Sticky Notes) مستندات ضروری، دستورالعمل‌های راه‌اندازی و اطلاعات زمینه‌ای را در سراسر گردش کار (Workflow) ارائه می‌دهند.

---

تحلیل دقیق گره‌ها (Detailed Node Analysis)

۱. دریافت ورودی (Input Reception)

  • هدف: دریافت تمام ورودی‌های لازم کاربر از طریق یک فرم کاربرپسند که سپس اجرای گردش کار (Workflow) را آغاز می‌کند.
  • گره‌ها (Nodes):

* On form submission (Form Trigger)

* Sticky Note

  • جزئیات گره On form submission:

* نوع: n8n-nodes-base.formTrigger

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

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

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

* یادداشت‌ها: یک شناسه Webhook برای دسترسی خارجی به فرم پیکربندی شده است.

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

  • جزئیات گره Sticky Note:

* محتوا: توضیحی در مورد هدف فرم و نحوه راه‌اندازی گردش کار (Workflow) ارائه می‌دهد.

* موقعیت: برای زمینه فوری، بالای گره On form submission قرار گرفته است.

۲. گردآوری پارامتر (Parameter Compilation)

  • هدف: ترجمه انتخاب‌های فرم کاربر به قالبی سازگار با API Apify LinkedIn Jobs Scraper.
  • گره‌ها (Nodes):

* Compile_parm_sets (Code)

* Sticky Note1

  • جزئیات گره Compile_parm_sets:

* نوع: n8n-nodes-base.code

* عملکرد: انتخاب‌های کاربر (مانند "Full-time" به "F"، "Past Week" به "r604800") را به کدهای پارامتر API مختصر نگاشت می‌کند. خروجی را برای شامل کردن عنوان شغلی، مکان و فیلترهای آماده برای API سازماندهی می‌کند.

* ورودی: داده‌های JSON از گره On form submission.

* خروجی: یک شیء JSON حاوی پارامترهای گردآوری شده آماده برای فراخوانی API.

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

  • جزئیات گره Sticky Note1:

* محتوا: عملکرد این گره را در تبدیل داده‌های فرم به پارامترهای API توضیح می‌دهد.

۳. واکشی داده‌های شغلی (Job Data Fetching)

  • هدف: بازیابی لیست‌های شغلی از لینکدین با استفاده از API Apify LinkedIn Jobs Scraper.
  • گره‌ها (Nodes):

* Fetch LinkedIn Jobs (HTTP Request)

* Sticky Note2

  • جزئیات گره Fetch LinkedIn Jobs:

* نوع: n8n-nodes-base.httpRequest

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

* پیکربندی: نیاز به یک کلید API Apify (جایگزین نگهدارنده مکان <your_apify_api>) در هدر مجوز دارد. بدنه درخواست حاوی پارامترهای گردآوری شده است.

* ورودی: خروجی JSON از گره Compile_parm_sets.

* خروجی: یک آرایه JSON حاوی لیست‌های شغلی واکشی شده.

* اعتبارنامه‌ها (Credentials): نیاز به یک کلید API Apify دارد.

* مشکلات احتمالی: خرابی‌های مجوز API، محدودیت نرخ (rate limiting)، قطع شدن شبکه یا پاسخ‌های نادرست API.

  • جزئیات گره Sticky Note2:

* محتوا: توضیح می‌دهد که این گره API Apify را فراخوانی می‌کند و نیاز به یک کلید API Apify و دسترسی به اکتر (actor) مشاغل لینکدین دارد.

۴. فیلتر و حذف موارد تکراری مشاغل (Job Filtering & Deduplication)

  • هدف: پاکسازی داده‌های خام شغلی با حذف موارد تکراری، شرکت‌های مسدود شده و ورودی‌های فاقد اطلاعات ضروری.
  • گره‌ها (Nodes):

* Filter & Dedup Jobs (Code)

* If Jobs (If)

* Sticky Note3

  • جزئیات گره Filter & Dedup Jobs:

* نوع: n8n-nodes-base.code

* عملکرد:

* حذف ورودی‌های شغلی تکراری بر اساس شناسه منحصربه‌فرد آن‌ها.

* فیلتر کردن مشاغل از شرکت‌های مسدود شده مشخص شده ("Jobot", "TieTalent", "Pryor Associates Executive Search").

* اطمینان از اینکه هر لیست شغلی شامل یک URL معتبر شرکت است.

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

* ورودی: لیست‌های شغلی خام از گره Fetch LinkedIn Jobs.

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

* مشکلات احتمالی: داده‌های شغلی ناقص ممکن است بر دقت فیلتر تأثیر بگذارد. فیلتر کردن لیست سیاه به بزرگی و کوچکی حروف حساس است (case-sensitive).

  • جزئیات گره If Jobs:

* نوع: n8n-nodes-base.if

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

* ورودی: خروجی گره Filter & Dedup Jobs.

  • جزئیات گره Sticky Note3:

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

۵. امتیازدهی شغلی مبتنی بر هوش مصنوعی (AI-Based Job Scoring)

  • هدف: ارزیابی مرتبط بودن هر لیست شغلی با پروفایل کاندیدا با استفاده از یک مدل هوش مصنوعی.
  • گره‌ها (Nodes):

* Scoring Jobs (OpenAI)

* Sticky Note4

  • جزئیات گره Scoring Jobs:

* نوع: @n8n/n8n-nodes-langchain.openAi

* عملکرد: برای هر شغل، جزئیات شغل، رزومه کاندیدا و اولویت‌ها را به مدل GPT-4o-mini ارسال می‌کند. مدل یک شیء JSON حاوی شناسه شغل و امتیاز مرتبط بودن (۰-۱۰۰) را برمی‌گرداند.

* پیکربندی:

* مدل: gpt-4o-mini

* دما (Temperature): 0.4 (برای تعادل بین خلاقیت و پیش‌بینی‌پذیری)

* دستور سیستم (System Prompt): هوش مصنوعی را برای عمل به عنوان یک استخدام‌کننده متخصص و امتیازدهی صرفاً بر اساس معیارهای ارائه شده، آموزش می‌دهد.

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

* ورودی: لیست‌های شغلی فیلتر شده و بدون موارد تکراری از گره Filter & Dedup Jobs.

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

* اعتبارنامه‌ها (Credentials): نیاز به یک کلید API OpenAI دارد.

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

  • جزئیات گره Sticky Note4:

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

۶. فیلتر امتیاز (Score Filtering)

  • هدف: فیلتر کردن لیست‌های شغلی که حداقل امتیاز مرتبط بودن تعیین شده توسط کاربر را برآورده نمی‌کنند.
  • گره‌ها (Nodes):

* filtering jobs (Code)

  • جزئیات گره filtering jobs:

* نوع: n8n-nodes-base.code

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

* ورودی: آرایه لیست‌های شغلی امتیازدهی شده از گره Scoring Jobs.

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

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

۷. بررسی و غنی‌سازی مشاغل موجود (Existing Job Check & Enrichment)

  • هدف: جلوگیری از ورودی‌های تکراری در صفحه گسترده گوگل (Google Sheet) با مقایسه مشاغل امتیازدهی شده جدید با رکوردهای موجود.
  • گره‌ها (Nodes):

* existing_jobs (Google Sheets)

* Enrich input 1 (Merge)

* rm_existing_jobs (Merge)

* If Jobs1 (If)

* If Jobs2 (If)

* Sticky Note5

  • جزئیات گره existing_jobs:

* نوع: n8n-nodes-base.googleSheets

* عملکرد: شناسه‌های شغلی را از ستون C در تب "Jobs Tracker" صفحه گسترده گوگل (Google Sheet) مشخص شده توسط کاربر می‌خواند.

* ورودی: آدرس URL صفحه گسترده گوگل (Google Sheet) ارائه شده از طریق فرم تریگر.

* خروجی: لیستی از رکوردهای شغلی موجود از صفحه گسترده گوگل (Google Sheet).

* اعتبارنامه‌ها (Credentials): نیاز به احراز هویت OAuth2 صفحه گسترده گوگل (Google Sheets) دارد.

  • جزئیات گره Enrich input 1:

* نوع: n8n-nodes-base.merge

* عملکرد: مشاغل امتیازدهی شده جدید را با داده‌های شغلی موجود از صفحه گسترده گوگل (Google Sheet) ادغام می‌کند. از تطابق تقریبی (fuzzy matching) بر روی شناسه‌های شغلی برای شناسایی تطابق‌های احتمالی استفاده می‌کند.

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

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

  • جزئیات گره rm_existing_jobs:

* نوع: n8n-nodes-base.merge

* عملکرد: مشاغل غنی شده را با داده‌های شغلی موجود مقایسه می‌کند. فقط ورودی‌هایی را که در صفحه گسترده گوگل (Google Sheet) تطابقی ندارند، نگه می‌دارد و به طور مؤثر موارد تکراری را فیلتر می‌کند.

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

* خروجی: لیستی از لیست‌های شغلی جدید و منحصربه‌فرد که هنوز در صفحه گسترده گوگل (Google Sheet) نیستند.

  • جزئیات گره‌های If Jobs1 & If Jobs2:

* نوع: n8n-nodes-base.if

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

  • جزئیات گره Sticky Note5:

* محتوا: فرآیند مقایسه لیست‌های شغلی جدید با ورودی‌های موجود در صفحه گسترده گوگل (Google Sheet) برای جلوگیری از موارد تکراری را شرح می‌دهد.

۸. افزودن مشاغل جدید به صفحه گسترده گوگل (Add New Jobs to Google Sheets)

  • هدف: افزودن لیست نهایی فرصت‌های شغلی مرتبط و منحصربه‌فرد به صفحه گسترده گوگل (Google Sheet) کاربر.
  • گره‌ها (Nodes):

* Add Jobs (Google Sheets)

  • جزئیات گره Add Jobs:

* نوع: n8n-nodes-base.googleSheets

* عملکرد: داده‌های شغلی جدید را به عنوان ردیف به تب "Jobs Tracker" مشخص شده در صفحه گسترده گوگل (Google Sheet) اضافه می‌کند.

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

* ورودی: لیست لیست‌های شغلی جدید و منحصربه‌فرد از گره rm_existing_jobs.

* اعتبارنامه‌ها (Credentials): نیاز به احراز هویت OAuth2 صفحه گسترده گوگل (Google Sheets) دارد.

* مشکلات احتمالی: محدودیت‌های سهمیه API صفحه گسترده گوگل (Google Sheets)، تداخل نوشتن یا آدرس URL نادرست صفحه.

۹. پشتیبانی و یادداشت‌های گردش کار (Workflow Support & Notes)

  • هدف: ارائه راهنمایی جامع و زمینه برای کاربران و توسعه‌دهندگانی که با گردش کار (Workflow) تعامل دارند.
  • گره‌ها (Nodes):

* گره‌های متعدد Sticky Note.

  • جزئیات:

* یادداشت اولیه Sticky Note: این یادداشت که در ابتدای گردش کار (Workflow) قرار دارد، یک نمای کلی سطح بالا، دستورالعمل‌های راه‌اندازی (شامل الزامات اعتبارنامه‌ها و پیوندی به یک الگوی صفحه گسترده گوگل) و راهنمایی در مورد نحوه شروع گردش کار (Workflow) از طریق فرم را ارائه می‌دهد.

* یادداشت‌های Inline Sticky Notes: یادداشت‌های اضافی به صورت استراتژیک قبل از گره‌های کلیدی قرار گرفته‌اند تا توضیحات و زمینه خاصی را برای مراحل فردی گردش کار (Workflow) ارائه دهند.

جدول خلاصه (Summary Table)

نام گره (Node Name)نوع گره (Node Type)نقش عملکردی (Functional Role)گره(های) ورودی (Input Node(s))گره(های) خروجی (Output Node(s))محتوای یادداشت چسبان مرتبط (Associated Sticky Note Content)
On form submissionn8n-nodes-base.formTriggerجمع‌آوری ورودی کاربر و راه‌اندازی گردش کار (workflow)-Compile_parm_setsورودی کاربر مانند رزومه، ترجیحات و لینک Google Sheet را از طریق یک فرم عمومی جمع‌آوری می‌کند.
Compile_parm_setsn8n-nodes-base.codeنگاشت ورودی‌های فرم به کدهای پارامتر Apify APIOn form submissionFetch LinkedIn Jobsانتخاب‌های فرم (نوع قرارداد، تجربه و غیره) را به پارامترهای آماده برای API تبدیل می‌کند.
Fetch LinkedIn Jobsn8n-nodes-base.httpRequestدریافت لیست مشاغل از Apify LinkedIn Jobs APICompile_parm_setsFilter & Dedup Jobsبر اساس پارامترهای شما، لیست مشاغل را از Apify API دریافت می‌کند. نیاز به کلید Apify API و فعال‌کننده LinkedIn Jobs اجاره‌ای دارد.
Filter & Dedup Jobsn8n-nodes-base.codeحذف موارد تکراری، شرکت‌های لیست سیاه و مشاغل نامعتبرFetch LinkedIn JobsIf Jobs, Enrich input 1موارد تکراری را حذف، شرکت‌های لیست سیاه را فیلتر و لیست‌هایی را که پروفایل شرکت معتبر ندارند، حذف می‌کند.
If Jobsn8n-nodes-base.ifبررسی وجود مشاغل پس از فیلتر کردنFilter & Dedup JobsScoring Jobsبررسی می‌کند که آیا پس از فیلتر اولیه، شغلی باقی مانده است یا خیر.
Scoring Jobs@n8n/n8n-nodes-langchain.openAiامتیازدهی مرتبط بودن شغل با استفاده از GPT-4o-miniIf Jobsfiltering jobsاز OpenAI GPT-4o-mini برای امتیازدهی مرتبط بودن هر شغل با رزومه و ترجیحات کاندیدا (۰-۱۰۰) استفاده می‌کند.
filtering jobsn8n-nodes-base.codeفیلتر کردن مشاغل بر اساس امتیاز مرتبط بودن هوش مصنوعیScoring Jobsexisting_jobsمشاغلی را که امتیاز مرتبط بودن مورد نظر کاربر را ندارند، حذف می‌کند.
existing_jobsn8n-nodes-base.googleSheetsخواندن شناسه‌های شغلی موجود از Google Sheetfiltering jobsEnrich input 1شناسه‌های شغلی را از Google Sheet مشخص شده برای بررسی موارد تکراری بازیابی می‌کند. نیاز به Google Sheets OAuth2 دارد.
Enrich input 1n8n-nodes-base.mergeادغام مشاغل جدید با داده‌های موجودfiltering jobs, existing_jobsrm_existing_jobsداده‌های شغلی جدید را با تطبیق آن با رکوردهای موجود از Google Sheet غنی‌سازی می‌کند.
rm_existing_jobsn8n-nodes-base.mergeحذف مشاغل موجود در Google SheetEnrich input 1, existing_jobsIf Jobs1مشاغلی را که از قبل در Google Sheet لیست شده‌اند حذف می‌کند و اطمینان می‌دهد که فقط مشاغل جدید پردازش می‌شوند.
If Jobs1n8n-nodes-base.ifبررسی وجود مشاغل جدید پس از حذف موارد تکراریrm_existing_jobsAdd Jobsبررسی می‌کند که آیا مشاغل جدید و منحصر به فردی برای اضافه شدن به Google Sheet وجود دارد یا خیر.
Add Jobsn8n-nodes-base.googleSheetsافزودن مشاغل جدید به Google SheetIf Jobs1-لیست نهایی مشاغل مرتبط و منحصر به فرد را به تب "Jobs Tracker" در Google Sheet اضافه می‌کند. نیاز به OAuth2 دارد.
Sticky Note (various)n8n-nodes-base.stickyNoteارائه مستندات و دستورالعمل‌ها--توضیحات درون خطی، راهنمایی راه‌اندازی و نمای کلی گردش کار را ارائه می‌دهد.

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

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

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

این گردش کار با خودکارسازی فرآیند جستجو، امتیازدهی و پیگیری مشاغل لینکدین، به شما کمک می‌کند تا به سرعت مشاغل مرتبط با پروفایل و ترجیحات خود را شناسایی کنید. GPT-4o-mini مرتبط بودن هر شغل را ارزیابی کرده و نتایج در Google Sheets ذخیره می‌شود.

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

این گردش کار از n8n برای اتوماسیون، GPT-4o-mini از OpenAI برای امتیازدهی هوش مصنوعی، Apify LinkedIn Jobs Scraper برای جمع‌آوری داده‌های شغلی و Google Sheets برای ذخیره و پیگیری نتایج استفاده می‌کند.

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

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

workflowهای مرتبط

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