n8n ابزاری Low-code است، نه No-code مطلق. بدون درک مفاهیم داده‌ای مثل JSON Path و تفاوت معماری Self-hosted با Cloud، اتوماسیون‌هایی که می‌سازید شکننده و غیرقابل‌مدیریت خواهند بود. این راهنمای عملی کار با n8n، از نصب روی سرور شخصی تا طراحی ایجنت هوش مصنوعی، مسیر واقعی را نشان می‌دهد.

آموزش n8n از صفر: مفاهیم پایه و معماری ورک‌فلو#

آموزش n8n از صفر با درک چهار مفهوم Node (گره)، Workflow (جریان کاری)، Trigger (محرک) و Execution (اجرا) آغاز می‌شود که ستون‌های اصلی هر اتوماسیون در این ابزار هستند.

هر ورک‌فلو در n8n از یک Trigger شروع می‌شود. Triggerها دو دسته‌اند: زمان‌بندی‌شده (Cron) و رویدادمحور (Webhook). نودهای معمولی در میانه‌ی مسیر، داده را پردازش یا تبدیل می‌کنند و در انتها یک یا چند Action خروجی تولید می‌کنند.

محیط کاربری n8n بصری است. نودها را از پنل کناری به Canvas می‌کشید و با درگ کردن اتصال بین آن‌ها، جریان داده را تعریف می‌کنید. هر Execution یک لاگ کامل تولید می‌کند که در آن می‌توانید داده‌ی ورودی و خروجی هر نود را جداگانه ببینید. این قابلیت برای دیباگ حیاتی است.

نکته‌ای که در آموزش‌های مقدماتی نادیده گرفته می‌شود: ساختار داده در n8n بر اساس آرایه‌ی آبجکت‌هاست. هر نود یک آرایه از آیتم‌ها دریافت می‌کند و یک آرایه برمی‌گرداند. اگر این مدل را درک نکنید، Data Mapping شما از همان ابتدا مشکل‌ساز خواهد شد.

نصب n8n روی سرور شخصی با Docker#

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

تفاوت مدل هزینه‌ای Cloud و Self-hosted#

نسخه Cloud بر اساس تعداد Executionها قیمت‌گذاری می‌شود. یعنی هر بار که ورک‌فلوی شما اجرا شود، یک واحد از پلن‌تان مصرف می‌کند. در مقابل، Self-hosted فقط هزینه‌ی سرور را می‌پردازید و محدودیت سخت‌افزاریِ تعداد اجراها وجود ندارد. برای پروژه‌هایی با حجم بالای اجرا، تفاوت هزینه محسوس است.

پیش‌نیازهای نصب با Docker و آشنایی با CLI#

نصب n8n با Docker نیازمند آشنایی مقدماتی با دستورات خط فرمان است. حداقل باید بتوانید فایل docker-compose.yml را ویرایش کنید، پورت‌ها را تنظیم نمایید و لاگ‌ها را بررسی کنید. اگر این مهارت را ندارید، ابتدا یک سرور VPS ساده با اوبونتو بگیرید و با Docker Compose کار کنید.

اهمیت دامنه و公网 IP برای دریافت Webhookهای امن#

برای اینکه n8n بتواند Webhook دریافت کند، باید از اینترنت قابل‌دسترس باشد. این یعنی حداقل یک公网 IP عمومی یا ترجیحاً یک دامنه با گواهی SSL. برخی سرویس‌ها مانند GitHub و Telegram برای درخواست‌های Webhook، پروتکل HTTPS را الزامی می‌دانند و بدون آن اتصال برقرار نمی‌شود.

آیا n8n جایگزین Zapier و Make است؟#

مقایسه صرفاً بر اساس تعداد اتصال‌ها اشتباه است؛ n8n انعطاف‌پذیری بسیار بالاتری در دستکاری داده‌ها (Data Manipulation) دارد، در حالی که Zapier برای کاربران غیرفنی ساده‌تر است و Make در میانه قرار می‌گیرد.

نکته‌ی مهم درباره لایسنس n8n: این ابزار تحت لایسنس Fair-code منتشر می‌شود. یعنی کد منبع در دسترس است و می‌توانید آن را Self-host کنید، اما در معنای OSI کاملاً Open Source نیست. فروش n8n به‌عنوان سرویس به دیگران محدودیت‌هایی دارد. این موضوع برای کسب‌وکارهایی که می‌خواهند n8n را به‌عنوان محصول ثانویه بفروشند مهم است.

معیارn8nZapierMake
مدل هزینهSelf-hosted رایگان، Cloud اشتراکیاشتراکی بر اساس Taskاشتراکی بر اساس Operation
انعطاف داده‌ایبسیار بالا (JSON Path، Code Node)محدودمتوسط
پیچیدگی فنینیاز به درک API و دادهکمترینمتوسط
AI AgentLangChain Nodes داخلیAI Actions محدوداتصال به APIهای AI

ساخت ایجنت هوش مصنوعی (AI Agent) در n8n گام به گام#

برای ساخت ایجنت هوش مصنوعی (AI Agent) در n8n باید از LangChain Nodes استفاده کنید و با تعریف ابزارها (Tools) و مدل‌های زبانی، یک ورک‌فلوی خودمختار بسازید که بدون دخالت دستی تصمیم بگیرد.

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

اتصال به OpenAI و تنظیم پارامترهای مدل#

نود AI Agent در n8n نیاز به یک Chat Model دارد. ساده‌ترین مسیر، اتصال به OpenAI با وارد کردن API Key است. پارامترهای Temperature و Max Tokens را در همان نود تنظیم می‌کنید. برای کارهای دقیق‌تر، مدل‌های Anthropic یا Llama از طریق Ollama هم قابل اتصال‌اند.

تعریف ابزارها (Tools) و نحوه تعامل ایجنت با APIها#

ایجنت بدون Tool فقط متن تولید می‌کند. با اضافه کردن Toolها، ایجنت می‌تواند جستجو کند، ایمیل بفرستد یا به پایگاه داده دسترسی یابد. هر Tool در n8n یک نود جداگانه است که به AI Agent متصل می‌شود. ایجنت خودش تصمیم می‌گیرد کدام Tool را در چه ترتیبی صدا بزند.

مدیریت حافظه (Memory) در ایجنت‌ها#

بدون Memory، ایجنت هر پیام را مستقل از قبلی‌ها می‌بیند. نود Buffer Memory ساده‌ترین گزینه برای نگه‌داشتن تاریخچه گفت‌وگو است. برای پروژه‌های جدی‌تر، Vector Store Memory با پایگاه داده‌هایی مثل Pinecone یا Supabase استفاده می‌شود.

نمونه ورک‌فلو:

  1. Telegram Trigger — دریافت پیام از چت
  2. AI Agent — پردازش با Chat Model (OpenAI)
  3. Tool: Google Search — جستجوی وب در صورت نیاز
  4. Tool: Gmail — ارسال پاسخ ایمیلی
  5. Telegram Output — ارسال پاسخ نهایی به کاربر

اتصال به API‌های خارجی و مدیریت داده‌ها در n8n#

مدیریت داده‌ها در n8n نیازمند درک صحیح ساختار JSON و استفاده از ابزارهای استخراج داده مثل JSON Path برای خواندن پاسخ‌های پیچیده و تودرتو است.

تنظیمات HTTP Request و ارسال Headerها#

نود HTTP Request قدرتمندترین ابزار اتصال به دنیای بیرون است. Authentication را می‌توانید به‌صورت API Key، Bearer Token یا OAuth2 تنظیم کنید. در بخش Body، فرمت داده (JSON، Form URL-encoded، Multipart) را مشخص می‌کنید.

کار با Webhookها و دریافت داده‌های ورودی#

Webhookها نقطه‌ی ورود داده به n8n هستند. هر Webhook یک URL منحصر‌به‌فرد تولید می‌کند. برای امنیت، می‌توانید روی Webhook احراز هویت (Authentication) بگذارید تا هر کسی نتواند به آن درخواست بفرستد.

اشتباه رایج در Data Mapping و نحوه صحیح استفاده از JSON Path#

بزرگ‌ترین اشتباه تازه‌کارها، ارجاع مستقیم به فیلدهای تودرتو بدون JSON Path است. وقتی پاسخ API ساختاری مثل response.data.items[0].name دارد، باید از عبارت‌های استخراج داده در n8n استفاده کنید. نادیده گرفتن این موضوع باعث می‌شود ورک‌فلو در پاسخ‌های پیچیده‌ی API بشکند. از نود Set یا Edit Fields برای استخراج و بازچینش داده قبل از ارسال به نود بعدی استفاده کنید.

اگر با n8n کار کرده‌اید، احتمالاً در جریان‌های داده‌ای گیر کرده‌اید. در دوره‌ی «ساخت Ai Agent با N8N» در اسکول، همین چالش‌ها را روی پروژه‌های واقعی حل می‌کنیم — نه روی مثال‌های تئوری.