TEHRAN
اتصال n8n به OpenAI از داخل ایران — راهنمای گام‌به‌گام
← روزنامه‌نگاری۸ دقیقه مطالعه

اتصال n8n به OpenAI از داخل ایران — راهنمای گام‌به‌گام

آموزش کامل اتصال n8n به OpenAI از ایران بدون VPN: تنظیم Credential، ساخت AI Agent، خلاصه‌ساز ایمیل، چت‌بات تلگرام و کنترل هزینه.

BYتیم 1xAi·منتشر: ۲۰۲۶/۰۵/۱۲ ۱۶:۲۲·بروزرسانی: ۲۰۲۶/۰۵/۱۳ ۰۹:۲۱·
n8nAPIآموزشاتوماسیون
CONTENTS · در این مقاله (۲۶)
  1. چرا node رسمی OpenAI در n8n از ایران کار نمی‌کند؟
  2. پیش‌نیازها
  3. گام ۱: ساخت Credential در n8n
  4. گام ۲: اولین workflow — خلاصه‌ساز ایمیل
  5. ۲.۱ Trigger: Gmail
  6. ۲.۲ Process: OpenAI
  7. ۲.۳ Output: Telegram
  8. گام ۳: AI Agent — یک ربات پشتیبانی واقعی
  9. ۳.۱ ساختار
  10. ۳.۲ تنظیم Chat Model
  11. ۳.۳ تعریف Tools
  12. گام ۴: تولید تصویر و صوت در همان workflow
  13. تولید تصویر با DALL-E 3
  14. تبدیل صوت به متن با Whisper
  15. هزینهٔ یک workflow معمولی — یک نمونهٔ واقعی
  16. چند trick حرفه‌ای برای n8n + OpenAI
  17. ۱. Caching با Redis
  18. ۲. Retry با backoff
  19. ۳. کنترل هزینه با sub-workflow
  20. ۴. استفاده از Responses API
  21. اشکال‌زدایی: مشکلات رایج
  22. خطای ۴۰۱ Unauthorized
  23. خطای ۴۲۹ Too Many Requests
  24. خطای ۴۰۰ Invalid Model
  25. پاسخ خیلی کند
  26. جمع‌بندی

n8n در دو سال اخیر به یکی از محبوب‌ترین ابزارهای اتوماسیون بدون-کد در ایران تبدیل شده است. ترکیب n8n با OpenAI به تو اجازه می‌دهد از چت‌بات‌های هوشمند تا agentهای ایمیل و خلاصه‌ساز محتوا را در چند دقیقه بسازی. اما اگر یک‌بار سعی کرده باشی node رسمی OpenAI را در n8n با IP ایرانی اجرا کنی، یا با خطای ۴۰۳ Country Not Supported روبه‌رو شده‌ای یا با Connection Timeout. این راهنما گام‌به‌گام نشان می‌دهد چطور این مشکل را برای همیشه حل کنی، و یک workflow کامل n8n + OpenAI بسازی که از داخل ایران، روی سرور خودت یا n8n cloud، بدون VPN و بدون قطعی کار کند.

چرا node رسمی OpenAI در n8n از ایران کار نمی‌کند؟

node OpenAI در n8n به‌صورت پیش‌فرض درخواست را به https://api.openai.com می‌فرستد. اگر سرور n8n تو در ایران است (یا حتی روی n8n cloud با IP ای که OpenAI آن را شناسایی می‌کند)، پاسخ این است:

{
  "error": {
    "message": "Country, region, or territory not supported",
    "type": "request_forbidden",
    "code": "unsupported_country_region_territory"
  }
}

راه‌حل ساده است: به‌جای api.openai.com، از یک OpenAI-compatible base URL استفاده کن که از کشوری پشتیبانی‌شده درخواست را فوروارد می‌کند. n8n در نسخه‌های اخیر این قابلیت را در node رسمی OpenAI قرار داده است.

پیش‌نیازها

  • n8n نسخهٔ ۱.۵۰ یا بالاتر (self-hosted یا cloud).
  • یک حساب در یک پروکسی API ایرانی مانند 1xAi با کلید 1xai-....
  • حداقل ۱۰۰ هزار تومان شارژ (کمتر از یک قهوه).

اگر هنوز با مفهوم پروکسی API آشنا نیستی، اول مقالهٔ دسترسی به ChatGPT از داخل ایران را بخوان.

گام ۱: ساخت Credential در n8n

به مسیر Settings → Credentials → New برو، نوع OpenAi API را انتخاب کن، و این مقادیر را وارد کن:

فیلدمقدار
API Keyکلید 1xAi تو، مثلاً 1xai-abcdefghijklmnopqr
Organization ID (Optional)خالی بگذار
Base URLhttps://1xai.ir/v1

روی Save کلیک کن. n8n خودکار یک تست انجام می‌دهد. اگر سبز شد، آماده‌ای. اگر قرمز شد، چک کن:

  • کلیدت با 1xai- شروع می‌شود (نه sk-).
  • پشت سر API Key فاصلهٔ اضافی نباشد.
  • Base URL دقیقاً https://1xai.ir/v1 باشد، بدون اسلش انتهایی.
  • حساب 1xAi شارژ مثبت داشته باشد.

گام ۲: اولین workflow — خلاصه‌ساز ایمیل

یک workflow کاربردی بسازیم: ایمیل ورودی Gmail → خلاصه با GPT → پیام در تلگرام. این الگو روزانه ساعت‌ها در وقت تو صرفه‌جویی می‌کند.

۲.۱ Trigger: Gmail

node Gmail Trigger را اضافه کن، event را روی Message Received بگذار، و اعتبار Google خودت را وصل کن. یک filter ساده مثل label:Important اضافه کن تا فقط روی ایمیل‌های مهم اجرا شود.

۲.۲ Process: OpenAI

node OpenAI را اضافه کن. تنظیمات:

  • Resource: Chat
  • Operation: Message a model
  • Model: gpt-4o-mini یا gpt-5-nano (برای خلاصه‌سازی، مدل ارزان کافی است)
  • Messages:
System: تو دستیار خلاصه‌ساز ایمیل هستی. ایمیل فارسی یا انگلیسی را در ۲ تا ۳ جمله به فارسی خلاصه کن. اگر اقدامی لازم است، آن را در یک bullet جدا کن.

User: موضوع: {{ $json.subject }}

از: {{ $json.from.value[0].name }}

متن:
{{ $json.text }}

۲.۳ Output: Telegram

node Telegram را اضافه کن، operation روی Send Message، Chat ID خودت را بگذار، و text را به این شکل بساز:

📧 ایمیل جدید از {{ $('Gmail Trigger').item.json.from.value[0].name }}

موضوع: {{ $('Gmail Trigger').item.json.subject }}

خلاصه:
{{ $json.message.content }}

workflow را activate کن. از این لحظه، هر ایمیل مهم تو خودکار به فارسی خلاصه شده و در تلگرام برایت می‌آید.

گام ۳: AI Agent — یک ربات پشتیبانی واقعی

n8n از نسخهٔ ۱.۲۰ یک node فوق‌العاده به نام AI Agent اضافه کرده که LangChain.js را داخل خود اجرا می‌کند. این node به تو اجازه می‌دهد agentهایی با tool use بسازی. بیایم یک ربات پشتیبانی بسازیم که:

  1. پیام مشتری را از تلگرام می‌گیرد.
  2. اگر دربارهٔ وضعیت سفارش است، از API فروشگاه پرس‌وجو می‌کند.
  3. اگر سؤال عمومی است، از یک vector database پاسخ می‌دهد.
  4. اگر نتوانست، تیکت را به انسان ارجاع می‌دهد.

۳.۱ ساختار

workflow این شکل را خواهد داشت:

Telegram Trigger → AI Agent ─┬─ Chat Model: OpenAI (gpt-5-mini)
                              ├─ Memory: Buffer Window
                              └─ Tools:
                                  ├─ HTTP Request (Order API)
                                  ├─ Vector Store (Pinecone/Qdrant)
                                  └─ HTTP Request (Create Ticket)

۳.۲ تنظیم Chat Model

در زیرگرهٔ Chat Model، باز هم credential 1xAi را انتخاب کن. مدل پیشنهادی gpt-5-mini است — برای agentهای ساده کافی است و قیمت بسیار مناسب دارد. اگر agentت تصمیم‌گیری پیچیده انجام می‌دهد، روی gpt-5 سوئیچ کن.

System prompt پیشنهادی:

تو دستیار پشتیبانی فروشگاه «نمونه» هستی. به فارسی پاسخ بده.

قواعد:
1. اگر مشتری دربارهٔ وضعیت سفارش پرسید، از ابزار get_order_status استفاده کن.
2. اگر سؤال عمومی دربارهٔ محصول/گارانتی/ارسال است، از ابزار search_kb استفاده کن.
3. اگر بعد از دو تلاش پاسخ مناسب نداشتی، از ابزار create_ticket یک تیکت بساز.
4. هرگز قیمت یا اطلاعات حساس را حدس نزن — فقط از ابزارها استفاده کن.

۳.۳ تعریف Tools

برای هر tool، یک HTTP Request Tool اضافه کن. مثلاً برای get_order_status:

فیلدمقدار
Nameget_order_status
Descriptionوضعیت سفارش را با شمارهٔ سفارش برمی‌گرداند
MethodGET
URLhttps://api.myshop.ir/orders/{order_id}
Schema (placeholder){"order_id": {"type": "string", "description": "شماره سفارش"}}

n8n خودکار این schema را به‌صورت function calling به OpenAI می‌فرستد و agent تصمیم می‌گیرد چه زمانی از این ابزار استفاده کند.

گام ۴: تولید تصویر و صوت در همان workflow

یکی از قدرت‌های 1xAi این است که تمام endpointهای OpenAI را پشتیبانی می‌کند. می‌توانی در یک workflow بعد از تولید متن، تصویر بسازی یا متن را به صوت تبدیل کنی.

تولید تصویر با DALL-E 3

node OpenAI با تنظیمات:

  • Resource: Image
  • Operation: Generate Image
  • Model: dall-e-3 یا gpt-image-1
  • Prompt: {{ $json.image_description }}
  • Size: 1024x1024

خروجی یک URL است که می‌توانی در پیام تلگرام، ایمیل، یا CMS خود استفاده کنی.

تبدیل صوت به متن با Whisper

برای پردازش پیام‌های صوتی تلگرام:

  • Resource: Audio
  • Operation: Transcribe a recording
  • Model: whisper-1 یا gpt-4o-transcribe
  • Binary Property: data (فایل صوتی از node قبلی)
  • Language: fa

برای جزئیات بیشتر دربارهٔ کیفیت Whisper در فارسی، مقالهٔ تبدیل صوت فارسی به متن با Whisper را ببین.

هزینهٔ یک workflow معمولی — یک نمونهٔ واقعی

فرض کن یک کسب‌وکار کوچک هستی و workflow پشتیبانی روزانه ۲۰۰ مکالمه را پاسخ می‌دهد. هر مکالمه میانگین ۱۵۰۰ توکن ورودی + ۵۰۰ توکن خروجی با gpt-5-mini دارد:

آیتممحاسبههزینهٔ روزانه (تومان)
ورودی200 × 1500 × ۱۵٬۰۰۰ ÷ 1M۴٬۵۰۰
خروجی200 × 500 × ۱۲۰٬۰۰۰ ÷ 1M۱۲٬۰۰۰
مجموع~۱۶٬۵۰۰
ماهانه~۵۰۰٬۰۰۰

۵۰۰ هزار تومان در ماه برای جایگزینی یک نیروی پاسخگو ۸ ساعت در روز، عدد کاملاً منطقی‌ای است. اگر می‌خواهی اعداد را برای پروژهٔ خودت دقیق محاسبه کنی، راهنمای محاسبهٔ هزینهٔ ChatGPT API فرمول‌ها را گام‌به‌گام دارد.

چند trick حرفه‌ای برای n8n + OpenAI

۱. Caching با Redis

برای سؤال‌های تکراری (مثل «ساعت کاری شما؟»)، یک node Redis قبل از node OpenAI بگذار. اگر پاسخ کش شده، آن را برگردان؛ وگرنه از OpenAI بپرس و کش کن. می‌تواند ٪۳۰ تا ٪۵۰ هزینه را کم کند.

۲. Retry با backoff

در تنظیمات node OpenAI، Retry On Fail را فعال کن، Max Tries را روی ۳ و Wait را روی ۲۰۰۰ms بگذار. اگر بار شبکه بالا بود، n8n خودکار retry می‌کند.

۳. کنترل هزینه با sub-workflow

اگر چند workflow داری، یک sub-workflow بساز که قبل از هر فراخوانی OpenAI، مصرف ماهانه را چک کند. اگر از سقف بودجه گذشتی، fallback به مدل ارزان‌تر یا پیام «در حال حاضر در دسترس نیست» بده.

۴. استفاده از Responses API

n8n از نسخهٔ ۱.۶۰ به بعد از endpoint جدید /v1/responses هم پشتیبانی می‌کند که برای agentها بهینه‌تر است (state داخلی، tool use بهتر، reasoning مرئی). اگر روی n8n قدیمی هستی، می‌توانی با node HTTP Request مستقیم به https://1xai.ir/v1/responses بزنی.

اشکال‌زدایی: مشکلات رایج

خطای ۴۰۱ Unauthorized

کلید اشتباه است یا حذف شده. به داشبورد 1xAi برو و یک کلید جدید بساز.

خطای ۴۲۹ Too Many Requests

به سقف rate-limit حسابت رسیده‌ای. در 1xAi می‌توانی از طریق فرم تماس سقف را افزایش دهی.

خطای ۴۰۰ Invalid Model

نام مدل اشتباه است. لیست مدل‌های دقیق را با درخواست GET به /v1/models بگیر.

پاسخ خیلی کند

مدل سنگین استفاده می‌کنی. روی gpt-5-mini یا gpt-4o-mini سوئیچ کن، یا max_tokens را محدودتر کن.

جمع‌بندی

n8n + OpenAI ترکیبی است که می‌تواند یک تیم اتوماسیون چند نفره را در یک نفر خلاصه کند. تنها چالش جدی برای کاربر ایرانی، دسترسی به API بود — که با تغییر یک فیلد در Credential و وصل شدن به 1xAi یا یک پروکسی API بومی دیگر کاملاً حل می‌شود. حالا که زیرساخت آماده است، تنها محدودیت تخیل تو است: از ربات پشتیبانی تا عامل خرید خودکار، از خلاصه‌ساز جلسه تا مولد محتوای روزانه — همه چیز در دسترس است. اگر می‌خواهی به سراغ ابزارهای پیچیده‌تر مثل LangChain هم بروی، راهنمای اتصال LangChain و LangGraph از ایران قدم بعدی منطقی است.

ABOUT THE AUTHOR · نویسنده

تیم 1xAi

تیمِ 1xAi پروکسیِ تخصصیِ مدل‌های OpenAI، Claude و Gemini برای کاربرانِ ایرانی را اداره می‌کند — از زیرساختِ شبکه تا صورت‌حسابِ تومانی. هرچه اینجا می‌نویسیم بر اساسِ تجربه‌ٔ روزانه با APIهای OpenAI، Anthropic و Google و نیازهای واقعیِ توسعه‌دهندگانِ داخلِ ایران است.

RELATED · ادامهٔ مطالعه