اگر تا حالا با حجم تیکتهای پشتیبانی دستوپنجه نرم کرده باشید، احتمالاً این سؤال برایتان پیش آمده که چطور میشود بدون استخدام نیروی اضافه، کارها را سریعتر و دقیقتر پیش برد؟ پاسخ کوتاه این است: IF Node در n8n. این نود ساده اما قدرتمند، قلب تپندهی تصمیمگیری در بسیاری از ورکفلوهای اتوماسیون است و دقیقاً همان چیزی است که به سیستم شما اجازه میدهد مثل یک انسان فکر کند، فقط با سرعت و دقت بیشتر.
در این مقاله قرار است قدمبهقدم ببینیم IF Node چطور کار میکند، چرا برای فرایندهای پشتیبانی مشتری حیاتی است و چطور میتوانید از همین امروز آن را در ورکفلوهای خودتان پیادهسازی کنید. پس یک فنجان چای کنار دستتان بگذارید و همراه باشید.
IF Node در n8n چیست؟
IF Node یکی از هستهایترین نودهای n8n است که وظیفهاش تقسیم مسیر اجرای ورکفلو بر اساس یک یا چند شرط منطقی است. تصور کنید سر یک چهارراه ایستادهاید؛ بسته به اینکه چراغ سبز باشد یا قرمز، مسیر متفاوتی را انتخاب میکنید. IF Node دقیقاً همین نقش را در دنیای دیجیتال بازی میکند. دادهای که وارد این نود میشود، بر اساس شرط تعریفشده به یکی از دو خروجی «درست» یا «نادرست» هدایت میشود و از آنجا مسیر کاملاً متفاوتی را طی میکند.
نکته جالب این است که IF Node نیازی به دانش برنامهنویسی ندارد؛ یعنی حتی اگر کدنویس حرفهای نباشید، میتوانید با چند کلیک منطق تصمیمگیری پیچیده بسازید. همین سادگی است که آن را به یکی از پراستفادهترین نودهای n8n در میان تیمهای پشتیبانی، فروش و عملیات تبدیل کرده است.
چرا تصمیمگیری خودکار در پشتیبانی مشتری اینقدر مهم است؟
فرض کنید روزانه صدها تیکت پشتیبانی دریافت میکنید؛ بعضی فوریاند، بعضی فقط یک سؤال سادهاند و بعضی هم نیاز به بررسی فنی عمیق دارند. اگر همه این تیکتها بهصورت دستی بررسی شوند، هم زمان زیادی تلف میشود و هم احتمال خطای انسانی بالا میرود. اینجاست که اتوماسیون تصمیمگیری وارد میدان میشود و معجزه میکند.
با استفاده از IF Node میتوانید قوانینی تعریف کنید که خودشان تشخیص دهند کدام تیکت باید فوری رسیدگی شود، کدام به تیم فنی ارجاع داده شود و کدام صرفاً نیاز به یک پاسخ خودکار دارد. نتیجه؟ کاهش چشمگیر زمان پاسخدهی، رضایت بیشتر مشتری و آزاد شدن وقت تیم پشتیبانی برای کارهای ارزشمندتر.
نحوه عملکرد IF Node در پشت صحنه
برای اینکه بتوانید از IF Node به بهترین شکل استفاده کنید، لازم است بدانید زیر کاپوت این نود چه اتفاقی میافتد. در واقع، هر آیتم دادهای که وارد نود میشود بهصورت جداگانه ارزیابی میشود؛ یعنی اگر ده تیکت با هم وارد شوند، ممکن است پنجتای آنها به مسیر درست و پنجتای دیگر به مسیر نادرست بروند.
مسیر True و مسیر False
هر IF Node دو خروجی دارد: خروجی بالایی برای دادههایی که شرط را برآورده میکنند (True) و خروجی پایینی برای دادههایی که شرط را برآورده نمیکنند (False). یک نکته بسیار مهم که خیلی از کاربران تازهکار فراموش میکنند این است که اگر مسیر False را به هیچ نودی وصل نکنید، آن دادهها بدون هیچ خطا یا هشداری ناپدید میشوند. پس همیشه هر دو مسیر را بهدقت طراحی کنید تا هیچ تیکتی گم نشود.
انواع دادهای قابل مقایسه
IF Node از انواع مختلف داده پشتیبانی میکند: رشته متنی، عدد، بولین، تاریخ، آرایه و آبجکت. برای هر کدام هم عملگرهای مخصوص به خودشان وجود دارد؛ مثلاً برای اعداد میتوانید از «بزرگتر از» یا «کوچکتر مساوی» استفاده کنید و برای تاریخ از «قبل از» یا «بعد از». نکتهای که باید حواستان به آن باشد، تطابق نوع داده است؛ چون بهطور پیشفرض n8n اعتبارسنجی سختگیرانه دارد و رشته «۱۰۰» با عدد ۱۰۰ یکی در نظر گرفته نمیشود مگر گزینه تبدیل خودکار نوع داده را فعال کنید.
ساخت اولین شرط در IF Node
حالا وقتش رسیده دست به کار شویم. ساخت یک شرط در IF Node خیلی شبیه پر کردن یک فرم ساده است؛ کافی است فیلد موردنظر، عملگر مقایسه و مقدار مرجع را مشخص کنید.
تعریف شرط ساده
برای مثال، اگر بخواهید تیکتهایی را که اولویت آنها «فوری» است جدا کنید، کافی است فیلد priority را با عملگر «برابر است با» و مقدار «urgent» مقایسه کنید. همین یک شرط ساده میتواند نقطه شروع یک ورکفلوی بسیار قدرتمند باشد.
ترکیب چند شرط با AND و OR
گاهی یک شرط کافی نیست. مثلاً میخواهید فقط تیکتهایی را اولویتبندی کنید که هم فوری هستند و هم از طرف مشتری VIP ارسال شدهاند. اینجا باید از عملگر AND استفاده کنید تا هر دو شرط همزمان برقرار باشند. در مقابل، اگر بخواهید بین چند حالت مختلف، حتی یکی از آنها کافی باشد، از OR استفاده میکنید. فقط یادتان باشد که در یک IF Node نمیتوانید AND و OR را با هم ترکیب کنید؛ برای منطق پیچیدهتر باید از IF Nodeهای تودرتو یا عبارتهای (Expression) سفارشی کمک بگیرید.
| عملگر | کاربرد | مثال |
|---|---|---|
| Equal | بررسی برابری دقیق مقدار | status برابر است با “open” |
| Greater Than | مقایسه عددی | response_time بزرگتر از ۲۴ باشد |
| Contains | بررسی وجود یک کلمه در متن | subject شامل “خرابی” باشد |
| Is After | مقایسه تاریخ | created_at بعد از تاریخ مشخص باشد |
کاربردهای واقعی IF Node در فرایندهای پشتیبانی
تئوری به کنار، حالا بیایید چند سناریوی واقعی را بررسی کنیم که در آنها IF Node واقعاً جان میبخشد به اتوماسیون پشتیبانی.
اولویتبندی خودکار تیکتها
فرض کنید هر تیکتی که کلمههایی مثل «قطعی»، «خرابی» یا «فوری» در عنوانش داشته باشد، باید بلافاصله به تیم سطح بالا ارجاع شود. با یک شرط ساده مبتنی بر Contains، میتوانید این تیکتها را شناسایی کرده و مسیر True را مستقیم به نود ارسال نوتیفیکیشن وصل کنید تا تیم فنی فوراً مطلع شود. همچنین مدیریت تیکت با Airtable میتواند شما را در پاسخگویی و پشتیبانی مشتری موفق تر کند و بازدهی را به شدت افزایش دهد.
مسیریابی بر اساس نوع مشکل مشتری
خیلی از تیمهای پشتیبانی، تیکتها را بر اساس دستهبندی (مثل مالی، فنی یا عمومی) به بخشهای مختلف میفرستند. در این حالت معمولاً بهجای یک IF ساده، از چند IF Node زنجیرهای یا حتی Switch Node استفاده میشود تا هر دسته به مسیر اختصاصی خودش برود.
تشخیص مشتریان VIP
یکی از کاربردهای محبوب دیگر، شناسایی مشتریانی است که سابقه خرید بالایی دارند. با ترکیب دو شرط (مثلاً مبلغ خرید بیشتر از یک آستانه مشخص و وضعیت اشتراک ویژه) و استفاده از AND، میتوانید این مشتریان را به مسیر اولویتدار هدایت کنید تا تجربه بهتری دریافت کنند.
تفاوت IF Node با Switch Node؛ کدام را انتخاب کنیم؟
یک سؤال رایج این است: چه زمانی باید سراغ IF بروم و چه زمانی Switch؟ پاسخ ساده است. وقتی با یک تصمیم دوگانه (بله یا خیر، درست یا نادرست) روبهرو هستید، IF Node بهترین انتخاب است. اما اگر یک فیلد میتواند سه مقدار یا بیشتر داشته باشد و هرکدام باید مسیر جداگانهای داشته باشند، استفاده از Switch Node خوانایی و مدیریت ورکفلو را بهمراتب سادهتر میکند.
اشتباهات رایج هنگام استفاده از IF Node
حتی کاربران باتجربه هم گاهی در دام چند اشتباه رایج میافتند. شناخت این اشتباهات میتواند ساعتها وقت شما را در دیباگ کردن ورکفلو ذخیره کند.
فراموش کردن مسیر False
همانطور که پیشتر اشاره شد، اگر مسیر False را به هیچ نودی متصل نکنید، دادههایی که شرط را برآورده نمیکنند بیسروصدا حذف میشوند. همیشه برای هر دو مسیر برنامه داشته باشید؛ حتی اگر مسیر False فقط یک لاگ ساده باشد.
عدم تطابق نوع داده
یکی از سردرگمکنندهترین مشکلات زمانی رخ میدهد که یک مقدار بهصورت رشته متنی از API برمیگردد ولی شما آن را با یک عدد مقایسه میکنید. در این حالت، حتی اگر مقدار ظاهراً یکسان باشد، شرط False ارزیابی میشود. راهحل این است که گزینه «تبدیل نوع در صورت نیاز» را فعال کنید یا داده را از قبل با یک نود تبدیل، استاندارد کنید.
نمونه عملی: اتوماسیون پشتیبانی با IF Node
بیایید یک سناریوی کامل را با هم مرور کنیم. فرض کنید میخواهید تیکتهایی که بیش از ۲۴ ساعت بدون پاسخ ماندهاند را بهصورت خودکار به مدیر تیم اطلاع دهید. منطق شرط میتواند به این شکل باشد:
کد نمونه شرط در n8n
{
"conditions": {
"combinator": "and",
"conditions": [
{
"leftValue": "={{ $json.hoursSinceLastReply }}",
"rightValue": 24,
"operator": { "type": "number", "operation": "gt" }
},
{
"leftValue": "={{ $json.status }}",
"rightValue": "open",
"operator": { "type": "string", "operation": "equals" }
}
]
}
}
در این مثال، اگر هر دو شرط برقرار باشد، یعنی هم بیش از ۲۴ ساعت گذشته و هم تیکت همچنان باز است، داده از مسیر True خارج شده و میتوانید آن را به نود ارسال ایمیل یا پیام اسلک وصل کنید. این یکی از سادهترین اما مؤثرترین الگوهایی است که میتوانید همین امروز در ورکفلوی خودتان پیاده کنید.
بهترین شیوهها برای استفاده حرفهای از IF Node
برای اینکه ورکفلوهای شما هم قابلاعتماد باشند و هم در آینده قابل نگهداری، رعایت چند نکته توصیه میشود:
- هر IF Node را برای یک تصمیم مشخص طراحی کنید، نه چند تصمیم درهمتنیده.
- همیشه هر دو مسیر True و False را به نودهای بعدی وصل کنید.
- برای شرطهای پیچیده، از Sticky Note برای توضیح منطق استفاده کنید تا تیم شما بعداً گیج نشود.
- نوع دادهها را قبل از مقایسه استاندارد کنید تا از خطاهای پنهان جلوگیری شود.
- مسیرهای اجرا را در محیط واقعی مانیتور کنید تا مطمئن شوید نسبت موردانتظار بین True و False برقرار است.
جمعبندی
IF Node در n8n شاید در نگاه اول ساده به نظر برسد، اما همین سادگی است که آن را به ابزاری حیاتی برای اتوماسیون تصمیمگیری در فرایندهای پشتیبانی تبدیل کرده است. از اولویتبندی تیکتهای فوری گرفته تا شناسایی مشتریان ویژه و یادآوری خودکار تیکتهای معوق، همه اینها با چند شرط ساده و منطقی قابل پیادهسازی هستند. کافی است با دقت شروع کنید، هر دو مسیر را مدیریت کنید و کمکم منطق ورکفلوی خودتان را پیچیدهتر و هوشمندتر کنید.
سوالات متداول
۱. آیا IF Node نیاز به دانش برنامهنویسی دارد؟
خیر، IF Node کاملاً بصری و بدون نیاز به کدنویسی کار میکند، هرچند برای منطقهای پیچیدهتر میتوانید از Expression هم استفاده کنید.
۲. چه زمانی باید از Switch Node بهجای IF Node استفاده کنم؟
وقتی یک فیلد میتواند بیش از دو مقدار داشته باشد و هر مقدار باید مسیر جداگانهای داشته باشد، Switch Node گزینه بهتری است.
۳. چرا برخی دادهها بعد از IF Node ناپدید میشوند؟
معمولاً به این دلیل است که مسیر False به هیچ نودی متصل نشده و دادههایی که شرط را برآورده نمیکنند بدون هشدار حذف میشوند.
۴. آیا میتوان در یک IF Node هم از AND و هم از OR استفاده کرد؟
خیر، در یک IF Node فقط یکی از این دو عملگر قابل استفاده است؛ برای ترکیب پیچیدهتر باید از IF Nodeهای تودرتو یا عبارت سفارشی کمک بگیرید.
۵. چرا مقایسه عدد و رشته متنی گاهی نتیجه نادرست میدهد؟
چون n8n بهطور پیشفرض اعتبارسنجی سختگیرانه دارد و رشته «۱۰۰» را با عدد ۱۰۰ یکسان در نظر نمیگیرد، مگر گزینه تبدیل نوع داده را فعال کنید.




