نود Google Tasks در N8N
نود Google Tasks در n8n به شما کمک میکند کارها (Task) و لیستهای کاری (Task List) را در سرویس Google Tasks بهصورت خودکار بسازید، ویرایش کنید، حذف کنید و بخوانید. اگر مدیریت کارهایتان در Google Tasks است، با این نود میتوانید از پیامهای تلگرام، ایمیلها، فرمها، تیکتهای پشتیبانی یا رویدادهای تقویم، «وظیفه قابل پیگیری» بسازید و هیچ کاری از قلم نیفتد.
معرفی نود در N8N
نود Google Tasks یک نود یکپارچهسازی (Integration) است که از طریق Google Tasks API به حساب Google شما متصل میشود و عملیات مختلفی را روی تسکها و لیستها انجام میدهد.
- کارکرد اصلی: مدیریت Task و Task List (ایجاد/دریافت/بهروزرسانی/حذف)
- دستهبندی نود: Integration (اکشن)
- اهمیت در ورکفلوها: تبدیل رویدادهای پراکنده (ایمیل، پیام، فرم، CRM) به تسکهای استاندارد با تاریخ سررسید، یادداشت و وضعیت انجام
موارد استفاده
۱) ساخت خودکار تسک از ایمیلهای مهم
سناریو: هر ایمیلی که برچسب “Action Required” میگیرد، به یک تسک در Google Tasks تبدیل شود.
- نودهای پیشنهادی: Gmail Trigger/IMAP Email + Google Tasks (Create) + Set
- نتیجه: هر ایمیل مهم، یک تسک با عنوان از Subject و توضیح از Body
۲) تبدیل فرمهای درخواست به کار قابل پیگیری
سناریو: هر ارسال جدید از Google Forms یا Typeform یک تسک برای تیم ایجاد کند.
- نودهای پیشنهادی: Webhook/Typeform Trigger + Google Tasks (Create) + IF
- نکته عملی: بر اساس نوع درخواست، آن را در Task List متفاوت ثبت کنید.
۳) همگامسازی تیکتهای پشتیبانی با تسکها
سناریو: اگر تیکتی با اولویت “High” ایجاد شد، یک تسک با Due Date نزدیک ساخته شود و در Notes لینک تیکت ذخیره گردد.
- نودهای پیشنهادی: Zendesk/Jira/Helpdesk Trigger + Google Tasks (Create) + Date & Time
۴) یادآوری پیگیری لیدهای فروش
سناریو: وقتی یک لید جدید در CRM ثبت شد، برای ۲ روز بعد یک تسک “Follow up” ساخته شود.
- نودهای پیشنهادی: HubSpot/Pipedrive Trigger + Date & Time + Google Tasks (Create)
۵) ساخت تسکهای تکرارشونده با زمانبندی n8n
Google Tasks بهصورت API محور، «تکرار» را مثل Google Calendar به شکل یک قانون RRULE عمومی مدیریت نمیکند. راهکار عملی این است که خود n8n تکرار را مدیریت کند.
- نودهای پیشنهادی: Schedule Trigger (روزانه/هفتگی) + Google Tasks (Create)
پارامترها و تنظیمات
۱) Credentials (اعتبارنامهها)
- نام پارامتر: Google Tasks OAuth2 APIنوع داده: Credential
توضیح: اتصال امن به Google با OAuth2 برای دسترسی به Tasks
مثال عملی: ورود با اکانت تیم و اجازه دسترسی به Google Tasks
نکته مهم: اگر حساب شما چندین فضای کاری (Workspace) دارد، مطمئن شوید با همان حسابی وارد شدهاید که Task Listها داخل آن هستند.
۲) Resource (منبع)
- نام پارامتر: Resourceنوع داده: Option (لیست انتخابی)
توضیح: تعیین میکند عملیات روی “Task” انجام شود یا “Task List”
مثال عملی: Resource = Task برای ساخت و مدیریت تسکها
۳) Operation (عملیات)
بسته به Resource، عملیاتها تغییر میکند.
عملیاتهای رایج برای Task
- Create (ایجاد تسک)
- Task List | نوع: Option/ID | توضیح: لیستی که تسک داخل آن ساخته میشود | مثال: “Personal” یا ID لیست
- Title | نوع: String | توضیح: عنوان تسک | مثال: “تماس با مشتری برای قرارداد”
- Notes | نوع: String (اختیاری) | توضیح: توضیحات، لینکها، جزئیات | مثال: “لینک تیکت: https://…”
- Due | نوع: DateTime (اختیاری) | توضیح: زمان سررسید | مثال: “2026-02-10T09:00:00+03:30”
- Status | نوع: Option (اختیاری) | توضیح: وضعیت مثل needsAction یا completed | مثال: needsAction
- Parent Task | نوع: String/ID (اختیاری) | توضیح: ساخت زیرتسک زیر یک تسک دیگر | مثال: ID تسک والد
- Additional Fields | نوع: Collection | توضیح: فیلدهای اضافی مثل لینک (در notes) یا تنظیمات خاص | مثال: اضافهکردن due با timezone درست
- Get (دریافت یک تسک)
- Task List | نوع: Option/ID | مثال: “Work”
- Task ID | نوع: String | مثال: “MDQ2…”
- Get Many / List (لیست گرفتن از تسکها)
- Task List | نوع: Option/ID | توضیح: مبدا لیست
- Return All | نوع: Boolean | توضیح: همه نتایج یا محدود | مثال: true
- Limit | نوع: Number | توضیح: اگر Return All خاموش باشد | مثال: 50
- Show Completed | نوع: Boolean | توضیح: نمایش تسکهای انجامشده | مثال: false
- Show Deleted | نوع: Boolean | توضیح: نمایش حذفشدهها | مثال: false
- Show Hidden | نوع: Boolean | توضیح: نمایش مخفیها | مثال: false
- Due Min / Due Max | نوع: DateTime (اختیاری) | توضیح: فیلتر بازه زمانی سررسید | مثال: امروز تا ۷ روز آینده
- Updated Min | نوع: DateTime (اختیاری) | توضیح: فقط مواردی که بعد از زمانی خاص تغییر کردهاند | مثال: “2026-02-01T00:00:00Z”
- Update (بهروزرسانی)
- Task List | نوع: Option/ID
- Task ID | نوع: String
- Fields to Update | نوع: Collection | توضیح: عنوان، notes، due، status و …
- مثال عملی: وقتی مشتری پاسخ داد، status را completed کنید.
- Delete (حذف)
- Task List | نوع: Option/ID
- Task ID | نوع: String
عملیاتهای رایج برای Task List
- Create
- Title | نوع: String | مثال: “تسکهای تیم محتوا”
- Get
- Task List ID | نوع: String
- Get Many / List
- Return All | نوع: Boolean
- Limit | نوع: Number
- Update
- Task List ID | نوع: String
- Title | نوع: String
- Delete
- Task List ID | نوع: String
نکات مهم هنگام پیکربندی
- فرمت تاریخ و زمان: بهترین حالت ISO 8601 است. اگر تایمزون برایتان مهم است، مقدار را با offset (مثل +03:30) ارسال کنید.
- Notes برای لینکدهی: Google Tasks فیلد لینک مجزا مثل برخی ابزارها ندارد؛ لینکها را استاندارد داخل Notes ذخیره کنید.
- مدیریت زیرتسکها: با Parent Task میتوانید ساختار سلسلهمراتبی بسازید، اما گزارشگیری و جستوجوی پیشرفته ممکن است محدود باشد.
- Return All: در لیستگرفتنهای پرتعداد، Return All ممکن است زمان اجرا را افزایش دهد؛ در پروژههای جدی بهتر است Limit و صفحهبندی/فیلتر زمانی داشته باشید.
ورودیها و خروجیها
ورودی (Input)
این نود معمولاً ورودی را از نودهای قبل به شکل آیتمهای JSON میگیرد. بسیاری از فیلدها را میتوانید با Expression از ورودی پر کنید؛ مثلاً Title را از {{$json.subject}} یا Due را از یک فیلد محاسبهشده.
نمونه ورودی رایج برای ساخت تسک:
{ "title": "پیگیری قرارداد", "notes": "از طرف: علیnلینک: https://example.com/ticket/123", "due": "2026-02-10T09:00:00+03:30", "taskListId": "MDg0Nj..."}
خروجی (Output)
خروجی شامل شیء تسک/لیست ساختهشده یا دادههای دریافتشده از API است. خروجی برای اتصال به نودهای بعدی (مثل ارسال پیام، ذخیره در دیتابیس یا لاگ) بسیار مناسب است.
نمونه خروجی برای Create Task:
{ "kind": "tasks#task", "id": "MTIzNDU2...", "title": "پیگیری قرارداد", "notes": "از طرف: علیnلینک: https://example.com/ticket/123", "status": "needsAction", "due": "2026-02-10T05:30:00.000Z", "updated": "2026-02-09T12:00:00.000Z", "selfLink": "https://www.googleapis.com/tasks/v1/lists/MDg0Nj.../tasks/MTIzNDU2..."}
نکته: ممکن است Google زمان را در خروجی به UTC برگرداند. در پردازشهای بعدی، اگر نمایش محلی مهم است، تبدیل تایمزون را با نود Date & Time انجام دهید.
نکات پیشرفته و ترفندها
۱) ساخت زیرتسکها (Subtask) با Parent
اگر یک “کار بزرگ” دارید، ابتدا تسک والد را بسازید و سپس چند تسک دیگر با Parent Task برابر با ID والد ایجاد کنید. این کار برای پروژههای کوچک بسیار کاربردی است.
۲) جلوگیری از ساخت تسک تکراری (Deduplication)
برای جلوگیری از تکرار، یک کلید یکتا بسازید (مثلاً ترکیب منبع و شناسه: “ticket-123”) و آن را داخل Notes ذخیره کنید. سپس قبل از Create، با Get Many و فیلتر زمانی/متنی (یا یک دیتابیس کمکی مثل Data Store / Redis / Google Sheet) بررسی کنید که قبلاً ساخته نشده باشد.
- ترکیب پیشنهادی: Google Tasks (Get Many) + IF + Google Tasks (Create)
۳) مدیریت تکرارها با Schedule Trigger
برای تسکهای تکرارشونده (مثل گزارش هفتگی)، بهجای تکیه بر قابلیتهای محدود تسک، یک Schedule Trigger بسازید که هر هفته اجرا شود و تسک جدید ایجاد کند. برای جلوگیری از تکرار در یک روز، تاریخ روز را داخل Notes ثبت کنید.
۴) بهینهسازی لیستگرفتن با فیلترهای زمانی
بهجای Return All، بازه Due Min / Due Max یا Updated Min را تنظیم کنید تا حجم داده کم شود. این کار هم سرعت را بهتر میکند و هم احتمال خطاهای نرخ درخواست را کاهش میدهد.
۵) استفاده از Set برای استانداردسازی داده قبل از ارسال
قبل از Google Tasks، با نود Set فیلدها را تمیز و یکدست کنید (title کوتاه، notes با قالب ثابت، due با ISO). این کار خطاهای ناشی از دادههای ناقص را کم میکند.
محدودیتها و خطاها
محدودیتها
- فیلترینگ محدود در API: در مقایسه با ابزارهای مدیریت پروژه، جستوجوی پیشرفته و فیلترهای پیچیده محدودتر است.
- تکرار (Recurring) داخلی: مدیریت تکرار معمولاً باید در سطح ورکفلو (Schedule) انجام شود.
- مدیریت فیلدهای سفارشی: تسکها فیلد سفارشی مثل “Priority” ندارند؛ باید با متن در Notes یا برچسبگذاری در Title شبیهسازی شود.
خطاهای رایج و راهحلها
- 401 Unauthorized / Invalid Credentials
- علت: توکن OAuth منقضی شده یا دسترسی درست داده نشده
- راهحل: Credential را دوباره وصل کنید و دسترسی Google Tasks را تایید کنید.
- 403 Forbidden / Insufficient Permission
- علت: حساب Google یا Workspace محدودیت دسترسی دارد
- راهحل: با اکانت درست لاگین کنید، یا در تنظیمات Workspace دسترسی API را بررسی کنید.
- 404 Not Found
- علت: Task List ID یا Task ID اشتباه است یا به آن اکانت تعلق ندارد
- راهحل: ابتدا با Task List: Get Many لیستها را بگیرید و ID صحیح را استفاده کنید.
- 400 Bad Request (مشکل در تاریخ Due)
- علت: فرمت تاریخ نامعتبر یا تایمزون نامشخص
- راهحل: از ISO 8601 استفاده کنید و در صورت نیاز offset را اضافه کنید (مثل +03:30).
- Rate Limit / Quota Exceeded
- علت: تعداد درخواست زیاد در زمان کم
- راهحل: از Limit، فیلتر زمانی، و در صورت نیاز Wait/Batching استفاده کنید و تعداد آیتمها را مدیریت کنید.
ایده ها
- ساخت “Inbox تسک” از پیامهای ستارهدار Gmail و انتقال خودکار به لیستهای مختلف با توجه به کلمات کلیدی
- ورود خودکار خروجی جلسات (Meeting Notes) از Google Docs به Google Tasks با Due برای هر Action Item
- ساخت تسک پیگیری پرداخت برای فاکتورهای صادرشده در Stripe/Accounting و تکمیل خودکار تسک پس از پرداخت
- داشبورد روزانه: جمعآوری تسکهای امروز و ارسال خلاصه به Slack/Telegram
- سیستم کنترل کیفیت محتوا: پس از انتشار مقاله در CMS، تسک “بازبینی سئو” و “بازبینی لینکها” بهصورت زیرتسک ایجاد شود
