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

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

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

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

معماری این اتوماسیون چگونه است؟

فرآیندی که برای انجام این مهم پیاده سازی کرده‌ایم، به‌صورت کلی به شکل زیر است:

  1. اتمام تماس ورودی
  2. ارسال Webhook توسط تلفن ابری دفترشما
  3. دریافت اطلاعات وب هوک توسط سرور N8N
  4. بررسی وضعیت تماس
  5. شناسایی داخلی شماره گیری شده
  6. پردازش تاریخ و زمان تماس از دست رفته
  7. ارسال پیامک از طریق API ملی پیامک

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

راه‌اندازی سرور n8n

پیش از هر چیز به یک سرور برای اجرای n8n نیاز دارید.

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

ایجاد Workflow و Webhook در n8n

پس از راه‌اندازی n8n، یک Workflow جدید ایجاد کنید.

در اولین مرحله، یک Webhook Node به Workflow اضافه کنید و مقدار HTTP Methods را روی POST قرار دهید.

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

ایجاد Workflow و Webhook در n8n
ایجاد Workflow و Webhook در n8n

پس از ایجاد Webhook، آدرس تست آن را کپی کنید؛ در مرحله بعد به این آدرس نیاز خواهیم داشت.

نکته: پس از publish کردن Workflow باید از آدرس production استفاده کنید!

اتصال دفترشما به n8n

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

در این بخش، آدرس Webhookای که در n8n ایجاد کردید را به‌عنوان مقصد ثبت کنید.

سپس رویداد تماس ورودی را روی گزینه:

Call.incoming.ended

قرار دهید.

این Event زمانی اجرا می‌شود که یک تماس ورودی به پایان برسد. در نهایت تنظیمات را ذخیره کنید.

اتصال دفترشما به n8n
اتصال دفترشما به n8n

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

اطلاعاتی که دفترشما به n8n ارسال می‌کند

اطلاعات ارسال‌شده از طریق Webhook به‌صورت یک ساختار JSON در اختیار n8n قرار می‌گیرد.

نمونه‌ای از این اطلاعات به شکل زیر است:

{
  "EventType": "CallIncomingEnded",
  "CallId": "isbc3e20278f79efb54e4714edbc39527a5c@10.103.167.68:5061",
  "CallerNumber": "شماره شخص تماس گیرنده",
  "CalleeExtension": "28421882",
  "DateTime": "2026-08-09T08:05:36.9306175Z",
  "TransferredToNumber": "شماره نیروی پشتیبانی که تماس به آن انتقال یافته",
  "Result": false,
  "ClientReferenceId": "83e2d696-a198-4763-9900-bbf9e533523e",
  "CallEntryType": "Ivr",
  "StartDateTime": "2026-08-09T08:05:13.752722Z",
  "EndDateTime": "2026-08-09T08:05:36.9306179Z",
  "FinalHandler": "IVR",
  "MenuName": "منوی اصلی",
  "MenuInput": "3",
  "CallReferenceId": "isbc3e20278f79efb54e4714edbc39527a5c@10.103.167.68:5060",
  "Recipients": [],
  "Parameters": {}
}

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

فیلد کاربرد
Result وضعیت نهایی تماس
CallerNumber شماره تماس‌گیرنده
MenuName نام منوی تلفن گویا
MenuInput گزینه یا داخلی انتخاب‌شده توسط تماس‌گیرنده
DateTime تاریخ و زمان تماس
TransferredToNumber شماره‌ای که تماس به آن منتقل شده است

تشخیص تماس از دست رفته

مهم‌ترین فیلد برای سناریوی ما، Result است.

اگر مقدار این فیلد false باشد، یعنی تماس با موفقیت پاسخ داده نشده و می‌توانیم آن را به‌عنوان تماس از دست رفته در نظر بگیریم.

بنابراین در n8n بعد از Webhook، یک IF Node قرار می‌دهیم و مقدار Result را بررسی می‌کنیم.

تشخیص تماس از دست رفته
تشخیص تماس از دست رفته

اگر تماس پاسخ داده شده باشد، Workflow می‌تواند در همان مرحله متوقف شود؛ اما اگر تماس از دست رفته باشد، Workflow وارد مراحل بعدی خواهد شد.

استخراج تاریخ و ساعت تماس

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

برای این کار می‌توانیم از نود Date & Time در n8n استفاده کنیم.

این نود به ما اجازه می‌دهد تاریخ و زمان موجود در داده دریافتی را Parse و سپس بخش موردنیاز آن را استخراج یا فرمت کنیم.

برای مثال، می‌توانیم از اطلاعات DateTime مواردی مانند:

  • تاریخ تماس

  • ساعت تماس

  • دقیقه تماس

را استخراج کنیم.

استخراج تاریخ و ساعت تماس
استخراج تاریخ و ساعت تماس

یک نکته مهم درباره Date & Time Node

در این مرحله باید توجه داشته باشید که هر نود Date & Time را برای یک عملیات مشخص تنظیم می‌کنید. بنابراین اگر در Workflow به چند خروجی متفاوت، مثلاً هم تاریخ و هم ساعت، نیاز دارید، ممکن است لازم باشد چند مرحله پردازش Date & Time داشته باشید.

همچنین هنگام کار با DateTimeهای ارسال‌شده از APIها، حتماً به Timezone توجه کنید. در نمونه بالا، زمان با فرمت UTC ارسال شده است و اگر قرار است ساعت ایران یا هر منطقه زمانی دیگری را برای مخاطب ارسال کنید، باید تبدیل Timezone را نیز در نظر بگیرید.

شناسایی منو و داخلی موردنظر

از این مرحله به بعد، ساختار Workflow کاملاً به نیاز کسب‌وکار شما بستگی دارد.

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

برای این کار می‌توانید یک Switch Node قرار دهید و مقدار MenuName را بررسی کنید.

برای مثال، اگر چند منوی مختلف داشته باشید، می‌توانید Workflow را بر اساس نام منو به مسیرهای متفاوت تقسیم کنید.

اما اگر مانند سناریوی ما فقط یک منوی اصلی دارید، نیازی به این مرحله نیست و می‌توانید مستقیماً سراغ بررسی داخلی بروید.

تشخیص داخلی یا واحد سازمانی

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

برای این کار مجدداً از Switch Node استفاده می‌کنیم و مقدار مربوط به داخلی را بررسی می‌کنیم.

برای مثال:

  • داخلی ۱ = پشتیبانی

  • داخلی ۲ = مالی

  • داخلی ۳ = فروش

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

برای مثال، اگر مقدار داخلی برابر با ۱ باشد، خروجی Switch را به‌صورت support قرار می‌دهیم و اگر داخلی ۲ باشد، مقدار finance را برمی‌گردانیم.

این کار باعث می‌شود در مراحل بعدی Workflow، به‌جای کار کردن با شماره‌های داخلی، با نام واحدها یا متغیرهای قابل فهم کار کنیم.

تشخیص داخلی یا واحد سازمانی
تشخیص داخلی یا واحد سازمانی

ارسال پیامک از طریق ملی پیامک

حالا به مرحله نهایی Workflow می‌رسیم.

در این مرحله اطلاعاتی که از تماس از دست رفته استخراج کرده‌ایم را با استفاده از HTTP Request Node به سرویس پیامکی ملی پیامک ارسال می‌کنیم.

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

در تنظیمات HTTP Request، اطلاعات موردنیاز API را وارد می‌کنیم؛ از جمله:

  • نام کاربری

  • کلید دسترسی یا رمز API

  • کد پترن

  • اطلاعات موردنظر برای قرار گرفتن در پترن

  • شماره مقصد

ارسال پیامک از طریق ملی پیامک
ارسال پیامک از طریق ملی پیامک

در این مرحله، اطلاعات تماس را می‌توانیم به‌صورت Dynamic از خروجی Nodeهای قبلی دریافت کنیم.

برای مثال، متن پیامک می‌تواند شامل اطلاعاتی مانند این موارد باشد:

تماس از دست رفته
شماره تماس‌گیرنده: 093xxxxxxxx
واحد: پشتیبانی
زمان تماس: 12:35

در نتیجه، منشی یا نیروی پشتیبانی بدون نیاز به بررسی مداوم پنل تلفن، بلافاصله از تماس از دست رفته مطلع می‌شود.

شماره مقصد پیامک را از اطلاعات تماس دریافت کنید

یکی از نکات جالب این سناریو این است که لازم نیست شماره مقصد پیامک را به‌صورت ثابت در Workflow وارد کنید.

در اطلاعات دریافتی از دفترشما، فیلد:

TransferredToNumber

شماره‌ای را در اختیار ما قرار می‌دهد که تماس به آن منتقل شده است.

بنابراین می‌توانیم از همین مقدار به‌عنوان شماره مقصد پیامک استفاده کنیم.

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

در نهایت:

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

برای مثال، می‌توان همین Workflow را توسعه داد تا علاوه بر ارسال پیامک:

  • تماس‌های از دست رفته را در Google Sheets ذخیره کند؛

  • اطلاعات تماس را در CRM ثبت کند؛

  • برای مشتری پیامک خودکار ارسال کند؛

  • به مدیر مجموعه اطلاع‌رسانی کند؛

  • برای تماس‌های پاسخ‌داده‌نشده Ticket ایجاد کند؛

  • تماس‌های مهم را بر اساس داخلی یا شماره تماس‌گیرنده اولویت‌بندی کند؛

  • یا حتی چند مرحله پیگیری خودکار برای یک تماس ایجاد کند.

مزیت اصلی چنین ساختاری این است که به‌جای اینکه منتظر باشیم یک سرویس تمام امکانات موردنیاز ما را به‌صورت پیش‌فرض ارائه کند، می‌توانیم سرویس‌های مختلف را با استفاده از ابزارهایی مانند n8n به یکدیگر متصل کنیم و دقیقاً Workflow متناسب با نیاز کسب‌وکار خودمان را بسازیم.

در این مثال، دفترشما وظیفه مدیریت تماس و ارائه اطلاعات تماس را بر عهده دارد، n8n نقش موتور اتوماسیون را ایفا می‌کند و ملی پیامک نیز وظیفه ارسال اطلاع‌رسانی پیامکی را بر عهده دارد.

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *