# n8n Node

> A community node that publishes sites from any n8n workflow, callable by an n8n AI Agent as a tool, with no account needed.

Source: https://docs.shipstatic.com/n8n

Publish a site from any n8n workflow — and it works with no account at all. [NPM](https://www.npmjs.com/package/n8n-nodes-shipstatic) / [GIT](https://github.com/shipstatic/n8n)

## Install

In your n8n instance: **Settings → Community Nodes**, then install:

```
n8n-nodes-shipstatic
```

Restart n8n afterwards. Works on n8n Cloud and self-hosted.

## Publish without an account

Add a **ShipStatic** node. There are no credentials to configure.

1. Set **Resource** to *Deployment* and **Operation** to *Deploy*
2. Feed it files — binary files from an upstream node (HTTP Request, Google Drive, Convert to File), or toggle **Binary File** off and paste HTML into **File Content**
3. Run it

Your site is live on `*.shipstatic.com`. Published this way it is public and expires in **3 days**, and the output carries a **claim URL** — surface that to whoever should keep the site.

Deploying a React, Vue or Svelte build? The node detects it and adds the routing config the site needs, so `/about` resolves to your app instead of returning 404. Turn it off under **Single-Page App Routing**, or ship your own `ship.json` — the node never overwrites one you included.

Want it private? Set a **Password** under Options (6–128 characters).

## Deploy to your account

For permanent deployments and everything beyond publishing:

1. Get a free [API Key](https://docs.shipstatic.com/api-key) at [my.shipstatic.com/api-key](https://my.shipstatic.com/api-key)
2. In n8n: **Credentials → New Credential → ShipStatic API**
3. Paste it into **Token** and save

The field is called **Token** and your API key is what goes in it — one credential, two names. It also accepts a [deploy token](https://docs.shipstatic.com/tokens) (`deploy-…`), and the server tells them apart by shape, so there is nothing to select.

A deploy token will **fail the credential connection test**, which checks account access. That is expected rather than a broken credential: use one for deploy-only workflows and an API key for everything else.

## Retries that don't deploy twice

n8n's **Retry On Fail** makes a workflow the most likely thing to retry a deploy automatically. Set an **Idempotency Key** under Options and a retry replays the original deployment instead of creating a second one:

```
{{ $execution.id }}
```

Key the *attempt*, never the try — a value that stays the same across retries of one logical deploy and differs for the next. Leave it empty and every run deploys afresh.

## Operations

Both **List** operations honour n8n's usual controls: **Return All** follows pagination to the end, **Limit** stops once it has collected that many.

### Deployments

| Operation | Description |
|-----------|-------------|
| Deploy | Publish files and get a live URL instantly |
| List | All deployments with URLs, status, labels, and protection state |
| Get | Details for one deployment |
| Set | Update labels (replaces all existing labels) |
| Delete | Delete a deployment and all its files |

Deleting is asynchronous: the response reports a `deleting` status, and the site stays served until background cleanup finishes.

### Domains

| Operation | Description |
|-----------|-------------|
| Set | Create or update a domain — reserve, link, switch deployments, or label |
| List | All domains with their linked deployment and verification status |
| Get | Details for one domain |
| Records | The DNS records you need to add at your provider |
| DNS | Which DNS provider hosts a domain (Cloudflare, Namecheap, …) |
| Share | A shareable setup link so someone else can view the required records |
| Validate | Check a name is valid and available before connecting it |
| Verify | Queue a DNS check after you configure the records |
| Delete | Permanently disconnect and delete a custom domain |

### Account

| Operation | Description |
|-----------|-------------|
| Get | Your account details including email, plan, and usage |

## As an agent tool

The node is marked `usableAsTool`, so an n8n AI Agent can call it directly — the same operations, chosen by the model rather than wired by hand. See [MCP](https://docs.shipstatic.com/mcp) if you want an agent outside n8n to publish for you.

## Architecture

The node calls the [API](https://docs.shipstatic.com/api) over direct HTTP with zero runtime dependencies — n8n Cloud's verification requires it. Its credential lives in n8n's own encrypted credential store rather than in any file on disk.
