چت‌بات هوشمند HubSpot با n8n

انتشار خودکار محتوا با n8n

مقدمه

چت‌بات هوشمند HubSpot با n8n:

N8Nابزاری است که به کمک آن می توانید در مدت‌زمان کوتاهی، فرایندهای خود را با هوش مصنوعی خودکار کنید و از مزایای اتوماسیون هوشمند بهره‌ مند شوید.

N8N برای چه کسب و کارهایی مناسب است:

اگر سازمان شما کوچک می باشد و هم اکنون بسیاری از کار های خود را با نرم افزار هایی همچون اکسل انجام می دهید، N8N برای کسب و کار شما ایده آل است و در صورتی که کسب و کاری متوسط یا بزرگ دارید می توانید بخش های بسیاری از فرایند های غیر کلیدی خود را با این ابزار هوشمند کنید.

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

رمز فایل: danixai.com

چت‌بات هوشمند HubSpot با n8n

ساخت چت‌بات هوشمند HubSpot با OpenAI و n8n یکی از روش‌های کاربردی برای خودکارسازی پاسخ‌گویی به پیام‌های کاربران است. در این Workflow، پیام‌های ارسال‌شده در چت HubSpot دریافت می‌شوند و سپس برای پردازش به OpenAI ارسال خواهند شد. در نتیجه، چت‌بات می‌تواند بر اساس تنظیمات یک Assistant، پاسخ مناسب را تولید کند.

با این حال، Workflow فقط یک اتصال ساده میان HubSpot و OpenAI نیست. در این Template از Airtable نیز برای نگهداری ارتباط میان شناسه مکالمه HubSpot و Thread مربوط به OpenAI استفاده شده است. بنابراین، سیستم می‌تواند مکالمات قبلی را تشخیص دهد و ادامه گفت‌وگو را در همان Thread انجام دهد.

همچنین، Workflow امکان اجرای Function یا Tool را در اختیار Assistant قرار می‌دهد. در این نمونه، Assistant می‌تواند درخواست‌هایی را ایجاد کند که نیازمند دریافت اطلاعات از سرویس خارجی هستند. سپس n8n درخواست را تشخیص می‌دهد، اطلاعات لازم را از API دریافت می‌کند و نتیجه را دوباره به OpenAI تحویل می‌دهد.

در ادامه، ساختار کامل این Workflow، Nodeهای استفاده‌شده، ارتباط میان آن‌ها و روش شخصی‌سازی Template را بررسی می‌کنیم.

قبل از شروع

اگر هنوز n8n را نصب نکرده‌اید، پیشنهاد می‌کنیم ابتدا مقاله «آموزش n8n» را مطالعه کنید. در آن مقاله، مراحل نصب با Node.js و Docker، راه‌اندازی اولیه و ساخت اولین Workflow به‌صورت کامل آموزش داده شده است. پس از نصب و راه‌اندازی، به این مقاله بازگردید و مراحل پیاده‌سازی این Workflow را دنبال کنید.

این Workflow چه کاری انجام می‌دهد؟

چت‌بات هوشمند HubSpot با n8n یک سیستم پاسخ‌گویی هوشمند برای پیام‌های HubSpot ایجاد می‌کند.

در مرحله بعد، اطلاعات پیام از HubSpot دریافت می‌شود. سپس Airtable بررسی می‌شود تا مشخص شود Thread مربوط به این مکالمه قبلاً در OpenAI ساخته شده است یا خیر.

اگر Thread وجود نداشته باشد، Workflow یک Thread جدید در OpenAI ایجاد می‌کند و شناسه آن را در Airtable ذخیره خواهد کرد. در غیر این صورت، پیام جدید مستقیماً به Thread موجود ارسال می‌شود.

بعد از آن، OpenAI Run اجرا می‌شود. Workflow وضعیت Run را بررسی می‌کند و بر اساس نتیجه، یکی از مسیرهای Completed، requires_action، in_progress یا queued را انتخاب می‌کند.

اگر Assistant به اجرای یک Function نیاز داشته باشد، n8n Function موردنظر را انتخاب می‌کند. سپس اطلاعات از API خارجی دریافت شده و نتیجه به OpenAI ارسال می‌شود. در نهایت، پاسخ تولیدشده توسط Assistant دوباره از OpenAI دریافت و در HubSpot منتشر می‌شود.

کاربردهای این Workflow

این Template می‌تواند در سناریوهای مختلف مورد استفاده قرار گیرد. برای مثال:

  • پاسخ‌گویی خودکار به سوالات مشتریان در HubSpot
  • ساخت دستیار هوشمند برای تیم فروش و پشتیبانی
  • دریافت اطلاعات شرکت‌ها از APIهای خارجی
  • پاسخ‌گویی بر اساس اطلاعات و دستورالعمل‌های اختصاصی یک OpenAI Assistant
  • حفظ Context مکالمات و ادامه گفت‌وگوهای قبلی
  • اجرای Functionهای اختصاصی بر اساس درخواست کاربر
  • کاهش حجم پاسخ‌گویی دستی تیم پشتیبانی
  • ایجاد سیستم Customer Support نیمه‌خودکار یا کاملاً خودکار

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

پیش‌نیازها

برای راه‌اندازی چت‌بات هوشمند HubSpot با n8n باید چند سرویس و Credential موردنیاز را از قبل آماده کنید.

  • نصب و راه‌اندازی n8n
  • یک حساب HubSpot
  • دسترسی به HubSpot Conversations
  • یک Credential معتبر برای HubSpot
  • حساب OpenAI
  • OpenAI API Key
  • یک OpenAI Assistant و شناسه آن
  • یک حساب Airtable
  • یک Airtable Base و Table برای ذخیره Threadها
  • Credential مربوط به Airtable
  • دسترسی به API سرویس خارجی مورد استفاده در Functionها
  • تنظیم Webhook در HubSpot یا سرویس ارسال‌کننده پیام

در Workflow اصلی، Airtable جدولی با دو مقدار اصلی برای ارتباط مکالمات در نظر گرفته شده است: شناسه Thread در HubSpot و شناسه Thread در OpenAI.

همچنین، Template شامل API Credentialهای مربوط به HubSpot و OpenAI است. هنگام Import کردن Workflow، Credentialهای موجود در فایل را با Credentialهای حساب خودتان جایگزین کنید.

دانلود Template

فایل JSON این Workflow را از این قسمت دانلود کنید.

رمز فایل: danixai.com

آموزش Import کردن Workflow

  1. وارد داشبورد n8n شوید.
  2. روی Import from File کلیک کنید.
  3. فایل JSON را انتخاب کنید.
  4. Workflow ایجاد خواهد شد.
  5. Credentialهای موردنیاز را تنظیم کنید.

ساختار Workflow

ساختار کلی Workflow را می‌توان به شکل زیر خلاصه کرد:

در چت‌بات هوشمند HubSpot با n8n، هر Node وظیفه مشخصی دارد و اطلاعات مرحله‌به‌مرحله بین سرویس‌های مختلف منتقل می‌شود.

Webhook

IF2

getHubspotMessage

IF

Airtable

IF1

ساخت Thread جدید یا استفاده از Thread موجود

OpenAI

OpenAI Run

Get Run

Completed / requires_action / in_progress / queued

دریافت پاسخ یا اجرای Function

API خارجی

Code

Submit Data

Get Run

Get Last Message

respondHubspotMessage1

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

آموزش کامل تمام Nodeها

Webhook

وظیفه Node: دریافت درخواست ورودی و شروع Workflow.

ورودی: درخواست HTTP از سرویس ارسال‌کننده پیام.

خروجی: اطلاعات پیام دریافتی در قالب داده‌های JSON.

تنظیمات مهم: Method روی POST قرار دارد و مسیر Webhook در Template برابر hubspot-tinder است.

نکات قابل تغییر: می‌توانید Path و تنظیمات امنیتی Webhook را متناسب با سیستم خود تغییر دهید.

دلیل استفاده: Workflow باید یک نقطه ورود برای دریافت پیام‌های جدید داشته باشد.

IF2

وظیفه Node: بررسی می‌کند که پیام دریافتی دارای messageId باشد.

ورودی: داده خروجی Webhook.

خروجی: پیام معتبر به مسیر بعدی ارسال می‌شود.

تنظیمات مهم: مقدار body[0].messageId بررسی می‌شود و شرط روی isNotEmpty قرار گرفته است.

نکات قابل تغییر: می‌توانید شرایط اعتبارسنجی دیگری نیز اضافه کنید.

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

getHubspotMessage

وظیفه Node: دریافت اطلاعات کامل پیام از HubSpot Conversations API.

ورودی: objectId و messageId دریافت‌شده از Webhook.

خروجی: متن پیام، شناسه Thread، شناسه کانال و اطلاعات فرستنده.

تنظیمات مهم: Node با HTTP Request به endpoint مربوط به پیام HubSpot متصل می‌شود و از HubSpot App Token استفاده می‌کند.

نکات قابل تغییر: Endpoint و Credential را باید با حساب HubSpot خود هماهنگ کنید.

دلیل استفاده: اطلاعات خام Webhook برای ادامه پردازش کافی نیست و باید جزئیات پیام از HubSpot دریافت شود.

IF

وظیفه Node: تشخیص می‌دهد پیام توسط کاربر ارسال شده یا توسط خود Assistant.

ورودی: اطلاعات پیام دریافت‌شده از HubSpot.

خروجی: پیام‌هایی که فرستنده آن‌ها Assistant نیستند، ادامه پیدا می‌کنند.

تنظیمات مهم: actorId پیام با شناسه Actor مشخص‌شده مقایسه می‌شود.

نکات قابل تغییر: شناسه Actor باید متناسب با حساب HubSpot شما تنظیم شود.

دلیل استفاده: بدون این شرط، پاسخ تولیدشده توسط Bot ممکن است دوباره به‌عنوان پیام ورودی شناسایی شود و Loop ایجاد کند.

Airtable

وظیفه Node: پیدا کردن Thread مربوط به مکالمه در دیتابیس Airtable.

ورودی: conversationsThreadId از HubSpot.

خروجی: رکورد مربوط به مکالمه در صورت وجود.

تنظیمات مهم: عملیات Node روی Search قرار دارد و با یک Formula، مقدار Hubspot Thread ID جست‌وجو می‌شود.

نکات قابل تغییر: می‌توانید Airtable را با دیتابیس دیگری مانند PostgreSQL یا MySQL جایگزین کنید.

دلیل استفاده: HubSpot و OpenAI هرکدام شناسه Thread مخصوص خود را دارند و باید ارتباط این دو ذخیره شود.

در چت‌بات هوشمند HubSpot با n8n، این ارتباط برای حفظ سابقه مکالمه و اتصال پیام‌های جدید به Thread قبلی ضروری است.

IF1

وظیفه Node: مشخص می‌کند آیا برای مکالمه فعلی Thread در OpenAI وجود دارد یا خیر.

ورودی: نتیجه جست‌وجوی Airtable.

خروجی: در صورت خالی بودن شناسه، مسیر ساخت Thread جدید اجرا می‌شود؛ در غیر این صورت پیام وارد Thread موجود خواهد شد.

تنظیمات مهم: مقدار Airtable.id با شرط isEmpty بررسی می‌شود.

دلیل استفاده: باعث می‌شود برای هر مکالمه یک Thread جدید ساخته نشود.

OpenAi Create Thread

وظیفه Node: ایجاد Thread جدید در OpenAI.

ورودی: متن پیام کاربر.

خروجی: شناسه Thread جدید.

تنظیمات مهم: درخواست POST به endpoint ساخت Thread ارسال می‌شود و پیام کاربر داخل آن قرار می‌گیرد.

نکات قابل تغییر: متن ورودی و Credential را می‌توانید تغییر دهید.

دلیل استفاده: مکالمه جدید باید یک Context مستقل در OpenAI داشته باشد.

createThread

وظیفه Node: ذخیره ارتباط Threadهای HubSpot و OpenAI در Airtable.

ورودی: شناسه Thread تولیدشده توسط OpenAI.

خروجی: رکورد ذخیره‌شده در Airtable.

تنظیمات مهم: دو فیلد OpenAI Thread ID و Hubspot Thread ID ذخیره می‌شوند.

دلیل استفاده: در پیام‌های بعدی Workflow می‌تواند Thread صحیح OpenAI را پیدا کند.

OpenAI

وظیفه Node: ارسال پیام جدید به Assistant موجود در OpenAI.

ورودی: متن پیام کاربر و Thread موجود.

خروجی: نتیجه اجرای درخواست در Thread.

تنظیمات مهم: این Node از Resource نوع Assistant استفاده می‌کند و شناسه Assistant در تنظیمات آن قرار گرفته است.

نکات قابل تغییر: Assistant ID را باید با Assistant موردنظر خود جایگزین کنید.

دلیل استفاده: این بخش Context مکالمه قبلی را حفظ می‌کند.

OpenAI Run و OpenAI Run1

وظیفه Node: اجرای Assistant روی Thread.

ورودی: شناسه Thread.

خروجی: شناسه Run و وضعیت اجرای آن.

تنظیمات مهم: درخواست POST به endpoint مربوط به Run ارسال می‌شود و Assistant ID در Body قرار دارد.

دلیل استفاده: ایجاد Thread به‌تنهایی باعث اجرای Assistant نمی‌شود؛ بنابراین Run باید جداگانه ایجاد شود.

Get Run

وظیفه Node: دریافت وضعیت فعلی Run.

ورودی: thread_id و id مربوط به Run.

خروجی: وضعیت اجرای Assistant.

تنظیمات مهم: اطلاعات از endpoint مربوط به Run دریافت می‌شود و alwaysOutputData فعال است.

دلیل استفاده: Workflow باید بداند Assistant تمام شده، در حال اجراست یا به اجرای Function نیاز دارد.

Completed, Action or Inprogress

وظیفه Node: مسیردهی بر اساس وضعیت Run.

ورودی: مقدار status.

خروجی: چهار مسیر برای وضعیت‌های مختلف.

تنظیمات مهم: وضعیت‌های completed، requires_action، in_progress و queued بررسی می‌شوند.

دلیل استفاده: هر وضعیت نیازمند عملیات متفاوتی است.

Wait، Wait1، Wait2 و Wait3

وظیفه Node: ایجاد وقفه قبل از بررسی مجدد وضعیت یا ادامه پردازش.

ورودی: اطلاعات اجرای فعلی.

خروجی: داده‌ها پس از پایان زمان انتظار.

تنظیمات مهم: واحد زمانی در Template روی ثانیه تنظیم شده است.

نکات قابل تغییر: زمان انتظار را می‌توان با توجه به سرعت پاسخ APIها تنظیم کرد.

دلیل استفاده: OpenAI ممکن است برای تکمیل Run به زمان نیاز داشته باشد.

Select Function

وظیفه Node: تشخیص Function موردنیاز توسط Assistant.

ورودی: required_action و نام Function.

خروجی: یکی از مسیرهای Function.

تنظیمات مهم: دو Function با نام‌های getAWBbyOrder و get_awb_history در Switch تعریف شده‌اند.

دلیل استفاده: Assistant می‌تواند مشخص کند که برای پاسخ به کاربر باید کدام عملیات خارجی اجرا شود.

HTTP Request

وظیفه Node: ارسال درخواست به API جست‌وجوی سرویس خارجی.

ورودی: پارامتر src استخراج‌شده از Arguments مربوط به Function.

خروجی: اطلاعات دریافت‌شده از API.

تنظیمات مهم: درخواست به endpoint جست‌وجوی Listafirme ارسال می‌شود و پارامترهای Query برای آن تعریف شده‌اند.

نکات قابل تغییر: Endpoint، پارامترها و Credential یا API Key باید با سرویس خودتان تنظیم شوند.

دلیل استفاده: این Node وظیفه اجرای عملیات خارجی درخواست‌شده توسط Assistant را دارد.

HTTP Request1

وظیفه Node: دریافت اطلاعات تکمیلی درباره شرکت از API خارجی.

ورودی: مقدار src استخراج‌شده از Function Arguments.

خروجی: اطلاعات شرکت.

تنظیمات مهم: این Node به endpoint اطلاعات شرکت متصل است و داده‌ای شامل TaxCode و فیلدهای مختلف اطلاعات شرکت ارسال می‌کند.

دلیل استفاده: مسیر دوم Function برای دریافت جزئیات بیشتر استفاده می‌شود.

Code و Code1

وظیفه Node: تبدیل خروجی API به JSON String و Escape کردن علامت نقل‌قول.

ورودی: اولین Item موجود در ورودی.

خروجی: مقدار escapedJsonString.

تنظیمات مهم: کد JavaScript موجود در هر دو Node مشابه است و برای آماده‌سازی خروجی قبل از ارسال به OpenAI استفاده می‌شود.

دلیل استفاده: خروجی API باید در ساختار tool_outputs قابل ارسال باشد.

Submit Data و Submit Data1

وظیفه Node: ارسال نتیجه Function به OpenAI.

ورودی: شناسه Tool Call و خروجی پردازش‌شده API.

خروجی: نتیجه ثبت‌شده برای Run.

تنظیمات مهم: هر دو Node به endpoint submit_tool_outputs متصل هستند و خروجی Function را به OpenAI برمی‌گردانند.

دلیل استفاده: Assistant پس از اجرای Function باید نتیجه آن را دریافت کند تا بتواند پاسخ نهایی را بسازد.

Get Last Message

وظیفه Node: دریافت پیام‌های Thread پس از تکمیل پردازش.

ورودی: thread_id.

خروجی: پیام‌های موجود در Thread.

تنظیمات مهم: Node به endpoint Messages در OpenAI متصل است.

دلیل استفاده: پاسخ نهایی Assistant باید از Thread استخراج شود.

respondHubspotMessage1

وظیفه Node: ارسال پاسخ نهایی به مکالمه HubSpot.

ورودی: متن تولیدشده توسط OpenAI.

خروجی: پیام ارسال‌شده در HubSpot.

تنظیمات مهم: نوع پیام MESSAGE است و متن پاسخ از خروجی OpenAI خوانده می‌شود.

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

Sticky Noteها

وظیفه Node: توضیح ساختار Workflow برای توسعه‌دهنده.

ورودی: ندارد.

خروجی: ندارد.

این Workflow چند Sticky Note برای توضیح بخش‌های مختلف دارد؛ از جمله دریافت پیام، ذخیره Thread، بررسی وضعیت Run و اجرای Functionها. این Nodeها در منطق اجرایی Workflow نقشی ندارند، اما برای نگهداری و درک بهتر Template مفید هستند.

سرویس‌های استفاده‌شده در Workflow چت‌بات هوشمند HubSpot با n8n

HubSpot

HubSpot در این Workflow نقش سیستم ارتباط با کاربر را دارد. پیام از طریق Conversations دریافت می‌شود و پاسخ نهایی نیز دوباره در همان مکالمه منتشر خواهد شد.

عملکرد چت‌بات هوشمند HubSpot با n8n به همکاری این سرویس‌ها وابسته است و هرکدام بخش متفاوتی از فرایند را مدیریت می‌کنند.

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

OpenAI

OpenAI هسته هوشمند Workflow است. در این Template از ساختار Thread، Run و Assistant استفاده شده است. همچنین، Assistant می‌تواند با اعلام requires_action از n8n بخواهد یک Function خارجی را اجرا کند.

Airtable

Airtable نقش یک دیتابیس سبک برای نگهداری ارتباط بین شناسه Thread در HubSpot و شناسه Thread در OpenAI را دارد. این ساختار باعث می‌شود مکالمه‌های مختلف از یکدیگر جدا بمانند.

نحوه شخصی‌سازی Workflow چت‌بات هوشمند HubSpot با n8n

تغییر Prompt و دستورالعمل Assistant

چت‌بات هوشمند HubSpot با n8n را می‌توان بر اساس نیاز کسب‌وکار شخصی‌سازی کرد. این تغییرات می‌توانند شامل Prompt، مدل AI، Trigger، دیتابیس، Function و APIهای مورد استفاده باشند.

منطق اصلی پاسخ‌گویی در Assistant مورد استفاده Workflow قرار دارد. بنابراین برای تغییر شخصیت، لحن، قوانین پاسخ‌گویی یا دانش مورد استفاده، باید تنظیمات Assistant مربوط به OpenAI را تغییر دهید.

در نتیجه، لازم نیست منطق اصلی n8n را برای هر تغییر محتوایی دستکاری کنید.

تغییر مدل AI

مدل مورد استفاده را می‌توانید از تنظیمات Assistant در OpenAI تغییر دهید. انتخاب مدل باید بر اساس هزینه، سرعت و میزان پیچیدگی پاسخ‌ها انجام شود.

تغییر Trigger

در Template چت‌بات هوشمند HubSpot با n8n فعلی، Webhook نقطه شروع Workflow است. می‌توانید در صورت نیاز آن را با Trigger مناسب دیگری جایگزین کنید، اما باید ساختار داده ورودی Nodeهای بعدی را نیز هماهنگ کنید.

تغییر دیتابیس

Airtable برای نگهداری Mapping بین Threadها استفاده شده است. بنابراین می‌توانید آن را با دیتابیس دیگری جایگزین کنید؛ البته فیلدهای مربوط به HubSpot Thread ID و OpenAI Thread ID باید همچنان نگهداری شوند.

تغییر Functionها

در Node Select Function نام Functionها بررسی می‌شود. برای اضافه کردن عملیات جدید، باید Function موردنظر را در Assistant تعریف کنید، سپس یک مسیر جدید در Switch بسازید و API مربوط به آن را متصل کنید.

تغییر API

Nodeهای HTTP Request و HTTP Request1 برای ارتباط با سرویس خارجی استفاده می‌شوند. بنابراین Endpoint، Query Parameter و ساختار خروجی آن‌ها را می‌توان متناسب با API جدید تغییر داد.

مزایای استفاده از این Workflow چت‌بات هوشمند HubSpot با n8n

  • پاسخ‌گویی خودکار به پیام‌های کاربران
  • حفظ Context مکالمات قبلی
  • اتصال مستقیم HubSpot به OpenAI
  • امکان اجرای Functionهای خارجی
  • ذخیره‌سازی ساده اطلاعات Thread
  • کاهش عملیات دستی تیم پشتیبانی
  • امکان توسعه Workflow با APIهای مختلف
  • قابلیت شخصی‌سازی Assistant
  • جداسازی مکالمات مختلف با استفاده از Thread ID
  • امکان توسعه سیستم به یک دستیار هوشمند کامل

بنابراین، ارزش اصلی این Template فقط در تولید متن توسط هوش مصنوعی نیست؛ بلکه در ترکیب یک سیستم مکالمه، حافظه Thread و اجرای عملیات خارجی است.

نکات مهم 

مدیریت Credentialها

Credentialهای موجود در Template چت‌بات هوشمند HubSpot با n8n را با اطلاعات حساب خودتان جایگزین کنید. همچنین، اطلاعات حساس مانند API Key را مستقیماً داخل متن Workflow یا مقالات عمومی قرار ندهید.

بررسی Assistant ID

قبل از اجرای Workflow چت‌بات هوشمند HubSpot با n8n، شناسه Assistant را بررسی کنید. Assistant مورد استفاده باید Functionهایی را که Workflow انتظار دارد، به‌درستی تعریف کرده باشد.

بررسی ساختار Airtable

نام فیلدهای Airtable باید با Mapping موجود در Workflow هماهنگ باشد. در غیر این صورت، Workflow نمی‌تواند Thread مربوط به مکالمه را پیدا کند.

جلوگیری از Loop

شرط Node IF اهمیت زیادی دارد. اگر شناسه Actor مربوط به Bot به‌درستی تنظیم نشود، پاسخ Bot ممکن است دوباره به Workflow برگردد.

کنترل زمان Wait

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

بررسی وضعیت Run

وضعیت‌های مختلف Run باید به‌درستی مدیریت شوند. در این Template وضعیت requires_action به مسیر اجرای Function هدایت می‌شود.

بررسی API خارجی

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

کنترل هزینه OpenAI

هر پیام و اجرای Assistant می‌تواند هزینه API ایجاد کند. بنابراین بهتر است Prompt، مدل و تعداد درخواست‌ها را متناسب با نیاز واقعی تنظیم کنید.

بررسی امنیت Webhook

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

خطاهای رایج (Troubleshooting)

در زمان استفاده از چت‌بات هوشمند HubSpot با n8n ممکن است به دلیل تنظیمات Credential، Webhook، API یا Thread با خطا مواجه شوید. موارد زیر رایج‌ترین مشکلات و راهکارهای آن‌ها هستند.

پیام HubSpot وارد Workflow نمی‌شود

علت: ممکن است Webhook به‌درستی تنظیم نشده باشد یا داده ورودی فاقد messageId باشد.

راه‌حل: خروجی Webhook را بررسی کنید و مطمئن شوید ساختار body و messageId مطابق چیزی است که Workflow انتظار دارد.

برای هر پیام Thread جدید ساخته می‌شود

علت: Airtable نمی‌تواند Thread قبلی را پیدا کند.

راه‌حل: مقدار Hubspot Thread ID را بررسی کنید و مطمئن شوید Formula جست‌وجوی Airtable مقدار صحیح conversationsThreadId را دریافت می‌کند.

Assistant پاسخ نمی‌دهد

علت: ممکن است Assistant ID اشتباه باشد، Credential OpenAI معتبر نباشد یا Run با خطا مواجه شده باشد.

راه‌حل: خروجی Nodeهای OpenAI Run و Get Run را بررسی کنید و وضعیت واقعی Run را ببینید.

Function اجرا نمی‌شود

علت: نام Function موجود در Assistant با نام‌هایی که در Select Function تعریف شده‌اند مطابقت ندارد.

راه‌حل: نام Function را در Assistant و Switch بررسی کنید. در این Template مسیرهای Function بر اساس نام مشخص آن‌ها انتخاب می‌شوند.

پاسخ در HubSpot نمایش داده نمی‌شود

علت: ممکن است اطلاعات Thread، Channel یا Actor ID اشتباه باشد.

راه‌حل: خروجی Get Last Message و سپس پارامترهای Node respondHubspotMessage1 را بررسی کنید.

اطلاعات API خارجی به Assistant برنمی‌گردد

علت: ممکن است خروجی API با ساختار مورد انتظار Workflow مطابقت نداشته باشد.

راه‌حل: خروجی HTTP Request را بررسی کنید و سپس ببینید Nodeهای Code و Submit Data چه داده‌ای دریافت می‌کنند.

جمع‌بندی

چت‌بات هوشمند HubSpot با n8n می‌تواند راهکاری مناسب برای خودکارسازی فرآیند پاسخ‌گویی به مشتریان باشد. این Workflow با ترکیب Webhook، HubSpot، Airtable و OpenAI یک مسیر کامل برای دریافت پیام، پردازش هوشمند و ارسال پاسخ ایجاد می‌کند.

در این ساختار، Airtable وظیفه نگهداری ارتباط بین Threadهای HubSpot و OpenAI را بر عهده دارد. در نتیجه، پیام‌های جدید می‌توانند به مکالمه قبلی متصل شوند و Context آن حفظ شود.

همچنین، یکی از ویژگی‌های مهم Template امکان اجرای Function است. Assistant می‌تواند تشخیص دهد که برای پاسخ به کاربر نیاز به اطلاعات خارجی دارد. سپس n8n درخواست را به مسیر مناسب هدایت می‌کند، اطلاعات را از API دریافت می‌کند و نتیجه را دوباره در اختیار OpenAI قرار می‌دهد.

از سوی دیگر، ساختار Workflow قابل توسعه است. می‌توانید APIهای جدید، Functionهای بیشتر، دیتابیس متفاوت یا Triggerهای دیگر به آن اضافه کنید. بنابراین، این Template می‌تواند پایه‌ای برای ساخت دستیارهای هوشمند پیشرفته‌تر در محیط‌های واقعی باشد.

سوالات متداول

آیا می‌توان Airtable را با دیتابیس دیگری جایگزین کرد؟

بله. Airtable در این Workflow صرفاً برای ذخیره ارتباط Threadهای HubSpot و OpenAI استفاده می‌شود. بنابراین می‌توان آن را با دیتابیس‌هایی مانند PostgreSQL یا MySQL جایگزین کرد.

آیا می‌توان Assistant را تغییر داد؟

بله. کافی است Assistant موردنظر خود را در OpenAI ایجاد کنید و شناسه آن را در Nodeهای مربوط به OpenAI جایگزین کنید. همچنین، اگر Functionهای متفاوتی دارید، مسیرهای Switch را نیز باید تغییر دهید.

آیا این Workflow چت‌بات هوشمند HubSpot با n8n فقط برای HubSpot قابل استفاده است؟

خیر. اگرچه Trigger و بخش ارسال پاسخ برای HubSpot طراحی شده‌اند، معماری Workflow را می‌توان برای سرویس‌های چت دیگر نیز استفاده کرد. کافی است بخش دریافت و ارسال پیام را با API سرویس موردنظر هماهنگ کنید.

آیا می‌توان Functionهای بیشتری اضافه کرد؟

بله. Node Select Function برای انتخاب مسیر بر اساس نام Function طراحی شده است. بنابراین می‌توانید Ruleهای بیشتری به آن اضافه کنید و هر مسیر را به یک API یا عملیات اختصاصی متصل کنید.

آیا برای اجرای Workflow به API Key نیاز است؟

بله. سرویس‌هایی مانند OpenAI، HubSpot و API خارجی مورد استفاده باید Credential یا اطلاعات احراز هویت مناسب داشته باشند. همچنین بهتر است این اطلاعات در Credentialهای n8n نگهداری شوند.

چرا Workflow از Wait استفاده می‌کند؟

اجرای OpenAI Run ممکن است فوری تمام نشود. به همین دلیل Workflow پس از مدتی وضعیت Run را دوباره بررسی می‌کند. این فرآیند در مسیرهای مختلف Workflow با Nodeهای Wait انجام می‌شود.

آیا می‌توان پاسخ‌گویی را بدون اجرای Function انجام داد؟

بله. اگر Assistant نیازی به اطلاعات خارجی نداشته باشد، وضعیت Run می‌تواند مستقیماً به مسیر دریافت پیام نهایی برود. Functionها زمانی ضروری هستند که Assistant برای پاسخ به داده‌ای خارج از Context خود نیاز داشته باشد.

آیا می‌توان این Workflow چت‌بات هوشمند HubSpot با n8n را برای پشتیبانی مشتری استفاده کرد؟

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

 

GIT

Categories: , ,

توسعه توسط تیم میهن وردپرس