مستندات n8n
74+ نود
📊

ترلو

Trello

مدیریت خودکار بوردها، کارت‌ها، لیست‌ها و تیم‌ها در Trello با متد Kanban

مدیریت پروژه
مقدماتی
۰ بازدید
n8n 1.0+

نمای کلی

نود Trello چیست؟

نود Trello امکان اتصال و خودکارسازی مدیریت پروژه با روش Kanban را در n8n فراهم می‌کند. Trello یکی از محبوب‌ترین ابزارهای مدیریت پروژه در ایران است که تیم‌های مختلف از آن برای سازماندهی وظایف، پیگیری پیشرفت و همکاری تیمی استفاده می‌کنند.

قابلیت‌های کلیدی:

  • مدیریت بوردها: ایجاد، ویرایش، دریافت و حذف بوردهای پروژه
  • مدیریت لیست‌ها: ایجاد، ویرایش، جابجایی و آرشیو لیست‌ها (ستون‌های Kanban)
  • مدیریت کارت‌ها: ایجاد، ویرایش، جابجایی، کپی، آرشیو و حذف کارت‌ها
  • مدیریت اعضا: دریافت اطلاعات، لیست و اضافه/حذف اعضای بورد و کارت
  • لیبل‌ها: ایجاد، ویرایش، حذف و اضافه کردن لیبل به کارت‌ها
  • چک‌لیست‌ها: ایجاد، حذف چک‌لیست و مدیریت آیتم‌های آن
  • پیوست‌ها: آپلود، دریافت و حذف فایل‌های پیوست
  • کامنت‌ها: ایجاد، ویرایش و حذف کامنت روی کارت‌ها
  • Custom Fields: مدیریت فیلدهای سفارشی
  • Webhooks: دریافت رویدادها از Trello

Trello Trigger:

  • ایجاد کارت جدید
  • جابجایی کارت بین لیست‌ها
  • تغییر وضعیت چک‌لیست
  • اضافه شدن عضو جدید
  • کامنت جدید روی کارت
  • تغییرات لیبل

مقایسه Trello Butler با n8n:

  • Butler: اتوماسیون داخلی Trello با قوانین ساده (محدود به Trello)
  • n8n: اتوماسیون پیشرفته با اتصال به صدها سرویس دیگر
  • n8n امکان ساخت workflow‌های پیچیده بین Trello و سرویس‌های خارجی مثل تلگرام، ایمیل، دیتابیس و CRM را فراهم می‌کند

محدودیت‌های API:

  • Rate Limit: 100 درخواست در 10 ثانیه برای هر Token
  • حداکثر 300 درخواست در 10 ثانیه برای هر API Key
  • حداکثر اندازه پیوست: 10 مگابایت (Free) و 250 مگابایت (Business)

احراز هویت

احراز هویت Trello

دریافت API Key و Token

#### مرحله 1: دریافت API Key

  1. 1وارد اکانت Trello خود شوید
  2. 2به آدرس [trello.com/power-ups/admin](https://trello.com/power-ups/admin) بروید
  3. 3یک Power-Up جدید بسازید یا به Developer API Keys بروید
  4. 4API Key را کپی کنید:
code
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

#### مرحله 2: دریافت Token

  1. 1در همان صفحه، روی لینک "Token" کلیک کنید
  2. 2دسترسی‌های مورد نیاز را تایید کنید:
  • Read: خواندن بوردها، لیست‌ها و کارت‌ها
  • Write: ایجاد و ویرایش محتوا
  • Account: دسترسی به اطلاعات حساب
  1. 1Token را کپی کنید:
code
abc123def456ghi789jkl012mno345pqr678stu901vwx234yz

#### مرحله 3: تنظیم در n8n

  1. 1به Credentials بروید
  2. 2Trello API را انتخاب کنید
  3. 3فیلدها را پر کنید:
  • API Key: کلید API دریافتی
  • API Token: توکن دریافتی
  1. 1Test Connection بزنید

روش OAuth2 (برای اپلیکیشن‌ها)

برای اپلیکیشن‌هایی که چندین کاربر دارند:

  1. 1در صفحه Power-Ups، OAuth را تنظیم کنید
  2. 2Allowed Origins را اضافه کنید
  3. 3Client ID و Client Secret دریافت کنید
  4. 4در n8n از Trello OAuth2 API استفاده کنید

نکات امنیتی:

  • Token را به اشتراک نگذارید (دسترسی کامل به حساب دارد)
  • برای هر پروژه Token جداگانه بسازید
  • در صورت نیاز Token را از تنظیمات Trello Revoke کنید
  • از Environment Variables برای ذخیره Key و Token استفاده کنید
  • دسترسی Token را به حداقل لازم محدود کنید

عملیات‌های موجود

1

board-create

ایجاد بورد جدید در Trello

2

board-get

دریافت اطلاعات یک بورد شامل تنظیمات، لیست‌ها و اعضا

3

board-update

ویرایش نام، توضیحات و تنظیمات بورد

4

board-delete

حذف دائمی بورد (غیرقابل بازگشت)

5

list-create

ایجاد لیست (ستون) جدید در بورد

6

list-get

دریافت اطلاعات لیست و کارت‌های آن

7

list-update

ویرایش نام، جابجایی یا آرشیو لیست

8

card-create

ایجاد کارت جدید در لیست مشخص

9

card-get

دریافت اطلاعات کامل کارت شامل چک‌لیست، پیوست و کامنت‌ها

10

card-update

ویرایش عنوان، توضیحات، تاریخ سررسید و سایر فیلدهای کارت

11

card-delete

حذف دائمی کارت از بورد (غیرقابل بازگشت)

12

card-move

انتقال کارت به لیست یا بورد دیگر

13

member-get

دریافت اطلاعات پروفایل عضو

14

member-list

دریافت لیست اعضای یک بورد

15

label-create

ایجاد لیبل جدید در بورد

16

checklist-create

ایجاد چک‌لیست جدید روی کارت

17

checklist-item-create

اضافه کردن آیتم جدید به چک‌لیست

18

attachment-create

اضافه کردن پیوست (فایل یا URL) به کارت

19

comment-create

ارسال کامنت روی کارت

20

comment-update

ویرایش متن کامنت موجود

کاربردهای متداول

کاربردهای رایج

1. تقویم محتوا و برنامه انتشار

مدیریت تولید محتوا با بورد Kanban:

code
Schedule (هر روز صبح)
  -> Trello (queryDatabase - کارت‌های با due امروز)
  -> Loop
    -> IF (لیست = "آماده انتشار")
      -> WordPress (انتشار پست)
      -> Trello (card-update)
        idList: "منتشر شده"
      -> Telegram (اعلان: "مطلب منتشر شد")
    -> IF (لیست = "در حال نگارش")
      -> Telegram (یادآوری به نویسنده)

2. سیستم ردیابی باگ (Bug Tracking)

مدیریت باگ‌ها از گزارش تا رفع:

code
Webhook (گزارش باگ از سایت)
  -> Trello (card-create)
    idList: "باگ‌های جدید"
    name: "[Bug] {{$json.title}}"
    desc: "گزارش‌دهنده: {{$json.reporter}}\nمرورگر: {{$json.browser}}\nتوضیحات: {{$json.description}}"
    idLabels: [labelId_bug]
    due: {{$now.plus({days: 3}).toISO()}}
  -> Trello (checklist-create)
    name: "مراحل رفع باگ"
  -> Trello (checklist-item-create)
    items: ["بازتولید باگ", "شناسایی علت", "رفع کد", "تست", "Deploy"]
  -> Telegram (اعلان به تیم فنی)

3. پایپلاین مشتریان (Customer Onboarding)

مدیریت فرآیند ورود مشتری جدید:

code
Webhook (ثبت‌نام مشتری جدید)
  -> Trello (card-create)
    idList: "مشتریان جدید"
    name: "{{$json.companyName}} - {{$json.contactName}}"
    desc: "ایمیل: {{$json.email}}\nموبایل: {{$json.phone}}\nپلن: {{$json.plan}}"
  -> Trello (checklist-create: "مراحل Onboarding")
  -> Trello (checklist-item-create)
    items: ["ارسال ایمیل خوش‌آمدگویی", "تنظیم حساب کاربری", "جلسه معرفی محصول", "آموزش اولیه", "پیگیری هفته اول"]
  -> Trello (comment-create)
    text: "مشتری جدید از طریق وبسایت ثبت‌نام کرد"
  -> Email (ارسال خوش‌آمدگویی)

4. پایپلاین فروش (Sales Pipeline)

مدیریت سرنخ‌ها تا فروش نهایی:

code
Trello Trigger (کارت به لیست "پیشنهاد ارسال شد" منتقل شد)
  -> Wait (3 روز)
  -> Trello (card-get)
  -> IF (هنوز در لیست "پیشنهاد ارسال شد")
    -> Trello (comment-create)
      text: "یادآوری: 3 روز از ارسال پیشنهاد گذشته. پیگیری شود."
    -> Telegram (اعلان به فروشنده)
  -> IF (در لیست "بسته شده - موفق")
    -> MySQL (ثبت فروش)
    -> Telegram (تبریک به تیم)

5. اتوماسیون بورد Sprint

مدیریت خودکار اسپرینت‌ها:

code
Schedule (شروع اسپرینت - هر دو هفته)
  -> Trello (list-create)
    name: "Sprint {{$json.sprintNumber}} - To Do"
    idBoard: boardId
  -> Trello (لیست کارت‌های Backlog با اولویت بالا)
  -> Loop
    -> Trello (card-move)
      idList: "Sprint To Do"
  -> Telegram (اعلان شروع اسپرینت)

Schedule (پایان اسپرینت)
  -> Trello (لیست کارت‌های باقیمانده)
  -> Loop (کارت‌های ناتمام)
    -> Trello (card-move: بازگشت به Backlog)
  -> Trello (list-update: آرشیو لیست اسپرینت)
  -> Code (محاسبه Velocity)
  -> Telegram (گزارش اسپرینت)

6. برنامه‌ریزی شبکه‌های اجتماعی

مدیریت پست‌ها در کانال‌های مختلف:

code
Trello Trigger (کارت به "آماده انتشار" منتقل شد)
  -> Trello (card-get: دریافت پیوست و توضیحات)
  -> Trello (attachment-get: دریافت تصویر)
  -> IF (لیبل "اینستاگرام")
    -> Instagram API (انتشار پست)
  -> IF (لیبل "تلگرام")
    -> Telegram (sendPhoto به کانال)
  -> IF (لیبل "توییتر")
    -> Twitter (ارسال توییت)
  -> Trello (card-move: "منتشر شده")
  -> Trello (comment-create: "منتشر شد در {{$json.platforms}}")

7. پایپلاین استخدام (Hiring Pipeline)

مدیریت فرآیند استخدام:

code
Email Trigger (دریافت رزومه)
  -> Trello (card-create)
    idList: "رزومه‌های دریافتی"
    name: "{{$json.senderName}} - {{$json.subject}}"
    desc: "ایمیل: {{$json.from}}\nتاریخ: {{$now}}"
  -> Trello (attachment-create)
    file: PDF رزومه از ایمیل
  -> Trello (label-add)
    label: بر اساس عنوان شغلی
  -> Trello (checklist-create: "مراحل استخدام")
  -> Trello (checklist-item-create)
    items: ["بررسی رزومه", "تماس اولیه", "مصاحبه فنی", "مصاحبه مدیریتی", "پیشنهاد شغلی"]

8. تبدیل ایمیل به تسک

ایجاد خودکار کارت از ایمیل:

code
Email Trigger (ایمیل جدید با label "task")
  -> Trello (card-create)
    idList: "Inbox"
    name: {{$json.subject}}
    desc: "از: {{$json.from}}\n---\n{{$json.text}}"
    due: {{$now.plus({days: 7}).toISO()}}
  -> IF (ایمیل دارای پیوست)
    -> Loop (پیوست‌ها)
      -> Trello (attachment-create)
  -> Trello (comment-create)
    text: "ایجاد خودکار از ایمیل دریافتی"

9. هشدار کارت‌های معوق (Card Aging Alert)

اعلان کارت‌هایی که مدت طولانی بدون تغییر مانده‌اند:

code
Schedule (هر روز ساعت 9 صبح)
  -> Trello (دریافت کارت‌های بورد)
  -> Filter (کارت‌های بدون تغییر بیش از 7 روز)
  -> Loop
    -> Trello (comment-create)
      text: "هشدار: این کارت بیش از 7 روز بدون تغییر مانده!"
    -> IF (بدون تغییر بیش از 14 روز)
      -> Trello (label-add: "معوق")
  -> Telegram (گزارش کارت‌های معوق به مدیر)

10. ردیابی زمان و گزارش‌دهی

جمع‌آوری و گزارش پیشرفت تیم:

code
Schedule (آخر هر هفته)
  -> Trello (لیست کارت‌های Done این هفته)
  -> Code (شمارش کارت‌ها و محاسبه آمار)
  -> Trello (لیست کارت‌های In Progress)
  -> Code (ساخت گزارش هفتگی)
    Text:
      "گزارش هفته {{$json.weekNumber}}
       تکمیل شده: {{$json.doneCount}} کارت
       در حال انجام: {{$json.progressCount}} کارت
       عقب‌مانده: {{$json.overdueCount}} کارت"
  -> Telegram (ارسال گزارش)
  -> Google Sheets (ذخیره آمار)

11. همگام‌سازی Trello با Notion

سینک دوطرفه بین Trello و Notion:

code
Trello Trigger (کارت جدید)
  -> Notion (createDatabaseItem)
    Database: "تسک‌ها"
    Properties:
      Title: {{$json.card.name}}
      Status: "To Do"
      TrelloLink: {{$json.card.url}}
  -> Trello (comment-create)
    text: "سینک شد با Notion"

نکات حرفه‌ای

نکات حرفه‌ای

1. پیدا کردن شناسه‌ها (IDs)

ساده‌ترین روش برای یافتن Board/List/Card ID:

code
1. URL بورد: https://trello.com/b/BOARD_SHORT_ID/name
2. اضافه کردن .json به URL: https://trello.com/b/BOARD_ID.json
3. یا از API:
   GET https://api.trello.com/1/members/me/boards?key=KEY&token=TOKEN

2. Markdown در Trello

Trello از Markdown محدود پشتیبانی می‌کند:

markdown
**Bold**
*Italic*
~~Strikethrough~~
[Link](https://example.com)
- لیست
1. لیست شماره‌دار
> نقل قول
`کد`

3. استفاده هوشمند از لیبل‌ها

لیبل‌ها را با رنگ‌بندی معنادار تنظیم کنید:

code
سبز (green): تکمیل شده / تایید شده
زرد (yellow): در حال بررسی / نیاز به توجه
نارنجی (orange): فوری / اولویت متوسط
قرمز (red): بحرانی / مسدودکننده
بنفش (purple): ایده / پیشنهاد
آبی (blue): در حال انجام / جاری
آسمانی (sky): در انتظار / بلاک شده
صورتی (pink): درخواست مشتری

4. ساختار بورد Kanban استاندارد

code
Backlog -> To Do -> In Progress -> Review -> Testing -> Done -> Archive

هر لیست یک مرحله از فرآیند است. کارت‌ها از چپ به راست حرکت می‌کنند.

5. Card Templates با n8n

بسازید Card Template برای استفاده مکرر:

code
Webhook (نوع تسک)
  -> IF (type == "bug")
    -> Trello (card-create)
      name: "[Bug] {{$json.title}}"
      desc: Template باگ
    -> Trello (checklist-create: "QA Checklist")
  -> IF (type == "feature")
    -> Trello (card-create)
      name: "[Feature] {{$json.title}}"
      desc: Template فیچر
    -> Trello (checklist-create: "Definition of Done")

6. Power-Up های مفید با n8n

n8n می‌تواند جایگزین بسیاری از Power-Upهای Trello شود:

code
- Calendar Power-Up -> Schedule Trigger + Google Calendar
- Slack Power-Up -> Telegram/Slack نود مستقیم
- GitHub Power-Up -> GitHub Trigger + Trello نود
- Custom Fields -> Trello API + Code نود
- Butler -> n8n Workflow (بسیار قدرتمندتر)

7. فیلتر کارت‌ها با API

code
// کارت‌های یک لیست
GET /lists/{listId}/cards

// کارت‌های یک بورد
GET /boards/{boardId}/cards

// کارت‌های با فیلتر
GET /boards/{boardId}/cards/open (فقط باز)
GET /boards/{boardId}/cards/closed (فقط آرشیو)
GET /boards/{boardId}/cards/all (همه)

8. WIP Limit با n8n

پیاده‌سازی محدودیت Work In Progress:

code
Trello Trigger (کارت به "In Progress" منتقل شد)
  -> Trello (لیست کارت‌های In Progress)
  -> IF (تعداد > 3)
    -> Trello (card-move: بازگشت به To Do)
    -> Trello (comment-create: "WIP Limit! حداکثر 3 کارت همزمان")
    -> Telegram (اعلان به عضو)

9. ارسال یادآوری Due Date

code
Schedule (هر روز ساعت 8)
  -> Trello (لیست کارت‌های بورد)
  -> Filter (due < فردا AND dueComplete == false)
  -> Loop
    -> Telegram (یادآوری: "کارت {{name}} فردا سررسید می‌شود")

10. آرشیو vs حذف

  • آرشیو (closed: true): کارت/لیست پنهان می‌شود ولی قابل بازیابی است. توصیه شده.
  • حذف (DELETE): حذف دائمی و غیرقابل بازگشت. فقط در موارد ضروری.
  • همیشه ابتدا آرشیو کنید، سپس در صورت نیاز حذف.

11. Batch Operations

برای عملیات روی چند کارت:

code
HTTP Request (GET /boards/{boardId}/cards)
  -> Split In Batches (10 تا)
  -> Loop
    -> Trello (عملیات روی هر کارت)
    -> Wait (100ms)
  -> Merge Results

12. Custom Fields

فیلدهای سفارشی در Trello (نیاز به Power-Up):

code
// دریافت Custom Fields یک بورد
GET /boards/{boardId}/customFields

// تنظیم مقدار Custom Field روی کارت
PUT /cards/{cardId}/customField/{fieldId}/item
Body: {"value": {"text": "مقدار"}}

13. نحوه صحیح جابجایی کارت بین بوردها

code
Trello (card-update)
  cardId: "..."
  idBoard: "بورد مقصد"
  idList: "لیست مقصد در بورد جدید"

حتماً هم idBoard و هم idList بورد مقصد را مشخص کنید.

14. حفظ تاریخچه تغییرات

از Comment برای ثبت تاریخچه استفاده کنید:

code
Trello Trigger (هر تغییر)
  -> Trello (comment-create)
    text: "تغییر خودکار: {{$json.action.type}} توسط n8n - {{$now}}"

15. استفاده از Cover Image

هر کارت می‌تواند تصویر Cover داشته باشد:

code
// اضافه کردن Cover از URL
Trello (attachment-create)
  cardId: "..."
  url: "https://example.com/image.jpg"
  setCover: true

Cover Image اولین پیوست تصویری کارت است مگر تنظیم دیگری شود.

16. جداسازی بوردها برای محیط‌های مختلف

از بوردهای جداگانه برای Development, Staging و Production استفاده کنید و با n8n بین آنها workflow بسازید:

code
Trello Trigger (کارت Done در Dev Board)
  -> Trello (card-create در Staging Board)
  -> Trello (comment-create: "از Dev Board منتقل شد")

رفع مشکلات

خطاهای رایج و راه‌حل‌ها

1. خطای 401 Unauthorized

علت: API Key یا Token نامعتبر یا منقضی شده

راه‌حل

  • API Key و Token را بررسی کنید
  • Token ممکن است Revoke شده باشد، دوباره از Trello دریافت کنید
  • مطمئن شوید Token هنوز فعال است
  • Credential در n8n را بروز کنید
  • Token را از [trello.com/1/members/me/tokens](https://trello.com/1/members/me/tokens) بررسی کنید

2. خطای 404 Not Found

علت: شناسه بورد، لیست یا کارت اشتباه است

راه‌حل

  • شناسه را از URL کپی کنید:
code
بورد: https://trello.com/b/BOARD_ID/board-name
  کارت: https://trello.com/c/CARD_ID/card-name
  • مطمئن شوید آیتم آرشیو یا حذف نشده باشد
  • برای لیست: از API بورد لیست ID‌ها را دریافت کنید
  • دسترسی Token به بورد مورد نظر را بررسی کنید

3. خطای 429 Rate Limit Exceeded

علت: تعداد درخواست‌ها بیش از حد مجاز (100 در 10 ثانیه)

راه‌حل

  • بین درخواست‌ها Wait اضافه کنید:
code
Loop -> Trello -> Wait (200ms) -> Next
  • درخواست‌ها را Batch کنید
  • از Retry on Fail استفاده کنید:
code
Retry on Fail: ON
  Max Tries: 3
  Wait Between: 2000ms
  • عملیات سنگین را در ساعات غیر پیک انجام دهید

4. خطای 400 Bad Request

علت: پارامترهای ارسالی نادرست

راه‌حل

  • نام فیلدها را بررسی کنید (مثلاً idList نه listId)
  • فرمت تاریخ ISO 8601 باشد: 2024-12-31T23:59:59.000Z
  • مقادیر enum صحیح باشند (مثل color برای لیبل)
  • شناسه‌ها 24 کاراکتر هگزادسیمال هستند
  • برای Move کارت: هم idList و هم idBoard باید معتبر باشند

5. خطای "Invalid Token"

علت: Token دسترسی لازم را ندارد

راه‌حل

  • Token جدید با scope read,write,account بسازید
  • مطمئن شوید Token به بورد مورد نظر دسترسی دارد
  • برای Workspace بوردها، عضویت در Workspace لازم است
  • Token باید متعلق به کاربری باشد که به بورد دسترسی دارد

6. کارت ایجاد می‌شود ولی لیبل/عضو اضافه نمی‌شود

علت: شناسه لیبل یا عضو اشتباه است

راه‌حل

  • لیبل‌ها مختص هر بورد هستند، از شناسه لیبل همان بورد استفاده کنید
  • شناسه اعضا را از API بورد دریافت کنید:
code
GET /boards/{boardId}/members
  • لیبل بدون اسم نمی‌توان ساخت، حتماً نام تعیین کنید

7. Webhook/Trigger رویداد دریافت نمی‌کند

علت: تنظیمات Webhook نادرست

راه‌حل

  • URL باید publicly accessible باشد
  • HTTPS الزامی است
  • مطمئن شوید n8n Webhook URL فعال است
  • Callback URL باید با 200 پاسخ دهد
  • از Trello Webhook API لیست webhookهای فعال را بررسی کنید

8. خطای "Board is closed"

علت: بورد آرشیو شده و عملیات روی آن ممکن نیست

راه‌حل

  • ابتدا بورد را از آرشیو خارج کنید:
code
Trello (board-update)
    boardId: "..."
    closed: false
  • سپس عملیات مورد نظر را انجام دهید
  • یا از بورد فعال دیگری استفاده کنید
اشتراک‌گذاری:

آیا این مستندات مفید بود؟