---
title: "n8n Webhook Trigger (No Public IP) | WebhookRelay"
meta:
  "og:description": "Receive webhooks (Stripe, GitHub, Shopify…) in self-hosted / on-prem n8n with no public IP, port forwarding or tunnel. n8n connects out over a WebSocket and is never exposed to the internet."
  "og:title": "n8n Webhook Trigger (No Public IP)"
  description: "Receive webhooks (Stripe, GitHub, Shopify…) in self-hosted / on-prem n8n with no public IP, port forwarding or tunnel. n8n connects out over a WebSocket and is never exposed to the internet."
---

![Stripes](https://webhookrelay.com/docs/tutorials/n8n/webhook-trigger/images/stripes.svg)

Documentation

**Fundamentals**

# **n8n Webhook Trigger (No Public IP)**

Receive webhooks (Stripe, GitHub, Shopify…) in self-hosted / on-prem n8n with no public IP, port forwarding or tunnel. n8n connects out over a WebSocket and is never exposed to the internet.

To receive a webhook, n8n's built-in Webhook node needs a **public URL** — which means exposing your instance to the internet with a reverse proxy, a tunnel, or `--tunnel`. If your n8n runs **on-prem, behind a firewall, or on `localhost`**, that's the hard part.

The [Webhook Relay Trigger](https://www.npmjs.com/package/n8n-nodes-webhookrelay) removes it. Webhook Relay gives your provider a stable public URL, verifies and answers the sender, and your n8n node **opens an outbound WebSocket** to receive each event. Nothing listens for inbound connections — no public IP, no tunnel, no agent.

```
Provider ──HTTP──▶ Webhook Relay (public URL, auth + response)
                        │
        n8n ──outbound WebSocket──┘   ← n8n connects out; nothing inbound
```

## [1. Install the node](#_1-install-the-node)

In n8n go to **Settings → Community Nodes → Install** and enter `n8n-nodes-webhookrelay`. Two triggers appear in the node picker.

![Webhook Relay Trigger and Email Trigger in the n8n node picker](https://webhookrelay.com/docs/tutorials/n8n/webhook-trigger/images/tutorials/n8n/01-node-list.png)

## [2. Add the credential](#_2-add-the-credential)

Create an **API key** at [my.webhookrelay.com/tokens](https://my.webhookrelay.com/tokens), then in the node click **Set up credential** and paste it into a **Webhook Relay API** credential.

![Webhook Relay API credential in n8n](https://webhookrelay.com/docs/tutorials/n8n/webhook-trigger/images/tutorials/n8n/05-credential.png)

## [3. Configure the trigger](#_3-configure-the-trigger)

Give it a **Bucket** name (e.g. `n8n`) — created automatically. Optionally set **Endpoint Authentication** (Basic or token) and the **Response** returned to the sender. Open the **Public URL** field to get the URL to hand your provider (`https://<id>.hooks.webhookrelay.com`).

![Webhook Relay Trigger parameters](https://webhookrelay.com/docs/tutorials/n8n/webhook-trigger/images/tutorials/n8n/02-trigger-config.png)

## [4. Activate and test](#_4-activate-and-test)

**Activate** the workflow, then send webhooks to that public URL. Requests appear in the [Webhook Relay dashboard](https://my.webhookrelay.com/buckets) and flow into n8n over the socket; the body, headers, query and method are all available to downstream nodes.

![Webhooks delivered to the n8n bucket](https://webhookrelay.com/docs/tutorials/n8n/webhook-trigger/images/tutorials/n8n/view-events.png)

> **Test vs activate:** _Test this trigger_ captures a **single** event so you can build the workflow, then stops — that's expected. **Activate** the workflow to receive events continuously. The connection keeps itself alive with a ping every 15 s and reconnects immediately if it ever drops.

**Throttle or rate-limit delivery:** the node creates an internal output on the bucket; open it in the dashboard to pace delivery (throttling) or tune per-output options without touching the node.

## [Get started](#get-started)

[Create a free Webhook Relay account](https://my.webhookrelay.com/register), install the node, and receive webhooks in on-prem n8n in a few minutes — no public IP required. Receiving **email** instead? See the [n8n Email Trigger](https://webhookrelay.com/docs/tutorials/n8n/webhook-trigger/docs/tutorials/n8n/email-trigger/).

Did this page help you?