Most automation tools feel like you are configuring a machine. n8n feels like you are wiring up a brain.

I run n8n alongside OpenClaw on my VPS. Together they handle scheduled tasks, data pipelines, and Telegram notifications — fully autonomous, no human in the loop. Here is how I actually build a workflow from scratch.

What is n8n?

n8n is an open-source workflow automation platform. Think Zapier, but self-hosted, with full access to code nodes, credentials management, and a REST API you can actually control. You own your data, your logic, and your schedule.

It runs in Docker, exposes a web UI on port 5678, and integrates with hundreds of services natively. I use it daily for stock price updates, weather fetching, and server health checks pushed to Telegram.

Step 1 — Start with a Trigger

Every workflow begins with a trigger node. The most common ones I use: Schedule Trigger for time-based tasks, Webhook for incoming HTTP calls, and Manual Trigger when I just want to test something fast.

For my BTC Daily workflow I use a Schedule Trigger set to 07:50 Vienna time. It fires once per day, pulls the current BTC price from CoinGecko, calculates the YTD change against the January 1st price, formats the result, and sends it to my Telegram chat. No server maintenance required after setup.

Step 2 — Add Action Nodes

After the trigger, you chain action nodes. Each node does one thing: fetch data, transform it, send it somewhere. The visual canvas makes the logic obvious at a glance — no mental model required.

A typical stack I build looks like this: Schedule Trigger → HTTP Request (API call) → Code Node (transform/calculate) → Telegram Node (send message). Four nodes. Done. The whole thing takes about ten minutes to wire up and runs forever.

Step 3 — The Code Node is Your Superpower

Most no-code tools break the moment you need custom logic. n8n does not, because the Code node lets you write raw JavaScript. You get full access to incoming data, can do any calculation, and return whatever shape you need downstream.

For the YTD calculation I grab two prices, compute the percentage change, format it with a + or - sign, and return a clean string ready for the Telegram message. Five lines of code inside a visual pipeline. That combination is hard to beat.

Step 4 — Test Before You Activate

n8n has a built-in manual execute button on every workflow. Hit it, watch the data flow through each node in real time, inspect the output at every step. No guessing, no waiting for the next scheduled run to see if something broke.

I always test with the manual trigger first, verify the output looks right, then activate the schedule. The execution history stays in the UI so you can debug any failed run later.

What I Run in Production

Right now I have four active workflows on my VPS: weather updates fetched three times a day and written to a JSON file the website reads live, stock prices pulled every weekday evening and stored for the portfolio dashboard, a BTC daily summary with YTD sent to Telegram each morning, and a server health check that reports CPU, memory, and uptime.

None of these required me to write a cron job, manage a Python script, or babysit a process. n8n handles the scheduling, the retries, and the logging. I just design the logic once and let it run.

Bottom Line

n8n is not a toy. It is production-grade automation that runs on your own hardware, respects your data, and scales as far as you need it to. If you are already running Docker on a VPS, adding n8n costs you one compose entry and fifteen minutes of setup.

The workflow I described above — trigger, HTTP request, code, Telegram — is the template for almost everything I build. Start there. You will find the hard part is not n8n. The hard part is running out of ideas for what to automate next.