Claude + n8n: AI workflow sa sariling VPS
Ikonekta ang Claude sa n8n sa sarili mong VPS: setup ng credentials, model bawat node, 3 gumaganang workflow, cost math, at karaniwang errors.
Ano ang ginagawa mo
Tatlong gumaganang AI workflow sa n8n instance na pinapatakbo mo na: isang webhook na nagbubuod ng anumang ipinapadala mo rito, isang naka-schedule na feed reader na ginagawang structured spreadsheet row ang mga article, at isang AI Agent na kusang tumatawag sa isang HTTP API upang sumagot ng mga tanong. Ito ang no-code na katumbas ng pagtawag sa Claude API mula sa Python sa VPS, gamit ang parehong API, parehong token, at parehong bayarin, ngunit nasa mga n8n node ang orchestration sa halip na nasa script.
Ipinapalagay kong gumagana na ang n8n sa HTTPS ayon sa self-hosted n8n sa Docker guide. Kung hindi pa, gawin muna iyon. Kailangan ng webhook ng tunay na TLS endpoint, at ang credential store na paglalagyan mo ng API key ay nangangailangan ng backup ng encryption key na binibigyang-diin ng guide na iyon.
Ang mahahalagang problema rito ay hindi tungkol sa drag-and-drop. Kabilang dito ang pagpili ng model para sa bawat node, mga prompt field na tahimik na nag-i-interpolate ng undefined, at ang katotohanang unattended na tumatakbo ang automation. Ang workflow na nagkakahalaga ng kalahating sentimo sa bawat run ay mura hanggang sa patakbuhin ito ng retry loop nang apat na libong beses magdamag. Karamihan sa guide na ito ay tungkol sa mga problemang iyon.
Isang credential, naka-encrypt gamit ang ni-back up mong key
Kumuha ng API key sa Anthropic Console sa platform.claude.com, pagkatapos ay pumunta sa Settings, API Keys, at gumawa ng key na may pangalang gaya ng n8n-vps. Isang beses lang itong ipapakita. Lagyan ng pondo ang account o mag-set up ng billing; pay-per-token ang API usage at hiwalay ito sa anumang Claude.ai subscription.
Sa n8n: piliin ang Credentials, Create credential, at Anthropic, pagkatapos ay i-paste ang key sa field na API Key at i-save. Lahat ng Claude node sa bawat workflow ay gagamit sa iisang naka-store na credential na ito. Huwag kailanman i-paste ang key sa isang node.
Dalawang operational note. Una, ine-encrypt ng n8n ang mga naka-store na credential gamit ang N8N_ENCRYPTION_KEY. Kung tahasan mong ise-set ang environment variable na ito sa compose file ayon sa n8n guide, mananatili ang credential kahit i-rebuild ang container. Kung hinayaan mong ang n8n ang gumawa nito at mawala ang volume, hindi na mare-recover ang lahat ng naka-store na credential, kabilang ang key na ito, dahil ciphertext na ang mga ito. I-back up agad ang key kung hindi mo ito nagawa.
Ikalawa, ituring na blast radius ang n8n credential store: sinumang makapag-edit ng workflow sa instance mo ay maaaring gumawa ng request gamit ang Anthropic key mo. Walang per-user permissions para sa mga credential ang Community edition. Kaya kung may iba pang nagla-log in sa instance na ito, basahin ang mga access control na kasama sa bayad na n8n licence bago magbigay ng account. Magtakda ng spend limit sa Console sa ilalim ng Settings upang magkaroon ng limitasyon ang gastos kung ma-compromise o mawalan ng kontrol ang instance.
Pagpili ng modelo ayon sa bawat node
Ang model dropdown sa mga Claude node ng n8n ay live na kinukuha mula sa API, kaya ipinapakita nito kung alin ang maa-access ng iyong key. Noong July 2026, ganito ang lineup at API pricing bawat milyon na input/output token: Claude Haiku 4.5 (claude-haiku-4-5) sa $1/$5, na may 200K context window; Claude Sonnet 5 (claude-sonnet-5) sa $3/$15, o introductory price na $2/$10 hanggang August 31, 2026; at Claude Opus 4.8 (claude-opus-4-8) sa $5/$25. Parehong may 1M-token context window ang huling dalawang modelo. Mayroon ding Claude Fable 5 (claude-fable-5) sa $10/$50 para sa pinakamahirap na reasoning work, pero walang bahagi ng gabay na ito ang nangangailangan nito. Gamitin ang eksaktong mga ID na ito. Magre-return ng 404 ang date-suffixed variant na naaalala mo mula sa lumang tutorial. Nagbabago ang mga presyo, kaya tingnan ang platform.claude.com bago magtiwala sa anumang numerong mabasa mo kahit saan, kabilang dito.
Ito ang dapat na gawing nakasanayan: pumili ng modelo ayon sa bawat node, hindi ayon sa platform. Ang classification, extraction, summarization, at routing—ang pangunahing gawain sa automation—ay mahusay na tumatakbo sa Haiku sa one-third ng list price ng Sonnet at one-fifth ng list price ng Opus. Gamitin ang Sonnet para sa mga agent at multi-step reasoning. Ilaan ang Opus sa mga bihirang workflow kung saan mas malaki ang gastos ng maling sagot kaysa sa tokens. Maaaring, at dapat, maghalo ng mga modelo ang workflow na may limang Claude node.
Ang dalawang Claude node, at kung saan gagamitin ang bawat isa
May dalawang magkaibang Anthropic integration ang n8n, at ang pagpili sa maling node ang pinakakaraniwang pagkaligaw ng mga baguhan.
Ang Anthropic node ay isang regular na app node: isang request ang pumapasok at isang response ang lumalabas. May Message a Model operation ang Text resource nito, pati mga operation para sa pagsusuri ng mga image at document. Gamitin ito kapag nasa n8n ang workflow logic: trigger, Claude call, at kasunod na node. Ginagamit ito o ang katumbas nitong chain sa Workflows 1 at 2 sa ibaba.
Ang Anthropic Chat Model node ay isang sub-node, o maliit na attachment na nagbibigay ng model sa isang root node gaya ng AI Agent o Basic LLM Chain. Wala itong sariling trigger o output. Ipinapakita nito ang model picker at mga sampling option gaya ng Maximum Number of Tokens at Sampling Temperature. May isang mahalagang caveat mula sa n8n docs: ang mga expression sa loob ng sub-node ay palaging nire-resolve batay sa first input item, hindi sa bawat item. Ilagay ang mga expression na kailangang magbago bawat item sa prompt fields ng root node, hindi sa sub-node.
Workflow 1: webhook papasok, buod palabas
Ang hello-world ng AI automation: anumang POST na ipinadala sa isang URL ay ibubuod at mapupunta sa Slack o sa iyong inbox.
- Webhook node, HTTP Method POST, path
summarize. Nagbibigay ang n8n ng test URL at production URL; makikinig lamang ang production URL kapag aktibo ang workflow. - Anthropic node, Message a Model, model
claude-haiku-4-5, Max Tokens na nasa 300. - Slack node (o Send Email), i-post ang response text sa isang channel.
Dito nagtatagpo ang mga n8n expression at Claude: sa prompt. Napupunta ang POST body sa ilalim ng $json.body, kaya ganito ang hitsura ng user message field:
Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.
{{ $json.body.text }}Ilagay ang mga instruction para sa role at format sa system prompt field ng node, hindi sa user message. Nanatiling pareho ang system prompt habang nagbabago ang payload. Dahil dito, mas stable ang behavior at mas madaling basahin ang prompt pagkalipas ng anim na buwan. Subukan ito mula mismo sa VPS:
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..."}'Sa Haiku, ang gastos sa bawat run para sa payload na 1,200 token kasama ang prompt ay humigit-kumulang $0.0012 para sa input, at $0.0015 para sa 300 token na output—tinatayang isang-kapat ng isang sentimo. Ang 1,000 run bawat buwan ay wala pang $3. Ang parehong node na itinuro sa Opus 4.8 ay humigit-kumulang limang beses ang gastos. Ang ratio na iyon, kapag pinarami sa bawat workflow na ginagawa mo, ang dahilan kung bakit mahalaga ang paggamit ng tamang model sa bawat node.
Workflow 2: naka-schedule na RSS papunta sa structured rows
Ngayon, gagamit tayo ng workflow na tumatakbo ayon sa iskedyul at may structured output: babasahin ang RSS feed bawat oras, ika-classify ang bawat item, at mag-a-append ng mga row sa isang sheet.
- Schedule Trigger, bawat oras.
- RSS Read, ang feed URL. Naglalabas ito ng isang item para sa bawat article.
- Basic LLM Chain, na may Anthropic Chat Model sub-node na naka-set sa
claude-haiku-4-5, at Structured Output Parser sub-node na may JSON schema. - Google Sheets (o Postgres), mag-a-append ng isang row para sa bawat item.
Ang Structured Output Parser ang nagko-convert sa “Claude, magbalik ka ng JSON” mula sa simpleng pag-asa tungo sa isang contract: bina-validate nito ang sagot ng model laban sa schema mo, at malinaw na dini-disable nito ang item kapag may error sa halip na magsulat ng mga row na may maling data. Halimbawa ng schema:
{
"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"]
}Tinutukoy ng prompt ng chain ang feed item:
Classify this article for a VPS hosting audience.
Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}Iba ang cost calculation dito: per-item ito, hindi per-run. Kung may 50 article bawat oras sa loob ng 24 oras bawat araw, aabot ito sa 36,000 Claude call bawat buwan. Sa Haiku, maaaring umabot ito sa humigit-kumulang $40–90 depende sa haba ng article; sa Opus, mga limang beses ang halagang iyon. Mag-deduplicate bago ang LLM node, gamit ang simpleng IF laban sa mga link na dati nang nakita o ang Remove Duplicates node ng n8n. Bababa nang malaki ang bilang dahil karaniwang walang bagong item sa karamihan ng hourly poll. Ang pinakamurang token ay ang call na hindi mo ginawa.
Workflow 3: isang AI Agent na gumagamit ng tools
Ang unang dalawang workflow ay mga pipeline; ikaw ang nagtatakda ng mga hakbang. Binabago ito ng AI Agent node: binibigyan mo si Claude ng goal at mga tool, at siya ang nagpapasya kung aling mga tool ang tatawagin at kung anong pagkakasunod-sunod, hanggang matapos ang gawain. Nangangailangan ang n8n ng chat model sub-node at kahit isang tool sub-node na naka-attach.
Isang konkretong build: isang ops assistant na sumasagot sa tanong na “ano ang down at bakit” batay sa monitoring system mo:
- Chat Trigger (o webhook), kung saan dumarating ang tanong.
- AI Agent, na may Anthropic Chat Model sub-node na naka-set sa
claude-sonnet-5. Nagpa-plan at nagcha-chain ng tool calls ang mga agent; kayang magpatakbo ng mga simpleng single-tool agent ng Haiku, pero ang Sonnet ang praktikal na minimum kapag dumarami ang tools. - HTTP Request node na naka-attach bilang tool, at nakaturo sa status API ng Uptime Kuma o Zabbix endpoint mo. Maaaring gumamit ang ikalawang HTTP tool ng anumang ibang REST API.
Dalawang setting ang gumaganap ng karamihan sa trabaho. Tinutukoy ng System Message ng agent ang gawain: “Isa kang ops assistant. Gamitin ang status tool upang suriin ang kasalukuyang estado ng mga monitor bago sumagot. I-report lamang ang mga monitor na down, kasama ang tagal.” Ang description ng bawat tool ay hindi dokumentasyon para sa mga tao; ito ang ginagamit ni Claude upang magpasya kung kailan tatawagin ang tool. Tatawagin sa tamang pagkakataon ang “Returns current up/down state for all monitored services as JSON”; samantala, maaaring hindi gamitin o maling magamit ang “status API”. Kapag ini-attach mo ang HTTP Request node bilang tool, i-enable ang Optimize Response option at piliin ang mahahalagang JSON field. Kung hindi, isinasama ang buong verbose API response sa context ng model bilang input tokens na sisingilin sa iyo.
Itakda ang Max Iterations sa agent (ang default ay 10) sa pinakamaliit na bilang na gumagana. Ito ang pagkakaiba sa pagitan ng “sumuko ang agent matapos ang 4 na tool call” at isang loop na may dose-dosenang model round-trip. Dapat mo ring maunawaan ang billing: sa bawat iteration, muling ipinapadala ang buong conversation hanggang sa puntong iyon—ang system message, tanong, at bawat naunang tool result—bilang input tokens. Madaling umabot ang isang six-iteration agent run sa 20,000 cumulative input tokens at 2,000 output: sa introductory pricing ng Sonnet 5, humigit-kumulang $0.06 ito, o mga $0.09 sa standard na $3/$15; sabihin nang dalawampung beses ang halaga ng isang simpleng summarization run. Kung napapadagdag ka ng maraming tool sa iisang agent, iyon na ang puntong mas malinis na architecture ang pagpapatakbo ng MCP servers sa VPS mo.
Mga cost guardrail, dahil walang nagbabantay
Kailangan ng unattended workflow ang mga control na kusang ibinibigay ng taong nasa keyboard. May apat na layer, mula sa pinakamura.
Max Tokens sa bawat Claude node. Hard output cap ito. Kailangan ng summarizer ng 300, at ng classifier ng 100. Nililimitahan nito ang mas mahal na bahagi ng ledger ($5–$25 bawat million output token kumpara sa $1–$5 para sa input) at nagsisilbi rin itong preno kapag runaway ang proseso. Kapag may prompt bug na nagpapahaba ng sagot ni Claude, 300 token lang ang magagastos, hindi 8,000.
Model sa bawat node. Nabanggit na ito sa itaas. Ito ang nag-aalok ng five-to-tenfold na pagkakaiba sa presyo sa kasalukuyang lineup, at sampung segundo lang ang kailangan para i-set ito.
Limitahan ang mga loop. Itakda ang Max Iterations sa mga agent. Magtakda rin ng workflow timeout sa settings ng workflow para mamatay ang naka-stuck na execution sa halip na patuloy na umikot. Mag-ingat sa Retry On Fail sa bawat node. Tamang tool ito para sa transient error, pero pinaparami ng retry ang cost. Kapag ang Max Tries ay 3 at ang Wait Between Tries ay 5000 ms, maaari kang masingil nang hanggang tatlong beses bawat item para sa persistent failure bago ito sumuko. Huwag maglagay ng retry sa paligid ng node na nakumpleto na ang mahal na operasyon.
Error workflow bilang huling proteksiyon. Gumawa ng workflow na nagsisimula sa Error Trigger node at nagpo-post sa Slack ng pangalan at error ng nabigong workflow. Pagkatapos, itakda ito bilang Error Workflow sa settings ng bawat AI workflow. Ang pinakamalalang failure mode na nahuhuli nito ay isang schedule-triggered workflow na nagkaka-error sa bawat run, bawat oras, sa loob ng isang linggo. Sa bawat run, gumagastos ito ng token bago mamatay. Ipares ito sa monthly spend limit sa Anthropic Console, at tingnan ang usage page ng Console sa mga unang araw matapos i-activate ang anumang naka-schedule. Kung gusto mong eksaktong malaman kung para saan ka sinisingil, sinusuri ito ng gabay sa paggamit ng token.
Failure modes, with the strings you will see
Agad na nagfa-fail ang node na may “Authorization failed - please check your credentials.” Nagbalik ang API ng 401. Ito ang body:
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}Maaaring maling pagkaka-paste ng key, naputol na key, may trailing whitespace, o placeholder mula sa tutorial. Gawin muli ang n8n credential at i-paste ulit ang key. Kung gumana ito kahapon, tingnan kung na-revoke ang key sa Console o kung nag-rollback ang volume restore sa credential na na-encrypt gamit ang ibang N8N_ENCRYPTION_KEY.
Sunod-sunod na nagfa-fail ang executions na may 429 rate_limit_error, na may mensaheng gaya ng “Number of request tokens has exceeded your per-minute rate limit.” Ang rate limits ay nakaayos sa per-minute buckets, at napakadaling magpatakbo ang n8n ng limampung webhook o RSS executions nang sabay-sabay. Ayusin ito sa istruktural na paraan: iproseso ang mga item nang sunod-sunod gamit ang Loop Over Items sa halip na parallel, at itakda ang Retry On Fail sa Max Tries 3 at Wait Between Tries na 5000 ms. Nililimitahan ng n8n sa 5000 ms ang field na iyon. Kapag kailangan mo ng mas mahabang backoff para mapunta ang mga retry sa susunod na minute window, maglagay ng Wait node sa error path o iproseso ang mga item nang paisa-isa. May retry-after header ang response na nagsasabi kung gaano katagal eksaktong maghihintay. Hindi ito mabasa ng fixed wait ng n8n, kaya ikaw mismo ang gumawa ng mas mahabang pause.
404 not_found_error kapag pinapangalanan ang iyong model. Inuulit ng body ang typo:
{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}Maaaring tuldok ang ginamit sa halip na hyphen (4.5 para sa 4-5), may date suffix mula sa lumang blog post, o retired na ang model. Itama ang ID batay sa kasalukuyang listahan. Madalas itong nangyayari kapag mano-mano kang nagta-type sa model field bilang expression sa halip na pumili mula sa dropdown.
Sumasagot si Claude sa tanong na hindi mo naman itinanong. Walang error kahit saan at green ang run. Kapag tumutukoy ang isang n8n expression sa nawawalang field, gaya ng {{ $json.body.text }} samantalang message ang ginamit ng payload, inilalagay nito ang literal na string na undefined sa prompt mo. Kaya sumasagot si Claude sa prompt na walang malinaw na paksa. Kung hindi talaga nag-execute ang tinukoy na node, makikita mo ang “Referenced node is unavailable.” Pero tahimik na hinahawakan ang nawawalang field. Bago i-activate, palaging mag-run nang isang beses gamit ang aktuwal na data at basahin ang aktuwal na na-render na prompt sa input panel ng node. Ipinapakita ng expression editor ang resolved value, at naroon mismo ang undefined kung susuriin mo.
FAQ
Paano ko ikokonekta ang Claude sa n8n?
Gumawa ng API key sa Anthropic Console sa platform.claude.com, pagkatapos ay magdagdag ng credential na may type na Anthropic sa n8n at i-paste ito sa field na API Key. Ginagamit ng bawat Claude node, ng Anthropic app node, at ng Anthropic Chat Model sub-node ang nakaimbak na credential na iyon. Ine-encrypt ito ng n8n gamit ang N8N_ENCRYPTION_KEY, kaya i-back up ang key na iyon. Kung hindi, mawawala ang credentials kapag nawala ang volume.
Magkano ang gastos ng isang AI workflow sa bawat run?
Tantiyahin ang mga token sa bawat run, pagkatapos ay i-multiply ito sa per-million price ng model. Noong July 2026, ang Haiku 4.5 ay $1/$5 bawat million input/output tokens, at ang Sonnet 5 ay $3/$15 ($2/$10 introductory price hanggang August 2026). Ang webhook summarization sa Haiku ay nagkakahalaga ng humigit-kumulang isang-kapat ng isang cent; ang agent run sa Sonnet na may ilang tool call ay mas malapit sa $0.06–$0.10 dahil ipinapadala nitong muli bilang input ang buong conversation sa bawat iteration. I-verify ang run sa usage page ng Console sa halip na umasa sa mga estimate.
Aling Claude model ang dapat kong gamitin para sa n8n automations?
Gamitin ang Haiku 4.5 para sa classification, extraction, summarization, at routing, lalo na sa high-volume na trabaho kung saan mahalaga ang bilis at mababang presyo. Gamitin ang Sonnet 5 para sa AI Agent nodes at multi-step reasoning. Gamitin lamang ang Opus 4.8 kapag sapat na kamahal ang maling sagot para bigyang-katwiran ang list price nitong $5/$25, limang beses ng Haiku at bahagyang mas mababa sa dalawang beses ng Sonnet. Itakda ang model sa bawat node, hindi sa bawat workflow. Maaaring pagsamahin ng isang workflow ang tatlo.
Paano ko pipigilan ang n8n workflow na lumampas sa budget para sa Claude API?
Ipatupad ang mga guardrail sa magkakasunod na layer: magtakda ng mababang Max Tokens sa bawat Claude node, Max Iterations sa mga agent, workflow timeout, at conservative na Retry On Fail settings upang hindi dumami ang token spend dahil sa failures. Pagkatapos, magdagdag ng Error Trigger workflow na mag-a-alert sa iyo sa Slack kapag nag-fail ang anumang AI workflow, at magtakda ng monthly spend limit sa Anthropic Console bilang hard ceiling na walang maaaring lampasan ng anumang nasa VPS.
May dagdag bang gastos ang AI Agent tool calls?
Walang hiwalay na tool fee, pero hindi libre ang mga tool: ipinapasa pabalik sa model ang bawat tool result bilang input tokens, at ipinapadala nitong muli ang buong conversation hanggang sa puntong iyon sa bawat agent iteration. Maaaring mas malaki pa sa aktuwal mong prompt ang isang chatty API response na ipinasa nang walang filtering. I-enable ang Optimize Response sa HTTP Request tools at ibalik lamang ang mga field na kailangan ng agent.