---
title: FTP
slug: ftp
docTags: 
createdAt: 2025-03-25T11:46:21.263Z
---

The FTP node is useful for accessing and uploading files to an FTP (File Transfer Protocol) or SFTP (Secure Shell File Transfer Protocol) server. **The node supports only non-binary file formats, such as CSV and HTML.**

1. Activate or deactivate the node. If the node is inactive, the node will be skipped(<font color="#ff0000">1</font>)
2. Create new or find already created credentials (<font color="#ff0000">2</font>)
3. File transfer protocol FTP or SFTP (<font color="#ff0000">3</font>)
4. Choose one of the operations Delete, Download, List, Rename, Upload (<font color="#ff0000">4</font>)
5. The file path of the file to upload. It has to contain the full path (<font color="#ff0000">5</font>):&#x20;
6. The text content of the file to upload (<font color="#ff0000">6</font>)
7. If active, the workflow continues even if this node's execution fails (<font color="#ff0000">7</font>)

::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/NXAJVkn_T7vAVxFDLIlYv_screenshot-2025-03-27-at-105023.png" size="88" width="1540" height="1966" position="center" darkWidth="1540" darkHeight="1966" showCaption="false"}

## Protocol methods

- **FTP account**: Use this method if your FTP server doesn't support SSH tunneling or encrypted connections.
- **SFTP account**: Use this method if your FTP server supports SSH tunneling and encrypted connections.

### FTP credentials

1. Name for credentials (<font color="#ff0000">1</font>)
2. Enter the name or IP address of your FTP server's host (<font color="#ff0000">2</font>) (**make sure** that the address ends without the "**/**" symbol )
3. Enter the Port number the connection should use (<font color="#ff0000">3</font>)
4. Enter the Username the credential should connect as (<font color="#ff0000">4</font>)
5. Enter the user's Password (<font color="#ff0000">5</font>)

::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/WgptnfJe5VxIwoDsQmhdP_screenshot-2025-03-27-at-111705.png" size="82" width="1532" height="1312" position="center" showCaption="false"}

### SFTP credentials

Use this method if your FTP server supports SSH tunneling and encrypted connections.

The required fields are the same as those for FTP, with a few additional fields:

**Private Key**: Enter a string for either key-based or host-based user authentication.

**Private Key Format**: Provide your Private Key in OpenSSH format. This key is typically generated using the `ssh-keygen -o` parameter.
For example `ssh-keygen -o -a 100 -t ed25519`

**Passphrase (if applicable)**: If your Private Key is encrypted, enter the Passphrase used to decrypt it. If no Passphrase is set, leave this field blank.

::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/p3VKetHWf2Q4Kcnn1_mrJ_screenshot-2025-03-27-at-131927.png" size="90" width="1548" height="370" position="center" showCaption="false"}

## Operations

- **Delete** a file or folder
- **Download** a file
- **List** will show the folder content
- **Rename** or move a file or folder
- **Upload** a file&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/b5WPep9JCkvyeIusU0hWj_screenshot-2025-03-27-at-120853.png" size="90" width="1558" height="558" position="center" showCaption="false"}

### Delete

This operation includes one parameter: **Path**. Enter the remote path that you would like to connect to.

**Delete option**

The delete operation adds one new option: **Folder**. If you turn this option on, the node can delete both folders and files. This configuration also displays one more option:

### Download

Configure this operation with these parameters:

- **Path**: Enter the remote path that you would like to connect to.
- **Binary property**: Enter the name of the output binary field to put the file in.

### List

Configure this operation with these parameters:

- **Path**: Enter the remote path that you would like to connect to.
- **Recursive**: Select whether to return an object representing all directories/objects recursively found within the FTP/SFTP server (turned on) or not (turned off).

### Rename

Configure this operation with these parameters:

- **Old Path**: Enter the existing path of the file you'd like to rename in this field.
- **New Path**: Enter the new path for the renamed file in this field.

**Сreate directories option**

&#x20;If you turn this option on, the node will recursively create the destination directory when renaming an existing file or folder.

### Upload

Configure this operation with these parameters:

- **Path**: Enter the remote path that you would like to connect to.
- **File Content**: Enter the text content of the file you'll upload in this field.

To attach a file for upload, you'll need to use an extra node such as the **Convert to file** node or the **HTTP Request** node to pass the file as a data property

## Example: Uploading a File with FTP

1. Ensure the node is active so it functions correctly (<font color="#ff0000">1</font>)
2. Choose FTP from the available protocols. (<font color="#ff0000">2</font>)
3. Select an existing FTP credential `Cars`(<font color="#ff0000">3</font>)
4. Select the appropriate operation to Upload a file (<font color="#ff0000">4</font>)
5. Enter the correct path in the following format(<font color="#ff0000">5</font>) `/YourFolderName/contact.csv`
   - Ensure the path starts with "/".&#x20;
   - Replace "YourFolderName" with the correct folder name
   - Ensure the file name includes the correct extension (.csv)
6. Enter the file's content using the computed expression: `${json.data}` should be in the computed expression(<font color="#ff0000">6</font>)
7. Leave this option disabled to stop the process if an error occurs (<font color="#ff0000">7</font>)

![](https://api.archbee.com/api/optimize/5goaGPkGyPYxtK7K75CEC/EAYx17zKNS6rVffaPlMya_screenshot-2025-03-31-at-123315.png)

