۱) مروری کوتاه و پیشنیازها
پیشنیازهای حداقلی:
دسترسی به یک سرور/کامپیوتر برای اجرای n8n یا ثبتنام در n8n Cloud. (اگر تازهکارید، استفاده از n8n Cloud سادهتر است؛ برای کنترل کامل دادهها، خودهاست کنید.)
Docker (یا آشنایی با راهاندازی محلی/نصب با npm).
حساب Google (برای Google Sheets) و یک سرویس ایمیل با دسترسی SMTP (یا سرویسهایی مثل SendGrid که با SMTP کار میکنند).
نکته: n8n هم به صورت Cloud و هم Self-hosted قابل استفاده است؛ مستندات رسمی تفاوتها و نیازمندیها را توضیح دادهاند. n8n Docs
۲) نصب سریع — روش پیشنهادی: Docker / Docker-Compose
برای شروع سریع و تست، استفاده از Docker راحتترین روش است. مستندات رسمی نصب به کمک Docker و docker-compose را توضیح داده است. نمونهٔ پایهی docker run:
یا نمونهٔ سادهٔ docker-compose.yml (برای توسعه):
نکات مهم:
پورت پیشفرض داخلی n8n ۵۶۷۸ است و میتوانید با
-p hostPort:5678آن را در میزبان نگاشت کنید. n8n Docs +1برای تولید (Production) حتماً از
docker-composeو تنظیمات محیطی (مثلN8N_ENCRYPTION_KEY، دیتابیس مناسب مثل Postgres، و SSL / reverse proxy) استفاده کنید؛ docs نصب و پیکربندی کامل را دارد. n8n Docs +1
۳) نکتهٔ دیتابیس و حالت پیشفرض
n8n بهصورت پیشفرض از SQLite برای ذخیرهی ورکفلوها، اعتبارات و تاریخچهٔ اجراها استفاده میکند. برای محیطهای تولید بزرگتر توصیه میشود از Postgres استفاده کنید. n8n Docs
۴) باز کردن رابط وب و امنیت پایه
پس از اجرای کانتینر، مرورگر را باز کرده و به
http://<HOST>:5678بروید (مثلاًhttp://localhost:5678). اگر basic auth فعال کرده باشید، صفحه ورود را خواهید دید.برای محافظت بهتر در تولید: فعالسازی basic auth (متغیرهای محیطی
N8N_BASIC_AUTH_*)، استفاده از reverse proxy (nginx/Caddy) با HTTPS و ذخیرهٔ امن کلیدها توصیه میشود. (متغیرهای محیطی و نحوهٔ تنظیم در مستندات توضیح داده شده.) n8n Docs +1
۵) آمادهسازی اعتبارنامهها (Credentials)
قبل از ساخت ورکفلو، چند Credential باید در n8n ایجاد کنید:
Google (برای Google Sheets):
در n8n به بخش Credentials بروید و یک Google OAuth2 credential بسازید.
برای این کار معمولاً باید یک پروژه در Google Cloud بسازید، Google Sheets API را فعال کنید و client id / secret دریافت کنید. n8n مستنداتِ نحوهٔ ساخت این credential را دارد. n8n Docs +1
Send Email (SMTP):
در n8n یک credential از نوع SMTP (Send Email credential) تعریف کنید؛ نیاز به اطلاعات SMTP سرور (host, port, username, password) دارید. بعضی ارائهدهندگان ایمیل نیاز دارند «app password» بسازید. مستندات Send Email این مراحل را شرح میدهد. n8n Docs +1
(اختیاری) Slack/Telegram webhook:
اگر میخواهید اطلاع تیم را از طریق Slack یا Telegram بفرستید، میتوانید یک Incoming Webhook در آن سرویس بسازید و از
HTTP Requestnode در n8n برای فرستادن پیام استفاده کنید. (برای Slack: ساخت incoming webhook در تنظیمات اپ workspace).
۶) ساخت اولین ورکفلو — گامبهگام در UI
گام A — ایجاد ورکفلو جدید
وارد n8n UI شوید.
از بالای منو، Create → Workflow را انتخاب کنید. مستندات نحوهٔ ساخت ویرایشگر را توضیح دادهاند. n8n Docs
نکته: بهصورت پیشفرض، ورکفلوهای تازه غیرفعال (Inactive) هستند — تا زمانی که شما آمادهٔ تولید شوید، روی حالت توسعه (Inactive) کار کنید. بعداً برای اجرأ خودکار باید آنها را Active کنید. n8n Docs
گام B — اضافه کردن Webhook Trigger
روی کانواس کلیک کنید و یک Webhook node اضافه کنید.
در تنظیمات node:
HTTP Method را روی
POST(یا روشی که نیاز دارید) قرار دهید.Path را مثلاً بگذارید
new-lead(در مثال ما مسیرwebhook/new-leadخواهد شد).هنگام توسعه از Test URL استفاده کنید (Test URL در حالت توسعه فعال میشود و برای debug مفید است). توجه: تست webhook در حالت «Listen for test event» برای ۱۲۰ ثانیه فعال میماند؛ مستندات Webhook این محدودیت تست را توضیح دادهاند. n8n Docs +1
گام C — اضافه کردن Google Sheets (Append)
یک Google Sheets node اضافه کنید و آن را به Webhook خروجی متصل کنید.
در Google Sheets node:
Operation را
Append(یاCreate/Updateبسته به نیاز) انتخاب کنید.Spreadsheet ID و Sheet Name را وارد کنید (Spreadsheet ID را از URL برگهٔ گوگل بردارید).
فیلدهای مورد نظر را نگاشت (Map) کنید: مثلاً
{name},{email},{message}را از ورودی Webhook به ستونهای Google Sheet نگاشت کنید.
از credential گوگلای که قبلاً ساختید استفاده کنید. (راهنمای Google Sheets node جزئیات فیلدها و مجوزها را دارد). n8n Docs +1
گام D — اضافه کردن Send Email (SMTP)
بعد از Google Sheets، یک Send Email node اضافه کنید.
تنظیمات:
Operation:
SendTo: مقدار
{{$json["email"]}}(برداشتِ ایمیل از payload ورودی)Subject و Body: متن موردنظر (میتوانید HTML یا متن ساده بگذارید و از متغیرها استفاده کنید).
در Credential، SMTP credential که ساختید را انتخاب کنید. مستندات مربوط به Send Email نحوهٔ پیکربندی را دارد. n8n Docs +1
گام E — اطلاع تیم با HTTP Request (مثلاً Slack)
یک HTTP Request node اضافه کنید و آن را به Send Email متصل کنید.
اگر از Slack Webhook استفاده میکنید:
Method:
POSTURL: آدرس incoming webhook که در Slack ساختهاید.
Body: JSON مانند
{ "text": "Lead جدید: {{$json["name"]}} — {{$json["email"]}}" }
برای Telegram هم بهصورت مشابه از URL API استفاده کنید. (HTTP Request node اَشکال مختلف احراز هویت را پشتیبانی میکند). n8n Docs
گام F — ذخیره، تست و دیباگ
Save کنید.
در Webhook node حالت Listen for test event را فعال کنید (یا از Test URL استفاده کنید).
با یک
curlیا ابزار مثل Postman، یک درخواست POST به Test URL بفرستید. مثالcurl:
بازگشت به UI: در تب Executions میتوانید جزئیات هر اجرای ورکفلو را ببینید — ورودی، خروجیِ هر نود، و خطاها برای رفعِ اشکال. مستندات بخش تست و توسعه وبهوک توضیحات مهمی دارد (مثل مدت زمان فعال بودن Test URL و حالت tunnel برای localhost). n8n Docs +1
نکتهٔ مهم: هنگام توسعه روی
localhostاگر نیاز به تست با سرویسهای بیرونی دارید، از تونلزنی (ngrok یا قابلیت tunnel خود n8n در مستندات) استفاده کنید تا یک URL عمومی بسازید. مستندات webhook برای حالت local/tunnel هشدارها و راهنمایی دارد. n8n Docs
۷) فعالسازی (Activate) و نکات تولید
وقتی همهچیز تست شد، workflow را Active کنید تا در حالت تولید (Production) هر بار که Webhook تولیدی فراخوانی شود، workflow اجرا شود. (نکته: ورکفلوهای تازه بهطور پیشفرض غیرفعال هستند.) n8n Docs
در حالت تولید:
از آدرس Production Webhook URL استفاده کنید (نه Test URL).
اطمینان حاصل کنید که آدرسِ وبهوک (Base URL) در متغیر محیطی
WEBHOOK_URLیا در پیکربندی reverse proxy صحیح تنظیم شده تا URLهای webhook درست ساخته شوند. docs روی این موضوع توضیحات دارد. n8n Docs +1
۸) عیبیابیِ رایج
Webhook unreachable: مطمئن شوید پورتها درست نگاشت شده (مثلاً
-p 5678:5678)، firewall باز است و reverse proxy به درستی هدایت میکند. اگر روال OAuth یا callback دارید، مطمئن شوید آدرس بازگشتی (redirect) درست ثبت شده. n8n Docs +1مشکلات اعتبارنامه Google: اگر Google Sheets کار نمیکند، بررسی کنید Google API فعال باشد و کلاینت ID/secret را بدرستی در credential وارد کرده باشید. n8n Docs
ایمیل ارسال نمیشود: با تنظیمات SMTP و لاگهای نود Send Email شروع کنید؛ بعضی سرویسدهندهها نیاز به app password یا فعالسازی ارسال از طریق SMTP دارند. n8n Docs
۹) نکات امنیتی و بهترین شیوهها
در محیط تولید از Postgres به جای SQLite استفاده کنید برای مقیاس و پایداری بهتر. n8n Docs
از
N8N_ENCRYPTION_KEYقوی برای رمزنگاری دادههای حساس استفاده کنید. n8n Docsهمیشه رابط n8n را پشت یک reverse proxy با HTTPS قرار دهید و دسترسیها را محدود کنید. همچنین متغیرهای
N8N_BASIC_AUTH_*را برای محافظت اولیه فعال کنید. Osher Digital +1
۱۰) جمعبندی (آنچه ساختیم)
در این راهنما:
n8n را با Docker نصب کردیم (سرور یا لوکال). n8n Docs
Credentialهای Google Sheets و SMTP را آماده کردیم. n8n Docs +1
یک ورکفلو ساختیم که از Webhook ورودی میگیرد → Google Sheets را بروز میکند → ایمیل تایید ارسال میکند → تیم را مطلع میسازد.
نحوهٔ تست با Test Webhook و
curlرا نشان دادیم و نکات فعالسازی/عیبیابی را گفتیم. n8n Docs +1
منابع رسمی و خواندنی (برای مطالعهٔ بیشتر)
مستندات نصب Docker n8n — Installation with Docker / Docker-Compose. n8n Docs +1
Webhook node — راهنمای استفاده و تست Webhook. n8n Docs +1
Google credentials & Google Sheets node. n8n Docs +1
Send Email node / SMTP credentials. n8n Docs +1
پایگاهدادهها: پیشفرض SQLite و پشتیبانی Postgres. n8n Docs