مسدود کردن خودکار زمان تمرکز در تقویم گوگل

مسدود کردن خودکار زمان تمرکز در تقویم گوگل

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

دانلود workflow

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

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

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

خودکارسازی مسدود کردن زمان تمرکز در روزهای شلوغ تقویم گوگل

این گردش کار به طور خودکار بلوک‌های "زمان تمرکز" را در تقویم Google شما در روزهایی که از قبل به شدت برنامه‌ریزی شده‌اند (۶ ساعت یا بیشتر رزرو شده) ایجاد می‌کند. این گردش کار تقویم شما را برای هفته جاری (یکشنبه تا شنبه) تجزیه و تحلیل می‌کند، زمان‌های آزاد موجود را در ساعات کاری استاندارد (۹ صبح تا ۵ بعد از ظهر) شناسایی می‌کند و سپس این دوره‌های آزاد باقی‌مانده را به عنوان رویدادهای "زمان تمرکز" مسدود می‌کند. این گردش کار برای اجرا روزانه در ساعت ۸ صبح طراحی شده است، که تضمین می‌کند تقویم شما قبل از شروع روز کاری به طور پیشگیرانه به‌روزرسانی می‌شود.

موارد استفاده کلیدی:

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

ساختار گردش کار:

1. محرک زمان‌بندی روزانه: گردش کار را هر روز صبح آغاز می‌کند.

2. دریافت داده‌های تقویم: تمام رویدادهای هفته جاری را از تقویم Google دریافت می‌کند.

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

4. نقطه تصمیم‌گیری: تعیین می‌کند که آیا رویدادهای زمان تمرکز باید ایجاد شوند یا خیر.

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

6. ثبت وقایع: نتیجه فرآیند ایجاد زمان تمرکز را ثبت می‌کند.

---

تجزیه و تحلیل دقیق گره‌ها

۱. محرک زمان‌بندی روزانه

  • هدف: گردش کار را هر روز ساعت ۸:۰۰ صبح راه‌اندازی می‌کند و امکان به‌روزرسانی پیشگیرانه تقویم را قبل از شروع روز کاری فراهم می‌کند.
  • گره: Schedule Trigger
  • پیکربندی:

Cron Expression: 0 8 (۸:۰۰ صبح روزانه)

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

۲. دریافت داده‌های تقویم

  • هدف: تمام رویدادها را از تقویم Google اصلی شما برای هفته جاری (یکشنبه تا شنبه) جمع‌آوری می‌کند.
  • گره: Google Calendar
  • عملیات: getAll
  • پیکربندی:

* Calendar: تقویم Google اصلی خود را انتخاب کنید.

* Options: مقادیر پیش‌فرض استفاده می‌شوند؛ فیلتر کردن در گره‌های بعدی انجام می‌شود.

  • اعتبارنامه‌ها: نیاز به اعتبارنامه‌های OAuth2 تقویم Google دارد.
  • ملاحظات:

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

* به محدودیت‌های نرخ و سهمیه‌های API تقویم Google توجه داشته باشید.

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

۳. تجزیه و تحلیل و محاسبه اسلات‌های آزاد

  • هدف: این گره رویدادهای تقویم دریافت شده را تجزیه و تحلیل می‌کند. روزهایی را که ۶ ساعت یا بیشتر در ساعات کاری استاندارد (۹ صبح تا ۵ بعد از ظهر) رزرو شده‌اند، شناسایی می‌کند. سپس اسلات‌های زمانی آزاد موجود را در این روزهای شلوغ محاسبه می‌کند و اسلات‌هایی با حداقل مدت زمان ۱۵ دقیقه را فیلتر می‌کند.
  • گره: Code (JavaScript)
  • منطق:

* مرزهای هفته جاری را با شروع از یکشنبه تعریف می‌کند.

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

* اگر ساعات رزرو شده ۶ ساعت یا بیشتر باشد، اسلات‌های آزاد را محاسبه می‌کند.

* اسلات‌های آزاد را به حداقل مدت زمان ۱۵ دقیقه فیلتر می‌کند.

* یک شیء JSON خروجی می‌دهد که نشان می‌دهد آیا زمان تمرکز باید ایجاد شود (shouldCreateFocusTime)، تعداد اسلات‌های یافت شده (totalSlotsFound) و جزئیات اسلات‌های آزاد (freeSlots).

  • ورودی: داده‌های رویداد از گره Google Calendar.
  • خروجی: JSON حاوی نتایج تجزیه و تحلیل.
  • ملاحظات:

* رویدادهای خارج از پنجره ۹ صبح تا ۵ بعد از ظهر تنظیم می‌شوند.

* مدیریت مداوم منطقه زمانی برای مقایسه‌های دقیق تاریخ بسیار مهم است.

۴. نقطه تصمیم‌گیری

  • هدف: تعیین می‌کند که آیا بر اساس تجزیه و تحلیل، ایجاد رویدادهای زمان تمرکز ادامه یابد یا خیر.
  • گره: If
  • شرط: بررسی می‌کند که آیا {{ $json.shouldCreateFocusTime }} برابر با true است.
  • شاخه‌ها:

* True: برای تقسیم اسلات‌های آزاد برای ایجاد رویداد ادامه می‌یابد.

* False: به گره‌ای هدایت می‌شود که ثبت می‌کند نیازی به زمان تمرکز نیست.

۵. ایجاد رویدادهای زمان تمرکز

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

* Item Lists

* Google Calendar

  • گره Item Lists:

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

* پیکربندی: فیلد freeSlots را تقسیم می‌کند.

  • گره Google Calendar:

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

* عملیات: Create event

* پیکربندی:

* Start: ={{ $json.start }} (از زمان شروع اسلات آزاد استفاده می‌کند)

* End: ={{ $json.end }} (از زمان پایان اسلات آزاد استفاده می‌کند)

* Calendar: تقویم Google اصلی خود را انتخاب کنید.

* Summary: به طور پیش‌فرض "Focus Time" بر اساس داده‌های گره کد است.

* اعتبارنامه‌ها: از همان اعتبارنامه‌های OAuth2 تقویم Google استفاده می‌کند.

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

۶. ثبت وقایع

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

* Code (برای ایجاد موفقیت‌آمیز رویداد)

* Code (برای زمانی که نیازی به زمان تمرکز نیست)

  • گره Log Results:

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

  • گره Log No Focus Time Needed:

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

---

جدول خلاصه گردش کار

نام گرهنوع گرهنقش عملکردیگره(های) ورودیگره(های) خروجیپیکربندی کلیدی / نکات
Daily Schedule TriggerSchedule Triggerشروع گردش کار در ساعت ۸ صبح روزانه-Fetch Calendar DataCron Expression: 0 8 *
Fetch Calendar DataGoogle Calendarدریافت تمام رویدادهای هفته جاری از تقویم GoogleDaily Schedule TriggerAnalyze and Calculate Free SlotsOperation: getAll, Calendar: Primary Google Calendar
Analyze and Calculate Free SlotsCode (JavaScript)شناسایی روزهای شلوغ (>= ۶ ساعت رزرو شده بین ۹ صبح تا ۵ بعد از ظهر) و محاسبه اسلات‌های آزاد (حداقل ۱۵ دقیقه)Fetch Calendar DataDecision PointJavaScript code to process events and identify free slots
Decision PointIfبررسی اینکه آیا باید رویدادهای زمان تمرکز ایجاد شود یا خیرAnalyze and Calculate Free SlotsItem Lists (True branch), Log No Focus Time Needed (False branch)Condition: {{ $json.shouldCreateFocusTime }} is true
Item ListsItem Listsتقسیم آرایه freeSlots به موارد جداگانه برای ایجاد رویدادDecision Point (True branch)Google Calendar (Create event)Splits the freeSlots field
Create Focus Time EventsGoogle Calendarایجاد رویداد "Focus Time" برای هر اسلات آزادItem ListsLog ResultsOperation: Create event, Summary: "Focus Time", Start/End times from freeSlots
Log ResultsCodeثبت خلاصه رویدادهای زمان تمرکز ایجاد شدهCreate Focus Time Events-JavaScript code to log created events
Log No Focus Time NeededCodeثبت پیامی مبنی بر عدم نیاز به ایجاد زمان تمرکزDecision Point (False branch)-JavaScript code to log the "no focus time needed" message

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

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

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

این گردش کار تقویم شما را برای هفته جاری تحلیل می‌کند، روزهایی که بیش از ۶ ساعت وقت رزرو شده دارند را شناسایی کرده و سپس زمان‌های آزاد باقی‌مانده بین ۹ صبح تا ۵ بعد از ظهر را به عنوان رویداد "زمان تمرکز" مسدود می‌کند.

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

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

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

این گردش کار رویدادهای موجود در تقویم Google اصلی شما را در ساعات کاری استاندارد (۹ صبح تا ۵ بعد از ظهر) تحلیل می‌کند و زمان‌های آزاد را برای مسدود کردن زمان تمرکز شناسایی می‌کند.

workflowهای مرتبط

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