Cara Bangun AI Ticket Triage Otomatis dengan n8n + GPT (Tanpa Coding)
· 3 menit baca
Cara Bangun AI Ticket Triage Otomatis dengan n8n + GPT (Tanpa Coding)
Pain point: Tim support sering kewalahan memilah tiket masuk, menghabiskan waktu menulis balasan standar, dan terkadang melewatkan tiket kritis. Hasilnya? SLA terlewat, pelanggan kecewa, dan beban kerja tim meningkat.
Kenapa n8n + GPT?
- n8n – workflow orchestrator low‑code yang mudah di‑host (Docker, Vercel, atau server pribadi).
- GPT – LLM generatif yang dapat memahami bahasa alami, mengekstrak konteks, serta menulis balasan yang relevan.
- Gabungan keduanya memungkinkan triage otomatis—mengklasifikasikan, memberi prioritas, dan menanggapi tiket tanpa menulis satu baris kode.
Arsitektur Workflow
┌─────────────┐ webhook ┌───────────────┐ HTTP ┌───────────────┐
│ Email/Chat │ ──────▶ │ n8n Trigger │ ─────▶ │ GPT Node │
└─────────────┘ └───────────────┘ └───────────────┘
│ │ │
│ ▼ ▼
│ ┌─────────────────┐ ┌─────────────────┐
└──────────────▶│ Classify & Tag │──▶│ Compose Reply │
└─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Route Ticket │──▶│ Send Reply │
└─────────────────┘ └─────────────────┘
Intinya: webhook men-trigger workflow, GPT men‑generate ringkasan & balasan, dan n8n men‑route tiket ke tim yang tepat.
Langkah‑langkah Praktis
1. Siapkan n8n (Docker)
- Install Docker pada mesin Anda.
- Jalankan perintah:
docker run -d \ --name n8n \ -p 5678:5678 \ -e N8N_BASIC_AUTH_ACTIVE=true \ -e N8N_BASIC_AUTH_USER=admin \ -e N8N_BASIC_AUTH_PASSWORD=strongpass \ n8nio/n8n
- Akses UI di
http://localhost:5678dan login.
2. Buat Trigger Webhook
- Pilih Webhook node → beri nama
Ticket Incoming. - Set method =
POSTdan copy URL yang di‑generate. URL ini akan dipakai di layanan ticketing (misalnya Gmail, Freshdesk, atau WhatsApp Business API).
3. Tambahkan Node “HTTP Request” untuk fetch email (opsional)
Jika Anda menggunakan Gmail API, gunakan OAuth2 credentials dan panggil GET https://www.googleapis.com/gmail/v1/users/me/messages. Simpan payload dalam $json.
4. Tambahkan “GPT‑3 (OpenAI)” node
- Pilih model
gpt-4o-mini(lebih murah, cukup untuk klasifikasi). - Prompt contoh:
Berikan ringkasan tiket berikut dalam 2 kalimat dan tandai prioritasnya (high, medium, low). Jika tiket mengandung kata kunci “batas kredit”, “downtime”, atau “pembayaran gagal”, beri prioritas **high**.
Tiket: {{ $json.body }}
Output akan berupa JSON seperti:
{
"summary": "Customer reports payment failure on invoice #1234",
"priority": "high",
"category": "billing"
}
5. Split & Route berdasarkan priority
- Gunakan IF node.
- Condition 1:
priority == "high"→ kirim ke Slack #support‑urgent. - Condition 2:
priority == "medium"→ kirim ke email support umum. - Else → simpan ke Google Sheet backlog.
- Condition 1:
6. Buat balasan otomatis
Masukkan node GPT lagi dengan prompt:
Kamu adalah agen support yang ramah. Tulis balasan singkat (max 3 kalimat) untuk tiket berikut dengan nada profesional.
{{ $json.summary }}
Hasilnya dimasukkan ke node “Send Email” atau “Slack Message”.
7. Deploy & Test
- Aktifkan webhook di layanan ticketing (set URL yang Anda copy).
- Kirim email atau buat tiket percobaan.
- Lihat dashboard n8n – setiap node harus “green”.
- Periksa Slack/email untuk balasan dan prioritas.
Use‑Case Real: Startup SaaS B2B
Tim support mereka menerima rata‑rata 200 tiket/hari via Gmail dan Intercom. Dengan workflow di atas, mereka berhasil:
- Mengurangi waktu respon tiket high‑priority dari 45 menit ke 5 menit.
- Mengurangi beban email manual sebesar 70% (hanya tiket kritis yang di‑escalate).
- Memberi laporan harian ke product manager lewat Google Sheet yang otomatis ter‑update.
Strategi & Insight “Aha!”
- Prompt Engineering = Kunci. Menyisipkan kata kunci prioritas dalam prompt membuat LLM fokus pada hal yang penting tanpa over‑generating.
- Batching request. Jika volume > 100 tiket per menit, kumpulkan 10 tiket dalam satu list dan kirim ke GPT satu kali (gunakan
joinnode). Mengurangi biaya token. - Cache keputusan. Simpan
ticket_id → prioritydi Redis (nodeRedis Set) sehingga tiket duplikat tidak diproses ulang. - Human‑in‑the‑loop. Tambahkan tombol “Approve” di Slack untuk tiket ambiguous; n8n men‑update status di Sheet secara otomatis.
- Observability. Pakai node “Cron” + “HTTP Request” ke Grafana Loki untuk mengirim log tiap langkah, sehingga Anda dapat memantau latency GPT (biasanya <200 ms).
Penutup & Call to Action
Dengan n8n + GPT, Anda dapat meng‑transformasi proses ticket triage menjadi laser‑fast, low‑cost, dan 100 % code‑free. Langkah selanjutnya?
- Implementasikan workflow di lingkungan staging.
- Eksperimen dengan model
claude-3.5-sonnetataugemini‑1.5‑flashuntuk perbandingan biaya. - Integrasikan ke CRM (HubSpot, Zoho) untuk men‑enrich data pelanggan secara otomatis.