Claude + n8n: Buat Alur Kerja AI di VPS
Panduan menghubungkan Claude ke n8n di VPS, termasuk kredensial, pilihan model per node, tiga alur AI, perhitungan biaya, dan error umum.
Yang Anda bangun
Tiga alur kerja AI yang berjalan pada instance n8n yang sudah Anda gunakan: webhook yang merangkum 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 dari memanggil Claude API dari Python pada VPS Anda, dengan API, token, dan biaya yang sama, tetapi orkestrasi berlangsung pada node n8n, bukan dalam skrip.
Saya mengasumsikan n8n sudah berjalan di balik HTTPS sesuai panduan self-hosted n8n pada Docker. Jika belum, lakukan langkah tersebut terlebih dahulu. Webhook memerlukan endpoint TLS yang valid, dan penyimpanan kredensial yang akan Anda gunakan untuk menyimpan API key memerlukan cadangan encryption key yang diperingatkan dalam panduan tersebut.
Masalah yang menarik di sini bukan sekadar drag-and-drop. Masalahnya adalah pemilihan model untuk setiap node, kolom prompt yang secara diam-diam melakukan interpolasi undefined, serta kenyataan bahwa automasi berjalan tanpa pengawasan. Alur kerja yang biayanya setengah sen per eksekusi memang 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, kemudian buat key dengan nama seperti n8n-vps. Key tersebut hanya ditampilkan sekali. Isi saldo akun atau siapkan billing; penggunaan API dikenai biaya berdasarkan jumlah token dan sepenuhnya terpisah dari langganan Claude.ai apa pun.
Di n8n: Credentials, Create credential, pilih Anthropic, tempel key ke kolom API Key, lalu simpan. Setiap node Claude dalam setiap workflow merujuk ke satu kredensial tersimpan ini. Anda tidak perlu menempelkan key ke node.
Ada dua catatan operasional.
Pertama, n8n mengenkripsi kredensial yang tersimpan dengan N8N_ENCRYPTION_KEY. Jika Anda menetapkan variabel lingkungan tersebut secara eksplisit dalam file compose sesuai panduan n8n, kredensial Anda tetap dapat dipulihkan setelah container dibuat ulang. Jika Anda membiarkan n8n membuatnya lalu kehilangan volume, semua kredensial yang tersimpan, termasuk key ini, menjadi ciphertext yang tidak dapat dipulihkan. Segera cadangkan key tersebut jika Anda belum melakukannya.
Kedua, perlakukan penyimpanan kredensial n8n sebagai batas dampak insiden: siapa pun yang dapat mengedit workflow pada instance Anda dapat mengirim request menggunakan key Anthropic Anda. Edisi Community tidak memiliki permission per pengguna untuk kredensial. Jika orang lain dapat login ke instance ini, baca kontrol akses yang tersedia pada lisensi n8n berbayar sebelum memberikan akun. Tetapkan batas pengeluaran di Console, pada Settings, agar instance yang dibobol atau berjalan tanpa kendali tetap memiliki batas maksimum.
Pilihan model ditentukan per node
Dropdown model pada node Claude di n8n diambil langsung dari API, sehingga menampilkan model yang dapat diakses oleh key Anda. Per Juli 2026, daftar model dan harga API per 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, dengan harga perkenalan $2/$10 hingga August 31, 2026, serta Claude Opus 4.8 (claude-opus-4-8) seharga $5/$25, keduanya dengan context window 1M token. Tersedia juga Claude Fable 5 (claude-fable-5) seharga $10/$50 untuk pekerjaan yang membutuhkan penalaran paling sulit; tidak ada bagian dalam panduan ini yang memerlukannya. Gunakan ID tersebut secara persis. Varian dengan tanggal yang Anda ingat dari tutorial lama akan menghasilkan error 404. Harga dapat berubah, jadi periksa platform.claude.com sebelum mempercayai angka apa pun yang Anda baca di mana pun, termasuk di sini.
Bangun kebiasaan berikut: pilih model per node, bukan per platform. Klasifikasi, ekstraksi, peringkasan, dan routing, yaitu pekerjaan utama dalam automation, berjalan sangat baik pada Haiku dengan harga daftar sepertiga Sonnet dan seperlima Opus. Gunakan Sonnet untuk agent dan penalaran multi-langkah. Gunakan Opus untuk workflow yang jarang terjadi ketika biaya jawaban yang salah lebih besar daripada biaya token. Workflow dengan lima node Claude dapat dan sebaiknya mencampur beberapa model.
Dua node Claude dan penggunaan masing-masing
n8n menyediakan dua integrasi Anthropic yang berbeda. Memilih integrasi yang salah merupakan kesalahan umum bagi pemula.
Node Anthropic adalah node aplikasi biasa: satu permintaan masuk dan satu respons keluar. Resource Text-nya memiliki operasi Message a Model, serta operasi untuk menganalisis gambar dan dokumen. Gunakan node ini ketika logika workflow berada di n8n: trigger, pemanggilan Claude, lalu node berikutnya. Workflow 1 dan 2 di bawah menggunakan node ini atau padanan chain-nya.
Node Anthropic Chat Model adalah sub-node, yaitu komponen kecil yang memasok model ke root node seperti AI Agent atau Basic LLM Chain. Node ini tidak memiliki trigger atau output sendiri. Node ini menyediakan pemilih model serta opsi sampling seperti Maximum Number of Tokens dan Sampling Temperature. Ada satu hal penting dari dokumentasi n8n yang perlu diingat: expression di dalam sub-node selalu dievaluasi berdasarkan item input pertama, bukan setiap item. Letakkan expression per item di kolom prompt pada root node, bukan di sub-node.
Alur kerja 1: webhook masuk, ringkasan keluar
Ini adalah contoh dasar otomasi AI: apa pun yang dikirim dengan metode POST ke sebuah URL akan diringkas, lalu hasilnya dikirim ke Slack atau kotak masuk Anda.
- Node Webhook, HTTP Method POST, path
summarize. n8n menyediakan URL pengujian dan URL produksi; URL produksi hanya menerima permintaan setelah alur kerja diaktifkan. - 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 berinteraksi dengan Claude. Body POST berada di bawah $json.body, sehingga kolom pesan pengguna terlihat seperti ini:
Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.
{{ $json.body.text }}Masukkan instruksi role dan format di kolom system prompt pada node, bukan di pesan pengguna. System prompt tetap konstan, sedangkan payload berubah. Hal ini menjaga perilaku tetap konsisten dan membuat prompt mudah dipahami enam bulan kemudian. 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 eksekusi pada Haiku: payload 1,200 token ditambah prompt berharga sekitar $0.0012 untuk input, sedangkan 300 token output berharga $0.0015, atau kira-kira seperempat sen. Seribu eksekusi per bulan biayanya kurang dari $3. Node yang sama jika diarahkan ke Opus 4.8 biayanya sekitar lima kali lipat. Rasio ini, dikalikan dengan setiap alur kerja yang Anda buat, menjelaskan pentingnya memilih model pada setiap node.
Workflow 2: RSS terjadwal menjadi baris terstruktur
Sekarang gunakan jadwal, dengan output terstruktur: baca feed RSS setiap jam, klasifikasikan setiap item, lalu tambahkan baris ke spreadsheet.
- Schedule Trigger, setiap jam.
- RSS Read, gunakan URL feed. Node ini menghasilkan satu item untuk setiap artikel.
- Basic LLM Chain, dengan sub-node Anthropic Chat Model yang diatur ke
claude-haiku-4-5, serta sub-node Structured Output Parser yang berisi skema JSON. - Google Sheets (atau Postgres), tambahkan satu baris untuk setiap item.
Structured Output Parser mengubah permintaan "Claude, please return JSON" dari sekadar harapan menjadi kontrak: parser ini memvalidasi respons model terhadap skema Anda dan menggagalkan item tersebut secara jelas, alih-alih menulis baris yang rusak. Contoh skemanya:
{
"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"]
}Prompt pada chain merujuk ke item feed:
Classify this article for a VPS hosting audience.
Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}Perhitungan biaya berubah di sini: biayanya dihitung per item, bukan per eksekusi. Lima puluh artikel per jam, selama dua puluh empat jam sehari, menghasilkan 36,000 pemanggilan Claude per bulan. Dengan Haiku, biayanya mungkin $40–90, bergantung pada panjang artikel. Dengan Opus, biayanya sekitar lima kali lipat. Lakukan deduplikasi sebelum node LLM, misalnya dengan IF sederhana terhadap link yang sudah pernah diproses atau node Remove Duplicates dari n8n. Dengan demikian, jumlah pemanggilan akan turun drastis karena sebagian besar polling per jam tidak menemukan konten baru. Token termurah adalah pemanggilan yang tidak pernah dilakukan.
Alur Kerja 3: AI Agent yang menggunakan tools
Dua alur kerja pertama merupakan pipeline; Anda menentukan langkah-langkahnya. Node AI Agent membalik pendekatan tersebut: Anda memberikan tujuan dan tools kepada Claude, lalu Claude menentukan tools yang harus dipanggil dan urutannya sampai tugas selesai. n8n memerlukan sub-node chat model dan setidaknya satu sub-node tool yang terhubung.
Contoh penerapan konkret adalah asisten operasi yang menjawab pertanyaan "apa yang sedang down dan mengapa" berdasarkan sistem monitoring Anda:
- Chat Trigger (atau webhook) menerima pertanyaan.
- AI Agent, dengan sub-node Anthropic Chat Model yang diatur ke
claude-sonnet-5. Agent merencanakan dan merangkai pemanggilan tool. Haiku dapat menjalankan agent sederhana dengan satu tool, tetapi Sonnet merupakan pilihan minimum yang masuk akal ketika jumlah tool bertambah. - Node HTTP Request yang dilampirkan sebagai tool, diarahkan ke status API Uptime Kuma atau endpoint Zabbix Anda. HTTP tool kedua dapat mengakses layanan lain yang menyediakan REST API.
Dua pengaturan paling menentukan hasilnya. System Message pada agent menentukan tugasnya: "Anda adalah asisten operasi. Gunakan status tool untuk memeriksa status monitor saat ini sebelum menjawab. Laporkan hanya monitor yang down, beserta durasinya." Deskripsi setiap tool bukan dokumentasi untuk manusia. Deskripsi tersebut menentukan kapan Claude memutuskan untuk memanggil tool itu. Deskripsi "Mengembalikan status up/down saat ini untuk semua service yang dimonitor dalam format JSON" akan dipanggil pada saat yang tepat. Deskripsi "status API" dapat diabaikan atau digunakan secara keliru. Saat melampirkan node HTTP Request sebagai tool, aktifkan opsi Optimize Response dan pilih field JSON yang diperlukan. Jika tidak, setiap respons API yang panjang akan dimasukkan ke context model sebagai input token yang tetap ditagihkan.
Atur Max Iterations pada agent, dengan nilai default 10, ke jumlah terkecil yang masih berfungsi. Pengaturan ini membedakan antara "agent menyerah setelah 4 pemanggilan tool" dan loop yang melakukan belasan round-trip ke model. Pahami juga pola penagihannya: pada setiap iterasi, seluruh percakapan hingga saat itu dikirim ulang sebagai system message, pertanyaan, setiap hasil tool sebelumnya, sebagai input token. Eksekusi agent dengan 6 iterasi dapat dengan mudah mencapai total kumulatif 20,000 input token dan 2,000 output token: dengan harga perkenalan Sonnet 5 biayanya sekitar $0.06, atau sekitar $0.09 pada harga standar $3/$15. Biaya tersebut setara dengan sekitar 20 kali eksekusi sederhana untuk membuat ringkasan. Jika Anda mulai menambahkan banyak tool ke satu agent, itulah saat menjalankan server MCP di VPS Anda menjadi arsitektur yang lebih rapi.
Batas biaya, karena tidak ada yang memantau
Workflow yang berjalan tanpa pengawasan memerlukan kontrol yang biasanya diterapkan secara implisit oleh manusia di depan keyboard. Gunakan empat lapisan, mulai dari yang paling murah.
Max Tokens pada setiap node Claude. Ini menetapkan batas keras untuk output. Summarizer memerlukan 300, sedangkan classifier memerlukan 100. Batas ini mengendalikan komponen biaya yang lebih mahal ($5–$25 per juta token output dibandingkan $1–$5 untuk input) dan juga berfungsi sebagai rem saat proses tidak terkendali. Prompt yang bermasalah dan membuat Claude terus menghasilkan teks akan menghabiskan biaya 300 token, bukan 8,000.
Model per node. Hal ini telah dibahas di atas. Model merupakan pengungkit harga lima hingga sepuluh kali lipat dalam jajaran model saat ini dan hanya memerlukan sepuluh detik untuk dikonfigurasi.
Batasi loop. Tetapkan Max Iterations pada agent. Atur workflow timeout dalam pengaturan workflow agar eksekusi yang macet dihentikan, bukan terus berjalan. Berhati-hatilah dengan Retry On Fail pada setiap node. Fitur ini tepat untuk error sementara, tetapi percobaan ulang melipatgandakan biaya. Max Tries sebesar 3 dengan Wait Between Tries sebesar 5000 ms dapat menagihkan biaya hingga tiga kali per item sebelum proses dihentikan karena gagal. Jangan pernah menerapkan retry pada node yang sudah berhasil menjalankan operasi mahal.
Gunakan error workflow sebagai pengaman terakhir. Buat workflow yang diawali node Error Trigger. Node ini mengirim nama workflow yang gagal dan error-nya ke Slack. Kemudian, tetapkan workflow tersebut sebagai Error Workflow dalam pengaturan setiap workflow AI. Skenario kegagalan yang ditangani adalah skenario yang paling buruk: workflow yang dipicu oleh jadwal mengalami error pada setiap eksekusi, setiap jam, selama satu minggu, dan setiap eksekusi menghabiskan token sebelum berhenti. Gabungkan mekanisme ini dengan batas pengeluaran bulanan di Anthropic Console. Periksa halaman penggunaan di Console selama beberapa hari pertama setelah mengaktifkan jadwal apa pun. Jika Anda ingin memahami secara tepat hal yang ditagihkan kepada Anda, panduan penggunaan token menguraikannya.
Mode kegagalan dan string yang akan Anda lihat
Node langsung gagal dengan "Authorization failed - please check your credentials." API mengembalikan 401. Isi responsnya adalah:
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}Penyebabnya dapat berupa key yang disalin secara tidak tepat, terpotong, memiliki spasi di bagian akhir, atau masih menggunakan placeholder dari tutorial. Buat ulang credential n8n, lalu tempelkan kembali key tersebut. Jika sebelumnya berfungsi, periksa apakah key dicabut di Console atau apakah pemulihan volume mengembalikan credential yang dienkripsi dengan N8N_ENCRYPTION_KEY yang berbeda.
Eksekusi gagal secara beruntun dengan 429 rate_limit_error, dengan pesan seperti "Number of request tokens has exceeded your per-minute rate limit." Batas laju dihitung dalam bucket per menit, dan n8n sangat mudah menjalankan lima puluh eksekusi webhook atau RSS secara bersamaan. Perbaiki alurnya secara struktural: proses item secara berurutan menggunakan Loop Over Items, bukan secara paralel, lalu aktifkan Retry On Fail dengan Max Tries 3 dan Wait Between Tries pada nilai maksimum 5000 ms. n8n membatasi field tersebut hingga 5000 ms. Jika memerlukan jeda yang lebih panjang agar percobaan ulang masuk ke jendela menit berikutnya, tambahkan node Wait pada jalur error atau proses item satu per satu. Respons menyertakan header retry-after yang menunjukkan durasi tunggu secara tepat. Jeda tetap n8n tidak dapat membaca nilai tersebut, jadi buat jeda yang lebih panjang secara manual.
404 not_found_error saat menamai model. Isi respons mengulang kesalahan pengetikan:
{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}Penyebabnya dapat berupa penggunaan titik, bukan tanda hubung (4.5 untuk 4-5), akhiran tanggal dari artikel blog lama, atau model yang sudah dihentikan. Perbaiki ID berdasarkan daftar saat ini. Masalah ini sering terjadi ketika Anda mengetik langsung pada field model sebagai expression, bukan memilih model dari dropdown.
Claude menjawab pertanyaan yang tidak Anda ajukan. Tidak ada error sama sekali dan eksekusi berstatus hijau. Expression n8n yang merujuk ke field yang tidak ada, seperti {{ $json.body.text }} ketika payload menggunakan message, menyisipkan string literal undefined ke dalam prompt. Claude kemudian merespons prompt yang tidak berisi pertanyaan yang dimaksud. Jika node yang dirujuk sama sekali tidak dijalankan, Anda akan mendapatkan pesan "Referenced node is unavailable". Namun, field yang tidak ada tidak menimbulkan error. Sebelum mengaktifkan workflow, selalu jalankan satu kali dengan data nyata dan baca prompt hasil render yang sebenarnya pada panel input node. Expression editor menampilkan pratinjau nilai yang telah diselesaikan, dan undefined terlihat di sana jika Anda memeriksanya.
FAQ
Bagaimana cara menghubungkan Claude ke n8n?
Buat API key di Anthropic Console melalui platform.claude.com, lalu di n8n tambahkan kredensial bertipe Anthropic dan tempelkan key tersebut ke kolom API Key. Setiap node Claude, node aplikasi Anthropic, dan subnode Anthropic Chat Model menggunakan kredensial yang tersimpan itu. n8n mengenkripsinya dengan N8N_ENCRYPTION_KEY, jadi cadangkan key tersebut. Jika tidak, kredensial akan hilang bersama volume.
Berapa biaya workflow AI untuk setiap eksekusi?
Perkirakan jumlah token per eksekusi, lalu kalikan dengan harga model per juta token. Per Juli 2026, Haiku 4.5 berharga $1/$5 per juta token input/output, sedangkan Sonnet 5 berharga $3/$15 ($2/$10 sebagai harga perkenalan hingga Agustus 2026). Workflow webhook untuk membuat ringkasan dengan Haiku biayanya sekitar seperempat sen. Eksekusi agent pada Sonnet dengan beberapa pemanggilan tool biayanya mendekati $0.06–$0.10 karena setiap iterasi mengirim ulang seluruh percakapan sebagai input. Verifikasi eksekusi tersebut pada halaman penggunaan di Console, bukan hanya berdasarkan perkiraan.
Model Claude mana yang sebaiknya digunakan untuk automasi n8n?
Gunakan Haiku 4.5 untuk klasifikasi, ekstraksi, pembuatan ringkasan, dan routing, terutama untuk beban bervolume tinggi ketika kecepatan dan biaya menjadi pertimbangan utama. Gunakan Sonnet 5 untuk node AI Agent dan penalaran bertahap. Gunakan Opus 4.8 hanya jika biaya jawaban yang salah cukup tinggi untuk membenarkan harga daftarnya, yaitu $5/$25, lima kali harga Haiku dan sedikit kurang dari dua kali harga Sonnet. Atur model per node, bukan per workflow. Satu workflow dapat menggunakan ketiganya.
Bagaimana cara mencegah workflow n8n menghabiskan terlalu banyak biaya pada Claude API?
Terapkan beberapa lapisan pembatas: tetapkan Max Tokens yang rendah pada setiap node Claude, Max Iterations pada agent, batas waktu workflow, dan pengaturan Retry On Fail yang konservatif agar kegagalan tidak menggandakan penggunaan token. Kemudian tambahkan workflow Error Trigger yang mengirimkan peringatan ke Slack ketika workflow AI gagal. Tetapkan juga batas pengeluaran bulanan di Anthropic Console sebagai batas mutlak yang tidak dapat dilampaui oleh apa pun di VPS.
Apakah pemanggilan tool oleh AI Agent dikenai 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 hingga saat itu. Respons API yang panjang dan diteruskan tanpa penyaringan dapat jauh melebihi prompt Anda sendiri. Aktifkan Optimize Response pada tool HTTP Request dan kembalikan hanya field yang diperlukan agent.