SFTP Smart Services


Contains multiple Smart Services for interacting with a remote file server via SFTP, FTP, or SCP.  Using these services, an Appian application can be configured to send and receive files, folders, and metadata in a process.  Features support for zlib compression.

Key Features & Functionality

Smart Services included:

  • SFTP:
    • Remove Directory Over SFTP (Basic Credentials)
    • Send File Over SFTP
    • Send File Over SFTP (Basic Credentials)
    • Receive File Over SFTP
    • Receive File Over SFTP (Basic Credentials)
    • Rename File Over SFTP
    • Get Remote Directory Contents Over SFTP
    • Get Remote Directory Contents Over SFTP (Basic Credentials)
    • Create Directory Over SFTP
    • Create Directory Over SFTP (Basic Credentials)
  • SCP:
    • Send File Over SCP
    • Receive File Over SCP
  • FTP:
    • Send File Over FTP
    • Receive File Over FTP
    • Receive Folder Over FTP
  • FTPS
    • Receive Folder Over FTPS
    • Send File Over FTPS (Basic Credentials)

All smart services in the package use Secure Credentials Store.

  • hi, Are you planning to update security so RSA-SHA2 is supported by plugin?

  • hi, 

    Can someone please let me know what File Transfer Configurations to be used for this ?

  • Hi!

    We have discovered the cause of the issue. Compared to winSCP, it is as if the plugin work with this check disabled.

    Is it correct? Can we connect to FTP through the plugin with 'Reuse TLS/SSL session ID for data connections enable'? In WinSCP is enable by default.

  •  Appian Solutions Appian Community   

    I am trying to create folder over sftp, but receiving below error. But when I did ssh and able to manually create a folder in the same location with the same user. Initially for Remote Folder Path, tried with actual base folder location and actual folder to be created but received same below Nullpointer exception. Then created a new parameter newDirectoryName, still received same error.

    Could you please help me why I am facing this issue?

    Inputs configured to the smart service:

    File Transfer Configurations: 

    serverHostName: 'hostname',
    serverPort: 22,
    scsExternalSystemKey: 'SCS_key',

    Remote Folder Path : Actual Path where folder to be created.
    newDirectoryName: New directory name to be created.

    2024-02-26 06:11:58,450 [Appian Work Item - 1508821 - WorkID 727 - execution02 - process 538855364 - model 15269 : UnattendedJavaActivityRequest] ERROR com.appiancorp.ps.plugins.filetransfer.sftp.CreateFolderOverSFTP - java.lang.NullPointerException

  • Sorry, the correct transfer data ports are between 30,000 and 30,100

  • We are testing a new connection with a customer FTPS with the plugin SFTP Functions Plugin V 3.0.3. 

    For this purpose, we have tested first the connection in WinSCP, with successful result, and without any private connection or restriction in this way. We are outside the customer network. Then, we are using the smart service '(FTP) Get Remote Folder Contents', using Third-party Credentials in the admin console with the same credentials we have used previously in WinSCP, but we obtain the following error:

    ERROR com.appiancorp.ps.plugins.filetransfer.ftps.GetRemoteFolderContentsOverFTPS - org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication.

    These are the details provided about ftp:

    * The control port (the port that we are using from Appian to call FTP) is 21021

    * The transfer data ports are between 30,000 and 31,000

    We have tested the 'Get Remote Folder Contents' smart service with FTP, FTPS and SFTP (even though we know it should be FTPS).

    We have tested these 3 options without any certificate, and also with the Trusted Server Certificate uploaded in the Admin Console.

    We have tested the connection with Appian Support team, and they were able to successfully telnet, so it´s not a communication problem.

    With this information. Could you see if there could be a problem from the plugin side. May be the ports that FTP is using, we don't know what else to test to find out the cause of the error, so your help could be really useful.

  • v3.0.3 Release Notes
    • Added License file

  • We do have the following requirements. We need to share some CSV exports from the Kiwa Appian environment to a remote file server using SFTP. However, the SFTP file server must be accessed through an SSH key pair.

    I'm trying to use the "SFTP Functions" plugin from the Appian marketplace. Since we need to use the SSH key pair to access the remote file server. I was looking Appian community for help and found the following discussion thread useful and tried to follow the instructions.

    Appian Community

    But to proceed further, I have a few questions about the shared approach and need your support on this.

    1. Is it possible to communicate SFTP file server using SSH key pairs from Appian? Could you please share any Appian documentation for this?
    2. In the discussion, It mentioned that I need to configure third-party credentials, could please mention what will be the credentials field names and values?
    3. I tried to configure third-party credentials with "username" and "password" fields,
      1. The username is the user name to access the remote server
      2. I tried to set the password value as the private key. Since the length of the private key is 3330 characters. Appian does not allow more than 2500 characters. 

    Is it the correct approach? If yes, Please help me to set the password field with our private key.

  • Couple of issues/questions. The plugin loaded is 3.0.2 and FT_Config data type is loaded.

    When I do try to pass in FT_Config, using the examples shown in this thread,

    ='type!{plugins.ps.appiancorp.com/.../}FT_Config'(serverHostName: "myhost",serverPort: 22,scsExternalSystemKey: "externalsystemkey",usePerUserCredentials: false(),privateKeyFile: "my_key")

    i get this error:

    2024-01-25 23:50:08,829 [ajp-nio-] ERROR com.appiancorp.process.engine.ExpressionGroup - An error occurred while evaluating expression: ='type!{plugins.ps.appiancorp.com/.../}FT_Config'(serverHostName: "xx..xx.xx",serverPort: 22, scsExternalSystemKey: "externalsystemkey",usePerUserCredentials: false(),privateKeyFile: "my_key")

    (Expression evaluation error at function 'type!{plugins.ps.appiancorp.com/.../}FT_Config' (invalid): Invalid function 'type!{plugins.ps.appiancorp.com/.../}FT_Config' due to invalid type)

    Question, Why do we need both FT_Config passed in as input and create the third-party-credential. Looking at the doc, it does not explain how to setup the node input with the FT_Config shown in most of the comments on this thread. (thank you..).

    In the doc, Receive file states we can use the only external system key, but if I try that, it' says it can't cast a literal to an object, so implies we need the FT_Config just like for the other methods.

    Receive File:

    File Transfer Configurations

    Any Type Yes No The external system key as specified in the secure credentials store.

    i get cast error if only using the key, stuck thank you.

  • Thank you Ankit.

    It seems to work fine now.

    As the previous version of the smart node only needed the remote path, I didn't think to include the file name.