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

  • 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

  • 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

  • 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

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

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

  • Hi,

    Plugin version used : 3.0.2

    Appian environment : Cloud

    We've been using this plugin for a while but with an older smart node "Send File Over SFTP (Basic Credentials)" which is Deprecated now.
    I was trying to use the newer smart node "Send File Over SFTP".

    I've set up a "Third-party credentials" config in the Appian Admin. Configured with fields "username" and "password" only.

    Smart node is configured as such :

    - File Transfer Configuration : = 'type!{plugins.ps.appiancorp.com/.../}FT_Config'(
    serverHostName: cons!hostname,
    serverPort: cons!port,
    scsExternalSystemKey: "sftpConfig", /* this is the third party credentials name*/
    usePerUserCredentials: false
    )

    - Remote file path : ="/directory"

    - Document to send : =testdocument.pdf

    I've tried running a process instance using the old deprecated smart node and the newer one. Bot hare using the same connexion parameters.

    The old smart node is in SUCCESS status, the newer one is FAILED with this error in the tomcat-stdout log file :

    2024-01-17 14:47:00,271 [Appian Work Item - 209342 - WorkID 41 - execution00 - process 117073 - model 11936 : UnattendedJavaActivityRequest] ERROR com.appiancorp.ps.plugins.filetransfer.sftp.SendFileOverSFTP - 24: 

    Just to make sure, I changed the "username" value in the third-party credentials configuration, and I got an "Auth failed" error which seems to indicate my Third-Party Credentials is configured correctly. Maybe missing some other parameter ? 

    Any help would be appreciated. Thank you in advance.

    Sébastien J.

  • Hi Ankit, I am facing similar issue...were you able to resolve this error? If yes then please let me know how, it would be of great help!

  • Is there a file size limit on 'Send File Over SFTP' plugin 

  • We are using version 3.0.2.  Seems the problem has been going on for a couple of versions.  It would be nice to have a response.