Tutorial: Otomatisasi Bisnis dengan AI Workflow

Bisnis kecil kehilangan banyak jam untuk pekerjaan berulang: menyalin data, membalas email rutin, merapikan spreadsheet. Di 2026, semua itu bisa diserahkan ke AI workflow — pipeline yang memicu langkah otomatis dan memakai AI untuk mengambil keputusan. Tutorial ini menunjukkan cara membangunnya dari nol.
Untuk siapa tutorial ini?
- Tingkat: Pemula (sebagian kode opsional — ada juga jalur tanpa koding)
- Perkiraan waktu: 40–60 menit
- Hasil akhir: satu alur kerja yang mengklasifikasi lead masuk dan mengirim notifikasi otomatis
Istilah: Lead = calon pelanggan yang menunjukkan minat (misalnya mengisi formulir). Workflow = rangkaian langkah otomatis yang berjalan berurutan.
Prasyarat
Pilih salah satu jalur sesuai kenyamananmu:
- Jalur tanpa koding: cukup akun n8n atau Zapier. Tidak perlu instal apa pun.
- Jalur dengan koding: butuh Node.js 18+, sebuah proyek Next.js, dan paket AI SDK. Cek Node.js dengan
node -vdi Terminal. Jika belum ada, instal dari nodejs.org.
Untuk jalur koding, instal paket yang dibutuhkan:
npm install ai zodIstilah:
aiadalah AI SDK open-source untuk memanggil model AI.zoddipakai untuk mendefinisikan bentuk data yang kita inginkan.
Konsep dasar: Trigger → Aksi → AI
Setiap workflow punya tiga bagian. Pahami ini dulu sebelum menyentuh kode:
- Trigger — peristiwa pemicu (email masuk, baris baru di form, jadwal harian).
- Aksi — apa yang dilakukan (kirim balasan, simpan ke database, kirim notifikasi).
- AI step — bagian cerdas: merangkum, mengklasifikasi, atau menulis teks.
Langkah 1: Petakan proses manual dulu (wajib, tanpa kode)
Sebelum menyentuh tools, tulis prosesnya di kertas. Ini langkah terpenting dan sering dilewati pemula.
Contoh kasus yang kita pakai sepanjang tutorial:
"Setiap lead dari formulir harus diklasifikasi panas/hangat/dingin, lalu yang panas langsung dikirim ke channel Slack tim sales."
Langkah 2: Siapkan kunci API AI
Agar bisa memanggil AI, kamu butuh akses ke model. Siapkan variabel lingkungan berikut di proyek kamu:
-
Buat file bernama
.env.localdi folder utama proyek. -
Isi dengan kunci yang kamu punya, contoh:
AI_GATEWAY_API_KEY=isi_kunci_kamu_di_sini -
Simpan. Jangan pernah membagikan isi file ini ke publik.
Istilah: Environment variable (variabel lingkungan) adalah tempat menyimpan rahasia seperti kunci API agar tidak tertulis langsung di dalam kode.
Langkah 3: Tambahkan AI step (inti tutorial)
Buat file lib/klasifikasi-lead.ts dan tempel kode berikut. Setiap bagian sudah diberi komentar.
// lib/klasifikasi-lead.ts
import { generateObject } from 'ai'
import { z } from 'zod'
// Bentuk data yang KITA inginkan dari AI:
const schema = z.object({
kategori: z.enum(['panas', 'hangat', 'dingin']),
alasan: z.string(),
})
export async function klasifikasiLead(lead: Record<string, unknown>) {
const { object } = await generateObject({
model: 'openai/gpt-5-mini', // model AI yang dipakai
schema, // paksa hasil mengikuti bentuk di atas
prompt: `Klasifikasikan lead ini menjadi panas/hangat/dingin
beserta alasan singkat: ${JSON.stringify(lead)}`,
})
return object // contoh hasil: { kategori: 'panas', alasan: '...' }
}Mengapa generateObject dan bukan teks biasa? Karena ia memaksa AI mengembalikan data terstruktur sesuai schema, jadi hasilnya bisa langsung dipakai logika berikutnya tanpa perlu "menebak-nebak" isi jawaban.
Langkah 4: Sambungkan ke aksi
Sekarang gunakan hasil klasifikasi untuk memutuskan tindakan. Contoh sederhana:
import { klasifikasiLead } from '@/lib/klasifikasi-lead'
export async function prosesLeadSederhana(lead: Record<string, unknown>) {
const hasil = await klasifikasiLead(lead)
if (hasil.kategori === 'panas') {
await kirimKeSlack(lead, hasil.alasan) // fungsi notifikasi milikmu
}
return hasil
}Yang harus kamu lihat: saat fungsi ini dijalankan dengan data lead, ia mengembalikan objek { kategori, alasan }, dan lead "panas" memicu notifikasi.
Langkah 5: Jadikan tahan banting (durable)
Workflow nyata harus selamat dari error dan restart. Pola durable workflow memberi langkah yang tahan banting — otomatis di-retry dan bisa melanjutkan dari titik gagal, bukan mengulang dari awal.
'use workflow'
import { klasifikasiLead } from '@/lib/klasifikasi-lead'
export async function prosesLead(lead: Record<string, unknown>) {
// step() menandai langkah yang bisa di-retry sendiri
const klasifikasi = await step('klasifikasi', () => klasifikasiLead(lead))
if (klasifikasi.kategori === 'panas') {
await step('notifikasi', () => kirimKeSlack(lead, klasifikasi.alasan))
}
}Bungkus tiap aksi penting dalam
step()agar bisa di-retry tanpa mengulang langkah yang sudah berhasil.
Langkah 6: Pantau dan ukur
Catat berapa item yang diproses dan waktu yang dihemat. Angka ini penting kalau kamu menawarkan jasa "automation setup" ke klien — misalnya "menghemat 8 jam/minggu".
Ide alur kerja untuk dijual
- Auto-balas dan triage email customer support.
- Rangkuman harian penjualan dari spreadsheet ke chat tim.
- Ekstraksi data dari invoice PDF ke database.
Troubleshooting
- Error "API key not set" → pastikan file
.env.localada di folder utama dan kamu sudah me-restartnpm run dev. - Hasil AI tidak sesuai bentuk → periksa
schema. Semakin jelaspromptdanschema, semakin konsisten hasilnya. 'use workflow'tidak dikenali → fitur ini butuh Workflow SDK terpasang; untuk awal, cukup pakai jalur Langkah 4 yang sederhana.
Mulai dari satu proses yang paling memakan waktu, otomatiskan, ukur hasilnya, lalu kembangkan. Untuk men-deploy workflow di server sendiri, ikuti Panduan Deploy.
Suka dengan artikel ini?
Beri dukunganmu dengan menekan tombol suka — bantu pembaca lain menemukan konten terbaik.

