RL ROLAND LOPEZ
// 2 min read

Build Custom n8n Nodes & Deploy with Kamal

Build Custom n8n Nodes & Deploy with Kamal

Some things n8n just does not do out of the box. When you hit that wall often enough, you stop writing one-off Code nodes and build a real, reusable one. This video shows how, end to end, and ships it to production with Kamal.

What the video covers

I build a Random Number Generator node from scratch, then deploy it:

  • Scaffolding a custom node as a TypeScript class (INodeType)
  • Defining operations and parameters that show up in the n8n UI
  • Local development with Docker and hot reload
  • Adding a custom credential type
  • Deploying the custom n8n image to production with Kamal, zero-downtime

When to build a custom node

You do not always need one. A Code node is fine for one-off logic.

Build a real node when you want reusable, shareable functionality across many workflows, a proper UI with typed parameters, versioning, and team-wide consistency. The moment you are pasting the same Code node into a third workflow, it is time.

Get the code

The starter repo has everything: the Docker setup, TypeScript config, build scripts, and the example node.

â„šī¸

Grab it on GitHub: github.com/letItCurl/n8n-custom-node. Clone it, swap in your own node, and deploy to your own infrastructure.

Want it built for you?

If you need a custom n8n node, or a deployment that does not fall over, book a free Gap Assessment and I will build and ship it for you.

Roland Lopez
Written by
Roland Lopez

Technical founder & AI crack-head

Built by Agent Skynet Better call Roland