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, and 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.