Cara Integrasi Claude dengan n8n di VPS
Panduan lengkap menghubungkan Claude API ke n8n di VPS. Pelajari pemilihan model, cara setting kredensial, serta 3 contoh workflow AI yang siap pakai.
Apa yang Anda bangun
Tiga alur kerja AI yang berfungsi pada instansi n8n yang sudah Anda jalankan: sebuah webhook yang meringkas apa pun yang Anda kirimkan, pembaca feed terjadwal yang mengubah artikel menjadi baris spreadsheet terstruktur, dan AI Agent yang memanggil HTTP API secara mandiri untuk menjawab pertanyaan. Ini adalah padanan no-code untuk memanggil Claude API dari Python pada VPS Anda — API yang sama, token yang sama, tagihan yang sama, tetapi orkestrasinya berada di dalam node n8n alih-alih sebuah skrip.
Saya berasumsi n8n sudah berjalan di balik HTTPS sesuai dengan panduan self-hosted n8n pada Docker. Jika belum, lakukan itu terlebih dahulu — webhook memerlukan endpoint TLS yang nyata, dan penyimpanan kredensial tempat Anda akan memasukkan API key memerlukan cadangan encryption-key yang disebutkan dalam panduan tersebut.
Masalah menarik di sini bukan sekadar drag-and-drop. Masalahnya adalah pemilihan model per node, bidang prompt yang melakukan interpolasi undefined secara diam-diam, dan fakta bahwa otomatisasi berjalan tanpa pengawasan — alur kerja yang berbiaya setengah sen per jalan akan menjadi murah sampai loop retry menjalankannya empat ribu kali dalam semalam. Sebagian besar panduan ini membahas hal tersebut.
Satu kredensial, dienkripsi dengan kunci yang Anda cadangkan
Dapatkan API key dari Anthropic Console di platform.claude.com — Settings, lalu API Keys, lalu buat key dengan nama seperti n8n-vps. Key tersebut hanya ditampilkan satu kali. Isi saldo akun atau atur penagihan; penggunaan API menggunakan sistem pay-per-token dan sepenuhnya terpisah dari langganan Claude.ai apa pun.
Di n8n: Credentials, Create credential, pilih Anthropic, tempel key ke bidang API Key, simpan. Setiap node Claude di setiap alur kerja merujuk ke satu kredensial tersimpan ini — Anda tidak perlu menempelkan key ke dalam node.
Dua catatan operasional. Pertama, n8n mengenkripsi kredensial tersimpan dengan N8N_ENCRYPTION_KEY. Jika Anda mengatur env var tersebut secara eksplisit di file compose Anda sesuai panduan n8n, kredensial Anda akan selamat saat container dibangun ulang; jika Anda membiarkan n8n membuatkan satu dan kemudian kehilangan volume, setiap kredensial tersimpan — termasuk key ini — menjadi ciphertext yang tidak dapat dipulihkan. Cadangkan key tersebut sekarang jika Anda melewatkannya. Kedua, anggap penyimpanan kredensial n8n sebagai area dampak: siapa pun yang dapat mengedit alur kerja pada instansi Anda dapat melakukan permintaan dengan key Anthropic Anda. Atur batas pengeluaran di Console di bawah Settings agar instansi yang kompromi atau berjalan tak terkendali memiliki batas atas.
Pilihan model adalah keputusan per-node
Dropdown model pada node Claude di n8n diambil secara langsung dari API, sehingga menampilkan apa yang dapat diakses oleh key Anda. Per Juli 2026, lini produk dan harga API per satu juta token input/output adalah: Claude Haiku 4.5 (claude-haiku-4-5) seharga $1/$5 dengan context window 200K, Claude Sonnet 5 (claude-sonnet-5) seharga $3/$15 — harga perkenalan $2/$10 hingga 31 Agustus 2026 — dan Claude Opus 4.8 (claude-opus-4-8) seharga $5/$25, keduanya dengan context window 1M-token. Ada juga Claude Fable 5 (claude-fable-5) seharga $10/$50 untuk pekerjaan penalaran tersulit; tidak ada bagian dalam panduan ini yang membutuhkannya. Gunakan ID tersebut secara tepat — varian dengan akhiran tanggal yang Anda ingat dari tutorial lama akan menghasilkan 404, dan harga dapat berubah, jadi periksa platform.claude.com sebelum mempercayai angka apa pun yang Anda baca di mana pun, termasuk di sini.
Kebiasaan yang harus dibangun: pilih model per node, bukan per platform. Klasifikasi, ekstraksi, peringkasan, routing — tugas utama otomatisasi — berjalan sangat baik pada Haiku dengan harga sepertiga Sonnet dan seperlima Opus. Gunakan Sonnet untuk agent dan penalaran multi-langkah, Opus untuk alur kerja langka di mana jawaban yang salah biayanya lebih mahal daripada tokennya. Sebuah alur kerja dengan lima node Claude dapat dan harus mencampur berbagai model.
Dua node Claude, dan mana yang digunakan di mana
n8n menyediakan dua integrasi Anthropic yang berbeda, dan memilih yang salah adalah kesalahan pemula yang paling umum.
Node Anthropic adalah node aplikasi biasa: satu permintaan masuk, satu respons keluar. Resource Text miliknya memiliki operasi Message a Model, ditambah operasi untuk menganalisis gambar dan dokumen. Gunakan node ini kapan pun logika alur kerja berada di n8n — trigger, panggilan Claude, node berikutnya. Alur kerja 1 dan 2 di bawah ini menggunakannya atau padanan rantainya.
Node Anthropic Chat Model adalah sub-node — lampiran kecil yang menyediakan model ke node akar seperti AI Agent atau Basic LLM Chain. Node ini tidak memiliki trigger dan tidak memiliki output sendiri; ia menyediakan pemilih model plus opsi sampling seperti Maximum Number of Tokens dan Sampling Temperature. Satu catatan dari dokumentasi n8n yang perlu diingat: ekspresi di dalam sub-node selalu diselesaikan terhadap item input pertama, bukan setiap item — letakkan ekspresi per-item di bidang prompt node akar, bukan di sub-node.
Workflow 1: webhook masuk, ringkasan keluar
Hello-world dari otomatisasi AI: apa pun yang dikirimkan via POST ke sebuah URL akan diringkas dan masuk ke Slack atau inbox Anda.
- Node Webhook — HTTP Method POST, path
summarize. n8n memberi Anda test URL dan production URL; production URL hanya mendengarkan setelah alur kerja aktif. - Node Anthropic — Message a Model, model
claude-haiku-4-5, Max Tokens sekitar 300. - Node Slack (atau Send Email) — kirim teks respons ke sebuah channel.
Prompt adalah tempat ekspresi n8n bertemu Claude. Body POST masuk di bawah $json.body, sehingga bidang pesan pengguna terlihat seperti:
Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.
{{ $json.body.text }}Letakkan instruksi peran dan format di bidang system prompt node, bukan di pesan pengguna — system prompt tetap konstan sementara payload bervariasi, yang menjaga perilaku tetap stabil dan membuat prompt mudah dibaca enam bulan dari sekarang. Uji dari VPS itu sendiri:
curl -X POST https://n8n.example.com/webhook/summarize \
-H 'Content-Type: application/json' \
-d '{"text": "Third support ticket this month about slow disk IO..."}'Biaya per jalan pada Haiku: payload 1.200-token ditambah prompt adalah sekitar $0.0012 untuk input, 300 token output adalah $0.0015 — kira-kira seperempat sen. Seribu jalan sebulan adalah di bawah $3. Node yang sama jika diarahkan ke Opus 4.8 adalah sekitar lima kali lipat dari itu. Rasio tersebut, jika dikalikan dengan setiap alur kerja yang Anda bangun, adalah alasan mengapa kebiasaan per-node model itu penting.
Workflow 2: RSS terjadwal ke baris terstruktur
Sekarang sesuatu yang berbasis waktu, dengan output terstruktur: baca feed RSS setiap jam, klasifikasikan setiap item, tambahkan baris ke spreadsheet.
- Schedule Trigger — setiap jam.
- RSS Read — URL feed. Menghasilkan satu item per artikel.
- Basic LLM Chain — dengan sub-node Anthropic Chat Model yang diatur ke
claude-haiku-4-5, dan sub-node Structured Output Parser yang memegang skema JSON. - Google Sheets (atau Postgres) — tambahkan baris per item.
Structured Output Parser adalah apa yang mengubah "Claude, tolong kembalikan JSON" dari sekadar harapan menjadi sebuah kontrak: ia memvalidasi balasan model terhadap skema Anda dan menggagalkan item secara eksplisit alih-alih menulis baris sampah. Skema seperti:
{
"type": "object",
"properties": {
"category": { "type": "string", "enum": ["release", "security", "tutorial", "other"] },
"relevance": { "type": "number" },
"one_line_summary": { "type": "string" }
},
"required": ["category", "relevance", "one_line_summary"]
}Dan prompt rantai merujuk pada item feed:
Classify this article for a VPS hosting audience.
Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}Perhitungan biaya berubah di sini: ini per-item, bukan per-jalan. Lima puluh artikel per jam, dua puluh empat jam sehari, adalah 36.000 panggilan Claude sebulan — pada Haiku mungkin $40–$90 tergantung panjang artikel, pada Opus sekitar lima kali lipatnya. Lakukan deduplikasi sebelum node LLM (IF sederhana terhadap link yang pernah dilihat sebelumnya, atau node Remove Duplicates milik n8n) dan jumlahnya akan berkurang, karena sebagian besar polling per jam tidak berisi hal baru. Token termurah adalah panggilan yang tidak pernah Anda lakukan.
Workflow 3: AI Agent yang menggunakan tools
Dua alur kerja pertama adalah pipeline — Anda menentukan langkah-langkahnya. Node AI Agent membalikkan itu: Anda memberikan tujuan dan tools kepada Claude, dan ia memutuskan tools mana yang harus dipanggil, dalam urutan apa, sampai selesai. n8n memerlukan sub-node chat model dan setidaknya satu sub-node tool yang terpasang.
Build konkret — asisten ops yang menjawab "apa yang mati dan mengapa" dari monitoring Anda:
- Chat Trigger (atau webhook) — pertanyaan masuk.
- AI Agent — dengan sub-node Anthropic Chat Model yang diatur ke
claude-sonnet-5. Agent merencanakan dan merantai panggilan tool; Haiku dapat menjalankan agent single-tool sederhana, tetapi Sonnet adalah standar minimum yang masuk akal setelah tool bertambah banyak. - Node HTTP Request yang terpasang sebagai tool — diarahkan ke Uptime Kuma status API atau endpoint Zabbix Anda. Tool HTTP kedua dapat memanggil apa pun yang memiliki REST API.
Dua pengaturan melakukan sebagian besar pekerjaan. System Message agent mendefinisikan tugasnya: "Anda adalah asisten ops. Gunakan tool status untuk memeriksa status monitor saat ini sebelum menjawab. Laporkan hanya monitor yang mati, beserta durasinya." Dan deskripsi setiap tool bukanlah dokumentasi untuk manusia — itu adalah cara Claude memutuskan kapan harus memanggilnya. "Returns current up/down state for all monitored services as JSON" akan dipanggil pada saat yang tepat; "status API" akan diabaikan atau disalahgunakan. Saat Anda memasang node HTTP Request sebagai tool, aktifkan opsi Optimize Response dan pilih bidang JSON yang penting — jika tidak, setiap respons API yang panjang akan dimasukkan ke dalam konteks model sebagai token input yang harus Anda bayar.
Atur Max Iterations pada agent (default adalah 10) ke angka terkecil yang berfungsi — ini adalah perbedaan antara "agent menyerah setelah 4 panggilan tool" dan loop dua belas putaran model. Dan pahami bentuk penagihannya: setiap iterasi mengirim ulang seluruh percakapan sejauh ini — system message, pertanyaan, setiap hasil tool sebelumnya — sebagai token input. Satu jalan agent dengan enam iterasi dapat dengan mudah mencapai total 20.000 token input kumulatif dan 2.000 output: pada harga perkenalan Sonnet 5 sekitar $0.06, sekitar $0.09 pada harga standar $3/$15 — anggap saja dua puluh kali lipat dari satu jalan peringkasan sederhana. Jika Anda mendapati diri Anda memasang banyak tool pada satu agent, itulah titik di mana menjalankan MCP server pada VPS Anda menjadi arsitektur yang lebih bersih.
Guardrails biaya, karena tidak ada yang mengawasi
Alur kerja tanpa pengawasan membutuhkan kontrol yang biasanya diberikan manusia secara implisit. Empat lapisan, dari yang termurah.
Max Tokens pada setiap node Claude. Ini adalah batas output yang kaku. Peringkas membutuhkan 300, klasifikasi 100. Ini membatasi sisi pengeluaran yang mahal ($5–$25 per satu juta token output versus $1–$5 untuk input) dan berfungsi ganda sebagai rem — bug prompt yang membuat Claude mengoceh hanya memakan 300 token, bukan 8.000.
Model per node. Dibahas di atas; ini adalah tuas harga lima hingga sepuluh kali lipat di seluruh lini produk saat ini dan hanya butuh sepuluh detik untuk diatur.
Batasi loop. Max Iterations pada agent. Timeout alur kerja pada pengaturan alur kerja agar eksekusi yang macet berhenti alih-alih berputar terus. Dan berhati-hatilah dengan Retry On Fail per-node: ini adalah alat yang tepat untuk error transien, tetapi retry melipatgandakan biaya — Max Tries 3 dengan Wait Between Tries 5000 ms berarti kegagalan persisten akan menagih Anda hingga tiga kali per item sebelum menyerah. Jangan pernah membungkus retry di sekitar node yang sudah berhasil secara mahal.
Alur kerja error sebagai cadangan. Buat alur kerja yang dimulai dengan node Error Trigger yang mengirimkan nama alur kerja yang gagal dan error ke Slack, lalu atur sebagai Error Workflow di setiap pengaturan alur kerja AI. Mode kegagalan yang ditangkapnya adalah yang paling buruk: alur kerja pemicu jadwal yang error pada setiap jalan, setiap jam, selama seminggu — setiap jalan menghabiskan token sebelum berhenti. Pasangkan dengan batas pengeluaran bulanan di Anthropic Console dan periksa halaman penggunaan Console pada beberapa hari pertama setelah mengaktifkan apa pun yang terjadwal. Jika Anda ingin memahami secara tepat apa yang ditagihkan kepada Anda, panduan penggunaan token menguraikannya.
Mode kegagalan, dengan pesan error yang akan Anda lihat
Node gagal seketika dengan "Authorization failed - please check your credentials." API mengembalikan 401. Isi body aslinya adalah:
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}Key salah tempel — terpotong, ada spasi di akhir, atau menggunakan placeholder dari tutorial. Buat ulang kredensial n8n dan tempel kembali; jika kemarin berhasil, periksa apakah key telah dicabut di Console atau apakah restorasi volume mengembalikan ke kredensial yang dienkripsi dengan N8N_ENCRYPTION_KEY yang berbeda.
Eksekusi gagal secara beruntun dengan 429 rate_limit_error, pesan seperti "Number of request tokens has exceeded your per-minute rate limit." Rate limit dihitung per menit, dan n8n memudahkan Anda untuk mengirim lima puluh eksekusi webhook atau RSS secara bersamaan. Perbaiki secara struktural: proses item secara berurutan (Loop Over Items) alih-alih paralel, dan atur Retry On Fail dengan Max Tries 3 dan Wait Between Tries pada maksimum 5000 ms — n8n membatasi bidang tersebut pada 5000 ms. Saat Anda membutuhkan jeda lebih lama agar retry masuk ke jendela menit berikutnya, letakkan node Wait di jalur error atau proses item satu per satu. Respons membawa header retry-after yang memberi tahu Anda berapa lama harus menunggu — jeda tetap n8n tidak dapat membacanya, jadi buatlah jeda yang lebih lama sendiri.
404 not_found_error saat menyebutkan nama model Anda. Body mengulang typo tersebut:
{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}Titik alih-alih tanda hubung (4.5 untuk 4-5), akhiran tanggal dari postingan blog lama, atau model yang sudah pensiun. Perbaiki ID sesuai dengan daftar saat ini — ini sering dialami orang yang mengetik di bidang model sebagai ekspresi alih-alih memilih dari dropdown.
Claude menjawab pertanyaan yang tidak Anda ajukan. Tidak ada error di mana pun — jalannya berwarna hijau. Ekspresi n8n yang merujuk ke bidang yang hilang, seperti {{ $json.body.text }} saat payload menggunakan message, melakukan interpolasi string literal undefined ke dalam prompt Anda, dan Claude dengan gigih merespons prompt tentang ketiadaan sesuatu. Jika node yang dirujuk tidak dieksekusi sama sekali, Anda akan mendapat "Referenced node is unavailable", tetapi bidang yang hilang bersifat diam-diam. Sebelum mengaktifkan, selalu jalankan sekali dengan data nyata dan baca prompt yang dihasilkan di panel input node — editor ekspresi menampilkan nilai yang diselesaikan, dan undefined ada di sana jika Anda mencarinya.
FAQ
Bagaimana cara menghubungkan Claude ke n8n?
Buat API key di Anthropic Console di platform.claude.com, lalu di n8n tambahkan kredensial tipe Anthropic dan tempelkan ke bidang API Key. Setiap node Claude — node aplikasi Anthropic dan sub-node Anthropic Chat Model — merujuk ke kredensial tersimpan tersebut. n8n mengenkripsinya dengan N8N_ENCRYPTION_KEY, jadi cadangkan key tersebut atau kredensial Anda akan hilang bersama volume.
Berapa biaya satu kali jalan alur kerja AI?
Estimasi token per jalan, lalu kalikan dengan harga per juta model — per Juli 2026, Haiku 4.5 adalah $1/$5 per satu juta token input/output dan Sonnet 5 adalah $3/$15 ($2/$10 harga perkenalan hingga Agustus 2026). Ringkasan webhook pada Haiku berjalan sekitar seperempat sen; jalan agent pada Sonnet dengan beberapa panggilan tool mendekati $0.06–$0.10 karena setiap iterasi mengirim ulang seluruh percakapan sebagai input. Verifikasi jalan tersebut di halaman penggunaan Console alih-alih mempercayai estimasi.
Model Claude mana yang harus saya gunakan untuk otomatisasi n8n?
Haiku 4.5 untuk klasifikasi, ekstraksi, peringkasan, dan routing — pekerjaan volume tinggi di mana kecepatan dan harga mendominasi. Sonnet 5 untuk node AI Agent dan penalaran multi-langkah. Opus 4.8 hanya jika jawaban yang salah cukup mahal untuk membenarkan harga daftar $5/$25 — lima kali lipat Haiku, sedikit di bawah dua kali lipat Sonnet. Atur model per node, bukan per alur kerja — satu alur kerja dapat mencampur ketiganya.
Bagaimana cara menghentikan alur kerja n8n agar tidak boros pada Claude API?
Gunakan lapisan guardrails: Max Tokens yang rendah pada setiap node Claude, Max Iterations pada agent, timeout alur kerja, dan pengaturan Retry On Fail yang konservatif agar kegagalan tidak melipatgandakan pengeluaran token. Kemudian tambahkan alur kerja Error Trigger yang memberi tahu Anda di Slack saat ada alur kerja AI yang gagal, dan atur batas pengeluaran bulanan di Anthropic Console sebagai batas keras yang tidak dapat dilampaui oleh apa pun di VPS.
Apakah panggilan tool AI Agent memakan biaya tambahan?
Tidak ada biaya tool terpisah, tetapi tool tidak gratis: setiap hasil tool dikirim kembali ke model sebagai token input, dan setiap iterasi agent mengirim ulang seluruh percakapan sejauh ini. Respons API yang terlalu banyak bicara dan tidak difilter dapat melampaui prompt asli Anda — aktifkan Optimize Response pada tool HTTP Request dan kembalikan hanya bidang yang dibutuhkan agent.