Expose n8n to the Internet

Make your self-hosted n8n instance accessible for webhooks and external integrations.

Why Expose n8n?

n8n workflows triggered by webhooks need a public URL. Services like Stripe, GitHub, and Slack send events to a URL you control.

Without a tunnel, self-hosted n8n is unreachable from the internet — webhooks fail silently.

Setup

Start n8n locally — it defaults to port 5678.

Run the Skytunnel SSH command with port 5678. You'll instantly get a public HTTPS URL.

Paste the public URL into your webhook trigger node in n8n. Events will flow through immediately.

Webhook Configuration

In your n8n workflow, add a Webhook node. Set the HTTP method to POST.

Copy the Skytunnel public URL and append the Webhook path (e.g., https://abc123.free.skytunnel.dev/webhook/my-hook).

Test by sending a request from your external service. The n8n execution list will show the incoming payload.

? FAQ

No. n8n listens on 0.0.0.0 by default. The tunnel works out of the box.
The subdomain changes on each reconnect on the free tier. For persistent URLs, upgrade to a paid key.
Yes. If n8n is in Docker, forward the host port that maps to n8n's 5678.