SFTP Smart Services

Overview

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.

Anonymous
  • I am able to successfully sent files via the FTP node, but I am unable to open those files.  For example when I attempt to open a PDF that has been sent it tells me "There was an error opening this document.  The file is damaged and could not be repaired."

  • Hello, after I upgraded the version of SFTP Smart Services to 3.0.2 on 19/01/2024, the plugin 'Send File Over SFTP' is failing with the below:

    Error Description: Problem: An error occurred in executing an Activity Class. Details: Error copying the Appian document to the remote server. See application server log for more details. Error Message: Mailbox <mailbox name> not found.

  • Hi Sébastien,

    I think you may need to update the Remote file path to include the filename as well. 

    Below are the parameters which I have setup for using the "(SFTP) Send File" smart service and was successfully able to send the file over. 

    File Transfer Configurations: 'type!{plugins.ps.appiancorp.com/.../}FT_Config'(
       serverHostName: "xyz-abc.au",
       serverPort: 22,
       scsExternalSystemKey: "thirdparty-cred-sftp-key",
       usePerUserCredentials: false(),
       privateKeyFile: "private-key-doc"
    )

    Remote File Path (type: text): "/home/xyz/testDoc.csv"

    Document to Send (type: document): "testDoc"

    I hope after updating the remote file path the smart service works for you. 

    Kind regards,
    Ankit

  • Hi Tanisha,

    I was getting the "Auth cancel" error cause our server (on which the file needs to be transferred to) was updated with new public/private key exchange algorithms and this plugin only supports the old exchange algorithms. So, we reverted back the changes which we did on the server to be able to use this plugin - which worked for me. 

    Kind regards,
    Ankit

  • 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.

    Regards,

    Sébastien

  • 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-0.0.0.0-8009-exec-6575] 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.

  • 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.

  • v3.0.3 Release Notes
    • Added License file

  • 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.

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