Introducing the FTP task in Deluge

Introducing the FTP task in Deluge

Hello everyone,

We're excited to announce the launch of the FTP task, a powerful addition to Deluge that enables you to effortlessly transfer files between various Zoho apps and your own servers. Unlike the invokeUrl task, which supports various HTTP requests, the all-new FTP task is purpose-built for file transfers.

What is the FTP task?  
The FTP task in Deluge allows you to upload and download files directly to and from your own servers. This can be a game-changer for organizations with strict data residency or compliance requirements. The FTP task can be used across any Zoho service that supports Deluge, making it a powerful addition to your Deluge workflows.

Why use it?
For a variety of reasons, a growing number of organizations prefer not to host their data in cloud storage and instead store it within the safety of their own infrastructure. This task is built precisely for such teams, empowering them to connect with their own FTP/SFTP servers, and store or retrieve files securely while maintaining full control over their data.

Syntax

Quote

response = ftp
[
     action :<action_value>
     host :"<host_name>"
     port :<port_number>
     path : "<path_value>"
     files:file_object
     connection:"<connection_name>"
];

where,

  • ftp: This is the type of task used for file transfers. You'll need to replace "ftp" with "sftp" if you're using SFTP.

  • <action_value>: This specifies the action to be performed.

    • Use upload to send a file from Zoho to your server.

    • Use download to fetch a file from your server into Zoho.
  • <host_name>: This is the domain or URL of your FTP/SFTP server. This is where the file will be uploaded or from where it will be downloaded.
    Note: Only text-based hostnames are supported, and IP addresses are not allowed.

  • <port_number>: This is the network port used to connect to the server.

    • 21 is the default port for FTPS.

    • 22 is the default port for SFTP.

  • <path_value>: This is the path to the file location on the server.

    • For uploads, if the path is empty, the file will be placed in the default directory.

    • For downloads, this must be specified to locate the exact file.

  • file_object: This refers to the file object to be uploaded or the placeholder for the downloaded file.

  • <connection_name>: This is the name of your connection to authenticate and interact with your server. Following the launch of this task, we've also introduced default connectors for FTP and SFTP. To use this task, you'll first need to create and authenticate the required connection.

Notes

Note:

  • For the upload action in the FTP task, the action and host parameters are mandatory. While for the download action, three parameters are required: action, host, and path.

  • Please note that these FTP/SFTP connections are dedicated solely for this task and cannot be used with any other actions or tasks.

Use cases
Here are some real-world use cases on how this task can be used within different Zoho applications:

  • Zoho CRM: An insurance agency uses Zoho CRM to manage leads and client interactions. Once a lead is converted, the agent generates a policy estimate as a PDF using Deluge. Then the agency uses the FTP task to upload the PDF file to its own server. The file is now stored safely and is available for future compliance or reference.

  • Zoho Books: A finance team needs monthly invoices for internal auditing. These invoices were earlier uploaded from Books to the server, and now the FTP task can be used to download invoice files.
     

  • Zoho Creator: A university uses a Zoho Creator app to collect applications from prospective students. As part of the process, students upload sensitive documents, like proof of identity, passports, and academic certificates. To ensure data privacy and compliance, the university uses the FTP task to upload these files to its own server.

Example
The script below demonstrates how to work with the FTP task in Deluge. First, we fetch a publicly available .txt file from the internet using the invokeUrl task. The file is then converted to a file object and uploaded to an FTP server (in this case, a server from a third-party FTP service provider). Later, when needed, the same file is downloaded from the server using the FTP download action.

Quote
ftpTxtFile = invokeurl
[
       url :"https://sample-files.com/downloads/documents/txt/simple.txt"
       type :GET
];
ftpTxtFile = ftpTxtFile.toFile("ftp.txt");
info ftpTxtFile;
 
uploadFtp = ftp
[
        action :upload
        host :"ap-southeast-1.sftpcloud.io"
        port :21
        path : ""
        files:ftpTxtFile
        connection:"ftp_conn"
];
info uploadFtp;
 
downloadFtp = ftp
[
         action :download
         host :"ap-southeast-1.sftpcloud.io"
         port :21
         path :"/ftp.txt"
         connection:"ftp_conn"
];
info downloadFtp;
info downloadFtp.getFileContent();

Help documentation
FTP task
SFTP task

That's all from us for now! We hope you enjoy working with the new FTP task and start putting it to good use right away. We're eager to hear how it's helping your workflows.

And don't worry—we'll be back soon with more exciting updates and powerful features to enhance your experience with Deluge.

Regards,

The Deluge Team

    • Sticky Posts

    • Function #41: Sync Associated Subforms!

      Welcome back everyone! The last custom function showed how to update a Contact with Product details from it's Related list in Deals. This week, let's look at a function that lets you update subform records in two modules simultaneously when one of them is updated. Business scenario Let's look at how subform helps in an education institution that has deployed Zoho CRM. National Public School, Austin (made up, of course!) has set up Zoho CRM and it follows the same relationship pattern of "Students",