Pendahuluan
n8n adalah platform workflow open‑source yang memungkinkan integrasi layanan melalui node visual. Dengan menambahkan layanan AI (ChatGPT, Claude, Gemini, dsb.) Anda dapat mengotomatisasi pembuatan konten, analisis teks, atau generasi gambar tanpa menulis kode berulang. Tutorial ini membangun arsitektur berikut:
[Trigger] → [AI Prompt (ChatGPT/Claude)] → [Post‑process (Python)] → [Output (Notion/Slack/Email)]
Prasyarat & Persiapan
| Item | Keterangan |
|---|---|
| OS | Linux (Ubuntu 22.04+) atau macOS |
| Node.js | v18.x atau lebih baru (node -v) |
| Docker (opsional) | Untuk instalasi cepat n8n |
| Akun AI | ChatGPT Plus, Claude Pro, Gemini Advanced, atau Perplexity Pro (pilih satu atau kombinasi) |
| Akun Notion (opsional) | Untuk menyimpan hasil dengan Notion AI |
| Akun GitHub | Jika ingin menyimpan workflow sebagai kode |
| Editor teks | VS Code atau sejenisnya |
Link akun AI (affiliate):
- ChatGPT Plus: https://tools.jartekindo.com/tool/chatgpt-plus/
- Claude Pro: https://tools.jartekindo.com/tool/claude-pro/
- Gemini Advanced: https://tools.jartekindo.com/tool/gemini-advanced/
- Perplexity Pro: https://tools.jartekindo.com/tool/perplexity-pro/
Langkah Demi Langkah
Step 1 – Instalasi n8n
1.1 Menggunakan Docker (rekomendasi production)
docker run -d \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n:latest
1.2 Instalasi via npm (development)
npm install n8n -g
n8n start
Akses UI di http://localhost:5678.
Step 2 – Konfigurasi API Key AI
Buat file .env di direktori n8n (atau set environment variable pada Docker) :
# ChatGPT Plus
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx
# Claude Pro
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxx
# Gemini Advanced
GEMINI_API_KEY=AIzaSyxxxxxxxxxxxx
# Perplexity Pro
PERPLEXITY_API_KEY=pp-xxxxxxxxxxxx
Catatan keamanan: Simpan file .env di luar repo publik dan gunakan Docker secret bila memungkinkan.
Step 3 – Membuat Workflow Dasar
- Trigger – Pilih Webhook node. Atur URL, misalnya
https://yourdomain.com/webhook/n8n-ai. - AI Prompt – Tambahkan HTTP Request node:
- Method:
POST - URL:
https://api.openai.com/v1/chat/completions - Header:
Authorization: Bearer {{$env.OPENAI_API_KEY}} - Body (JSON):
json { "model": "gpt-4o-mini", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "{{$json[\"prompt\"]}}"} ], "temperature": 0.7 } - Post‑process (Python) – Tambahkan Function node (JavaScript) atau Execute Command node untuk menjalankan skrip Python:
bash python3 - <<'PY' import sys, json, re data = json.load(sys.stdin) text = data["choices"][0]["message"]["content"] # contoh: ekstrak judul dengan regex title = re.search(r'(?<=Judul: ).*', text) print(json.dumps({"title": title.group(0) if title else "Untitled"})) PY - Output – Pilih Notion node (atau Slack, Email). Contoh dengan Notion AI:
- Credential: gunakan token integrasi Notion.
- Page ID:
{{ $env.NOTION_PAGE_ID }}. - Content:
{{ $json["title"] }}.
Simpan dan aktifkan workflow. Uji dengan curl:
curl -X POST http://localhost:5678/webhook/n8n-ai \
-H "Content-Type: application/json" \
-d '{"prompt":"Buat ringkasan 2 kalimat tentang AI dalam marketing"}'
Step 4 – Menambahkan Layanan AI Lain (Opsional)
Anda dapat menambahkan node HTTP Request lain untuk Claude, Gemini, atau Perplexity. Contoh Claude Pro:
{
"url": "https://api.anthropic.com/v1/messages",
"method": "POST",
"headers": {
"x-api-key": "{{$env.ANTHROPIC_API_KEY}}",
"Content-Type": "application/json"
},
"body": {
"model": "claude-3-5-sonnet-20240620",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "{{$json[\"prompt\"]}}"}
]
}
}
Gunakan Switch node untuk memilih provider berdasarkan parameter provider di payload webhook.
Step 5 – Integrasi Gambar dengan AI‑Image (Optional)
Jika workflow menghasilkan prompt gambar, gunakan Midjourney atau Canva Pro API:
- Midjourney (via Discord bot) – tidak ada API publik; gunakan webhook ke bot pihak ketiga.
- Canva Pro (image generation):
{
"url": "https://api.canva.com/v1/images/generate",
"method": "POST",
"headers": {
"Authorization": "Bearer {{$env.CANVA_API_KEY}}",
"Content-Type": "application/json"
},
"body": {
"prompt": "{{$json[\"image_prompt\"]}}",
"size": "1024x1024"
}
}
Simpan hasil URL gambar ke Notion atau kirim via Slack.
Tips Optimasi & Keamanan
- Rate Limiting – Gunakan Throttle node atau atur
maxConcurrencydi n8n config untuk menghindari limit API. - Enkripsi – Simpan semua secret di n8n credentials atau gunakan Vault (HashiCorp, AWS Secrets Manager).
- Logging – Aktifkan
EXECUTIONS_PROCESS=queuedan gunakan Elastic Stack untuk audit trail. - Versioning – Export workflow sebagai JSON (
/workflow/export) dan simpan di Git. - Scalability – Deploy n8n di Kubernetes dengan Helm chart resmi; gunakan Horizontal Pod Autoscaler (HPA) berdasarkan CPU/Memory.
Troubleshooting Error Umum
| Error | Penyebab | Solusi |
|---|---|---|
401 Unauthorized pada HTTP Request |
API key tidak terdeteksi atau expired | Pastikan variabel environment $env.OPENAI_API_KEY tersedia di container; refresh token jika diperlukan |
ECONNREFUSED saat memanggil webhook |
Port n8n tidak terbuka atau firewall | Buka port 5678 (ufw allow 5678) atau gunakan reverse proxy (NGINX) |
JSONParseError di Function node |
Response tidak valid JSON | Tambahkan try/catch dan log {{ $json }} untuk inspeksi |
Rate limit exceeded |
Terlalu banyak request dalam satu menit | Tambahkan Delay node (e.g., 2 s) atau gunakan Batch node |
Missing credentials for Notion |
Credential belum di‑set di UI | Buat credential baru di Settings → Credentials dan referensikan di node |
Kesimpulan
Dengan n8n Anda dapat mengorkestrasi layanan AI terkemuka (ChatGPT Plus, Claude Pro, Gemini Advanced, Perplexity Pro) dalam workflow yang dapat diproduksi, terukur, dan aman. Artikel ini mencakup instalasi, konfigurasi API, contoh workflow end‑to‑end, serta praktik terbaik untuk produksi. Manfaatkan integrasi tambahan seperti Notion AI, Canva Pro, atau Midjourney untuk memperkaya output visual dan dokumentasi. Selamat ber‑automasi!