یادآوری خودکار مهلت تکالیف با Notion و ایمیل

یادآوری خودکار مهلت تکالیف با Notion و ایمیل

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

دانلود workflow

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

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

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

یادآوری خودکار مهلت تکالیف با Notion و ایمیل

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

دسته‌بندی‌ها: بهره‌وری شخصی، آموزش، اتوماسیون

لینک کاتالوگ Axeto: https://axeto.ai/n8n

---

نمای کلی گردش کار

این گردش کار با انجام مراحل زیر عمل می‌کند:

1. زمان‌بندی: روزانه در روزهای کاری ساعت ۹ صبح فعال می‌شود.

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

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

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

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

6. خروج منظم: در صورت عدم وجود تکالیف با مهلت مقرر، اجرا را متوقف می‌کند تا از اقدامات غیرضروری جلوگیری شود.

---

تشریح گام به گام نودها

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

۱. فعال‌سازی زمان‌بندی شده و بازیابی داده‌ها

این بلوک اولیه، زمان‌بندی گردش کار را تنظیم کرده و داده‌های مرتبط را از Notion بازیابی می‌کند.

  • نود: Set Schedule For Trigger

* نوع: scheduleTrigger

* هدف: اجرای گردش کار را آغاز می‌کند.

* پیکربندی: برای اجرا در هر روز کاری (دوشنبه تا جمعه) ساعت ۹:۰۰ صبح تنظیم شده است.

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

* خروجی‌ها: نود Notion - Get Assignments را فعال می‌کند.

* نسخه: زمان‌بند استاندارد n8n نسخه ۱ به بالا.

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

  • نود: Notion - Get Assignments

* نوع: notion (Query Database)

* هدف: تکالیف را از یک پایگاه داده Notion که در سه روز آینده موعد مقرر دارند، بازیابی می‌کند.

* پیکربندی:

* منبع (Resource): Database

* شناسه پایگاه داده (Database ID): "asdcvbhuy7654344444bhju765" را با شناسه واقعی پایگاه داده Notion خود جایگزین کنید.

* فیلتر (Filter): به طور ضمنی با یک ویژگی "تاریخ موعد" (Due Date) فیلتر می‌شود تا تکالیف در ۳ روز آینده پیدا شوند.

* اعتبارنامه‌ها (Credentials): نیاز به یک اعتبارنامه مجاز API Notion دارد (مانند "Notion account - test").

* ورودی‌ها: فعال‌سازی را از Set Schedule For Trigger دریافت می‌کند.

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

* نسخه: ۱

* موارد احتمالی خطا:

* شناسه پایگاه داده نامعتبر یا اعتبارنامه‌های API نادرست باعث خطا می‌شوند.

* ویژگی "تاریخ موعد" (Due Date) در Notion وجود نداشته باشد یا به درستی قالب‌بندی نشده باشد، می‌تواند منجر به مشکل در بازیابی داده‌ها شود.

* نکته: اطمینان حاصل کنید که ویژگی "تاریخ موعد" (Due Date) در پایگاه داده Notion شما به درستی به عنوان نوع تاریخ پیکربندی شده است.

---

۲. پردازش شرطی و بسط آیتم‌ها

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

  • نود: IF Assignments Exist

* نوع: if (شرطی)

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

* پیکربندی:

* شرط (Condition): {{$node['Notion - Get Assignments'].json['results'].length}} > 0

* این عبارت بررسی می‌کند که آیا آرایه results از نود قبلی بیش از صفر آیتم دارد یا خیر.

* ورودی‌ها: خروجی را از Notion - Get Assignments دریافت می‌کند.

* خروجی‌ها:

* شاخه True: در صورت یافتن تکالیف به SplitOutItems itemList متصل می‌شود.

* شاخه False: در صورت عدم یافتن تکالیف به No Assignments متصل می‌شود.

* نسخه: ۱

* موارد احتمالی خطا: اگر خروجی نود Notion به طور غیرمنتظره‌ای null یا بدشکل باشد، ممکن است خطاهای عبارت رخ دهد.

  • نود: SplitOutItems itemList

* نوع: itemLists

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

* پیکربندی:

* فیلد برای بسط (Field to split out): فیلدی را که نشان‌دهنده لیست یا نام تکلیف است مشخص کنید (مانند "Name").

* ورودی‌ها: خروجی "true" را از IF Assignments Exist دریافت می‌کند.

* خروجی‌ها: آیتم‌های تکلیف مجزا که به Send Email Reminder منتقل می‌شوند.

* نسخه: ۱

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

* نکته: این نود برای ارسال یک ایمیل منحصر به فرد برای هر تکلیف حیاتی است.

  • نود: No Assignments

* نوع: noOp (هیچ عملیاتی)

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

* پیکربندی: ندارد.

* ورودی‌ها: خروجی "false" را از IF Assignments Exist دریافت می‌کند.

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

* نسخه: ۱

* موارد احتمالی خطا: ندارد.

---

۳. ارسال اعلان ایمیلی

این بلوک مسئول ارسال یادآوری‌های ایمیلی برای هر تکلیف است.

  • نود: Send Email Reminder

* نوع: emailSend

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

* پیکربندی:

* موضوع (Subject): "Assignment Reminder: {{$json['properties']['Assignment Name']['title'][0]['plain_text'] || 'Unnamed Assignment'}}"

* به (To Email): {{$json['properties']['Email']['rich_text'][0]['plain_text'] || 'default_email@example.com'}} - آدرس ایمیل گیرنده را از ویژگی‌های تکلیف استخراج می‌کند، با یک مقدار پیش‌فرض.

* از (From Email): به آدرس ایمیل فرستنده شما تنظیم شده است (مانند "your_email@example.com"). به یاد داشته باشید که این را به‌روز کنید.

* بدنه ایمیل (Email Body): محتوای ایمیل را با استفاده از عبارات برای گنجاندن جزئیات تکلیف بنویسید. مثال:

```html

Dear Student/Teacher,

This is a reminder for the assignment '{{$json['properties']['Assignment Name']['title'][0]['plain_text'] || 'Unnamed Assignment'}}' due on {{$json['properties']['Due Date']['date']['start'] || 'No Date Set'}}. Please ensure it is completed on time.

Best regards,

Your School Automation System

```

* اعتبارنامه‌ها (Credentials): نیاز به اعتبارنامه‌های پیکربندی شده SMTP دارد (مانند "SMTP -test").

* ورودی‌ها: آیتم‌های تکلیف مجزا از SplitOutItems itemList.

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

* نسخه: ۱

* موارد احتمالی خطا:

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

* پیکربندی نادرست اعتبارنامه‌های SMTP یا مشکلات شبکه می‌تواند باعث شکست در ارسال شود.

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

* نکته: "your_email@example.com" و اعتبارنامه‌های SMTP خود را به مقادیر معتبر تولید به‌روز کنید.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Set Schedule For TriggerscheduleTriggerشروع گردش کار در روزهای کاری ساعت ۹ صبحNoneNotion - Get Assignmentsگردش کار را هر روز کاری ساعت ۹ صبح برای بررسی مهلت‌های انجام تکالیف فعال می‌کند.
Notion - Get Assignmentsnotionواکشی تکالیف با مهلت در ۳ روز آیندهSet Schedule For TriggerIF Assignments Existپایگاه داده Notion را برای تکالیفی که تاریخ سررسید آن‌ها در ۳ روز آینده است، جستجو می‌کند. شناسه جایگزین را جایگزین کنید.
IF Assignments Existifبررسی وجود تکالیف برای ادامهNotion - Get AssignmentsSplitOutItems itemList / No Assignmentsبررسی می‌کند که آیا تکالیفی برگردانده شده‌اند؛ فقط در صورت وجود تکالیف ادامه می‌یابد.
SplitOutItems itemListitemListsتقسیم لیست تکالیف به آیتم‌های مجزاIF Assignments Exist (true)Send Email Reminderلیست تکالیف را به آیتم‌های مجزا گسترش می‌دهد تا هر کدام به طور جداگانه برای ارسال یادآوری پردازش شوند.
Send Email ReminderemailSendارسال یادآوری ایمیل برای هر تکلیفSplitOutItems itemListNoneبرای هر تکلیف، یک یادآوری ایمیل با مقادیر جایگزین در صورت عدم وجود خصوصیات ارسال می‌کند.
No AssignmentsnoOpتوقف گردش کار در صورت عدم وجود تکالیف سررسیدIF Assignments Exist (false)Noneسناریوی عدم وجود تکالیف؛ گردش کار در اینجا متوقف می‌شود.
Sticky NotestickyNoteارائه نمای کلی معماری سیستمNoneNone## معماری سیستم<br>- خط لوله ردیابی تکالیف<br>- جریان تولید یادآوری<br>- مدیریت موارد غیر بحرانی

---

بازسازی گردش کار

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

1. افزودن Node scheduleTrigger:

* نوع: scheduleTrigger

* تنظیم کنید تا هر روز کاری (دوشنبه تا جمعه) ساعت ۹:۰۰ صبح اجرا شود.

2. افزودن Node notion:

* نوع: notion (منبع: Database)

* Database ID مربوط به Notion خود را وارد کنید.

* اطمینان حاصل کنید که پایگاه داده Notion شما دارای یک ویژگی "Due Date" (از نوع تاریخ) است.

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

* خروجی Node scheduleTrigger را به این Node متصل کنید.

3. افزودن Node if:

* نوع: if

* شرط را تنظیم کنید: {{$node['Notion - Get Assignments'].json['results'].length}} > 0

* خروجی Node notion را به این Node متصل کنید.

4. افزودن Node itemLists:

* نوع: itemLists

* "Field to split out" را مطابق با ویژگی لیست وظایف خود تنظیم کنید.

* خروجی "true" از Node if را به این Node متصل کنید.

5. افزودن Node emailSend:

* نوع: emailSend

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

* "From Email" را به آدرس فرستنده خود تنظیم کنید (مثلاً your_email@example.com).

* To Email: {{$json['properties']['Email']['rich_text'][0]['plain_text'] || 'default_email@example.com'}}

* Subject: "Assignment Reminder: {{$json['properties']['Assignment Name']['title'][0]['plain_text'] || 'Unnamed Assignment'}}"

* Text/HTML: بدنه ایمیل خود را با استفاده از عبارات برای محتوای پویا، مشابه مثال در بخش "تشریح گام به گام نودها" بنویسید.

* خروجی Node itemLists را به این Node متصل کنید.

6. افزودن Node noOp:

* نوع: noOp

* نیازی به پیکربندی ندارد.

* خروجی "false" از Node if را به این Node متصل کنید.

7. افزودن Node stickyNote (اختیاری):

* نوع: stickyNote

* از این Node برای افزودن مستندات داخلی یا یادداشت‌های معماری مستقیماً در ویرایشگر گردش کار استفاده کنید.

---

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

  • ساختار پایگاه داده Notion: اطمینان حاصل کنید که پایگاه داده Notion شما حداقل دارای ویژگی‌های زیر باشد:

* یک ویژگی عنوان برای نام تکلیف (مثلاً "نام تکلیف").

* یک ویژگی تاریخ برای تاریخ سررسید (مثلاً "تاریخ سررسید").

* یک ویژگی متن برای آدرس ایمیل گیرنده (مثلاً "ایمیل").

  • پیکربندی ایمیل: جزئیات سرور SMTP و آدرس ایمیل فرستنده را به درستی در گره emailSend پیکربندی کنید.
  • مدیریت خطا: در حالی که این گردش کار شامل منطق شرطی اولیه است، برای محیط‌های تولیدی، مدیریت خطای قوی‌تری را در نظر بگیرید.
  • مستندات n8n در Axeto.ai: برای جزئیات بیشتر در مورد گره‌های خاص و پیکربندی‌های پیشرفته، به مستندات رسمی n8n در Axeto.ai مراجعه کنید: https://axeto.ai/n8n

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

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

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

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

چه سرویس‌هایی در این گردش کار ادغام شده‌اند؟

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

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

شما می‌توانید شناسه پایگاه داده Notion، فیلترهای تاریخ و محتوای ایمیل را مطابق با نیازهای خود در نودهای مربوطه در n8n تنظیم کنید.

workflowهای مرتبط

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