در این مقاله آموزشی، یاد خواهید گرفت که چگونه با استفاده از ابزار اتوماسیون قدرتمند n8n، هر زمان که کاربری فرم تماس یا ثبتنام شما در المنتور (Elementor) را تکمیل کرد، یک پیام اعلان حاوی اطلاعات کاربر را به صورت همزمان برای چند مدیر یا کاربر مشخص در تلگرام ارسال کنید.
پیشنیازها
برای انجام این اتوماسیون، به موارد زیر نیاز دارید:
- وبسایت وردپرسی با افزونه Elementor Pro (برای استفاده از قابلیت Webhook در فرم).
- پلتفرم n8n (نسخه ابری n8n Cloud یا نسخه Self-Hosted).
- یک ربات تلگرام برای ارسال پیام (که از طریق BotFather ساخته میشود).
- Chat ID (آیدی عددی) تمامی کاربرانی که قرار است پیام را دریافت کنند.
ارسال به یک کاربر :
تنظیمات ربات تلگرام و دریافت Chat ID
برای ارسال موفقیتآمیز پیام به یک مقصد، نیاز به توکن ربات و آیدی عددی مقصد دارید.
- توکن ربات: از طریق
BotFather@یک ربات بسازید و HTTP API Token آن را دریافت و ذخیره کنید. - Chat ID مقصد:
- برای خودتان: با ارسال پیام به رباتتان و استفاده از رباتهایی مانند
userinfobot@، آیدی عددی خود را پیدا کنید. - برای گروه/کانال: ربات را به گروه یا کانال مورد نظر اضافه و آن را ادمین کنید. سپس با ترفندهای خاص (مانند ارسال یک پیام و استفاده از نود تلگرام تریگر یا استفاده از API تلگرام) آیدی عددی گروه/کانال را پیدا کنید (توجه داشته باشید که آیدی گروهها/کانالها معمولاً با
_شروع میشود).
- برای خودتان: با ارسال پیام به رباتتان و استفاده از رباتهایی مانند
✉️ اتصال به تلگرام و ارسال پیام واحد
پس از دریافت دادهها توسط Webhook، آنها را مستقیماً به نود تلگرام منتقل میکنیم.
- نود Telegram را اضافه کنید: یک نود Telegram (یا Telegram Send Message) اضافه کنید و آن را مستقیماً به نود Webhook وصل کنید.
- تنظیم Credential: توکن ربات خود را که در بخش قبل دریافت کردید، در بخش Credential نود Telegram وارد کنید و ذخیره نمایید.
- تنظیم مقصد و متن پیام:
- Resource:
Message - Operation:
Send Text Message - Chat ID: آیدی عددی فرد یا گروه/کانال مقصد را که در مرحله ۲ به دست آوردید، مستقیماً و به صورت متن ثابت وارد کنید (مثلاً:
۱۲۳۴۵۶۷۸۹). - Text: برای ساخت پیام، از Expression برای تزریق دادههای فرم استفاده کنید. روی آیکون چکش ($\{\dots\}$) در کنار فیلد Text کلیک کنید و ساختار پیام را به شکل زیر بسازید:
**فرم جدید ثبت شد!** نام کاربر: {{ $json.body["Name"] }} ایمیل: {{ $json.body["Email"] }} پیام: {{ $json.body["Message"] }}- نکته: مطمئن شوید که
Name،EmailوMessageدقیقاً با نام فیلدهای ارسالی از فرم المنتور شما مطابقت داشته باشند. - Parse Mode: برای نمایش بهتر پیام و استفاده از Bold و آیتمها، آن را روی
MarkdownیاHTMLتنظیم کنید.
- Resource:
🚀 خلاصه ورکفلو ساده (تک مقصد)
| مرحله | نود (Node) | هدف |
| ۱ | Webhook | گوش دادن به ارسال فرم المنتور. |
| ۲ | Telegram | ارسال مستقیم پیام به Chat ID ثابت تعیین شده. |
ارسال به چندکاربر
راهاندازی ربات تلگرام و دریافت توکن (BotFather)
اولین گام، ساخت یک ربات تلگرام برای ارسال پیامها و دریافت توکن دسترسی آن است.
- پیدا کردن BotFather: در تلگرام خود،
BotFather@را جستجو و شروع به گفتگو کنید. - ساخت ربات جدید: دستور
/newbotرا ارسال کنید. - انتخاب نام: یک نام برای ربات خود انتخاب کنید (مثلاً: “ربات اطلاعیههای سایت”).
- انتخاب نام کاربری: یک نام کاربری یکتا برای ربات انتخاب کنید که حتماً باید به
botختم شود (مثلاً:MySiteNotifierBot). - دریافت Token: پس از تأیید، BotFather یک HTTP API Token به شما میدهد (چیزی شبیه به
۱۲۳۴۵۶:ABC-DEF123...).- نکته کلیدی: این توکن را کپی کرده و در جایی امن ذخیره کنید.
📌 نکته: پیدا کردن Chat ID گیرندگان
برای ارسال پیام به یک کاربر مشخص، به آیدی عددی (Chat ID) او نیاز دارید.
- مراحل:
- به رباتی که ساختهاید بروید و آن را Start کنید.
- در تلگرام،
userinfobot@را جستجو کرده و شروع به گفتگو کنید. این ربات آیدی عددی شما را نشان میدهد. - Chat ID هر کاربری که میخواهید پیام را دریافت کند، باید به همین روش به دست آید (آن شخص باید ربات شما را Start کرده باشد).
- تمامی آیدیهای عددی مورد نیاز را ذخیره کنید (مثلاً:
["۱۲۳۴۵۶۷۸۹", "۹۸۷۶۵۴۳۲۱", ...]).
تنظیم ورکفلو در n8n و دریافت دادههای فرم (Webhook)
این قسمت، نقطه شروع اتوماسیون ما و دریافت اطلاعات از المنتور است.
- ساخت ورکفلو جدید: وارد n8n شوید و یک ورکفلو (Workflow) جدید بسازید.
- اضافه کردن نود Webhook:
- نود اول را Webhook انتخاب کنید.
- تنظیمات Webhook:
- Webhook URL: یک نام دلخواه در فیلد Path وارد کنید (مثلاً:
elementor_new_lead). - HTTP Method: حتماً روی
POSTتنظیم شود.
- Webhook URL: یک نام دلخواه در فیلد Path وارد کنید (مثلاً:
- دریافت آدرس Webhook:
- روی دکمه “Listen for Test Event” کلیک کنید. n8n در حالت گوش دادن قرار میگیرد.
- آدرس Webhook نهایی تولید شده (شبیه به
https://yourn8n.com/webhook/elementor_new_lead) را کپی کنید.
- تنظیم فرم المنتور (Elementor Form):
- فرم مورد نظر در المنتور را ویرایش کنید.
- به بخش Actions After Submit (عملیات پس از ارسال) بروید.
- گزینه Webhook را اضافه کنید.
- به تب جدید Webhook بروید و آدرسی که در مرحله قبل از n8n کپی کردید را در فیلد Webhook URL قرار دهید.
- تست اتصال:
- فرم المنتور در وبسایت خود را با دادههای تستی (نام، ایمیل و …) پر و ارسال کنید.
- به n8n برگردید. اگر اتصال موفقیتآمیز باشد، نود Webhook دادههای ارسالی را دریافت و نمایش میدهد. این دادهها قالب اطلاعات ارسالی شما را تعیین میکنند (مثلاً:
body.name,body.email). - دکمه “Stop Listening” را بزنید.
آمادهسازی پیام برای چند کاربر (Function/Code)
برای ارسال پیام به صورت همزمان به چند نفر، باید دادههای دریافتشده را به تعداد گیرندگان مورد نظر تکثیر کنیم.
- اضافه کردن نود Function/Code: یک نود Function (یا Code) به ورکفلو اضافه کنید و آن را به نود Webhook وصل کنید.
- تنظیمات کد: کد جاوا اسکریپت زیر را در این نود وارد کنید.
// ⚠️ مهم: Chat IDهای خود و همکارانتان را در این لیست وارد کنید.
const recipients = ["123456789", "987654321", "112233445"];
// دریافت دادههای ارسالی از فرم المنتور (نود Webhook)
const formData = $input.item.json.body;
const outputItems = [];
// ساخت یک پیام واحد برای هر گیرنده
for (const chatId of recipients) {
outputItems.push({
json: {
// فیلد Chat ID برای نود تلگرام
chatId: chatId,
// ساختار پیام را بر اساس دادههای فرم (formData) تنظیم کنید.
messageText: `
**🔔 ثبت نام جدید از سایت**
👤 نام: ${formData.Name}
📧 ایمیل: ${formData.Email}
📞 تلفن: ${formData.Phone}
---
⏰ زمان: ${new Date().toLocaleString('fa-IR')}
`,
}
});
}
return outputItems;
-
- توجه: قسمت
formData.Nameو… باید دقیقاً با نام فیلدهای فرم المنتور شما مطابقت داشته باشد.
- توجه: قسمت
بخش ۴: ارسال پیام به تلگرام (Telegram)
اکنون، نود نهایی پیامها را بر اساس آیتمهای تولید شده در مرحله قبل، به هر یک از کاربران ارسال میکند.
- اضافه کردن نود Telegram: یک نود Telegram (یا Telegram Send Message) اضافه کنید و آن را به نود Function/Code وصل کنید.
- تنظیمات Credential (توکن):
- در بخش Credential to connect with، روی “Create new credential” کلیک کنید.
- توکن API ربات تلگرامی که در بخش ۱ از BotFather گرفتید را در فیلد Access Token وارد و ذخیره کنید.
- تنظیم پیام برای آیتمهای تکراری:
- Resource:
Message - Operation:
Send Text Message - Chat ID: برای اینکه آیدی کاربر از نود قبلی خوانده شود، روی آیکون چکش ($\{\dots\}$) کلیک کنید و از منوی “Current Node” عبارت زیر را انتخاب/وارد کنید:
{{ $json.chatId }} - Text: برای قرار دادن متن آماده شده در نود قبلی، روی آیکون چکش کلیک کنید و عبارت زیر را وارد کنید:
{{ $json.messageText }} - Parse Mode: برای پشتیبانی از فرمتهای نوشتاری Markdown یا HTML (مثل بُلد کردن عنوانها)، آن را روی
MarkdownیاHTMLتنظیم کنید.
- Resource:
📝 خلاصه ورکفلو (Workflow) نهایی
| مرحله | نود (Node) | هدف |
| ۱ | Webhook | گوش دادن به ارسال فرم المنتور و دریافت دادهها. |
| ۲ | Function/Code | دریافت دادههای فرم، تعریف لیست Chat ID گیرندگان، و تکثیر پیام به تعداد آنها. |
| ۳ | Telegram | ارسال پیام مجزا و شخصیسازی شده برای هر Chat ID تعریف شده. |
🚀 اجرا و فعالسازی
- ورکفلو را ذخیره کنید.
- دکمه “Activate Workflow” (فعالسازی) در بالای صفحه n8n را بزنید.
از این پس، هر بار که فرم المنتور شما توسط کاربری تکمیل شود، پیام مربوطه به صورت خودکار و همزمان برای تمامی مدیران و کاربران مشخص شده در لیست شما ارسال خواهد شد.