سی ام اس نویسسی ام اس نویسیاد بگیر، سیستم خودتو بنویس
مجلهتماس با ما
سی ام اس نویسسی ام اس نویس

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

پیوندهای سریع
محصولات فیزیکیمحصولات دیجیتالدوره‌های آموزشی
سی ام اس نویس
مجله سی ام اس نویستماس با ماپنل کاربری
سی ام اس نویس — تمامی حقوق برای سی ام اس نویس محفوظ است. © 1406 تماس با ما09307711941
n8n چگونه کار می‌کند؟ آموزش Workflow، Node و اجرای اتوماسیون

n8n چگونه کار می‌کند؟ آموزش Workflow، Node و اجرای اتوماسیون

ممدیر کل سیستم ۲۷ مهر ۱۴۰۵ ۲۰ دقیقه مطالعه ۱ بازدید
n8n چگونه کار می‌کند؟ آموزش Workflow، Node و اجرای اتوماسیون

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

اما n8n دقیقاً چگونه این کار را انجام می‌دهد؟ وقتی یک فرم ارسال می‌شود، اطلاعات مشتری از کجا وارد گردش‌کار می‌شود؟ چگونه تصمیم می‌گیریم که اطلاعات به کدام سرویس ارسال شود؟ اگر یکی از مراحل با خطا مواجه شود، چه اتفاقی می‌افتد؟

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

n8n چگونه کار می‌کند؟

n8n بر اساس مفهومی به نام Workflow یا گردش‌کار فعالیت می‌کند. در یک Workflow، چند مرحله به یکدیگر متصل می‌شوند تا یک فرایند کامل را اجرا کنند.

هر مرحله معمولاً با استفاده از یک Node ساخته می‌شود. بعضی Nodeها اجرای گردش‌کار را آغاز می‌کنند، بعضی اطلاعات را دریافت می‌کنند، برخی داده‌ها را تغییر می‌دهند و بعضی دیگر نتیجه را به سرویس یا مقصد موردنظر ارسال می‌کنند.

برای مثال، فرض کنید می‌خواهید پس از ثبت سفارش در فروشگاه اینترنتی، اطلاعات سفارش را دریافت کنید، مبلغ آن را بررسی کنید، اطلاعات مشتری را در یک سیستم دیگر ذخیره کنید و در نهایت برای مدیر فروشگاه اعلان بفرستید.

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

دریافت سفارش ← بررسی اطلاعات ← تشخیص وضعیت سفارش ← ذخیره اطلاعات ← ارسال اعلان

در n8n به‌جای نوشتن تمام این مراحل از ابتدا، می‌توانید Nodeهای موردنیاز را به هم متصل و تنظیم کنید. برای اتصال سرویس‌هایی که API دارند نیز می‌توانید از Nodeهای اختصاصی یا HTTP Request استفاده کنید.

مستندات رسمی n8n: https://docs.n8n.io/

۱. Workflow چیست و چه نقشی دارد؟

Workflow مجموعه‌ای از مراحل متصل به یکدیگر است که یک وظیفه مشخص را انجام می‌دهد.

برای مثال، می‌توانید Workflowهای جداگانه‌ای برای این کارها بسازید:

  • ثبت خودکار سفارش‌های فروشگاه در یک فایل یا پایگاه داده
  • ارسال اعلان پس از دریافت فرم تماس
  • دریافت اطلاعات از یک API و ذخیره آن در سیستم داخلی
  • بررسی دوره‌ای وضعیت سرویس‌های سرور
  • دریافت پیام مشتری و ارسال آن برای تحلیل با هوش مصنوعی
  • تولید گزارش روزانه از اطلاعات فروش

هر Workflow منطق و تنظیمات خودش را دارد. ممکن است یک گردش‌کار فقط دو Node داشته باشد و گردش‌کار دیگری از ده‌ها مرحله، چندین شرط و چند سرویس خارجی تشکیل شود.

نکته مهم این است که پیچیدگی Workflow باید متناسب با نیاز واقعی شما باشد. اضافه کردن Nodeهای غیرضروری، فرایند را دشوارتر می‌کند و عیب‌یابی آن را نیز سخت‌تر خواهد کرد.

۲. Node چیست و چگونه اجرا می‌شود؟

Node یکی از اجزای اصلی n8n است. هر Node وظیفه مشخصی دارد و می‌تواند ورودی دریافت کند، عملیاتی انجام دهد و خروجی تولید کند.

برای مثال:

نوع Nodeوظیفه
Triggerآغاز اجرای Workflow
HTTP Requestارسال درخواست به API و دریافت پاسخ
Edit Fields (Set)ایجاد یا تغییر فیلدهای داده
IFبررسی شرط و انتخاب مسیر
Filterعبور دادن داده‌های مطابق با معیارهای تعیین‌شده
Codeاجرای منطق سفارشی با JavaScript
نودهای سرویس‌هاارتباط با سرویس‌هایی مانند ایمیل، پایگاه داده یا ابزارهای مدیریت پروژه

نام و گزینه‌های دقیق Nodeها ممکن است با توجه به نسخه n8n و نوع اتصال متفاوت باشد.

فرض کنید یک Node اطلاعات مشتری را دریافت می‌کند و Node بعدی آن اطلاعات را در یک سرویس دیگر ثبت می‌کند. در این حالت، خروجی Node اول به ورودی Node دوم منتقل می‌شود.

به‌این‌ترتیب، به‌جای اینکه هر مرحله را مستقل و دستی اجرا کنید، می‌توانید یک زنجیره از عملیات ایجاد کنید.

۳. Trigger چیست و چه زمانی Workflow را شروع می‌کند؟

Trigger یا محرک، مرحله‌ای است که شروع اجرای Workflow را تعیین می‌کند.

بدون توجه به Trigger، نمی‌توانید مشخص کنید فرایند چه زمانی باید اجرا شود یا چه رویدادی باید باعث شروع آن شود.

چند نمونه از Triggerهای پرکاربرد عبارت‌اند از:

اجرای دستی

با استفاده از Manual Trigger می‌توانید Workflow را هنگام آزمایش، به‌صورت دستی اجرا کنید. این روش برای یادگیری و بررسی عملکرد Nodeها بسیار مناسب است.

اجرای زمان‌بندی‌شده

با استفاده از Schedule Trigger می‌توانید تعیین کنید Workflow در زمان مشخصی اجرا شود؛ مثلاً هر روز ساعت مشخصی، هر چند ساعت یک‌بار یا در یک بازه زمانی معین.

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

دریافت درخواست Webhook

Webhook به شما اجازه می‌دهد یک سرویس خارجی با ارسال درخواست HTTP، اجرای Workflow را آغاز کند.

برای مثال، می‌توانید در یک پروژه Laravel پس از ثبت سفارش، اطلاعات موردنیاز را به آدرس Webhook در n8n ارسال کنید تا فرایندهای بعدی انجام شوند.

دریافت رویداد از یک سرویس

برخی سرویس‌ها و Integrationها امکان واکنش به رویدادهای مشخص را دارند. برای مثال، دریافت ایمیل جدید یا رخ دادن یک رویداد در یک سرویس متصل می‌تواند آغازگر یک Workflow باشد.

تفاوت مهم: Trigger مشخص می‌کند چه چیزی اجرای گردش‌کار را آغاز کند؛ Nodeهای بعدی مشخص می‌کنند پس از شروع چه کارهایی انجام شوند.

۴. داده‌ها چگونه بین Nodeها منتقل می‌شوند؟

یکی از مهم‌ترین مفاهیم برای یادگیری n8n، شناخت ساختار داده‌ها است.

فرض کنید یک فرم اطلاعات زیر را ارسال کرده است:


{

  "name": "Ali",

  "email": "ali@example.com",

  "amount": 250000

}

این داده می‌تواند وارد Workflow شود و Nodeهای بعدی به فیلدهای آن دسترسی پیدا کنند.

در بسیاری از مراحل n8n، داده‌ها به شکل مجموعه‌ای از Itemها پردازش می‌شوند. هر Item معمولاً اطلاعات خود را در یک شیء JSON نگهداری می‌کند. بنابراین ممکن است یک Node به‌جای یک مشتری، اطلاعات چندین مشتری را دریافت کند.

برای مثال، اگر ورودی شامل سه مشتری باشد، Nodeهای بعدی معمولاً می‌توانند هر سه مورد را پردازش کنند؛ البته رفتار دقیق به نوع Node و تنظیمات آن بستگی دارد.

دسترسی به اطلاعات ورودی با Expression

در n8n برای استفاده از داده‌های قبلی می‌توانید از Expression استفاده کنید.

برای مثال، عبارت زیر مقدار فیلد name را از داده فعلی دریافت می‌کند:


{{ $json.name }}

برای دریافت ایمیل نیز می‌توانید بنویسید:


{{ $json.email }}

و برای دریافت مبلغ:


{{ $json.amount }}

این عبارت‌ها به شما اجازه می‌دهند مقدار یک فیلد را در تنظیمات Node بعدی استفاده کنید؛ برای مثال، نام مشتری را در متن پیام یا ایمیل قرار دهید.

فرض کنید می‌خواهید پیام زیر را تولید کنید:


سلام Ali، سفارش شما دریافت شد.

می‌توانید متن را به‌صورت Expression تنظیم کنید:


{{ 'سلام ' + $json.name + '، سفارش شما دریافت شد.' }}

در این مثال، n8n مقدار name را از داده ورودی می‌خواند و آن را در متن قرار می‌دهد.

نکته: اگر ساختار داده ورودی تغییر کند یا فیلد موردنظر وجود نداشته باشد، ممکن است Expression مقدار موردانتظار را تولید نکند. به همین دلیل، بررسی ورودی و خروجی هر Node در زمان آزمایش اهمیت زیادی دارد.

برای مطالعه بیشتر درباره ارجاع به داده‌های قبلی، مستندات رسمی را ببینید:

https://docs.n8n.io/data/data-mapping/data-mapping-ui/

۵. n8n چگونه تصمیم می‌گیرد کدام مسیر را اجرا کند؟

در بسیاری از فرایندها، اجرای همه مراحل به یک شکل انجام نمی‌شود. گاهی باید بر اساس مبلغ سفارش، وضعیت کاربر یا محتوای یک پیام تصمیم بگیرید.

برای این کار می‌توانید از Nodeهایی مانند IF استفاده کنید.

فرض کنید می‌خواهید سفارش‌هایی را که مبلغ آن‌ها بیشتر از ۵۰۰ هزار تومان است، از سفارش‌های دیگر جدا کنید.

منطق ساده فرایند چنین خواهد بود:

  • اگر مبلغ سفارش بیشتر از ۵۰۰ هزار تومان بود، اعلان ویژه ارسال شود.
  • در غیر این صورت، سفارش از مسیر عادی پردازش شود.

ساختار Workflow به این شکل است:


دریافت سفارش

     |

بررسی مبلغ با IF

     |

     +---- شرط برقرار است ----> ارسال اعلان ویژه

     |

     +---- شرط برقرار نیست ---> ادامه فرایند عادی

در تنظیم Node مربوط به IF، باید فیلد مبلغ و شرط مقایسه را تعیین کنید. سپس خروجی‌های Node را به مراحل مناسب متصل کنید.

این قابلیت برای طراحی فرایندهایی مانند تأیید سفارش، اولویت‌بندی درخواست‌های پشتیبانی، دسته‌بندی مشتریان و بررسی شرایط اجرای یک عملیات کاربرد دارد.

۶. اتصال به API چگونه انجام می‌شود؟

یکی از قابلیت‌های مهم n8n، امکان ارتباط با سرویس‌های مختلف از طریق API است.

API راهی برای تبادل اطلاعات بین نرم‌افزارها فراهم می‌کند. برای مثال، یک فروشگاه اینترنتی می‌تواند اطلاعات سفارش را در اختیار یک سیستم حسابداری قرار دهد یا اطلاعات مشتری را از یک سرویس دیگر دریافت کند.

در n8n، برای بسیاری از سرویس‌ها Node اختصاصی وجود دارد. اگر سرویس موردنظر Node مناسب نداشته باشد اما API ارائه کند، معمولاً می‌توانید از HTTP Request استفاده کنید.

در این Node می‌توانید مواردی مانند این‌ها را تنظیم کنید:

  • آدرس API
  • روش درخواست مانند GET یا POST
  • پارامترهای درخواست
  • Headerها
  • اطلاعات احراز هویت
  • بدنه درخواست، در صورت نیاز

برای نمونه، فرض کنید API یک سرویس، فهرست سفارش‌ها را برمی‌گرداند. Workflow می‌تواند ابتدا با HTTP Request اطلاعات را دریافت کند، سپس با IF سفارش‌های واجد شرایط را جدا کند و در نهایت اطلاعات انتخاب‌شده را به سرویس دیگری بفرستد.

البته آدرس API، روش درخواست و ساختار داده باید بر اساس مستندات همان سرویس تنظیم شوند. نمی‌توان برای همه APIها تنظیمات یکسانی در نظر گرفت.

مستندات رسمی HTTP Request:

https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/

۷. اعتبارنامه‌ها و دسترسی به سرویس‌ها چگونه مدیریت می‌شوند؟

برای اتصال به بسیاری از سرویس‌ها، تنها داشتن آدرس API کافی نیست. ممکن است سرویس به API Key، توکن دسترسی، OAuth یا روش دیگری برای احراز هویت نیاز داشته باشد.

n8n امکان تعریف Credentials یا اعتبارنامه‌ها را فراهم می‌کند تا اطلاعات اتصال در بخش مربوط به خود نگهداری شوند و در Nodeهای مرتبط مورد استفاده قرار بگیرند.

برای مثال، هنگام اتصال به یک سرویس ایمیل یا API خصوصی، باید روش احراز هویت متناسب با آن سرویس را تنظیم کنید.

چند نکته امنیتی مهم:

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

در نتیجه، n8n فقط یک ابزار اتصال تصویری نیست؛ امنیت اتصال‌ها و داده‌هایی که بین سرویس‌ها جابه‌جا می‌شوند نیز باید بخشی از طراحی Workflow باشد.

۸. اجرای Workflow چه مراحلی دارد؟

برای درک بهتر عملکرد n8n، یک اجرای معمولی را در نظر بگیرید:

۱. یک Trigger بر اساس رویداد، زمان‌بندی یا اجرای دستی فعال می‌شود.

۲. داده اولیه وارد Workflow می‌شود. این داده ممکن است از Webhook، یک سرویس خارجی یا منبع دیگری آمده باشد.

۳. اولین Node عملیاتی، داده را پردازش می‌کند و خروجی تولید می‌کند.

۴. Nodeهای بعدی، با توجه به اتصال‌ها و منطق تعریف‌شده، اجرا می‌شوند.

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

۶. Workflow عملیات نهایی را انجام می‌دهد؛ مثلاً ثبت اطلاعات، ارسال پیام یا به‌روزرسانی یک سیستم.

۷. نتیجه اجرا و در صورت فعال بودن تنظیمات مربوط، جزئیات آن در بخش Executions قابل بررسی خواهد بود.

این مراحل یک تصویر کلی از اجرای Workflow هستند. جزئیات اجرا به نوع Trigger، تنظیمات Nodeها، تعداد داده‌ها، شاخه‌های Workflow و رفتار سرویس‌های خارجی بستگی دارد.

۹. آموزش عملی: ساخت یک Workflow برای بررسی اطلاعات مشتری

حالا یک مثال ساده و کاربردی می‌سازیم تا ارتباط بین Trigger، داده‌ها، شرط‌ها و خروجی را بهتر درک کنید.

هدف این مثال، دریافت اطلاعات مشتری از طریق Webhook و بررسی وجود نام و ایمیل او است. در صورت کامل بودن اطلاعات، Workflow وارد مسیر تأیید می‌شود؛ در غیر این صورت، مسیر دیگری را انتخاب می‌کند.

مرحله اول: ساخت Workflow

وارد پنل n8n شوید و یک Workflow جدید ایجاد کنید.

نام پیشنهادی:

Customer Information Validation

نام‌گذاری مناسب باعث می‌شود بعداً بتوانید Workflow موردنظر را راحت‌تر پیدا کنید.

مرحله دوم: افزودن Webhook

یک Node از نوع Webhook اضافه کنید.

Webhook قرار است درخواست ورودی را دریافت کند و داده‌های مشتری را به Workflow تحویل دهد.

تنظیمات این Node به نیاز شما بستگی دارد. برای این مثال می‌توانید از روش POST استفاده کنید و داده‌های مشتری را در بدنه درخواست ارسال کنید.

ساختار نمونه داده:


{

  "name": "Ali",

  "email": "ali@example.com"

}

در حالت آزمایشی، از آدرس تست Webhook استفاده کنید و طبق گزینه‌های نمایش‌داده‌شده در پنل، آن را برای دریافت درخواست آزمایشی آماده کنید.

مرحله سوم: ارسال درخواست آزمایشی

برای آزمایش، می‌توانید از Postman یا ابزار مشابه استفاده کنید.

روش درخواست را روی POST قرار دهید، آدرس تست Webhook را وارد کنید و در بخش Body، قالب JSON را انتخاب کنید.

سپس داده نمونه را ارسال کنید.

اگر درخواست به‌درستی دریافت شود، می‌توانید داده ورودی را در خروجی Node بررسی کنید. دقت کنید که محل قرارگیری فیلدها ممکن است به نوع Trigger و ساختار درخواست بستگی داشته باشد.

مرحله چهارم: بررسی اطلاعات با IF

پس از Webhook، یک Node از نوع IF اضافه کنید.

هدف ما این است که نام و ایمیل مشتری خالی نباشند.

برای بررسی نام، می‌توانید از Expression متناسب با محل قرارگیری فیلد استفاده کنید؛ برای نمونه، اگر نام در داده JSON فعلی قرار دارد:


{{ $json.name }}

برای ایمیل نیز:


{{ $json.email }}

در تنظیمات IF، شرط‌های مناسب را برای بررسی خالی نبودن مقادیر تعریف کنید. باید مشخص کنید که هر دو شرط لازم هستند یا برقرار بودن یکی از آن‌ها کافی است. در این مثال، هر دو فیلد باید مقدار داشته باشند.

مرحله پنجم: اتصال خروجی‌ها

خروجی تأییدشده Node IF را به یک Node برای ادامه فرایند متصل کنید. برای شروع، می‌توانید از Edit Fields (Set) استفاده کنید تا یک پیام یا وضعیت مشخص بسازید.

برای مثال، فیلدی با نام status و مقدار valid ایجاد کنید.

در مسیر دیگر، یک مقدار مانند invalid قرار دهید تا مشخص شود اطلاعات مشتری ناقص بوده است.

ساختار کلی Workflow:


Webhook

   |

  IF

   |

   +---- اطلاعات کامل ----> Edit Fields: status = valid

   |

   +---- اطلاعات ناقص ---> Edit Fields: status = invalid

این مثال فعلاً فقط اطلاعات را بررسی و نتیجه را مشخص می‌کند؛ برای ثبت اطلاعات در پایگاه داده یا ارسال پیام واقعی، باید Node مقصد را اضافه و اتصال آن را تنظیم کنید.

مرحله ششم: آزمایش و بررسی خروجی

Workflow را در حالت آزمایشی اجرا کنید و دو درخواست ارسال کنید:

درخواست اول: اطلاعات کامل


{

  "name": "Ali",

  "email": "ali@example.com"

}

انتظار داریم داده از مسیر تأیید عبور کند.

درخواست دوم: اطلاعات ناقص


{

  "name": "Ali",

  "email": ""

}

انتظار داریم داده از مسیر اطلاعات ناقص عبور کند.

در هر اجرا، ورودی و خروجی Nodeها را بررسی کنید. اگر مسیر اشتباه انتخاب شد، ابتدا محل قرارگیری فیلدها و سپس شرط‌های تعریف‌شده در IF را بررسی کنید.

مرحله هفتم: استفاده عملی از Workflow

پس از اطمینان از عملکرد صحیح، می‌توانید مراحل دیگری به Workflow اضافه کنید؛ برای مثال:

  • ثبت اطلاعات مشتری در پایگاه داده
  • ارسال پیام تأیید
  • ارسال اطلاعات به یک API
  • ثبت درخواست در سیستم پشتیبانی
  • ارسال اعلان به مدیر در صورت ناقص بودن اطلاعات

اگر قصد دارید Workflow را از طریق یک سیستم واقعی فراخوانی کنید، تنظیمات مربوط به آدرس عملیاتی Webhook، دسترسی شبکه و احراز هویت را نیز بررسی کنید. آدرس تست و آدرس عملیاتی لزوماً یکسان نیستند.

۱۰. تفاوت اجرای آزمایشی و اجرای عملیاتی چیست؟

در زمان طراحی Workflow، معمولاً ابتدا آن را به‌صورت آزمایشی اجرا می‌کنید. این کار به شما اجازه می‌دهد داده‌های ورودی و خروجی را بررسی کنید، تنظیمات Nodeها را اصلاح کنید و خطاها را پیش از استفاده واقعی شناسایی کنید.

اما در محیط عملیاتی، Workflow باید بر اساس Trigger و تنظیمات انتشار یا فعال‌سازی نسخه مورد استفاده در محیط شما اجرا شود.

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

پیش از عملیاتی کردن Workflow، این موارد را بررسی کنید:

  • آیا Trigger با شرایط واقعی سازگار است؟
  • آیا اعتبارنامه‌ها معتبر هستند؟
  • آیا داده‌های ورودی و خروجی مطابق انتظارند؟
  • آیا اجرای چندباره یک درخواست، عملیات تکراری و ناخواسته ایجاد می‌کند؟
  • آیا برای خطاهای سرویس‌های خارجی برنامه مشخصی دارید؟
  • آیا Workflow به‌صورت ناخواسته اطلاعات حساس را ثبت می‌کند؟

نکته مهم: موفق بودن یک اجرای آزمایشی به‌تنهایی تضمین نمی‌کند Workflow در تمام شرایط عملیاتی بدون خطا کار خواهد کرد. محدودیت API، قطعی شبکه، تغییر ساختار داده و خطاهای احراز هویت می‌توانند روی اجرا اثر بگذارند.

۱۱. خطاهای Workflow چگونه بررسی می‌شوند؟

در فرایندهای واقعی، ممکن است یک Node نتواند وظیفه خود را انجام دهد. برای مثال، API مقصد پاسخ ندهد، توکن دسترسی منقضی شده باشد یا داده ورودی با ساختار مورد انتظار مطابقت نداشته باشد.

n8n بخش Executions را برای مشاهده اجراهای Workflow فراهم می‌کند. با بررسی این بخش می‌توانید اجراهای موفق یا ناموفق را پیدا کنید و جزئیات اجرای مربوط را بررسی کنید.

برای عیب‌یابی، این ترتیب معمولاً مفید است:

۱. مشخص کنید کدام اجرا با خطا مواجه شده است.

۲. Node دارای خطا را پیدا کنید.

۳. ورودی آن Node را بررسی کنید.

۴. پیام خطا و خروجی سرویس خارجی را بخوانید.

۵. تنظیمات اتصال، اعتبارنامه‌ها و ساختار داده را بررسی کنید.

۶. پس از اصلاح مشکل، Workflow را دوباره آزمایش کنید.

در برخی شرایط می‌توانید اجرای ناموفق را با داده‌های قبلی دوباره اجرا کنید. بااین‌حال، پیش از Retry کردن، بررسی کنید که اجرای مجدد باعث ثبت سفارش تکراری، ارسال چندباره پیام یا انجام عملیات غیرقابل‌بازگشت نشود.

مستندات بررسی اجراها:

https://docs.n8n.io/workflows/executions/all-executions/

چگونه از تکرار عملیات جلوگیری کنیم؟

فرض کنید Workflow اطلاعات یک سفارش را در سیستم حسابداری ثبت می‌کند. اگر اجرای آن با خطا مواجه شود و دوباره اجرا شود، ممکن است سفارش دو بار ثبت شود؛ مگر اینکه سیستم مقصد یا طراحی Workflow جلوی این اتفاق را بگیرد.

برای کاهش این ریسک می‌توانید از شناسه یکتای سفارش، بررسی وجود رکورد قبل از ثبت، عملیات به‌روزرسانی به‌جای ایجاد رکورد جدید یا قابلیت‌های Idempotency در API مقصد استفاده کنید؛ البته هر روش باید متناسب با امکانات سیستم مقصد طراحی شود.

۱۲. آیا برای کار با n8n به برنامه‌نویسی نیاز داریم؟

برای بسیاری از اتوماسیون‌های ساده، می‌توانید با Nodeهای آماده و تنظیمات گرافیکی کار کنید. برای مثال، اتصال یک فرم به ایمیل یا انتقال اطلاعات بین دو سرویس معمولاً به نوشتن کد زیادی نیاز ندارد.

بااین‌حال، یادگیری مفاهیم زیر به شما کمک می‌کند Workflowهای پیچیده‌تر و قابل‌اعتمادتری بسازید:

  • JSON و ساختار داده‌ها
  • API و روش‌های HTTP
  • احراز هویت و API Key
  • شرط‌ها و منطق برنامه‌نویسی
  • Expressionهای n8n
  • JavaScript برای پردازش‌های سفارشی
  • پایگاه داده و مدیریت خطا

اگر توسعه‌دهنده PHP یا Laravel هستید، می‌توانید از n8n در کنار برنامه‌های خود استفاده کنید. برای مثال، Laravel می‌تواند پس از ثبت یک سفارش، درخواست POST به Webhook بفرستد و n8n عملیات تکمیلی مانند ارسال اعلان، هماهنگ‌سازی داده‌ها یا فراخوانی سرویس‌های دیگر را انجام دهد.

در چنین معماری‌ای، لازم نیست منطق اصلی و حساس کسب‌وکار را بدون بررسی به n8n منتقل کنید. بهتر است مسئولیت هر سیستم را روشن تعریف کنید و برای عملیات مهم، احراز هویت، اعتبارسنجی داده‌ها و کنترل اجرای تکراری را در نظر بگیرید.

۱۳. چه زمانی n8n انتخاب مناسبی است؟

n8n زمانی گزینه مناسبی است که بخواهید چند سرویس را به هم متصل کنید، عملیات تکراری را خودکار کنید یا فرایندی را بسازید که از چند مرحله و شرط تشکیل شده است.

برای نمونه:

  • دریافت اطلاعات از یک فرم و ثبت آن در چند سرویس
  • انتقال داده بین APIها
  • اجرای گزارش‌های زمان‌بندی‌شده
  • ارسال اعلان بر اساس رویدادها
  • هماهنگ‌سازی اطلاعات میان نرم‌افزارهای مختلف
  • ایجاد گردش‌کارهای مبتنی بر هوش مصنوعی

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

همچنین باید به امنیت، حجم داده، تعداد اجراها، محدودیت APIها و منابع سرور توجه کنید؛ به‌ویژه زمانی که n8n را برای چندین مشتری یا فرایند عملیاتی استفاده می‌کنید.

پرسش‌های متداول درباره نحوه کار n8n

آیا n8n بدون کدنویسی کار می‌کند؟

بله، بسیاری از Workflowها با Nodeهای آماده و تنظیمات گرافیکی ساخته می‌شوند. بااین‌حال، برای پردازش‌های سفارشی یا منطق پیچیده ممکن است به Expression یا JavaScript نیاز داشته باشید.

تفاوت Node و Workflow چیست؟

Node یک مرحله از فرایند است؛ اما Workflow مجموعه‌ای از Nodeهای متصل به هم است که یک وظیفه کامل را انجام می‌دهد.

آیا n8n می‌تواند به API اختصاصی Laravel متصل شود؟

بله. اگر برنامه Laravel API ارائه کند، می‌توانید با HTTP Request به آن درخواست بفرستید. همچنین می‌توانید در Laravel یک Webhook مقصد ایجاد کنید و از n8n برای فراخوانی آن استفاده کنید. روش احراز هویت و قالب داده باید مطابق پیاده‌سازی API تنظیم شود.

آیا Workflow باید همیشه به‌صورت دستی اجرا شود؟

خیر. بسته به نوع Workflow می‌توانید از Triggerهای زمان‌بندی‌شده، Webhookها یا Triggerهای رویدادمحور استفاده کنید تا فرایند در شرایط مشخص آغاز شود.

اگر یکی از Nodeها خطا بدهد، چه باید کرد؟

ابتدا اجرای ناموفق و Node دارای خطا را در بخش Executions بررسی کنید. سپس ورودی، پیام خطا، اعتبارنامه‌ها و پاسخ سرویس خارجی را بررسی کنید. پیش از اجرای مجدد، احتمال تکرار عملیات را نیز در نظر بگیرید.

آیا اطلاعات بین Nodeها به‌صورت خودکار منتقل می‌شوند؟

در حالت معمول، خروجی Node به Node بعدی متصل منتقل می‌شود. برای دسترسی به داده‌های مراحل قبلی نیز می‌توانید از قابلیت‌های Data Mapping و Expression استفاده کنید. جزئیات انتقال داده به اتصال‌ها و نوع Nodeها بستگی دارد.

جمع‌بندی

n8n با استفاده از Workflowها، Nodeها و Triggerها امکان ساخت فرایندهای خودکار را فراهم می‌کند. Trigger شروع کار را مشخص می‌کند، Nodeها عملیات مختلف را انجام می‌دهند و داده‌ها بین مراحل جابه‌جا می‌شوند. با استفاده از شرط‌ها می‌توانید مسیر اجرای فرایند را کنترل کنید و با HTTP Request به سرویس‌های دارای API متصل شوید.

برای شروع یادگیری، یک Workflow کوچک بسازید، داده ورودی آن را بررسی کنید، چند شرط اضافه کنید و سپس اتصال به یک سرویس واقعی را آزمایش کنید. پس از تسلط بر این مفاهیم، ساخت فرایندهای پیچیده‌تر، اتصال n8n به Laravel و استفاده از هوش مصنوعی ساده‌تر خواهد شد.

نظرات (0)

نظرات پس از تأیید مدیر نمایش داده می‌شوند

هنوز نظری ثبت نشده است؛ اولین نفر باشید!

مقالات مرتبط

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

۱۲ دقیقه
معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

۲۱ دقیقه
مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

۲۲ دقیقه
n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

۲۲ دقیقه