پاسخ‌دهی خودکار تیکت Zendesk با هوش مصنوعی و RAG

پاسخ‌دهی خودکار تیکت Zendesk با هوش مصنوعی و RAG

11 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 7937 · منبع: کاتالوگ Axeto

پاسخ‌دهی خودکار به تیکت‌های پشتیبانی Zendesk با استفاده از RAG، OpenAI و پایگاه دانش Supabase

این گردش کار، پاسخ‌دهی به تیکت‌های پشتیبانی Zendesk را با استفاده از Retrieval-Augmented Generation (RAG) خودکار می‌کند. این سیستم پاسخ‌های تولید شده توسط هوش مصنوعی را با اطلاعات پایگاه دانش Supabase غنی‌سازی کرده و با استفاده از حافظه جلسه ذخیره شده در PostgreSQL، زمینه مکالمه را حفظ می‌کند. هدف اصلی، ارائه پاسخ‌های دقیق، آگاه از زمینه و حرفه‌ای به تیکت‌های جدید Zendesk است که منجر به بهبود کارایی و یکپارچگی پشتیبانی می‌شود.

ویژگی‌های کلیدی:

  • مدیریت خودکار تیکت: پاسخ‌دهی خودکار به تیکت‌های جدید Zendesk.
  • یکپارچه‌سازی پایگاه دانش: استفاده از RAG برای استخراج اطلاعات مرتبط از فروشگاه برداری (vector store) Supabase.
  • حافظه متنی: حفظ تاریخچه مکالمات با استفاده از پایگاه داده PostgreSQL برای تعاملات منسجم‌تر.
  • پاسخ‌های مبتنی بر هوش مصنوعی: استفاده از مدل‌های OpenAI برای تولید پاسخ‌های طبیعی و آموزنده.
  • خودکارسازی گردش کار: ساده‌سازی عملیات پشتیبانی با کاهش نیاز به مداخله دستی.

لینک کاتالوگ Axeto.ai: https://axeto.ai/n8n

---

تشریح گردش کار (Workflow Breakdown)

گردش کار به چندین بخش منطقی تقسیم شده است:

1. دریافت ورودی: دریافت داده‌های تیکت جدید از Zendesk از طریق Webhook.

2. استخراج داده‌های تیکت: تجزیه و فرمت‌بندی اطلاعات ضروری تیکت.

3. بازیابی پایگاه دانش: جستجو در Supabase برای مقالات مرتبط بر اساس محتوای تیکت.

4. بازیابی حافظه جلسه: بارگذاری تعاملات گذشته از PostgreSQL برای ارائه زمینه مکالمه.

5. تولید پاسخ هوش مصنوعی: ایجاد پاسخ با استفاده از OpenAI، با اطلاع‌رسانی از پایگاه دانش و حافظه جلسه.

6. پردازش شرطی: ارزیابی پاسخ هوش مصنوعی برای کامل بودن یا نیاز به راه حل جایگزین.

7. به‌روزرسانی Zendesk: برچسب‌گذاری تیکت برای نشان دادن پاسخ تولید شده توسط هوش مصنوعی.

8. راهنمایی و تست: ارائه دستورالعمل‌هایی برای راه‌اندازی و تأیید.

---

تحلیل گره‌های جزئی

۱. دریافت ورودی

هدف: دریافت داده‌های تیکت پشتیبانی ورودی از Zendesk.

  • نکته - تنظیم Webhook

* نوع: n8n-nodes-base.stickyNote

* نقش: ارائه دستورالعمل برای پیکربندی webhook Zendesk.

* محتوا: کاربران را راهنمایی می‌کند تا URL webhook ارائه شده را در تنظیمات ادمین Zendesk تحت 'Triggers' تنظیم کنند.

* وابستگی‌ها: ندارد.

  • دریافت تیکت‌های جدید

* نوع: n8n-nodes-base.webhook

* نقش: به عنوان نقطه ورود عمل می‌کند و منتظر درخواست‌های POST از Zendesk است.

* پیکربندی:

* مسیر (Path): zendesk_new_ticket

* متد HTTP: POST

* ورودی: درخواست HTTP POST از Zendesk.

* خروجی: بار داده JSON حاوی جزئیات تیکت جدید.

* مشکلات احتمالی: URL webhook نادرست پیکربندی شده در Zendesk یا مشکلات اتصال شبکه.

۲. استخراج داده‌های تیکت

هدف: استخراج و ساختاردهی اطلاعات کلیدی از داده‌های تیکت ورودی Zendesk.

  • استخراج تیکت جدید

* نوع: n8n-nodes-base.set

* نقش: فیلدها را از بار داده webhook Zendesk به متغیرهای نام‌گذاری شده برای استفاده آسان‌تر در گره‌های بعدی نگاشت می‌کند.

* پیکربندی: از عبارات جاوا اسکریپت برای استخراج فیلدهایی مانند ticket_id, requester_email, subject و description استفاده می‌کند. همچنین آخرین پاراگراف توضیحات را کوتاه کرده و یک مُهر زمانی اضافه می‌کند.

* ورودی: داده‌های JSON از گره دریافت تیکت‌های جدید.

* خروجی: یک شیء JSON ساختاریافته حاوی اطلاعات استخراج شده تیکت.

* موارد مرزی (Edge Cases): مواردی را که فیلد توضیحات ممکن است خالی باشد، مدیریت می‌کند.

۳. بازیابی پایگاه دانش

هدف: یافتن اطلاعات مرتبط از پایگاه دانش میزبانی شده در Supabase.

  • نکته - تنظیم Supabase

* نوع: n8n-nodes-base.stickyNote

* نقش: به کاربر یادآوری می‌کند که اعتبارنامه‌های Supabase را پیکربندی کرده و از وجود جدول لازم اطمینان حاصل کند.

* محتوا: به کاربران دستور می‌دهد تا اعتبارنامه‌های API Supabase را تنظیم کرده و یک جدول documents حاوی محتوای پایگاه دانش جاسازی شده را تأیید کنند.

* وابستگی‌ها: Supabase Vector Store.

  • Embeddings OpenAI

* نوع: @n8n/n8n-nodes-langchain.embeddingsOpenAi

* نقش: متن توضیحات تیکت را به بردارهای عددی (embeddings) تبدیل می‌کند.

* پیکربندی:

* مدل: text-embedding-3-small

* ابعاد: 1536

* اعتبارنامه‌ها: نیاز به کلید API OpenAI دارد.

* ورودی: متن توضیحات تیکت از گره استخراج تیکت جدید.

* خروجی: بردارهای جاسازی شده (embeddings) توضیحات تیکت.

* مشکلات احتمالی: محدودیت‌های نرخ (rate limits) API OpenAI یا کلید API نامعتبر.

  • Supabase Vector Store

* نوع: @n8n/n8n-nodes-langchain.vectorStoreSupabase

* نقش: برای انجام جستجوی شباهت با استفاده از بردارهای جاسازی شده تولید شده، به Supabase متصل می‌شود.

* پیکربندی:

* پرس و جو (Query): match_documents

* نام جدول: documents

* اعتبارنامه‌ها: نیاز به اعتبارنامه‌های API Supabase (URL و کلید) دارد.

* ورودی: بردارهای جاسازی شده از Embeddings OpenAI.

* خروجی: لیستی از اسناد از فروشگاه برداری Supabase که بیشترین شباهت را به توضیحات تیکت دارند.

* مشکلات احتمالی: خطاهای اتصال Supabase، عدم یافتن اسناد مرتبط.

  • بازیابی پایگاه دانش

* نوع: @n8n/n8n-nodes-langchain.toolVectorStore

* نقش: محتوای K مقاله برتر مرتبط پایگاه دانش شناسایی شده توسط فروشگاه برداری را بازیابی می‌کند.

* پیکربندی:

* نام فروشگاه برداری (Vector Store Name): content_en

* K برتر (Top K): 5

* ورودی: نتایج از گره Supabase Vector Store.

* خروجی: قطعات محتوا از مرتبط‌ترین مقالات پایگاه دانش.

* موارد مرزی: اگر هیچ سند مرتبطی یافت نشد، این خروجی ممکن است خالی باشد که در مراحل بعدی مدیریت می‌شود.

۴. بازیابی حافظه جلسه

هدف: بارگذاری داده‌های مکالمه تاریخی برای تیکت فعلی برای حفظ زمینه (context).

  • نکته - حافظه Postgres

* نوع: n8n-nodes-base.stickyNote

* نقش: دستورالعمل‌هایی را در مورد راه‌اندازی جدول PostgreSQL برای ذخیره تاریخچه چت به کاربر ارائه می‌دهد.

* محتوا: کاربران را راهنمایی می‌کند تا جدولی در PostgreSQL به نام zendesk_ticket_histories برای ذخیره زمینه جلسه ایجاد کنند.

* وابستگی‌ها: Postgres Ticket Memory.

  • Postgres Ticket Memory

* نوع: @n8n/n8n-nodes-langchain.memoryPostgresChat

* نقش: تاریخچه چت را از پایگاه داده PostgreSQL بر اساس ticket_id بازیابی می‌کند.

* پیکربندی:

* کلید جلسه (Session Key): به صورت پویا با استفاده از ticket_id که قبلاً استخراج شده، تنظیم می‌شود.

* اعتبارنامه‌ها: نیاز به جزئیات اتصال پایگاه داده PostgreSQL (host, port, user, password, database name) دارد.

* ورودی: ticket_id از گره استخراج تیکت جدید.

* خروجی: تاریخچه چت مربوط به جلسه تیکت فعلی.

* مشکلات احتمالی: خطاهای اتصال PostgreSQL، یا عدم یافتن تاریخچه قبلی (به طور پیش‌فرض زمینه خالی خواهد بود).

۵. تولید پاسخ هوش مصنوعی

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

  • نکته - تنظیم OpenAI

* نوع: n8n-nodes-base.stickyNote

* نقش: به کاربر یادآوری می‌کند که کلید API OpenAI خود را پیکربندی کند.

* محتوا: به کاربران دستور می‌دهد تا کلید API OpenAI خود را در تنظیمات اعتبارنامه‌ها اضافه کنند و مدلی را پیشنهاد می‌دهد (مانند gpt-4o).

* وابستگی‌ها: Embeddings OpenAI, RAG AI Agent.

  • RAG AI Agent

* نوع: @n8n/n8n-nodes-langchain.agent

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

* پیکربندی:

* متن ورودی (Input Text): توضیحات تیکت.

* گزینه‌ها (Options): maxIterations روی 2 تنظیم شده است تا تعداد مراحل استدلال محدود شود.

* پیام سیستمی (System Message): یک پرامپت که هوش مصنوعی را برای ایفای نقش یک دستیار پشتیبانی حرفه‌ای و پایبندی دقیق به اسناد پایگاه دانش ارائه شده، آموزش می‌دهد.

* ورودی:

* توضیحات تیکت (از استخراج تیکت جدید).

* محتوای پایگاه دانش (از بازیابی پایگاه دانش).

* حافظه جلسه (از Postgres Ticket Memory).

* خروجی: متن پاسخ تولید شده توسط هوش مصنوعی.

* مشکلات احتمالی: اتمام زمان مدل (model timeouts)، تولید پاسخ‌های نامربوط یا ناقص، خطاهای API OpenAI.

۶. پردازش شرطی

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

  • اگر پایگاه دانش مرتبطی یافت نشد

* نوع: n8n-nodes-base.if

* نقش: پاسخ تولید شده توسط هوش مصنوعی را ارزیابی می‌کند تا ببیند آیا حاوی یک عبارت جایگزین خاص (مانند "به زودی پاسخ خواهم داد") است یا خیر.

* پیکربندی: از بررسی محتوای رشته‌ای (string containment check) روی خروجی هوش مصنوعی استفاده می‌کند.

* ورودی: متن پاسخ هوش مصنوعی از گره RAG AI Agent.

* خروجی: گردش کار را بر اساس شرط منشعب می‌کند (اگر عبارت جایگزین یافت شد True، در غیر این صورت False).

* موارد مرزی: احتمال مثبت کاذب (false positives) اگر عبارت جایگزین به طور ناخواسته در یک پاسخ معتبر ظاهر شود.

۷. به‌روزرسانی Zendesk

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

  • نکته - دامنه Zendesk

* نوع: n8n-nodes-base.stickyNote

* نقش: از کاربر می‌خواهد زیردامنه (subdomain) خاص Zendesk خود را وارد کند.

* محتوا: به کاربران دستور می‌دهد تا جایگزین را با دامنه واقعی Zendesk خود جایگزین کنند (مانند yourcompany.zendesk.com).

* وابستگی‌ها: Add Tags (ai_reply).

  • افزودن تگ‌ها (ai_reply)

* نوع: n8n-nodes-base.httpRequest

* نقش: یک درخواست PUT به API Zendesk ارسال می‌کند تا تگ ai_reply را به تیکت اضافه کند.

* پیکربندی:

* URL: به صورت پویا با استفاده از شناسه تیکت و دامنه Zendesk ارائه شده توسط کاربر ساخته می‌شود.

* متد: PUT

* احراز هویت: اعتبارنامه‌های API Zendesk (OAuth2 یا API Token).

* بدنه (Body): بار داده JSON حاوی آرایه‌ای با تگ "ai_reply".

* ورودی: ticket_id از گره استخراج تیکت جدید.

* خروجی: پاسخ API Zendesk که به‌روزرسانی تگ را تأیید می‌کند.

* مشکلات احتمالی: شکست احراز هویت، محدودیت‌های نرخ API، شناسه تیکت نامعتبر، دامنه Zendesk نادرست.

۸. راهنمایی و تست

هدف: ارائه دستورالعمل‌های نهایی برای تأیید عملکرد گردش کار.

  • نکته - تست

* نوع: n8n-nodes-base.stickyNote

* نقش: فهرستی از موارد را برای کاربران جهت تأیید عملکرد صحیح گردش کار ارائه می‌دهد.

* محتوا: کاربران را راهنمایی می‌کند تا محتوای پاسخ هوش مصنوعی را تأیید کنند، تگ ai_reply را در Zendesk بررسی کنند و تأیید کنند که تاریخچه جلسه در PostgreSQL ذخیره می‌شود.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت چسبان مرتبط (Associated Sticky Note)
Note - Webhook SetupstickyNoteپیکربندی وب‌هوک ZendeskGet New Tickets🔗 این URL وب‌هوک را به عنوان یک تریگر در حساب Zendesk خود در بخش 'Admin → Triggers' تنظیم کنید.
Get New Ticketswebhookدریافت داده‌های تیکت جدیدNote - Webhook SetupExtract New Ticket
Extract New Ticketsetاستخراج و فرمت‌بندی فیلدهای تیکتGet New TicketsSupabase Vector Store, Postgres Ticket Memory, RAG AI Agent
Note - Supabase SetupstickyNoteیادآوری اعتبارنامه‌های SupabaseSupabase Vector Store📚 اعتبارنامه‌های پروژه Supabase خود را جایگزین کنید. اطمینان حاصل کنید که یک جدول documents دارید.
Embeddings OpenAIembeddingsOpenAi (LangChain)تولید امبدینگ‌های متنExtract New TicketSupabase Vector Store🤖 کلید API OpenAI خود را در تنظیمات اعتبارنامه اضافه کنید. در صورت تمایل مدل را تنظیم کنید.
Supabase Vector StorevectorStoreSupabase (LangChain)جستجوی شباهت برداری پایگاه دانشEmbeddings OpenAIRetrieve Knowledge Base
Retrieve Knowledge BasetoolVectorStore (LangChain)بازیابی محتوای مقالات مرتبط پایگاه دانشSupabase Vector StoreRAG AI Agent
Note - Postgres MemorystickyNoteیادآوری جدول حافظه PostgresPostgres Ticket Memory🗄️ یک جدول Postgres به نام zendesk_ticket_histories برای زمینه جلسه ایجاد کنید.
Postgres Ticket MemorymemoryPostgresChat (LangChain)بازیابی حافظه جلسه تیکتExtract New TicketRAG AI Agent
RAG AI Agentagent (LangChain)تولید پاسخ هوش مصنوعیExtract New Ticket, Retrieve Knowledge Base, Postgres Ticket MemoryIf No Relevant KB Found
If No Relevant KB Foundifبررسی شرطی پاسخ هوش مصنوعیRAG AI AgentAdd Tags (ai_reply)
Note - Zendesk DomainstickyNoteپیکربندی دامنه ZendeskAdd Tags (ai_reply)🌐 your_zendesk_domain را با زیردامنه واقعی Zendesk خود جایگزین کنید (به عنوان مثال، mycompany.zendesk.com).
Add Tags (ai_reply)httpRequestبه‌روزرسانی تیکت Zendesk با تگExtract New Ticket
Note - TestingstickyNoteچک لیست تست گردش کار✅ محتوای پاسخ هوش مصنوعی را تأیید کنید، برچسب ai_reply را در Zendesk بررسی کنید و تاریخچه جلسه را در Postgres تأیید کنید.

Nodeهای استفاده‌شده

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

این گردش کار چگونه به تیکت‌های Zendesk پاسخ می‌دهد؟

این گردش کار با استفاده از تکنیک Retrieval-Augmented Generation (RAG) به تیکت‌های جدید Zendesk پاسخ می‌دهد. ابتدا اطلاعات مرتبط را از پایگاه دانش Supabase بازیابی کرده و سپس با استفاده از OpenAI، پاسخی دقیق و آگاه از زمینه تولید می‌کند.

نقش OpenAI و Supabase در این گردش کار چیست؟

OpenAI برای تولید پاسخ‌های طبیعی و هوشمند به تیکت‌ها استفاده می‌شود. Supabase به عنوان پایگاه دانش عمل کرده و اطلاعات لازم برای پاسخ‌دهی دقیق را از طریق جستجوی برداری (vector store) فراهم می‌کند.

چگونه این سیستم زمینه مکالمات قبلی را حفظ می‌کند؟

این گردش کار از پایگاه داده PostgreSQL برای ذخیره و بازیابی تاریخچه مکالمات استفاده می‌کند. این حافظه به هوش مصنوعی اجازه می‌دهد تا تعاملات قبلی را در نظر گرفته و پاسخ‌های منسجم‌تری ارائه دهد.

مزایای اصلی استفاده از این گردش کار چیست؟

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

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.