AI Agent WhatsApp: Ubah Voice Note Jadi Task Otomatis dengan n8n Automation (STT → Ringkas → Assign)
· 7 menit baca
AI Agent WhatsApp: Ubah Voice Note Jadi Task Otomatis dengan n8n Automation (STT → Ringkas → Assign)
AI Agent itu terasa “wah” sampai kamu ketemu realita sehari-hari: grup WhatsApp kerja penuh voice note. Ada instruksi, ada keputusan, ada deadline… tapi semuanya terkubur di audio 2 menit. Akhirnya kerjaan jadi “katanya kemarin udah ngomong ya” dan tugas kebanyakan lahir dari rasa bersalah, bukan dari sistem.
Di artikel ini kita bikin AI Agent yang ngambil voice note WhatsApp, transkrip otomatis (STT), bikin ringkasan dan daftar action items, lalu auto-assign ke Trello/Notion/Jira + kirim konfirmasi ke Slack/WhatsApp. Semua diorkestrasi lewat n8n automation dengan workflow yang tahan banting (idempotent, ada approval opsional, dan ada fallback kalau LLM ngelantur).
Masalahnya Bukan “Nggak Dengerin”, Tapi Nggak Ada Sistem
Voice note itu praktis buat pengirim, mahal buat penerima:
- Non-searchable: kamu nggak bisa CTRL+F “deadline” di audio.
- Ambigu: “tolong follow up ya” tanpa PIC, tanpa tanggal, tanpa definisi selesai.
- Context switching: harus pakai headset, buka WA, dengerin ulang, catat manual.
- Hilang jejak: keputusan penting nggak pernah masuk ke board/task manager.
Solusinya bukan melarang voice note (good luck). Solusinya: workflow automation yang mengubah audio jadi artefak kerja yang bisa dieksekusi.
Konsep Ringkas: AI Agent sebagai “Notulis + PM Kecil”
Anggap AI Agent kamu punya 3 tanggung jawab:
- Capture: tangkap voice note begitu masuk (via webhook/provider WhatsApp).
- Interpret: ubah jadi teks, pahami intent, ekstrak tugas + deadline + PIC.
- Commit: tulis hasilnya ke sistem yang “beneran dipakai kerja” (Trello/Notion/Jira) + minta konfirmasi kalau perlu.
Bedanya dengan “bot transkrip” biasa: agent ini ngambil keputusan operasional (misalnya: kalau ada kata “urgent”, route ke channel tertentu; kalau ada tanggal, masukin due date; kalau nggak ada PIC, minta klarifikasi otomatis).
AI Agent + n8n Automation: Arsitektur yang Kita Bangun
Gambaran pipeline-nya:
- Trigger: WhatsApp inbound message webhook
- Filter: hanya proses audio/voice note
- Download: ambil media file (OGG/MP3) dari provider
- STT: Speech-to-Text (Whisper/OpenAI/Google STT)
- LLM parsing: ekstrak action items (JSON)
- Dedup: cegah task dobel (idempotency key)
- Create task: Trello/Notion/Jira API
- Notify: balas ke WhatsApp/Slack + link task
- Optional approval: kalau confidence rendah → minta “OK/REVISE”
AI Agent: Trigger WhatsApp Voice Note (Webhook) di n8n
Paling “bener” adalah pakai WhatsApp Business API via provider (Meta Cloud API, Twilio, 360dialog, WATI, dll). Semua punya konsep yang sama: message masuk → webhook ke endpoint kamu.
Di n8n, pattern umumnya:
- Node: Webhook (POST) menerima payload event WhatsApp
- Node: IF untuk cek tipe pesan = audio/voice
- Node: HTTP Request untuk download media dengan mediaId + auth
Catatan praktis: banyak provider kirim audio format OGG/OPUS. Kalau STT kamu butuh MP3/WAV, tambahkan langkah konversi (FFmpeg). Bisa via:
- n8n node Execute Command (self-host) untuk menjalankan ffmpeg
- atau microservice kecil “convert-audio” (lebih aman untuk cloud)
AI Agent: STT yang Stabil (Whisper) + Normalisasi Teks
Untuk bahasa Indonesia, Whisper relatif konsisten. Output STT mentah biasanya punya problem:
- Tanpa tanda baca → sulit diparse
- Nama orang/produk salah eja
- Campur bahasa (ID + EN)
Strategi: setelah STT, jalankan langkah “normalisasi” ringan dengan LLM kecil atau prompt khusus:
- Tambah tanda baca secukupnya
- Betulkan istilah yang sering muncul via glossary (mis. “Jiprax” bukan “Jipraks”)
- Jangan ubah makna, hanya rapikan
AI Agent: Ekstrak Action Items sebagai JSON (Bukan Prosa)
Ini bagian yang bikin workflow kamu beda dari “sekadar ringkas”. Jangan minta LLM menulis paragraf panjang. Minta output struktur JSON yang bisa dipakai automation.
Contoh schema yang enak dipakai:
{
"summary": "...",
"decisions": ["..."],
"action_items": [
{
"task": "...",
"assignee_hint": "nama/role jika ada",
"due_date": "2026-05-03" ,
"priority": "low|medium|high",
"confidence": 0.0
}
],
"questions": ["pertanyaan klarifikasi"]
}
Di n8n, kamu bisa pakai node LLM (OpenAI/Anthropic) atau HTTP Request ke API model lain. Kuncinya:
- Gunakan JSON mode / structured output kalau tersedia.
- Set temperature rendah (0–0.3) untuk konsistensi.
- Tambahkan contoh 1–2 di prompt supaya format selalu bener.
Breakdown Workflow Teknis n8n Automation (Step-by-step)
Berikut versi “produksi mini” yang realistis, bukan demo 5 node doang.
1) Webhook Inbound → Validasi Payload
- Webhook node: terima event
- Function node: ambil
messageId,from,mediaId,timestamp - Jika ada signature (beberapa provider support), validasi HMAC untuk keamanan
2) Idempotency: Cegah Double-Process
Webhook kadang retry. Kalau kamu bikin task setiap retry, board kamu jadi kuburan.
- Buat idempotency key:
wa:{messageId} - Simpan status di Redis/DB/Google Sheet sederhana
- Kalau key sudah ada → stop workflow
3) Download Media + Konversi Audio
- HTTP Request: GET media file
- Kalau format OGG → FFmpeg convert ke mp3/wav
- Simpan sementara (binary) untuk dikirim ke STT
4) STT (Speech-to-Text)
- Kirim file ke API STT
- Simpan transcript + metadata (durasi, bahasa, confidence jika ada)
5) LLM Parser → Action Items JSON
Prompt yang saya pakai biasanya memaksa agent bertindak sebagai “PM yang cerewet tapi helpful”:
- Ekstrak task yang verifiable (ada outputnya)
- Jika due date tidak disebut → jangan ngarang, masukkan ke
questions - Jika ada kata “hari ini/sore/besok” → normalisasi ke tanggal berdasarkan timezone
6) Routing: Approval vs Auto-Commit
Di sini kamu bikin agent “punya rem”. Misalnya:
- Kalau confidence >= 0.75 dan action_items <= 3 → auto-create task
- Kalau confidence rendah / terlalu banyak tasks / ada ambigu → minta approval
Approval bisa lewat:
- Balasan WhatsApp: “Ketik OK untuk buat task, atau REVISE: …”
- Slack interactive message (lebih nyaman buat tim dev)
7) Create Task (Trello/Notion/Jira) via Integrasi API
Contoh mapping yang praktis:
- Trello: action item → card; due_date → due; priority → label
- Notion: action item → database row; decisions → property “Decision Log”
- Jira: action item → issue; priority → Jira priority; assignee_hint → cari user
Kalau kamu belum punya sistem task, ironically ini saat yang tepat untuk vibe coding bikin mini task DB sendiri (Supabase + Next.js) lalu expose API-nya, dan n8n jadi orkestratornya.
8) Notify + Traceability (Audit Trail)
Setelah task dibuat:
- Balas ke WhatsApp: ringkasan + link task + siapa PIC + deadline
- Kirim ke Slack channel ops/dev sebagai “receipt”
- Simpan log: transcript, JSON parse, taskId, raw payload (redact PII)
Contoh Use Case Real: Tim Agency & Founder yang Hidupnya di WhatsApp
Case yang sering kejadian di agency/indie startup:
- Klien kirim voice note: revisi landing page, ganti hero copy, tambah section pricing, “tolong hari Jumat ya”.
- Account manager dengerin sambil jalan → niatnya mau catat, tapi kelewat.
- Developer baru tau pas H-1: “loh ini belum dikerjain?”
Dengan workflow ini:
- Voice note masuk → AI Agent transkrip + ekstrak 3 task (copy, design, dev).
- Agent bikin card Trello di list “Incoming from Client”.
- Agent mention PIC berdasarkan kata kunci (mis. “copy” → content writer).
- Agent balas ke klien (opsional) atau ke grup internal: “Aku sudah buat 3 task, due Jumat.”
Aha moment-nya: kamu bukan cuma “menangkap informasi”, tapi mengubah percakapan jadi sistem eksekusi. Ini bedanya tim yang sibuk vs tim yang bergerak.
Insight & Strategi (Bagian Paling Penting): Bikin Agent Kamu Nggak Jadi Sumber Kekacauan Baru
1) AI Agent harus “takut ngarang” (anti-hallucination by design)
LLM itu jago mengisi kekosongan. Dalam task management, itu bahaya.
- Kalau due date tidak ada → masuk ke questions, bukan bikin tanggal random.
- Kalau assignee tidak disebut → pakai assignee_hint dan kirim ping untuk pilih PIC.
- Kalau transcript jelek → jangan create task, minta re-send atau minta teks.
2) Pakai “Confidence” sebagai gate, bukan dekorasi
Confidence bisa kamu hitung dari kombinasi:
- Durasi audio (terlalu panjang biasanya makin noise)
- Jumlah kata “mungkin/kayaknya/ntar” (indikasi ambiguity)
- Apakah output JSON valid + lengkap
Lalu enforce routing: auto vs approval. Ini bikin workflow kamu berasa production.
3) Idempotency + outbox mindset untuk integrasi API
Integrasi API itu dunia retry, rate limit, dan timeout. Minimal yang harus kamu lakukan:
- Simpan “to-be-created tasks” di storage (outbox) sebelum call API task manager
- Kalau call gagal → retry dengan backoff
- Kalau sukses → mark outbox item sebagai done
Di n8n, kamu bisa implement ini dengan DB sederhana + status field. Nggak fancy, tapi menyelamatkan hidup.
4) Jangan over-engineer: mulai dari 1 board + 1 channel
Kesalahan umum: baru mulai sudah pengen dukung 5 tool (Jira+Asana+Notion+ClickUp+Sheets). Mulai dari satu dulu:
- 1 sumber input: WhatsApp voice note
- 1 output utama: Trello/Notion
- 1 output notifikasi: Slack/WhatsApp internal
Setelah stabil, baru tambah integrasi API lainnya.
5) Vibe coding untuk “control panel” kecil (supaya agent bisa dievaluasi)
Kalau kamu serius, bikin dashboard mini:
- Daftar voice note yang diproses
- Transcript + JSON + link task
- Tombol “merge tasks”, “mark wrong”, “re-run parsing”
Ini enak banget buat feedback loop. Kamu bisa vibe coding cepat pakai Next.js + Supabase, lalu n8n tinggal call API dashboard kamu.
Penutup: Build Sekarang, Bukan Nanti
Kalau tim kamu hidup di WhatsApp, maka AI Agent yang mengubah voice note jadi task itu bukan gimmick—itu “infrastruktur kerja”. Mulai dari workflow minimal:
- Webhook → download audio → STT → action items JSON → create Trello card → notify
Setelah jalan, baru tambahkan approval, idempotency storage yang lebih proper, dan dashboard kecil.
Call to action: kamu mau saya bikinin versi template n8n node-by-node (termasuk contoh prompt JSON + mapping Trello/Notion)? Balas dengan stack yang kamu pakai (provider WhatsApp apa + task manager apa), nanti saya sesuaikan workflow-nya.