<!-- BusyBot node reference — https://busybot.net/tools/netlify/ -->

> Node: Netlify (`netlify`) · Action · v1
> Category: Development · Credentials: Netlify (`netlifyApi`)
> Updated: 2026-08-16

# Netlify

> Manage Netlify sites and deployments.

## Overview

Netlify is a web hosting and deployment platform. This tool manages Netlify sites (get, list, delete) and deployments (create, cancel, get, list) via the Netlify REST API v1. It supports pagination for listing operations and uses Bearer token authentication.

**Category:** Development  
**Tool Name:** `netlify`  
**Version:** 1

**Appearance:** Icon: `si-netlify` | Color: `#00C7B7`

## Node Type

**Action** — processes input items and produces output

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | `Input` |
| Output | `Output`, `Error` |

## Credentials

This tool requires **Netlify** credentials.
See the [Credentials Guide](https://busybot.net/credentials/netlify-api/) for setup instructions.

### Resources

| Resource | Value |
|----------|-------|
| Deploy | `deploy` |
| Site | `site` |

### Operations

**Deploy**

| Operation | Value | Description |
|-----------|-------|-------------|
| Cancel | `cancel` | Cancel a deployment |
| Create | `create` | Create a new deployment |
| Get | `get` | Get a deployment |
| Get Many | `getAll` | Get many deployments |

**Site**

| Operation | Value | Description |
|-----------|-------|-------------|
| Delete | `delete` | Delete a site |
| Get | `get` | Get a site |
| Get Many | `getAll` | Get many sites |

### Parameters

#### Deploy: Cancel

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Deploy ID | `string` | Yes | — | The deploy ID. Supports expressions like {{ $json.deployId }}. |

#### Deploy: Create

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Site ID | `string` | Yes | — | The Netlify Site ID. Find it in Netlify dashboard: Site settings > General > Site ID. Supports expressions like {{ $json.siteId }}. |
| Additional Fields | `collection` | No | `{}` | Additional fields for the deploy creation. |
| — Branch | `string` | No | — | Branch to deploy from. |
| — Title | `string` | No | — | Title for the deployment. |

#### Deploy: Get

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Site ID | `string` | Yes | — | The Netlify Site ID. Find it in Netlify dashboard: Site settings > General > Site ID. Supports expressions like {{ $json.siteId }}. |
| Deploy ID | `string` | Yes | — | The deploy ID. Supports expressions like {{ $json.deployId }}. |

#### Deploy: Get Many

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Site ID | `string` | Yes | — | The Netlify Site ID. Find it in Netlify dashboard: Site settings > General > Site ID. Supports expressions like {{ $json.siteId }}. |
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `50` | Max number of results to return. _(shown when Return All is `false`)_ |

#### Site: Delete

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Site ID | `string` | Yes | — | The Netlify Site ID. Find it in Netlify dashboard: Site settings > General > Site ID. Supports expressions like {{ $json.siteId }}. |

#### Site: Get

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Site ID | `string` | Yes | — | The Netlify Site ID. Find it in Netlify dashboard: Site settings > General > Site ID. Supports expressions like {{ $json.siteId }}. |

#### Site: Get Many

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `50` | Max number of results to return. _(shown when Return All is `false`)_ |

#### All Operations

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Max Concurrency | `number` | No | `10` | Maximum number of items to process concurrently. |

## Output Data

The Netlify API response is **merged onto the input item JSON** — fields already on the item pass through and the response object is written on top of them. Binary data is forwarded unchanged.

| Operation | Output items per input item |
|-----------|-----------------------------|
| `deploy` / `cancel`, `create`, `get` | One item carrying the deploy object |
| `deploy` / `getAll` | **Fans out** — one item per deployment returned |
| `site` / `get` | One item carrying the site object |
| `site` / `getAll` | **Fans out** — one item per site returned |
| `site` / `delete` | One item carrying `deleted: true` and the `siteId` that was removed |

With Return All on, both list operations page through the whole result set before fanning out; with it off, they request a single page capped at Limit.

Reference the result downstream by expression, e.g. `{{ $json.id }}` for a deploy or site ID.

## Usage Examples

- List all deployments for a Netlify site
- Create a new deploy for a site
- Cancel an in-progress deployment
- Get details of a specific site
- Delete a Netlify site
- List all sites accessible to the authenticated user

## Example Configuration

Create a deployment for a site, naming the branch and title:

```json
{
  "type": "netlify",
  "parameters": {
    "resource": "deploy",
    "operation": "create",
    "siteId": "{{ $json.siteId }}",
    "additionalFields": {
      "branch": "main",
      "title": "Production deployment"
    }
  }
}
```

Check the status of a single deployment:

```json
{
  "type": "netlify",
  "parameters": {
    "resource": "deploy",
    "operation": "get",
    "siteId": "{{ $json.siteId }}",
    "deployId": "{{ $json.deployId }}"
  }
}
```

List the 50 most recent deployments for a site:

```json
{
  "type": "netlify",
  "parameters": {
    "resource": "deploy",
    "operation": "getAll",
    "siteId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "returnAll": false,
    "limit": 50
  }
}
```

Cancel an in-progress deployment:

```json
{
  "type": "netlify",
  "parameters": {
    "resource": "deploy",
    "operation": "cancel",
    "deployId": "{{ $json.deployId }}"
  }
}
```

List every site the credential can reach:

```json
{
  "type": "netlify",
  "parameters": {
    "resource": "site",
    "operation": "getAll",
    "returnAll": true
  }
}
```

Delete a site:

```json
{
  "type": "netlify",
  "parameters": {
    "resource": "site",
    "operation": "delete",
    "siteId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}
```

### Error Handling

| Mode | Behavior |
|------|----------|
| **stop** | Halts workflow on first error |
| **continue** | Skips failed items, passes successful ones through |
| **errorPort** | Routes failed items to Error output port |

## Tips

Manages Netlify sites and deployments, supporting create, cancel, get, list, and delete operations via the Netlify API.