# FTP - Workflow node | Docs - nodulz

Source: https://nodulz.com/docs/nodes/ftp

Language: en

Transfer and manage files over FTP or FTPS.

## Usage and specifics

FTP uses an FTP credential; SFTP uses an SSH credential. Check remote paths and permissions before writing or deleting. Triggers poll files after publishing; interval and filters determine detected events.

Technical type : `ftp`. Runtime : `nodulz`.

## Credentials and prerequisites

- [FTP / FTPS](/docs/credentials) (`ftp` / `user_password`). FTP server with username and password. Explicit TLS enabled by default.

Create credentials in your nodulz instance’s Credentials area, then select them on the node. Availability depends on ownership and sharing. See the [credentials guide](/docs/credentials) for access and rotation.

## Parameters

Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.

| Parameter | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `credentialId` | `string` | `""` | - |
| `operation` | `enum` | `"list"` | `list`, `download`, `upload`, `rename`, `delete`, `mkdir`, `rmdir` |
| `path` | `string` | `"."` | - |
| `destination` | `string` | `""` | - |
| `content` | `string` | `""` | - |
| `encoding` | `enum` | `"utf8"` | `utf8`, `base64` |

## Configuration help

| Setting | Purpose and guidance |
| --- | --- |
| `operation`<br>Operation | Upload overwrites an existing file. Removing a directory requires it to be empty. Parent directories must exist. |
| `destination`<br>Destination path | New full path for renaming or moving. The parent directory must exist. |
| `encoding`<br>Encoding | UTF-8 for text, Base64 for binary files. Downloaded content is returned in content. |
| `content`<br>Content | Text or Base64 data according to the encoding. Accepts an expression from a previous node. |

## Initial configuration

Initial catalog configuration example, to adapt before running. Keep secrets in credentials.

```json
{
  "credentialId": "",
  "operation": "list",
  "path": ".",
  "destination": "",
  "content": "",
  "encoding": "utf8"
}
```

## Verification

Test with representative data. Check node output in the inspector and logs, then use editor mapping for downstream fields. A trigger test with a simulated payload does not validate external service delivery.

See also : [Expressions and data](/docs/expressions), [Executions](/docs/executions), [Node catalog](/docs/nodes).

## Explore further

- [Features - nodulz](https://nodulz.com/product/overview)
- [Node catalog - nodulz](https://nodulz.com/product/catalog)
- [MCP server - nodulz](https://nodulz.com/product/mcp)
- [Pricing - nodulz](https://nodulz.com/pricing)
- [Use cases and workflow automation - nodulz](https://nodulz.com/use-cases)
- [Choose what your workflows can do. - nodulz](https://nodulz.com/compare)
- [Documentation - nodulz](https://nodulz.com/docs)
